Hi Richard,

Proxy can use the same method to find contact as it used in REGISTER
message. Even at that time Proxy has found that contact header is
different then actually IP from where the REGISTER is coming. Hence able
to send 200 OK and filled the contact properly.

Same mechanism will be used by proxy to do so for any other response or
request. Its proxy's responsibility to handle NAT IP and multiple
registration and UAC is supposed to be only care about its list of
contact and IP address.

Also not to forget that these are case for a big organization you will
have NAT poll which is of multiple IP. In that case after NAT time out
even the IP can be changed. Any way that does not make much difference
in the current case but later even that can make a issue for UAC
implementation.

I had used this with many different UA / Devices present with our proxy
and till now it is found to be safe solution. Let me know if you have
specific case when it will break.

Regards,

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

-----Original Message-----
From: Richard [mailto:[EMAIL PROTECTED] 
Sent: Friday, June 22, 2007 11:30 AM
To: Vishal Mathur
Cc: [EMAIL PROTECTED]
Subject: RE: [Sip-implementors] Multiple contacts in register 200 OK
response


Hi Vishal,

> 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.
Why the contact header in the new INVITE should NOT be used NAT IP? How
does the ACK (for INVITE) come back if the UA is behind NAT?

Richard


On Fri, 2007-06-22 at 11:06 +0530, Vishal Mathur wrote:
> 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


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

Reply via email to