Am 17.03.2010 18:10, schrieb Timo Reimann:
IƱaki Baz Castillo wrote:
2010/3/17 Klaus Darilionklaus.mailinglists@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 dialog module receives this callback - will it check fromtag/callid or is the dialog already identified by the callback?
regards klaus
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