Hi Richard,

IF both the UAC are behind the NAT then also NAT port will be different
for both of these UAC. So server can store IP and port which will
distinguish both the UAC. Actually proxy should send Contact only of
that UAC not all. That proxy can manage by itself so there is no
confusion for second UAC. 

Also in no case UAC itself is going to use this data as for all new
INVITE it has to send to same proxy again keeping its contact as
internal IP not NAT IP.

It is ok to use STUN mechanism but if you want to can send NOTIFY (with
event as no event) to UAC to keep NAT connection alive. There are many
heuristic to find alive NAT connection. For example you can keep
difference of small difference in second before sending next notify (say
10 seconds), and if you are getting any response from UAC that means NAT
connection is alive. Keep adding some second before sending next NOTIFY
(say increase it like 20, 30, 40). At last when you get NO Reply from
the UAC or your maximum limit reached you can use the last successful
difference and keep this as fixed time out after which next NOTIFY has
to be send. Note that you have to careful about other message because
any message will increase NAT timer. So NOTIFY should be send only after
gap of fixed second when no other message has been send or received.

Regards,

Vishal Mathur
Symantec Corporation
www.symantec.com
_________________________________
Office: +91-20-66067655

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of
Richard
Sent: Friday, June 22, 2007 7:38 AM
To: [EMAIL PROTECTED]
Subject: [Sip-implementors] Multiple contacts in register 200 OK
response


Suppose UA1, which is behind NAT, is registering a public SIP server.
UA1
(only necessary headers are shown)
REGISTER sip:serviceprovider.com
To: <sip:[EMAIL PROTECTED]>
From: <sip:[EMAIL PROTECTED]>
Contact: <sip:[EMAIL PROTECTED];expires=3600>

Then UA1 receives the 200 OK response:
200 OK 
Contact: <sip:[EMAIL PROTECTED]:15060;expires=3600>

Then UA2, which is located in other machine and is also behind NAT,
registers to the same public SIP server using the same AOR.

REGISTER sip:serviceprovider.com
To: <sip:[EMAIL PROTECTED]>
From: <sip:[EMAIL PROTECTED]>
Contact: <sip:[EMAIL PROTECTED];expires=3600>

Then UA2 receives the 200 OK response:
200 OK 
Contact: <sip:[EMAIL PROTECTED]:15060;expires=3500> 
Contact: <sip:[EMAIL PROTECTED]:25060;expires=3600>

>From UA2 point of view, it does not know which contact header it is
belong to. 

Another question is: would I use the contact header (with mapped public
address) from the register 200 OK response to put in creating INVITE
message instead of consulting the STUN server if the UA is behind NAT?

Richard
Senior Engineer
ASTRI



This message (including any attachments) is for the named addressee(s)'s
use only. It may contain
sensitive, confidential, private proprietary or legally privileged
information intended for a
specific individual and purpose, and is protected by law. If you are not
the intended recipient,
please immediately delete it and all copies of it from your system,
destroy any hard copies of it
and notify the sender. Any use, disclosure, copying, or distribution of
this message and/or any
attachments is strictly prohibited.


_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

Reply via email to