Hello,
On 24.09.2009 22:36 Uhr, Geoffrey Mina wrote:
Hello, I am wondering if anyone can help me determine what the problem is with some SIP signaling. I have two environments and in both scenarios my configuration and topology are almost identical... although I am dealing with two different carriers upstream.
In my environments, I have Kamailio (1.5) sitting in front of a multitude of Asterisk machines. I am using the dispatcher module to distribute INVITE requests across the network. I am doing some interop with a new carrier and we are struggling a bit with some looping scenarios. They are sending invites to my Kamailio server, I am forwarding to asterisk.
On the one that is not working, I am seeing the following in sip_trace
INVITE (from carrier) INVITE (to asterisk) 100 TRYING (from asterisk) 200 OK (from asterisk) 200 OK (to carrier) ACK (from carrier) - this is where the loop starts. Kamailio sends the ACK to itself until the "max-hops" is reached... then it dies ACK (from itself to itself) ACK (from itself to itself) ACK (from itself to itself) ... 200 OK (from asterisk - because it never got ACK) 200 OK (to carrier) ACK (from carrier) - again the loop. ACK (from itself to itself)
The only thing I can see that is different between the two carriers (working and non-working) is that the working carrier appears to send the ACK with an RURI equivalent to the Contact: header from the 200 OK.
this is the correct behavior for loose routing.
it looks like the one of the devices (very likely the carrier) is doing bad record routing handling. There might be a strict router combined with a loose router.
I could really follow the sip messages in the excel you sent, maybe you can paste text here in email the invite, the 200ok and ACK captured on kamailio server. Then is easier to troubleshoot.
Cheers, Daniel