[OpenSIPS-Users] OpenSIPS with Loose routing
Doug
doug at wd.co.za
Tue Aug 24 13:55:40 CEST 2010
Hi All,
I'm having an issue with loose routing and call setups.
My call flow looks like the following:
192.168.112.110 (ATA) -----> 192.168.110.1:5060 (OpenSIPS) ------>
192.168.10.1:5080 (Sippy b2bua) -----> 192.168.10.50:5060 (TDM Gateway -
Audiocodes)
Now, OpenSIPS and Sippy B2bua are on the same server (just different
listening ports). OpenSIPS is configured with mhomed=1 and listening on
2x IP Addresses - namely 192.168.110.1 and 192.168.10.2
Now the call gets setup correctly, until the ACK is passed through.
The ATA sends an ACK to OpenSIPS with record routing, and the RURI is
set as sip:192.168.10.1:5080. Now before, if I called loose_route(), the
ACK was sent to the 192.168.10.2 IP of opensips, and in this case, it
just loops endlessly.
So I decided to put a check above loose_route, to check if the method
was an ACK and then to forward it direct to the RURI instead of having
the RURI rewritten based on loose_route(). This fixed the problem perfectly.
The issue is now the ATA attempts to do a T.38 switch over, and the same
issues as the ACK happens.
Is there a better way for me to be doing this. I have to use Sippy b2bua
due to the billing / radius integration it has - should I disable
loose_routing altogether?
By the way, the following code block is what was used to fix the ACK issue:
if (is_method("ACK"))
{
route(16);
}
if(loose_route())
{
...
route 16 simply checks a transaction and then calls t_relay.
Looking forward to the assistance.
Many thanks
Doug
More information about the Users
mailing list