We’re having intermittent problems receiving calls from a particular DID. The basic scenario is as follows:
Carrier sends invite w/SDP
We respond w/OK and SDP when call is answered
Carrier sends another invite with incremented sequence number and updated SDP (aren’t they supposed to ACK/respond before doing this?)
We send SIP 500 - overlapping requests
Carrier sends BYE - terminating the call
Sometimes (rarely) the call completes, most of the time FS sends a 500 and doesn’t get the call. This just started happening recently and does not occur with any other DIDs, including other DIDs from the same carrier. I updated to the latest stable GIT to see if that might solve the problem but I’m pretty sure this is on the carrier’s end. They’re trying to blame it on us since we’re sending the 500 and suggested that we allow overlapping requests.
I’m assuming that their end needs to acknowledge our answer OK/SDP before sending their own but if that’s the problem then it raises another question in my mind: since the SIP transport is generally UDP, what if we don’t receive their ACK before receiving their subsequent invite/SDP? This could certainly happen and would cause the call to be rejected if the above is true.
I updated to the latest stable GIT last night to rule that out as a possible cause of the problem. Is there a way to get FS to allow a limited number of overlapping requests as a possible workaround?
If someone thinks this looks like it could be an FS bug, I’ll file a Jira.
Here is a trace which shows this happening:
http://pastebin.freeswitch.org/22769
Thanks,
Phil Quesinberry
Q Systems Engineering, Inc.
Embedded Hardware/Software Development
(410) 969-8002
http://www.qsystemsengineering.com