<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Thanks so much for helping with this.<div><br></div><div>I have applied the suggested config but the result is the same. OpenSIPS routes the RE-INVITE to itself and it never gets routed back to the Asterisk box.</div><div>If the 2nd Route header in the RE-INVITE is the IP of the other interface - will that not always be the case? It's as though the 2nd Route header needs to be changed to have the IP of the Asterisk server.</div><div><br></div><div>Sanitized RE-INVITE from provider:</div><div><br></div><div><div>INVITE <a href="http://sip:asterisk@my.host.name:5060">sip:asterisk@my.host.name:5060</a> SIP/2.0</div><div>Max-Forwards: 67</div><div>Session-Expires: 1800;refresher=uac</div><div>Min-SE: 600</div><div>Supported: timer</div><div>Route: <sip:pub.lic.ip.addr:5060;r2=on;lr;ftag=26907c86-afbc-4626-b8f2-fb901de15f17;did=7e4.6832a52></div><div>Route: <sip:10.98.0.53;r2=on;lr;ftag=26907c86-afbc-4626-b8f2-fb901de15f17;did=7e4.6832a52></div><div>To: "Test User" <sip:01572729012@pub.lic.ip.addr>;tag=26907c86-afbc-4626-b8f2-fb901de15f17</div><div>From: <sip:+447872542107@prov.ider.ip.addr>;tag=3765189400-415903398</div><div>Call-ID: 4dfc3a95-7488-448c-b015-438e806eccae</div><div>CSeq: 2 INVITE</div><div>Allow: UPDATE,INFO,OPTIONS,BYE,INVITE,ACK,CANCEL</div><div>Via: SIP/2.0/UDP prov.ider.ip.addr:5060;branch=z9hG4bK66abd71f0399f743ce9ff2e625aeb636</div><div>Contact: <sip:+447872542107@prov.ider.ip.addr:5060></div><div>Content-Type: application/sdp</div><div>Accept: application/sdp</div><div>Content-Length: 263</div><div><br></div><div>v=0</div><div>o=sbc-uk-bs13b 454176 454177 IN IP4 prov.ider.ip.addr</div><div>s=sip call</div><div>c=IN IP4 prov.ider.ip.addr</div><div>t=0 0</div><div>a=sendonly</div><div>m=audio 42458 RTP/AVP 8 101</div><div>b=RR:3000</div><div>b=RS:1000</div><div>a=rtpmap:8 PCMA/8000</div><div>a=rtpmap:101 telephone-event/8000</div><div>a=fmtp:101 0-15</div><div>a=ptime:20</div><div>a=maxptime:40</div></div><div><br></div><div>-------------------------------------------</div><div><br></div><div>And the next Re-INVITE to itself:</div><div><br></div><div><div>INVITE sip:10.98.0.53;r2=on;lr;ftag=26907c86-afbc-4626-b8f2-fb901de15f17;did=7e4.6832a52 SIP/2.0</div><div>Max-Forwards: 66</div><div>Session-Expires: 1800;refresher=uac</div><div>Min-SE: 600</div><div>Supported: timer</div><div>To: "Test User" <<a href="mailto:sip%3A01572729012@10.98.0.102">sip:01572729012@10.98.0.102</a>>;tag=26907c86-afbc-4626-b8f2-fb901de15f17</div><div>From: <<a href="mailto:sip%3A447872542107@10.98.0.53">sip:447872542107@10.98.0.53</a>>;tag=3765189400-415903398</div><div>Call-ID: 4dfc3a95-7488-448c-b015-438e806eccae</div><div>CSeq: 2 INVITE</div><div>Allow: UPDATE,INFO,OPTIONS,BYE,INVITE,ACK,CANCEL</div><div>Via: SIP/2.0/UDP 109.234.226.243:5060;branch=z9hG4bKc156.ac684935.0</div><div>Via: SIP/2.0/UDP 147.152.17.42:5060;branch=z9hG4bK66abd71f0399f743ce9ff2e625aeb636</div><div>Contact: <sip:+447872542107@prov.ider.ip.addr:5060></div><div>Content-Type: application/sdp</div><div>Accept: application/sdp</div><div>Content-Length: 263</div><div><br></div><div>v=0</div><div>o=sbc-uk-bs13b 454176 454177 IN IP4 prov.ider.ip.addr</div><div>s=sip call</div><div>c=IN IP4 prov.ider.ip.addr</div><div>t=0 0</div><div>a=sendonly</div><div>m=audio 42458 RTP/AVP 8 101</div><div>b=RR:3000</div><div>b=RS:1000</div><div>a=rtpmap:8 PCMA/8000</div><div>a=rtpmap:101 telephone-event/8000</div><div>a=fmtp:101 0-15</div><div>a=ptime:20</div><div>a=maxptime:40</div></div><div><br></div><div>-------------------------------------</div><div><br></div><div>Perhaps I'm missing the point?</div><div><br></div><div>Mark.</div><div><br></div></div></div></div></div></div></div></div></div></div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, 25 Apr 2019 at 14:10, Liviu Chircu <<a href="mailto:liviu@opensips.org">liviu@opensips.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">On 24.04.2019 20:10, Mark Farmer wrote:<br>
> Sure, I'll send the pcap off list.<br>
<br>
It seems you are performing an interface switching operation when <br>
routing out,<br>
which leads to a double Record-Route header.  While this is completely fine,<br>
you should be aware that OpenSIPS handles a double RR'ed mid-dialog <br>
request by<br>
routing the request to itself exactly once, as it consumes the top-level <br>
Route<br>
header field.<br>
<br>
So, you definitely don't have to provision and mark OpenSIPS as a trunk, <br>
since<br>
that will likely break some other logic of your script (e.g. I see it <br>
now returns<br>
404 in the pcap).  Rather, just extend your possible sources of traffic <br>
and keep<br>
applying loose_route() to those mid-dialog requests, then route them out:<br>
<br>
if (check_source_address("1","$avp(trunk_attrs)")) {<br>
     # request comes from trunks<br>
     xlog ("MF - $rm FROM $avp(trunk_attrs)");<br>
     setflag(IS_TRUNK);<br>
} else if (has_totag() && is_myself("$si")) {<br>
     setflag(IS_MYSELF);<br>
} else {<br>
     send_reply("403", "Forbidden");<br>
     exit;<br>
}<br>
<br>
if (has_totag()) {<br>
     ...<br>
     if (!loose_route())<br>
         send_reply("404", "Not Here");<br>
     else<br>
         t_relay();<br>
     exit;<br>
}<br>
<br>
Regards,<br>
<br>
-- <br>
Liviu Chircu<br>
OpenSIPS Developer<br>
<a href="http://www.opensips-solutions.com" rel="noreferrer" target="_blank">http://www.opensips-solutions.com</a><br>
<br>
<br>
_______________________________________________<br>
Users mailing list<br>
<a href="mailto:Users@lists.opensips.org" target="_blank">Users@lists.opensips.org</a><br>
<a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" rel="noreferrer" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature">Mark Farmer<br><a href="mailto:farmorg@gmail.com" target="_blank">farmorg@gmail.com</a></div>