<div dir="ltr">Thanks for the reply, Joshua.<div><br></div><div>Here's a screenshot of the ladder diagram for the call.</div><div>A is Asterisk</div><div>S is Sansay</div><div>M is Sansay Media Server.</div><div><br></div><div><img src="cid:ii_kltvc5bq0" alt="image.png" width="562" height="390"><br></div><div><br></div><div>SDP for the first 183</div><div> Session Description Protocol<br> Session Description Protocol Version (v): 0<br> Owner/Creator, Session Id (o): Sansay-VSXi 188 1 IN IP4 XX.XX.XX.12<br> Session Name (s): Session Controller<br> Connection Information (c): IN IP4 XX.XX.XX.46<br> Time Description, active time (t): 0 0<br> Media Description, name and address (m): audio 14996 RTP/AVP 0 101<br> Media Attribute (a): rtpmap:0 PCMU/8000<br> Media Attribute (a): rtpmap:101 telephone-event/8000<br> Media Attribute (a): fmtp:101 0-15<br> Media Attribute (a): ptime:20<br> Media Attribute (a): sendrecv<br> <br><br>SDP for the 2nd 183<br> Session Description Protocol<br> Session Description Protocol Version (v): 0<br> Owner/Creator, Session Id (o): Sansay-VSXi 188 1 IN IP4 XX.XX.XX.12<br> Session Name (s): Session Controller<br> Connection Information (c): IN IP4 XX.XX.XX.46<br> Time Description, active time (t): 0 0<br> Media Description, name and address (m): audio 15104 RTP/AVP 0 101<br> Media Attribute (a): rtpmap:0 PCMU/8000<br> Media Attribute (a): rtpmap:101 telephone-event/8000<br> Media Attribute (a): fmtp:101 0-15<br> Media Attribute (a): ptime:20<br> Media Attribute (a): sendrecv<br><br>SDP for the 200OK.<br> Session Description Protocol<br> Session Description Protocol Version (v): 0<br> Owner/Creator, Session Id (o): Sansay-VSXi 188 1 IN IP4 XX.XX.XX.12<br> Session Name (s): Session Controller<br> Connection Information (c): IN IP4 XX.XX.XX.46<br> Time Description, active time (t): 0 0<br> Media Description, name and address (m): audio 15252 RTP/AVP 0 101<br> Media Attribute (a): rtpmap:0 PCMU/8000<br> Media Attribute (a): rtpmap:101 telephone-event/8000<br> Media Attribute (a): fmtp:101 0-15<br> Media Attribute (a): sendrecv<br> Media Attribute (a): ptime:20<br></div><div><br></div><div>Still working on the logs, But gather anything from that so far?</div><div><br></div><div>In this case, asterisk always sent to the first provided RTP port of 14996.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Mar 3, 2021 at 12:06 PM Joshua C. Colp <<a href="mailto:jcolp@digium.com">jcolp@digium.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr">On Wed, Mar 3, 2021 at 12:51 PM Nick Olsen <<a href="mailto:nick@141networks.com" target="_blank">nick@141networks.com</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hello!<div><br></div><div>I've got a number of asterisk systems running asterisk 16.12.0 currently. They're configured with PJSIP.</div><div>Some of them are behind NAT, some aren't.</div><div>All systems have SIP trunks to a Sansay INX.</div><div>I've had one-way audio issues calling a particular number. After some investigation, It seems that the audio is lost due to port changes in SDP. Other calls don't seem to have any issues. Here's what happens.</div><div><br></div><div>Good call:</div><div>1. Asterisk sends invite to Sansay INX.</div><div>2. Sansay replies 100 Trying without SDP.</div><div>3. Sansay replies 183 Progress and provides SDP. This SDP specifies a Media server and Port. Let's say 192.168.1.2 and port 20100.</div><div>4. RTP starts to exchange. Asterisk sending to 192.168.1.2 on port 20100.</div><div>5. 200OK is received from Sansay, again it includes SDP showing 192.168.1.2 with port 20100 for RTP.</div><div>6. Call works normally.</div><div><br></div><div>Bad Call:</div><div><div>1. Asterisk sends invite to Sansay INX.</div><div>2. Sansay replies 100 Trying without SDP.</div><div>3. Sansay replies 183 Progress and provides SDP. This SDP specifies a Media server and Port. Let's say 192.168.1.2 and port 20100.</div><div>4. RTP starts to exchange. Asterisk sending to 192.168.1.2 on port 20100.</div><div>5. 200OK is received from Sansay, This time, It includes modified STP, The IP is still 192.168.1.2, but the port is now 20180.</div><div>6. Asterisk continues to send to SDP 20100.</div></div><div><br></div><div>2nd example of bad call:</div><div><div>1. Asterisk sends invite to Sansay INX.</div><div>2. Sansay replies 100 Trying without SDP.</div><div>3. Sansay starts sending RTP FROM 192.168.1.2 port 20100</div><div>4. Asterisk starts sending RTP to 192.168.1.2 port 20100 (Even with force rport and comedia, and rewrite contact off, before we ever get the first SDP).</div><div>5. Sansay replies 183 Progress and provides SDP. This SDP specifies a Media server and Port. Let's say 192.168.1.2 and port 20180 (This is a CHANGE from step 4).</div><div>6. Asterisk is still sending to 192.168.1.2 port.20100 (Ignoring SDP in step 5 183 progress)</div><div>7. 200OK is received from Sansay, Now a third port is received, The IP is still 192.168.1.2, but the port is now 20250.</div><div>8. Asterisk continues to send to SDP 20100. (Ignoring SDP received at step 5 and 7)</div></div><div><br></div><div>I'm hoping I'm missing a simple setting here like "Ignore SDP = no" in PJSIP. But I've not found it yet.</div><div><br></div><div>Secondly, in all cases, Inbound audio (Sansay to asterisk) is fine. And the source port of RTP DOES change in both bad call examples above. But I assume asterisk is handling it because the traffic is still arriving on the same port from asterisk's point of view.</div><div><br></div><div>Why calling this one particular number results in 2-3 SDP port changes I don't yet know. But from what I can see, It's not improper to have port changes in later SDP. And asterisk *should* follow them. But someone please correct me if I'm wrong.<br></div></div></blockquote><div><br></div><div>Actual SDP and Asterisk debug log would most likely be needed to see what is going on.</div></div><div><br></div>-- <br><div dir="ltr"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div style="font-family:tahoma,sans-serif"><div><font color="#073763">Joshua C. Colp</font></div><div><font color="#073763">Asterisk Technical Lead</font></div><div><font color="#073763">Sangoma Technologies</font></div><div><font color="#073763">Check us out at <a href="http://www.sangoma.com/" target="_blank">www.sangoma.com</a> and <a href="http://www.asterisk.org/" target="_blank">www.asterisk.org</a></font></div></div></div></div></div></div></div></div></div></div></div></div>
-- <br>
_____________________________________________________________________<br>
-- Bandwidth and Colocation Provided by <a href="http://www.api-digital.com" rel="noreferrer" target="_blank">http://www.api-digital.com</a> --<br>
<br>
Check out the new Asterisk community forum at: <a href="https://community.asterisk.org/" rel="noreferrer" target="_blank">https://community.asterisk.org/</a><br>
<br>
New to Asterisk? Start here:<br>
<a href="https://wiki.asterisk.org/wiki/display/AST/Getting+Started" rel="noreferrer" target="_blank">https://wiki.asterisk.org/wiki/display/AST/Getting+Started</a><br>
<br>
asterisk-users mailing list<br>
To UNSUBSCRIBE or update options visit:<br>
<a href="http://lists.digium.com/mailman/listinfo/asterisk-users" rel="noreferrer" target="_blank">http://lists.digium.com/mailman/listinfo/asterisk-users</a></blockquote></div>