2010/3/19 marius zbihlei <marius.zbihlei(a)1and1.ro>ro>:
Hello Iñaki,
I have a small question regarding a spiral case.
If I got everything correct the proxy will create 2 dialog_in entries one
for the original INVITE and one for the spiraled one (*NOTE*: Even if a
spiral remains being the same dialog, from the point of view of the Dialog
module a new dialog is generated when same INVITE arrives again to the proxy
after doing a spiral. ). When a >100 answer is received from the caller, 2
dialog_out entries will be created (one for each dialog_in value). These two
out dialogs will have the same to_tag but refer to different dialog_in ids
(the one of the INVITE and the one of the spiraled INVITE).
If a final answer is received (a 200 OK) how will the dialog module know to
match the reply to the correct dialog_out, having in mind that the match is
done via to_tag?
Tha match is not done against the To-tag. Instead the TM module
matches the 200 to the last INVITE transaction (generatd after the
spiral). Also, such transaction match would invoke a dialog module
callback which already know the related dialog entry.
Please take a look to a new example I've writen for the case of a spiral:
http://www.kamailio.org/dokuwiki/doku.php/dialog-stateful:new-dialog-module…
Thanks a lot.
--
Iñaki Baz Castillo
<ibc(a)aliax.net>