Hi,
I may be mistaken, but my reading of 3261 is that a final dialog-forming response may
update the remote target (Contact) previously sent by an early dialog-forming provisional
reply.
That having been said, apart from using nathelper techniques (add_contact_alias() and
handle_ruri_alias()), I can’t see a good way to deal with this problem. In general, SIP
doesn’t really contemplate situations where the network and transport-layer reachability
information of an endpoint changes mid-dialog except as part of a target refresh request
(UPDATE, re-INVITE).
—
Sent from mobile, with due apologies for brevity and errors.
On Oct 25, 2019, at 10:37 AM, Oded Arbel
<odeda(a)cloudonix.io> wrote:
Hi, we are having a problem with a network change use case. It goes on something like
this:
1. Kamailio receives INVITE from caller.
2. Kamailio sends INVITE to callee MUA.
3. MUA response with 100, then 183.
4. MUA then loses network connectivity and re-establishes access with another IP
address.
5. MUA sends 200 OK from the new IP address, but with `Contact` still set as the old
address (which I think it should, because you aren't allowed to change contact in the
middle of dialog?)
6. Kamailio forwards 200 OK to caller and receives ACK.
7. Kamailio sends ACK to old IP address of MUA.
The last step is obviously a problem as the MUA will not be able to see the ACK.
I'm trying to see how to resolve this issue. I can capture the "$si" and
"$sp" of the new address in the reply route (I also tried to get the MUA to send
OPTIONS immediately after reestablishing connectivity, and capture
"$si"/"$sp" there, which also works), but I can't figure out how
to update the destination of the ACK. I've tried running `fix_nated_contact()` as well
as trying to write into various pseudo variables - in either the OPTIONS request handler
or the 200 reply handler - which either errors or does nothing.
Any suggestions?
--
Oded Arbel
_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users(a)lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users