[Serusers] NAT - Lots of flavours...
Alberto Cruz
acruz at tekbrain.com
Tue Jul 5 05:27:11 CEST 2005
Maybe you should check the www.onsip.org site. There are a .cfg file for
mediaproxy and one for nathelper that you can take like an example.
Regards
Alberto Cruz
Ricardo Poppi wrote:
>
> Hi list,
>
> I´m trying to put to work a NATed environment and want to share some
> information and request some I don´t realized yet.
>
> I use an asterisk gateway, with a public IP, working really fine for
> UAs with public IPs. At the same machine I runs SER that receives all
> SIP messages and handle when it should go to a SIP UA or to asterisk,
> rewriting the port (to the one asterisk uses) and sending to it. I
> don´t replicate register to asterisk, and use the user accounts as
> "peer", instead of "friends".
>
> My ser.cfg is using the "force_rport()" and "fix_nated_contact()" for
> every REGISTER it receives from nat UAs - I know when it comes from a
> NATed UA using nat_uac_test("2").
>
> Every INVITE that comes from NATed UA passes through a
> "fix_nated_sdp("2"), that rewrites the IP address of SDP headers.
> Using a onreply route I fix the 200 OK INVITE message, just in case
> that the NATed UA is on the called side.
>
> The UAs I´m using are X-Lite, Clipcomm CP-100 IP Phone, and
> Grandstream HT-488.
>
>
> Below I wrote the different kinds of configuration into the UA and in
> ser.cfg, and the results I got:
>
>
> 1) Using without touching the UA - It don´t know it is a NATed UA.
> -----------------------------------------------------------------------------------------------------------------------------
>
>
> All REGISTER are treated ok because the force_rport make SER respond
> to the register on the same external IP:Port it received. On the same
> hand, it stores the right URI into the location database making the UA
> receive the subsequent INVITES or other SIP messages through the
> external IP:Port.
>
> The INVITES that comes from NATed UA have their SDP IP address
> rewriten by SER and the external IP takes place. But the port is kept
> the internal value, so when the called UA tries to reach the
> External_IP:Internal_port the NAT/Firewall probably block/drops the
> packets, and the result is a one-way audio - The one-way audio is
> probably due to the right value that comes from the SDP headers of the
> called UA - asterisk -, that has a public IP.
>
>
> 2) a=direction:active
> ----------------------------------
>
> If I add into ser.cfg a "fix_nated_sdp("1")" command, it will add the
> "a=direction:active" parameter to SDP header of INVITE that comes from
> NATed UAs. I saw that it´s happening but the asterisk seems to not
> understand that and don´t expect for the first RTP packet to get the
> IP:Port information of the media. A one-way audio is the result of
> that. The asterisk is probably sending RTP packets to the
> Ext_IP:Internal_port, and the firewall is blocking the packets.
>
>
> 3) Using STUN
> ------------------------
>
> When I set the STUN server into the UA configuration - I used
> stunserver.org - the ua correct replaces the contact and sdp headers
> IP address, but do nothing about the RTP port, keeping the problem
> that the internal port of the UA, for media path, that the asterisk -
> or any other public UA - tries to reach is blocked by the firewall.
>
>
>
> DO ANYBODY WANTS TO SHARE SOME INFORMATION ABOUT THIS PROBLEM?
>
> Thanks in advance,
>
> Ricardo Poppi
>
>
>
>
>
>
>
>
>
>
>
>
> _______________________________________________
> Serusers mailing list
> serusers at lists.iptel.org
> http://lists.iptel.org/mailman/listinfo/serusers
>
>
More information about the sr-users
mailing list