[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