<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Nov 10, 2016 at 7:15 AM, Ethy H. Brito <span dir="ltr"><<a href="mailto:ethy.brito@inexo.com.br" target="_blank">ethy.brito@inexo.com.br</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Thu, 10 Nov 2016 00:35:54 +0100<br>
Max Grobecker <<a href="mailto:max.grobecker@ml.grobecker.info">max.grobecker@ml.grobecker.<wbr>info</a>> wrote:<br>
<br>
> Hi Ethy,<br>
<br>
Hi Max and All.<br>
<span class=""><br>
><br>
><br>
> Am 09.11.2016 um 17:13 schrieb Ethy H. Brito:<br>
><br>
> > How are these parameters available from dialplan?<br>
> ><br>
> > For instance, ${SIPURI} holds the internal "IP:port" if the client is<br>
> > behind NAT. I need the external IP:port<br>
><br>
><br>
> You can get the peer's signalling IP address from ${CHANNEL(recvip)} and the<br>
> RTP address with ${CHANNEL(rtpsource)} resp. ${CHANNEL(rtpdest)}. If you need<br>
> more information (like the codecs used) you can find other channel variables<br>
> on <a href="https://wiki.asterisk.org/wiki/display/AST/Asterisk+11+Function_CHANNEL" rel="noreferrer" target="_blank">https://wiki.asterisk.org/<wbr>wiki/display/AST/Asterisk+11+<wbr>Function_CHANNEL</a><br>
<br>
</span>Hmmmm.<br>
<br>
${CHANNEL(rtpsource)} is always returning something like "0.0.0.0:ppppp" where<br>
p=[0-9]<br>
<br></blockquote><div><br></div><div>You've bound to the 'bind all' address - hence why you get '0.0.0.0'. The 'p' values are the RTP port that was chosen for that call. RTP port ranges, by default, are from 5000 to 31000.<br></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
and ${CHANNEL(rtpdest)} returns the internal (not accessible) IP addr if the<br>
caller is behind NAT, therefore, not what I need.<br>
<br></blockquote><div><br></div><div>The RTP destination is going to be what is negotiated in the SDP. If that's a private IP address, then that's what you'd see there.</div><div><br></div><div>If you have symmetric RTP enabled, then this will switch to the address that we are receiving RTP from. That may or may not be the original negotiated address - if the remote end is behind a NAT, it will most likely switch to the public IP address that we are receiving media from.</div><div><br></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Wouldn't these two variables have correct values only after the callee answers<br>
the call??<br>
<span class=""><br></span></blockquote><div><br></div><div>No. In fact, as Asterisk is a B2BUA, there are always going to be two sets of RTP values:</div><div><br></div><div> - The source/destination of the RTP stream to the inbound channel</div><div> - The source/destination of the RTP stream to the outbound channel</div><div><br></div><div>The inbound channel will have its set of RTP addresses when Asterisk either sends a Progress indication or Answers the inbound channel. The outbound channel will have its set of RTP addresses when the far end sends a Progress indication or Answers the outbound channel.</div><div><br></div><div>All of these RTP addresses may change due to:</div><div> * NAT settings (symmetric RTP)</div><div> * re-INVITEs, either due to Asterisk directmedia settings or re-INVITEs initiated by the far endpoints (call hold, etc.)</div><div> * ICE negotiation</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">
><br>
> Please note that, if you have not disabled re-invites, the RTP address may<br>
> change while the call is running.<br>
<br>
</span>Interesting observation.<br>
<br>
Thanx<br>
<div class="HOEnZb"><div class="h5"><br>
Ethy<br>
<br>
--<br>
______________________________<wbr>______________________________<wbr>_________<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.<wbr>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/<wbr>wiki/display/AST/Getting+<wbr>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/<wbr>mailman/listinfo/asterisk-<wbr>users</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature">Matthew Jordan<br>Digium, Inc. | CTO<br>445 Jan Davis Drive NW - Huntsville, AL 35806 - USA<br>Check us out at: <a href="http://digium.com" target="_blank">http://digium.com</a> & <a href="http://asterisk.org" target="_blank">http://asterisk.org</a></div>
</div></div>