[OpenSIPS-Users] LOOSE Route and NAT not being fixed

Mike O'Connor mike at oeg.com.au
Sun May 30 03:43:18 CEST 2010


Hi All

I seem to have broken my loose routing for NAT'd users, but I can not
see what I have wrong.

Any ideas what I might have wrong ?

Thanks as always.
Mike

  if (client_nat_test("3")) {
      fix_contact();
  }

  xlog("L_INFO", "New request - Request/failure/branch routes: M=$rm
RURI=$ru F=$fu T=$tu IP=$si ID=$ci\n");

  if (has_totag()) {
    # sequential request withing a dialog should
    # take the path determined by record-routing
    if (loose_route()) {
      xlog("L_NOTICE", "LOOSEROUTE: $ruri");
      if (is_method("BYE")) {
        setflag(1); # do accounting ...
        setflag(3); # ... even if the transaction fails
        $avp(s:can_uri) = $ru;
      } else if (is_method("INVITE")) {
        # even if in most of the cases is useless, do RR for
        # re-INVITEs alos, as some buggy clients do change route set
        # during the dialog.
        if (client_nat_test("3"))
          record_route(";nat=yes");
        else
          record_route();
      }
      # route it out to whatever destination was set by loose_route()
      # in $du (destination URI).
      route(ROUTE_DEFAULTHANDLER);
    } else {
      if ( is_method("ACK") ) {
        if ( t_check_trans() ) {
          # non loose-route, but stateful ACK; must be an ACK after
          # a 487 or e.g. 404 from upstream server
          t_relay();
          exit;
        } else {
          # ACK without matching transaction ->
          # ignore and discard
          exit;
        }
      }
      sl_send_reply("404","Not here");
    }
    exit;
  }

May 29 22:53:40 ser1 /usr/sbin/opensips[18161]: New request -
Request/failure/branch routes: M=INVITE RURI=sip:035242499
2 at 202.1xx.1xx.195:5060;user=phone F=sip:0407551651 at 202.xx.xx.33:5060
T=sip:0352424992 at 202.1xx.1xx.195:5060 IP=202.xx.xx.
33 ID=13189688682712200051636 at 202.xx.xx.58
May 29 22:53:40 ser1 /usr/sbin/opensips[18161]: engage_media_proxy:
sip:0352424992 at 202.1xx.1xx.195:5060;user=phone
May 29 22:53:40 ser1 /usr/sbin/opensips[18161]: Call Group: 1
May 29 22:53:40 ser1 /usr/sbin/opensips[18161]: LOOKUPALIAS: Found Local
Alias for User via sip:500601 at sip.xxxx.net.au
May 29 22:53:40 ser1 /usr/sbin/opensips[18161]: ONBRANCH:
sip:500601 at 118.2xx.2xx.250:5060
May 29 22:53:41 ser1 /usr/sbin/opensips[18162]: ONREPLY: 100
May 29 22:53:41 ser1 /usr/sbin/opensips[18159]: ONREPLY: 180
May 29 22:53:51 ser1 /usr/sbin/opensips[18162]: ONREPLY: 200
May 29 22:53:51 ser1 /usr/sbin/opensips[18162]: ACC: transaction
answered: timestamp=1275139431;method=INVITE;from_tag=4
2106e94-co4971-INS001;to_tag=as5e4b03b1;call_id=13189688682712200051636 at 202.xx.xx.58;code=200;reason=OK

May 29 22:53:51 ser1 /usr/sbin/opensips[18159]: New request -
Request/failure/branch routes: M=ACK RURI=sip:500601 at 192.1
68.1.3 F=sip:0407551651 at 202.xx.xx.33:5060
T=sip:0352424992 at 202.1xx.1xx.195:5060 IP=202.xx.xx.33
ID=13189688682712200051
636 at 202.xx.xx.58
May 29 22:53:51 ser1 /usr/sbin/opensips[18159]: LOOSEROUTE:
sip:500601 at 192.168.1.3
May 29 22:53:51 ser1 /usr/sbin/opensips[18159]: ACC: request
acknowledged: timestamp=1275139431;method=ACK;from_tag=4210
6e94-co4971-INS001;to_tag=as5e4b03b1;call_id=13189688682712200051636 at 202.xx.xx.58;code=200;reason=OK

May 29 22:53:53 ser1 /usr/sbin/opensips[18160]: ONREPLY: 200
May 29 22:53:53 ser1 /usr/sbin/opensips[18161]: New request -
Request/failure/branch routes: M=ACK RURI=sip:500601 at 192.1
68.1.3 F=sip:0407551651 at 202.xx.xx.33:5060
T=sip:0352424992 at 202.1xx.1xx.195:5060 IP=202.xx.xx.33
ID=13189688682712200051
636 at 202.xx.xx.58
May 29 22:53:53 ser1 /usr/sbin/opensips[18161]: LOOSEROUTE:
sip:500601 at 192.168.1.3
May 29 22:53:55 ser1 /usr/sbin/opensips[18159]: ONREPLY: 200
May 29 22:53:56 ser1 /usr/sbin/opensips[18160]: New request -
Request/failure/branch routes: M=ACK RURI=sip:500601 at 192.1
68.1.3 F=sip:0407551651 at 202.xx.xx.33:5060
T=sip:0352424992 at 202.1xx.1xx.195:5060 IP=202.xx.xx.33
ID=13189688682712200051
636 at 202.xx.xx.58
May 29 22:53:56 ser1 /usr/sbin/opensips[18160]: LOOSEROUTE:
sip:500601 at 192.168.1.3
May 29 22:54:48 ser1 /usr/sbin/opensips[18160]: New request -
Request/failure/branch routes: M=BYE RURI=sip:500601 at 192.1
68.1.3 F=sip:0407551651 at 202.xx.xx.33:5060
T=sip:0352424992 at 202.1xx.1xx.195:5060 IP=202.xx.xx.33
ID=13189688682712200051
636 at 202.xx.xx.58
May 29 22:54:48 ser1 /usr/sbin/opensips[18160]: LOOSEROUTE:
sip:500601 at 192.168.1.3
May 29 22:54:50 ser1 /usr/sbin/opensips[18161]: New request -
Request/failure/branch routes: M=BYE RURI=sip:500601 at 192.1
68.1.3 F=sip:0407551651 at 202.xx.xx.33:5060
T=sip:0352424992 at 202.1xx.1xx.195:5060 IP=202.xx.xx.33
ID=13189688682712200051
636 at 202.xx.xx.58
May 29 22:54:50 ser1 /usr/sbin/opensips[18161]:
WARNING:dialog:dlg_onroute: unable to find dialog for BYE with route par
am '1e4.d4c4b33'
May 29 22:54:50 ser1 /usr/sbin/opensips[18161]: LOOSEROUTE:
sip:500601 at 192.168.1.3
May 29 22:54:54 ser1 /usr/sbin/opensips[18168]: ACC: transaction
answered:
timestamp=1275139494;method=BYE;from_tag=42106e94-co4971-INS001;to_tag=as5e4b03b1;call_id=13189688682712200051636 at 202.xx.xx.58;code=408;reason=Request
Timeout
May 29 22:55:03 ser1 /usr/sbin/opensips[18160]: New request -
Request/failure/branch routes: M=REGISTER RURI=sip:sip.xxxx.net.au
F=sip:500100 at sip.xxxx.net.au T=sip:500100 at sip.xxxx.net.au
IP=203.33.246.67 ID=OTE4Mjc3ZDAxNDI2OTE1MDE1NGQ4ZGRjYWFjY2ZiMDQ.




More information about the Users mailing list