Am 17.03.2010 18:10, schrieb Timo Reimann:
IƱaki Baz Castillo wrote:
2010/3/17 Klaus
Darilion<klaus.mailinglists(a)pernau.at>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