The real reason is because I am not getting an ACK back from a 200 OK and I suspected that the remote peer doesn’t like the contact header I’m sending back:
2018/09/24 16:38:19.089883 81.187.30.116:5060 -> 10.10.10.14:5080
Via: SIP/2.0/UDP 81.187.30.116;branch=z9hG4bK2018092417381900003-1;rport
CSeq: 1 INVITE
Max-Forwards: 68
User-Agent: FireBrick/1.49.016
Call-ID: 2018092417381900003@2700-0344-0103-359
Content-Type: application/sdp
Content-Length: 188
The 200 that gets no ACK looks like this:
2018/09/24 16:38:20.774332 10.10.10.14:5080 -> 81.x.x.x:5060
SIP/2.0 200 OK
Via: SIP/2.0/UDP 81.x.x.x.x;received=81.x.x.x;branch=z9hG4bK2018092417381900003-1;rport=5060
Call-ID: 2018092417381900003@2700-0344-0103-359
CSeq: 1 INVITE
User-Agent: FreeSWITCH-mod_sofia/1.6.13+git~20161129T154639Z~e755b430da~64bit
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY
Supported: timer, path, replaces
Allow-Events: talk, hold, conference, refer
Content-Type: application/sdp
Content-Disposition: session
Content-Length: 224
This is after invoking fix_nated_contact() on the reply.
So I thought I’d try to break the problem down and send back the exact same contact header in the 200 as I received in the original INVITE.
And to do that, I thought the easiest way to just hack this in temporarily was to with subst_hf().
I thought if I can craft the contact header manually and see if that makes a difference.
The real question is, why are you rewriting a Contact header? :-) That
might be what you're really doing wrong ...
On Mon, Sep 24, 2018 at 05:54:04PM +0100, Ben Hood wrote:
Hi,
I’m wondering how to use subst_hf() properly.
I’m trying to debug a broken flow by manually rewriting the contact header from
Contact: <sip:b73c6f29-0101-4802-afcd-efb63f1e6d8f@10.10.10.12:5090;transport=udp>
to
Contact: <sip:2018092417381900003@81.x.x.x>
by using
$var(ctct) = "<sip:2018092417381900003@81.x.x.x>";
subst_hf("Contact", “/\<.+\>/$var(ctct)\r\n/", "a”);
but the result is
Contact: <sip:2018092417381900003@81.x.x.x>
sip:b73c6f29-0101-4802-afcd-efb63f1e6d8f@10.10.10.12:5090;transport=udp
Testing the regex with an external tool appears to match all of the original header, so I’m wondering why subst_hf doesn’t appear to rewrite the entire header.
Is there something I’m doing wrong?
TIA,
Ben
_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
--
Alex Balashov | Principal | Evariste Systems LLC
Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free)
Web:
http://www.evaristesys.com/,
http://www.csrpswitch.com/_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users@lists.kamailio.orghttps://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users