[sr-dev] improving the dialog module

Klaus Darilion klaus.mailinglists at pernau.at
Wed Mar 17 18:14:19 CET 2010



Am 17.03.2010 17:55, schrieb Iñaki Baz Castillo:
 > 2010/3/17 Klaus Darilion<klaus.mailinglists at pernau.at>:
 >
 >>> This is not valid for the case in which a dialog is forked by a proxy
 >>> behind our proxy. From the point of view of TM it's a single
 >>> transaction.
 >>
 >> That's true. It probably depends on what you actually want to track 
with the
 >> dialog module. E.g. if you just want to track the number of established
 >> dialogs then you do not care about multiple early dialogs.
 >
 > But it's also true that more and more modules want to depend on dialog
 > module (take a look to OpenSIPS loadbalancer or mediaproxy modules).
 > And they fail when handling forking calls.
 >
 >
 >
 >> Btw: how are dialogs in dialog module and transactions in tm module are
 >> exactly identified? For example a response with proper callid and 
fromtag
 >> but faked Via branch, will it be accepted by dialog module but 
ignored (drop
 >> or stateless forwarding) by tm?
 >
 > Good question. IMHO it should be discarded as TM and dialog level (and
 > not relayed stateless).
 >
 >
 >> Or the other way round - e.g. a spoofed 200 reply with proper Via 
branchid
 >> and false fromtag. Will it terminate the transaction but keep the 
dialog in
 >> early state
 >
 > But that is not a spoofed reply, instead it's just a 100% valid reply
 > with a different To-tag. It could occur if the called is a proxy which
 > performs serial forking (so after some seconds our proxy receives
 > responses with a new To-tag, i.e. the remote voicemail server).

Let's call it a malicious reply. I was talking about a false from-tag, 
not to-tag. Thus, tm will accept the 200 ok and terminate the 
transaction (if it is implemented RFC conform). If dialog module checks 
from-tag it probably will ignore the reply.

Anyway, I guess dialog module is only good as helper module but 
shouldn't be used as a reliable module (e.g. for security, accounting ...)

regards
klaus

 >> Then the real 200 OK will be forwarded stateless by tm module
 >
 > No, it would be a valid response according to TM.
 >
 >
 >> and may bypass dialog module (if callback is only triggered is there 
is a
 >> matching transaction)?
 >
 > But there is matching transaction so no problem :)
 >
 >
 >
 >



More information about the sr-dev mailing list