The client will use STUN to detect the type of NAT (coned, symmetric
...) and the public IP address:port.
If the NAT device can be traversed by means of STUN, then the client
uses the public IP address and port in the SIP messages (Via: header,
Contact: header, SDP, ...).
If the NAT device can't traversed by use of STUN (symmetric NAT), the
client has to behave dumb and does not use the public addresses. Thus,
it uses its private IP address:port (e.g. 192.168.0.2:5060) in the SIP
messages.
In ser, you will use nat_uac_test() to test the incoming messages. You
can test for private IP addresses in the various headers (Via, Contact,
SDP) and compare the Via: header with the IP-address:port the message is
coming from. If the client uses STUN and public IP address:port in the
SIP message, ser can not detect if the client is behind NAT. Thus, ser
does not NAT traversal - as it should be, because the client das NAT
traversal itself.
If the nat_uac_test detects that the SIP messages comes from a natted
client, then you have to use the various functions (force_contact,
nated_register, force_rtpproxy...) to rewrite the SIP messages.
regards,
klaus
PS: read the README from the nathelper module and the mediaproxy module.
You have to choose either nathelper-module+rtpproxy or the
mediaproxy-module+mediaproxy (from ag-projects).
info(a)beeplove.com wrote:
If a client come through STUN and behind NAT,
SER dont need to do anything to handle NAT.
correct me pls, if I am wrong.
How ser will figure it out that whether a client is coming through STUN or
not?
Thanks,
Mohammad
--------------------------------------------------------------------
mail2web - Check your email from the web at
http://mail2web.com/ .
_______________________________________________
Serusers mailing list
serusers(a)lists.iptel.org
http://lists.iptel.org/mailman/listinfo/serusers