2008/11/12 Dan Pascu <[EMAIL PROTECTED]>: >> As clarification, I use rev 4943 with a UDP client (Twinkle) who > > If you use opensips trunk, then I think I know where the problem is. > For a SUBSCRIBE method nat_traversal will register a hook to capture > stateless replies and on to receive incoming TM replies to find out from > the answer if it was a positive one and the duration until it expires. > > That was fine in 1.4 because handle_subscribe() did send stateless > replies, even when you surrounded it with t_newtran/t_release to protect > against retransmissions. In this case the stateless reply hook did > capture the replies. The TM in hook captured replies for SUBSCRIBEs that > were forwarded using t_relay. > > Now in trunk, presence changed from using sl_send_reply to using the new > signaling module which will use t_reply instead if you called t_newtran, > but being a proxy generated reply it won't hit the TM input callback. > > I'm not sure at this point if the solution is as simple as to use the > outgoing TM callback. I do not have the time right now to analyze the > consequences, but if you are willing to experiment, you can try to change > the code to use the outgoing TM callback. > > Also to clarify things, with trunk it won't work at all no matter if you > call nat_keepalive before or after t_newtran. As long as you use > t_newtran it won't catch replies, except when SUBSCRIBE is forwarded with > t_relay, but never when handled locally with handle_subscribe. With > INVITEs OTOH, it works because INVITEs are always forwarded and INVITEs > use the dialog module, so a different mechanism.
Ok, thanks a lot for the complete explanation. I will open a bug report for it. Regards. -- Iñaki Baz Castillo <[EMAIL PROTECTED]> _______________________________________________ Devel mailing list [email protected] http://lists.opensips.org/cgi-bin/mailman/listinfo/devel
