Daniel-Constantin Mierla wrote:
On 10/10/05 11:25, Klaus Darilion wrote:
Just to to throw oil on the fire: ;-)
If the SIP UA uses TCP, and the connection is reset, usually the port in the Contact URI changes. Thus, a new entry in the location table will be created.
this should not happen. The UA should register the contact address where it listens. Same tcp connection is used generally just at transaction level, then it is closed by server. Keeping the tcp connections open for long time will overload the server.
it happens: SNOM 360
Ideally, in this case, the UA unregisters the previous contact when it detects that it will register another contact address. When the UA does not follow some basic rules, it is hard to predict and handle all situations that can occur.
I would be nice if a phone would do this, but I do not think TCP implementations are better than UDP implementations.
TCP and NAT will not work in most of the cases, and when there is no nat, the UA has no excuse to behave wrongly during registration.
If I would implement a SIP client using TCP the client would: - open the TCP connection - send keep alive (CRLF) - if the connection is terminated by the proxy or there is a delivery failure the client would immediately reconnect to the proxy.
IMO a SIP proxy should be able to keep >thousand TCP sessions open
regards klaus
Cheers, Daniel
This can be avoided using the call-id as identifier.
regards klaus