>>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