[OpenSIPS-Users] loose_route detection of self

Jeff Pyle jpyle at fidelityvoice.com
Sat Mar 21 16:12:36 CET 2009


Hello,

I seem to be having a problem with loose_route() not properly detecting when
a Route set is its own.  Opensips 1.5 build 5491, same PSTN carrier in all
cases.

Flow is Asterisk --> Opensips --> PSTN (Sonus NBSe)

The call sets up properly.  90 or 120 seconds into the call, the PSTN
carrier sends a reINVITE to refresh the session.  If Asterisk 1.4.23.1 is
the UAC, all is well.  If Asterisk 1.2.26 is the UAC, Opensips misidentifies
the Route header in the carrier¹s reINVITE as foreign.  The t_relay then
routes the packet to itself and bad things happen.

I¹ve done stare-¹n-compares on the packets in all cases.  The reINVITE from
the carrier is almost exactly the same.  The differences are as follows:

- The Asterisk 1.4.23.1 UAC is using port 5066, where Asterisk 1.2.26 uses
5060.  This difference is reflected in the RURI of the reINVITE.

- The To field of the 1.4.23.1 UAC has the :5066 at the end of the URI; the
1.2.26 host does not have a port.

That's it.  The only other difference I can see in the messaging is that the
1.2.26 host puts "received=ww.xx.yy.zz" in its Via header of the initial
transaction, where the 1.4.23.1 host does not.  But the reINVITE is a new
transaction so I don't know how this could effect affect the reINVITE.

I am at a loss.  Any thoughts?


Thanks,
Jeff




More information about the Users mailing list