[SR-Users] [NAT] BYE not received to caller

Klaus Darilion klaus.mailinglists at pernau.at
Wed Apr 14 14:56:30 CEST 2010


IMO the client is broken as it announces in Contact header that it 
want's to be contacted via UDP, although it is sending the message via TCP.

As suggest use add_contact_alias() instead of fix_nated_contact() to add 
the protocol always to the Contact URI. Of course then you have to use 
handle_ruri_alias() on all in-dialog requests.

regards
klaus

Am 14.04.2010 13:53, schrieb Pascal Maugeri:
> Klaus
>
> I attached the ngrep you asked me to this email.
>
> Regards,
> Pascal
>
>
>
> On Wed, Apr 14, 2010 at 12:21 PM, Klaus Darilion
> <klaus.mailinglists at pernau.at <mailto:klaus.mailinglists at pernau.at>> wrote:
>
>     The contact after fix_nated_contact() should also contain
>     ;transport=tcp. Thus, Kamailio should relay the BYE with TCP.
>
>     Can you show an ngrep dump (ngrep -W byline -t -q -P "" port 5060)
>     of the problematic scenario?
>
>     regards
>     klaus
>
>     PS: A more standard-conform way of rewriting the SDP is to use the
>     add_contact_alias() and handle_ruri_alias() functions:
>     http://sip-router.org/docbook/sip-router/branch/master/modules_k/nathelper/nathelper.html#id2601711
>
>     regards
>     klaus
>
>     Am 14.04.2010 12:06, schrieb Pascal Maugeri:
>
>         Hi
>
>         I need some "guidelines" to troubleshoot the following issue:
>
>         a) A is behind NAT
>
>         b) B is not behind NAT
>
>         c) A calls B, SIP INVITE is sent over TCP
>
>         d) A's firewall does NAT and changes the source port to let's say p1
>
>         e) B releases the call and sends BYE over UDP
>
>         f) Kamailio sends the BYE to A, over UDP, to the NATed source
>         port p1 ?!
>
>         2 comments:
>         - This scenario works perfectly when A is the one who
>         disconnects the
>         call. and of course when no NAT is involved everything works ok
>         - if works when I comment the line "fix_nated_contact()" in the
>         route[NAT] block:
>
>         route[NAT]{
>         #!ifdef WITH_NAT
>                  force_rport();
>                  #if (nat_uac_test("19")) {
>                  if (nat_uac_test("3")) {
>                          if (method=="REGISTER") {
>                                  setbflag(10);
>                                  fix_nated_register();
>                          } else {
>                                  #fix_nated_contact();
>         [...]
>
>         Any hint is very welcome.
>
>         Cheers
>         Pascal
>
>
>
>         _______________________________________________
>         SIP Express Router (SER) and Kamailio (OpenSER) - sr-users
>         mailing list
>         sr-users at lists.sip-router.org <mailto:sr-users at lists.sip-router.org>
>         http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>
>




More information about the sr-users mailing list