Jump to: navigation, search

Keep Alive for TCP Connections

SIP Server provides the ability to detect stale TCP connections between SIP Server and a SIP device using the TCP keep-alive mechanism. This functionality is recommended for those environments in which SIP endpoints are located behind a firewall that is configured to drop inactive TCP connections silently and without sending any notification to SIP Server. If SIP Server tries to use a stale connection to initiate a new call or to execute call control, the attempt would fail. As a result, the SIP endpoint is placed to out of service.

When the TCP keep-alive mechanism is enabled, SIP Server sends keep-alive packets for all existing SIP connections. If there is no response for a configured time interval, and if there is an active transaction for this connection, SIP Server attempts to reopen the connection immediately and re-sends the last SIP request. If the connection does not have an active transaction, then it will be reopened only when a new transaction is initiated. If an attempt to open a connection for an active transaction fails, SIP Server releases the call.

For this feature to work with TLS over TCP, the SIP Endpoint must be able to accept the connection when SIP Server attempts to reopen it.

The TCP keep-alive mechanism does not replace the active OOS check, which should be configured as usual even if the TCP keep-alive feature is enabled.

Feature Configuration

  1. Configure TCP keep-alive timeouts for your operating system. You can use the following links for your reference:
  2. In the TServer section of the SIP Server Application, configure the sip-enable-tcp-keep-alive configuration option to enable the TCP keep-alive functionality.

sip-enable-tcp-keep-alive

Default Value: false
Valid Values: true, false
Changes Take Effect: After restart

When set to true, enables the TCP keep-alive mechanism for all SIP-related connections. Keep-alive timeouts are configured on the OS level.

Feature Limitation

For Voice over IP Service DNs, SIP Server will not attempt to reopen the connection within an active transaction.

This page was last edited on September 28, 2021, at 20:22.
Comments or questions about this documentation? Contact us for support!