No subject

Fri Sep 2 03:59:05 CDT 2011

I have some devices in the following scenario:

Asterisk server with public IP address
Mobile devices (clients):

When in internal network, no NAT between the client and the server
When in "roaming" (i.e. a Hotel with WiFi), the client is behing =
When in 3G, operator transparent sip proxy so it looks as no NAT, but does =
not support symmetric RTP.
Sometime, the device gets a public IP with no NAT at all.
No NAT setting available in asterisk works for all these scenarios at the s=
ame time, and I can not request the user to activate different accounts dep=
ending on its location.

I have added a new NAT setting (nat=3Dauto) to the current ones. When set, =
chan_sip auto detects from the Via header, the recv sockaddr, and the rport=
 setting if the client is behind a NAT.

It also adds to cli interface results (sip show peer/s) info on this (so no=
w you could see "N" for NAT and nothing for no NAT as before, &qu=
ot;a&quot; for auto detect no NAT, and &quot;A&quot; for autodetect NAT.</p=

<h1 style=3D"color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing <=
<table width=3D"100%" bgcolor=3D"#ffffff" cellspacing=3D"0" cellpadding=3D"=
10" style=3D"border: 1px solid #b8b5a0">
   <pre style=3D"margin: 0; padding: 0; white-space: pre-wrap; white-space:=
 -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap=
: break-word;">Lots of reloads with changing values, and registry natted an=
d un-natted phones. I also set the nat_supertest in testsuite to run with n=
at=3Dauto to make sure that it responded the same with existing and non-exi=
sting peers.</pre>

<div style=3D"margin-top: 1.5em;">
 <b style=3D"color: #575012; font-size: 10pt; margin-top: 1.5em;">Bugs: </b>

 <a href=3D"">ASTERIS=


<h1 style=3D"color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b>=
<ul style=3D"margin-left: 3em; padding-left: 0;">

 <li>/trunk/CHANGES <span style=3D"color: grey">(354465)</span></li>

 <li>/trunk/channels/chan_sip.c <span style=3D"color: grey">(354465)</span>=

 <li>/trunk/channels/sip/config_parser.c <span style=3D"color: grey">(35446=

 <li>/trunk/channels/sip/include/config_parser.h <span style=3D"color: grey=

 <li>/trunk/channels/sip/include/sip.h <span style=3D"color: grey">(354465)=

 <li>/trunk/channels/sip/include/sip_utils.h <span style=3D"color: grey">(3=

 <li>/trunk/channels/sip/utils.c <span style=3D"color: grey">(PRE-CREATION)=

 <li>/trunk/configs/sip.conf.sample <span style=3D"color: grey">(354465)</s=


<p><a href=3D"" style=3D"margi=
n-left: 3em;">View Diff</a></p>




More information about the asterisk-dev mailing list