>>It's very common that when a UA1 sends a REGISTER via TCP from a random port 
>>11111,
>>if the connection remains open (for example using ping-pong method), the 
>>proxy can
>>send request to UA1 using that TCP connection.
>>Is really this behaviour defined in RFC 3261?

I can't see that it is defined.

RFC 3261 does not cover the idea of connection reuse or much NAT traversal.
In RFC3261, (not re-used) connections are implied:
  * 1 for sending requests (and receiving responses)
  * 1 for receiving requests (and send responses)


>>There is other case: imagine UA1 sending a TCP INVITE to a UA2, so UA1
>>creates a new TCP connection from random port 22222. This TCP connection
>>would persist just for a few time (the time needed for the INVITE transaction
>>= 64*T1), but which should be UA1 behaviour if it receives a new incoming
>>request via this port 22222?
>>I expect this request should be dropped, am I right?


If you can't verify the sender of the request and
security is of the utmost importance, then you should drop it.
The connection reuse draft says that one can verify the sender with
a DNS lookup:
    connection reuse over TCP and SCTP is NOT
   RECOMMENDED unless the server-end of the connection has some way of
   verifying the identity of the client-end of the connection to the
   same level of assurance as it would have by doing a DNS lookup and
   establishing a connection in the backwards direction.  For example,
   if a DNS lookup resolved to the same address and port as the source
   address and source port of the inbound connection, then this level of
   assurance can be acceptable.

So you can reasonably safely accept the request in some situations.


>>but I really wonder
>>which is the difference between this case and the above case in which UA1
>>receives incoming requests from the proxy using the port 11111 used for
>>registration.

I agree, I don't think there is much difference.
Except that for the case of the registrar (port 11111), a DNS lookup of the
Via will most-likely yield the address of the registrar.

Regards,

Attila




-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Iñaki Baz 
Castillo
Sent: 11 October 2008 15:20
To: [email protected]
Subject: [Sip-implementors] Why is allowed to receive incoming request viathe 
TCP connection used for registration?

Hi,

It's very common that when a UA1 sends a REGISTER via TCP from a random port 
11111, if the connection remains open (for example using ping-pong method), the 
proxy can send request to UA1 using that TCP connection.
Is really this behaviour defined in RFC 3261?

There is other case: imagine UA1 sending a TCP INVITE to a UA2, so UA1 creates 
a new TCP connection from random port 22222. This TCP connection would persist 
just for a few time (the time needed for the INVITE transaction = 64*T1), but 
which should be UA1 behaviour if it receives a new incoming request via this 
port 22222?
I expect this request should be dropped, am I right? but I really wonder which 
is the difference between this case and the above case in which UA1 receives 
incoming requests from the proxy using the port 11111 used for registration.

Note: I don't consider the draf-outbound, neither the draft about TCP 
connection reuse.

Thanks a lot.

--
Iñaki Baz Castillo

_______________________________________________
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