====== Meeting minutes for 2009-07-07 ======
===== beginning =====
https://sip-router.org/wiki/devel/irc-meetings/2009-07-07
hello!
i guess we can start
hi
shall we go for it?
hi all
since we are mixed, shall we start first kamailio, ser or sip-router?
perhaps just follow the agenda you posted?
i guess you could skip ser
I cannot say much about plans of ser releases, so i am more interested in kamailio and sip-router
for others might be different
well, there will be another ser release when: someone volunteer to create the packages and some release news or
ok
when kamailio is released based on sip-router
===== kamailio 1.5.2 =====
so kamailio 1.5.2
andreip: ok
1.5.1 was on 2009-04-29
so 1.5.2 is due
thought maybe people have questions about it ... so was included in announcement
imho
back to K
there were some fixes, and traditionally, we did minor releases each few months
in my list is the issue with timers, that seems to behave contradictory from the reports i got
my messages are getting very delayed in the channel ...
expect some more to arrive ... probably was a connection problem
any other major bug any of you is aware?
seems my connection is poor
henningw: yes, it is time
some messages don't get through ... hmm
andreip: maybe September
there were this report about crash with empty RR header
I'm just afraid of dialog module, they have been various vulnerabilities discovered in Kamailio and OpenSIPS about dialog module
ibc: yes, i refered to this
<[Latino]> hi all
too much IMHO
are all crashes fixed (nathelper body, empty RR header)?
andrei: when is path support in tm planned?
I did some fixes for dialog and empty rr after 1.5.1
the other ones for nathelper were committed
maxim did a different one in sip-router
but probably does not worth backporting since it is corner case
how about nathelper and message body *real* size instead of using "Content-Length" value?
ibc: that was fixed somehow
but not an agreement for the final fix
iI though it was just a workaround to avoid a crash
exactly
some prefer to return with 400 bad message
some to fix on proxy
maybe we can agree here ...
but it could still generate wrong memory access, rigth?
<[Latino]> I want to speak about the BlackList support on s-r, so I could complete the drouting integration into s-r ... does anyone know how they run on s-r ?
Latino: ok, we ca do it a bit latter
let's finish k 1.5.2 release now
ibc: should not generate that as it returns error now
I definitively thing that an UDP request/response in which *real* body size different than the Content-Length value should be rejected automatically as wrong message.
<[Latino]> ok
<[Latino]> ibc I agress with that
<[Latino]> s/agress/agree/g
If a UA sends a message with wrong Content-Length value, that UA should be.... killed
ibc: that can be done now using sanity module ...
rejecting is a little bit hard (be tolerant what you expect), but otherwise we never know if the body is corrupted or the length is wrong
but maybe we should let a door open, to cope with future dead UAs
Daniel, I understood from your previous comment that those messages (with wrong Content-Length) are already rejected *automatically*
klaus: yes, that is the big dilema
ibc: only if you use sanity module at the beginning of the script
<[Latino]> klaus_darilion it doesn't matter ... it's a wrong message
ibc: not automatically, but sanity modul can check
@daniel, you said:
"should not generate that as it returns error now"
When does it generate error?
in ser, the approach is: use sanity if you want to discard, nathelper with fix the content length
did you mean the nathelper function when trying to write on the body?
latino: yes, it is a wrong message. But if you are a service provider, and all customers leave because they love to use buggy lcients (or have a buggy NAT ALG), then you want to deal with broken clients
the nathelper function generate error
ok
ibc: is actually propagated from a core function
anyhow, crash should be fixed
nobody reported otherwise
so, nathelper uses the real body length now?
perhaps a core parameter:
discard_on_wrong_contentlength = yes
klaus: no, nathelper returns error
hm, perhaps a #define?
klaus_darilion: I understand that nathelper just returns error ib real an announced content length are not the same
ibc: you have the sanity module, it doesn't make sense to add yet another way to do it
ok
let's move on, have this continued on devel list if it is still the case
back to 1.5.2, ibc: what other vulnerabilities are reported for dialog and you are aware
?
and should stop 1.5.2 now?
let me check
ok, then you can send an email
later
so, 1.5.2 in a week or so?
say next Tuesday if nobody rises some critical report ...
I will try to get more on timer stuff by then
===== kamailio 1.4.5 =====
now, shortly about 1.4
2009-03-25 Kamailio v1.4.4 released
probably after 1.5.2 we can see what worth porting to 1.4 and do another one
some patches cannot be ported easily
like fix for multi-part body for nathelper
anyone else wanting to say something about 1.5 or 1.4?
if not, we can move to 3.0 and sip-router
1.5.2 next week is ok
===== sip-router and kamailio =====
<[Latino]> ok, let talk about 3.0 and s-r
we have 30min to talk about it :-)
so, who did testing so far, what have you discovered missing?
from your usual configs...
<[Latino]> I'll begin to test as soon as finish to port drouting, it's my priority
ok, if nothing, then we can release sooner :-)
<[Latino]> by now it compiles, but I have to test agains DB modules
Latino: using srdb1 should go smooth ...
I did some testing of "make", and currently working on Kamailio debian package
<[Latino]> miconda it's supposed to .. :)
I want to start with a Kamailio debian package which just uses modules and modules_k, abd if this works, I want to add support for modules_s too.
klaus_darilion: i did a bunch of updates for the kamailio ones, and they are also some pending changes (regarding update procedure)
<[Latino]> any s-r modules where I could read how to use the BL functions ?
tm :-)
henning: con you commit your changes?
klaus_darilion: i'll do today, sure
my top priorities are exit/drop compatibility, core statistics as much as they can be done, path in tm
<[Latino]> andreip thx, will check it
<[Latino]> miconda what would we do with exit/drop ? ...
Latino: you have basically 3 functions that matter for checking if some destination is blacklisted, blacklisting a destination and deleteing a blacklist
<[Latino]> there are situations where I must DROP a branch, and when I mean DROP, mean drestroing it
Latino: I need it too
so will be there
so, in K, the behavior is:
- return - get out of current processed route block
<[Latino]> andreip BL funtions are linear lists? .. or some kind of tree ?
Latino: hash tables
- exit stop processing config and continue with default action for that route block
- drop processing of config and don't execute the default actions
drop and exit are the same for request route and failure route
but differ for branch and onreply routes
<[Latino]> miconda k behavoir it's ok to me ... what is the proposed one for s-r ?
I hope the same
<[Latino]> me too
right now in sr, drop and exit are identical from all point of view
@latino: you can find docu about blacklist in doc/dst-blacklist.txt
and makes no sense to keep both for same purpose
<[Latino]> klaus_darilion thx
personally I hate all these aliases to config file parameters and functions
like exit and drop, or rewriteuri/seturi
one variant should be enough, easy to document and no confusion ...
<[Latino]> miconda yes .. also on some modules are duplicated inline code for do_actions about rewrite_ruri
@andreip: any opinion about this exit vs drop?
what is the most used in ser: exit or drop?
miconda2: I agree, aliased function names are a pain
miconda: I think the most used is drop
considering that drop will have same behavior as exit in request route blocks, will the impact be major?
semantically, drop is more appropriate to use when you want to drop current processed message, while exit is for finishing the execution of config ... IMO
i think the impact will be minor (most people use return in branch routes anyway)
ok, that's good
<[Latino]> miconda I agree with that
ok, so this seems be sorted out -- in the ultimate case, it can be controlled by compat mode of the config file ...
something else here (missing features)?
i'm still on some strange db_postgres problem, but this is probably more like some regression caused from the porting
support for ser selects and ser style avps in kamailio modules
andreip: ser avps should be reachable now via $avp(name)
if name is in ser style, the appropriate avp list should be used
for selects, probably will be a new PV class
i was thinking more on changing the kamailio fixups in a similar way to the ones in ser
so they get accessed via pv framework ...
e.g. fixup_igp* will try select, pvar, avp, int
that need to be investigated
and maybe fixup_pvar* select , pv & avp
not all modules use them
some do directly parse_pvar_spec() ... or keep pv spec in custom structures
e.g., htable
but we can have both, so those using common fixup functions can get access to selects using select naming format
klaus_darilion: commited
ok, but at least some of them could be updated (not all ser modules use the fixup either)
the others, using custom structures, via pv framework
andreip: yes
an alternative would be to update them to use fixup_var_str/int*
andreip: can you suggest some simple module that can act as example on how to support selects?
henningw: you just need to call fixup_var_str() and then use get_str_fparan
andreip: ok, this is easy :)
henningw: an example would be tm t_set_fr (tm.c)
ok, thanks
the problem would be that you won't get an error for an invalid pv, since if there is no pv it would be assumed that's an avp
ok
at the end, we should get to some common format for parameters, just that doing radical changes in config language should be avoided for first release based on s-r
miconda: at the end we should go for module interface 3.0, that would support expressions as parameters and maybe even return expressions
right
btw, mi and statistics fields in kamailio module interface are no longer used
public modules use mod_register() function to register them
what should be done, print a error message and exit if the fields are set in module interface
remove them from there?
we need a way to tell to people that have private modules
that those fields are no longer in used
will it works when i use only the old interface?
(the reason for this is that mi and statistics are libraries, no longer part of core)
henningw: not sure I got your question...
there is no backward compatibility?
no, not at this moment
so i need to convert to mod_register?
right now, yes ...
then we should fail compilation or during startup
to fail compilation, then we can remove them from mod interface
I have to leave now. Just wanted to say that the sip-router core cookbook is now mostly finished, except a few parameters whose meaning I could not find out. bye
probably this is the safest way
ok, thanks Klaus!
thanks klaus!
klaus_darilion: thanks a lot, I'll try to have a look this week
maybe we can extend discussion about k mod interface on devel list
to get the other devels on board
===== kamailio 3.0 =====
next: release roadmap
starting with September we should look at a new major release
is this doable? any opinions pro/con?
by major you mean 4.0?
3.0 ?
1.6 ?
<[Latino]> with mayor release do you mean k 3.0 more or least at January/Febrery
for a proper testing, as August is vacation for many countries, I think end of September is more appropriate
andreip: :-)
I mean about so code-named now 3.0
kamailio based on sip-router core
ah, ok, I thought you were speaking of a new release after the September one
including all kamailio modules and probably those that do not overlap from ser
andreip: no, not so soon
trying to see what are the main concerns about 3.0
- not all features in K will be there
- too many changes to get it stable by that time
- no proper documentation for easy migration ...
or should be enough time to cover all by Sep
there is very little time for testing
<[Latino]> we need to try to get the doc ready for the migration, or will be a dissater, at least mainlines of needed changes
andreip: we had 1-2 months focused only on testing (feature freeze) for each major release in openser
I think if somebody only uses Kamailio modules and Kamailio syntax, the changes should be minimal. Problems are if ser modules will be used which haev different DB tables layout. The db formats of ser and Kamailio differ a lot
that seemed ok so far
Latino: I agree
if we have proper docs, then we get more testing
so for 3.0 (Kamailio based on sip-router core) it shouldn't be a problem. But if we want to merge further that will be a problem
klaus: no, we should not go further
that will make things to complex to deal with
the k 3.0 should not include overlapping modules from ser (e.g., auth_db, usrloc)
but can include modules like iptrtpproxy
ctl, cfg_rpc
if somebody mangages to build iptrtpproxy :-)
:-)
error: linux/netfilter/xt_RTPPROXY.h: No such file or directory :)
you need a kernel module
and I think a patch ...
hm, ok
and AFAIK you need to have the proper kernel version as Linux kernel is very dynamic
ok, so, proposal
for k-3.0 we should avoid syntax changes and merging that affect database structure, config and interfaces to external applications
yes
branches can be used for those willing to do such merges ...
or, if it is a huge pressure, we can branch 3.0
as milestones:
- try to freeze by mid-end of august
- by then get most of the missing features in repository
- afterwards, main focus on documentation and testing
- release end of september/beginning of october
a list with missing features sorted by priority would help a lot
I will try to compile one
path extension is in top :-)
will send a link to sr-dev ML
* [Latino] away: (Toy en otro lao...: [10 mins]) [BX-MsgLog Off]
(will be on wiki)
and last topic
ok
===== sip-router environment =====
what is good/bad in s-r environment
any proposal?
we should have most of the tools in place
tracker does not seem very used
ML is main one for reporting issue
is the tracker ok? do we keep it or try another one?
since it was not pushed to limits at all, seems ok, but if you have other proposals ...
no I haven't
we should perhaps announce that the tracker is no longer experimental
ahh, was experimental so far :-) ... maybe that was not much in use ...
it is experimental? ok..
we should also standardize on a way of linking a commit to a bug id
in ser we used something like: "closes SER-123"
is this automatically evaluated?
from the tracker?
ok, in openser we tried to use (closes #123)
henningw: in ser it was, I don't know about flyspray though
andreip: ok, i just wondered
iirc, Jan said that it had git integration, so there should be a way
any other idea to make easier for people the testing/developing/advertising of the project?
is sr-dev too verbose? mainly because of git commits?
it is fine for me, as I don;t want another list, just asking ...
i think the git commits messages are the most important feature
i mean if somebody is interested in devel then he is interested in the commits
interest could be also for devel help and debates, I prefer the way is now
any other question?
last call
for the list: i just use filtering, it easy to setup
if not, we can conclude (probably one of the fastest meetings, probably because of the new core :-) -- we always planned 1h, but couldn't stick to it)
ok then! thanks everybody! see you on mailing lists! I will stick around this channel daily, feel free to ask questions about testing/devel s-r
thanks daniel
miconda: should i upload the protocol to the wiki?
yes, thanks