[OpenSIPS-Users] Why does NAT keepalive only work for UDP?
Klaus Darilion
klaus.mailinglists at pernau.at
Wed Nov 12 12:28:51 CET 2008
Iñaki Baz Castillo schrieb:
> 2008/11/12 Klaus Darilion <klaus.mailinglists at pernau.at>:
>
>>> So I understand that the server doesn't close the connection before
>>> registration expires, but how can the client know it? why would a client
>>> mantain the TCP connection open until "expires" time? why to expect it?
>> Because it is the only way the receive messages if the client is behind NAT.
>
> Yes, but where is specified (I mean before outbound draft) that the
> caller must mantain the TCP connection open?
> Yes, it makes sense but...
Where is specified that you should not jump on the street if a truck is
coming? :-)
Yes, you are right this is not specified in core SIP RFCs - but it is
the only way so the specification is not needed at all.
>> If you are behind NAT there is no way for the
>> server to make a TCP connection to the client. So, if the client is behind
>> NAT and tears down the TCP connection it is a damn stupid client.
>
> Sure, but anyway, why the server/proxy couldn't send periodical
> NOTIFY/OPTIONS to mantain NAT open (in case the clients doesn't it)?
Yes, it can, and it would be a workaround if client does not send CLRF
or support PING/PONG.
> Well, if we think in UDP, a client could also send periodical
> NOTIFY/OPTIONS to the server to mantain the "connection" open (but
> it's not very usual), why a client should care about it just in case
> of using TCP?
Smart clients send CRLF anyway, regardless of the protocol. You could
also trigger short reREGISTERs intervals for TCP clients.
klaus
More information about the Users
mailing list