[OpenSIPS-Users] Receiving requests via registration TCP connection

Klaus Darilion klaus.mailinglists at pernau.at
Mon Oct 13 17:16:24 CEST 2008

Iñaki Baz Castillo schrieb:
> Hi, in case a TCP client behind NAT sends a REGISTER toa proxy with
> public IP, the proxy/registrar can "solve" NAT issues by adding
> "received:REAL_SOURCE_IP:REAL_SOURCE_PORT" to the Contact in REGISTER.
> So when the proxy receives a request for this AoR it will forward it
> to the public IP and port from where it received the REGISTER.
> Of course, for this to work is needed the TCP connection remains open
> (it could be achieved by requiring REGISTER every 32 seconds or using
> PING-PONG TCP keepalive if both client and server implement it).
> But I wonder how "legal/valid" is this in RFC3261. I mean: is really
> valid for a proxy to send *new* requests to a registered UA via the
> TCP connection used for UA registration?

Actually - who cares? If there is NAT between the client and the proxy 
and TCP is used, then the proxy has to reuse the TCP connection.

RFC 3261 does not deal with NATs at all. :-)


> Imagine UA1 sends a TCP INVITE to proxy P2 responsible for UA2 AoR. So
> UA1 starts a TCP connection from a random port (maybe 22222) to P2.
> This connection is just supposed for requests sent **by UA1** and
> responses sent from UA2.
> Now imagine that P2 sends a request to UA1 against port 22222 using
> the previous connection. AFAIK this is not defined in RFC3261 and UA1
> could just drop these requests.
> So I wonder which is the difference between this example and the case
> in with a registrar/proxy sends requests to a registered user via the
> TCP connection used for UA registration.
> Opinions? With the TCP UA's I've tryed (i-e- Twinkle) it seems to work
> (Twinkle accepts request from registrar/proxy coming via the TCP
> connection used for registration).

More information about the Users mailing list