[SR-Users] Rewrite contact address on 200 OK?

Oded Arbel odeda at cloudonix.io
Fri Oct 25 17:47:38 CEST 2019


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 at 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 at 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 at lists.kamailio.org
> > https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>
> _______________________________________________
> Kamailio (SER) - Users Mailing List
> sr-users at lists.kamailio.org
> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>


-- 
Oded Arbel
CTO, VP R&D
Cloudonix
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20191025/86a2a4b2/attachment.html>


More information about the sr-users mailing list