I clarify the same,

 

 

 

       UA1                                  NAT1
REGISTRAR
        ----------------REG1----------------->
        src ip: 10.0.0.1 port 5060
        contact:10.0.0.1:5060
 
----------------REG2----------------->
                                              src ip: 59.162.252.82 port
8888
                                              contact: 10.0.0.1:5060
 

 

 

 

In the above scenario, UA1 is behind the NAT and 'src ip' is referring as
Network Layer address. When REGISTER passes through NAT (L3), contact
remains the same. Due to symmetric response implementation on REGISTRAR
side, all the responses are sent back only to '59.162.252.82:8888'. 

 

 

                                                

 

                                                UA2
NAT2                                 REGISTRAR

                     -----------REG3---------->
                     src ip: 10.0.0.1 port 5060 
                     contact:10.0.0.1:5060
                                            
 
----------------REG4----------------->
                                              src ip: 199.100.100.100 port
9999
                                              contact: 10.0.0.1:5060

 

 

Now, in above scenario which is different LAN network from scenerio1, UA2
has assigned the same IP:Port as UA1. UA2 sends the REG request using same
SIP-Id/ Authentication credentials as used by UA1. REG message passes
through NAT (L3) and contact remains the same. 

 

Now, REGISTRAR has two contacts binding for this user. When REGISTRAR sends
200 OK for REGISTER message to UA2, this 200 OK will include both the
bindings of user and both the contact bindings will have same value viz
'10.0.0.1:5060'. Now how the UA2 would identify its own binding to get the
expiry timer allocated by registrar to UA2. 

 

--Vivek

 

  _____  

From: Rockson Li (zhengyli) [mailto:[EMAIL PROTECTED] 
Sent: Friday, June 27, 2008 3:42 PM
To: Vivek Batra; Scott Lawrence; sip-implementors@lists.cs.columbia.edu
Subject: RE: [Sip-implementors] SIP client registers from multiple
locationsand all location are behind the NAT

 

Vivek,

 

I am a little bit confused on your issue.

 

you mean,

 

UA1                  UA2                    NAT
REGISTRA
        ----------------REG1----------------->
        src ip: 10.0.0.1 port 8888
        contact:10.0.0.1:5060
 
----------------REG2----------------->
                                              src ip: 192.168.1.1 port 5060
                                              contact: ??
 

                     -----------REG3---------->
                     src ip: 10.0.0.2 port 9999 
                     contact:10.0.0.2:5060
                                            
 
----------------REG4----------------->
                                              src ip: 192.168.1.1 port 5060
                                              contact: ??

 

 

what are the contact header url in REG2 and REG4 , retain their orignal
value or all are 192.168.1.1:5060 ??

 

-Rockson

 

 

 

 

  _____  

From: Vivek Batra [mailto:[EMAIL PROTECTED] 
Sent: Friday, June 27, 2008 4:44 PM
To: Rockson Li (zhengyli); 'Scott Lawrence';
sip-implementors@lists.cs.columbia.edu
Subject: RE: [Sip-implementors] SIP client registers from multiple
locationsand all location are behind the NAT

Dear Rockson/ Scott,

 

Symmetric response is not an issue since SIP server is taking care of the
same and my UA is getting 200 OK back. 

 

Even further incoming request would also be coming at the public IP of NAT
router (behind which UA is located). This is taken care by SIP server only.


 

Only problem was that when SIP server has multiple bindings for same UA.
These bindings are used by SIP server only at the time of sending 200 OK
against REGISTER request and in Request-URI for further incoming request. 

 

I think it is better idea to put the randomly generated value in contact at
the time of sending REGISTER request so that if 200 OK includes the multiple
binding for this UA, UA can identify its own binding with the help of tag
send by him in REGISTER. 

 

Adding domain/ hostname in contact instead IP address shall again put the UA
in dilemma when all UA's use the same hostname while registering from
multiple location (same as in case of IP address even private). 

 

By considering the same, adding randomly generated tag should be better
option!!

 

Best Regards,

Vivek Batra

 

 

-----Original Message-----
From: Rockson Li (zhengyli) [mailto:[EMAIL PROTECTED] 
Sent: Friday, June 27, 2008 9:14 AM
To: Scott Lawrence; Vivek Batra; sip-implementors@lists.cs.columbia.edu
Subject: RE: [Sip-implementors] SIP client registers from multiple
locationsand all location are behind the NAT

 

 

Comments inline.

-Rockson

 

-----Original Message-----

From: [EMAIL PROTECTED]

[mailto:[EMAIL PROTECTED] On Behalf Of

Scott Lawrence

Sent: Friday, June 27, 2008 12:41 AM

To: Vivek Batra

Cc: sip-implementors@lists.cs.columbia.edu

Subject: Re: [Sip-implementors] SIP client registers from multiple

locationsand all location are behind the NAT

 

 

On Thu, 2008-06-26 at 15:29 +0530, Vivek Batra wrote:

 

> Please consider the following:

 

> *       SIP client send the REGISTER message to Registrar server from

> multiple locations. Q-value is not send by SIP client in its REGISTER 

> request.

 

> *       Registrar server sends the 200 OK to the SIP client with all the

> binding for this user along with expiry timer for each binding.

 

> *       SIP client selects its own binding to get expiry timer allocated

by

> Registrar server.

 

> *       But if all the SIP clients are located behind the NAT (in

different

> LAN networks) and same IP address is assigned to each SIP client 

> suppose 192.168.1.1, all SIP client will send the IP:Port viz

192.168.1.1:5060.

[Rockson] I think the 192.168.1.1:5060 is just the source address in IP

level, which does not relate to SIP contact url.

 

> *       Now when 200 OK is send by Registrar server to SIP client, all

the

> bindings in 200 OK includes the same IP address. Now, what should be 

> the implementation in SIP client to select its own binding since all 

> the bindings shall have same IP:Port.

 

The UA should construct its Contact with some unique value in it so that

it can recognize it among the choices.  Stick a url parameter on it

that's randomly chosen or something; don't rely on the IP address to be

the identifier.

[Rockson] if the Contact is not changed , which is still what your sip

client put into, the incoming request would go to this address, which is

probably not feasible, since this a private ip addr, this is why  Scott

suggest to use domain not ip addr.

 

However, things might not so simple, NAT is more complex than you

thought.

You may need Symmetric Response RFC3581 and  draft-ietf-sip-outbound

 

--

Scott Lawrence  tel:+1.781.229.0533;ext=162 or sip:[EMAIL PROTECTED]

  sipXecs project coordinator - SIPfoundry

http://www.sipfoundry.org/sipXecs

  CTO, Voice Solutions   - Bluesocket Inc. http://www.bluesocket.com/ 

                                           http://www.pingtel.com/

 

_______________________________________________

Sip-implementors mailing list

Sip-implementors@lists.cs.columbia.edu

https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

 

 

 

Email Scanned for Virus & Dangerous Content by : www.CleanMailGateway.com




Email Scanned for Virus & Dangerous Content by : www.CleanMailGateway.com
_______________________________________________
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

Reply via email to