[sr-dev] improving the dialog module

Timo Reimann timo.reimann at 1und1.de
Wed Mar 17 18:10:43 CET 2010


Iñaki Baz Castillo wrote:
> 2010/3/17 Klaus Darilion <klaus.mailinglists at pernau.at>:
> 
>> 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).

The dialog module handles responses in the dlg_onreply() function which
is called by the tm module when the TMCB_RESPONSE_PRE_OUT (named
TMCB_RESPONSE_READY in 3.x) tm callback is triggered. If the Via branch
is faked, the tm module should not be able to match the response to a
request because the branch parameter must constitute the transaction
identifier. Subsequently, tm will not execute any TMCB_RESPONSE_PRE_OUT
callbacks, and the dialog module won't ever have to look at the faked
response.

Paraphrasing: If something's wrong on the transaction level and tm is
doing its job right, dialog won't care.


Cheers,

--Timo



More information about the sr-dev mailing list