Thanks for the reply. I haven't used add_contact_alias/handle_ruri_alias
before - how would I make use of them?
Should I call add_contact_alias() in the 200 reply route? And if so - when
do I call handle_ruri_alias()?
On Fri, Oct 25, 2019 at 6:00 PM Alex Balashov <abalashov(a)evaristesys.com>
wrote:
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
_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users(a)lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users