Don't know if this will help you, but we ran into a similar problem
with one of our PSTN providers. In essence, their GW (incorrectly)
updated the contact info of an established dialog when it got an ACK.
In our case, the ACK sometimes contained a contact with an RFC 1918 IP
address, and subsequent in-dialog requests from the remote GW would be
lost. This code snippet addressed the issue:
if (loose_route()) {
xlog ("L_DBG", "loose_route;$rm\n");
if(is_method("ACK")) {
if(is_present_hf("Contact")) remove_hf("Contact");
};
};
Be interested to hear how you resolve this. Cheers,
--
kobi
On Mar 3, 2009, at 4:41 PM, Brett Nemeroff wrote:
Question...
In general the receipient of an INVITE should respond to that invite
to the address in the contact header, right?
What if there is a record-route header? That should prevail, right?
I'm having a problem that with a single provider, some (not all)
calls they don't send the BYE from the FAR side of the call back via
me, instead it goes direct to the originator.
Example:
My customer places a call to me. I send to my provider. Provider
sends it to destination.
Destination hangs up, BYE goes to my customer instead of me.. My
INVITE to my provider DOES have a record-route header init.
Originally, this problem began because my customer would reinvite
the call right after the call was established and the re-invite,
because it was in-dialog wouldn't get record routed.
So I moved my record-route block to before my loose route block.
Now, sometimes I get byes.. I'm not sure what I'm doing wrong.. any
ideas?
-Brett
_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users