SIP TCP Connection Reuse

You can configure your Oracle® Enterprise Session Border Controller to reuse TCP connections created by SIP peering devices for outgoing SIP in-dialog and out-of-dialog request transactions.

The SIP draft draft-ietf-sip-connect-reuse-07.txt describes a way for SIP UAs to reuse connections created by a remote endpoint for outgoing requests for TLS. The Oracle® Enterprise Session Border Controller does not support the model connection reuse signalled by a parameter; rather, it is provisioned on a per-session-agent basis.

You enable SIP TCP connection reuse on a per-session-agent basis. The Oracle® Enterprise Session Border Controller checks incoming TCP connection request to determine if they are from session agent that has this feature turned on. When it is, the Oracle® Enterprise Session Border Controller adds the connection’s source address to its list of alias connections. This is a list of connections that the Oracle® Enterprise Session Border Controller can use for outgoing requests rather than creating its own connection (as it does when this feature is not enabled). So if a preferred connection fails, the Oracle® Enterprise Session Border Controller can refer to this list and use the alias connection.

The presence of an alias parameter in the Via header is just one mechanism that will call the Oracle® Enterprise Session Border Controller to use the inbound TCP/TLS connection for outbound requests. The Oracle® Enterprise Session Border Controller will automatically add an alias for the inbound connections in the following circumstances:

  • The other end of the connection is behind a NAT. When the Oracle® Enterprise Session Border Controller sees that the Via sent-by does not match the source address of the connection, it will automatically reuse the connection to deliver requests to the UA.
  • The Contact address of a REGISTER request received on a TCP connection matches the source address and port. This is because the contact adress is the ephemeral port the UA used to form the connection to the Oracle® Enterprise Session Border Controller and, therefore, will not be listening on that port for inbound connections.
  • The presence of reuse-connections in the options field of the sip-interface will cause the Oracle® Enterprise Session Border Controller to reuse all inbound TCP connections for sending rquests to the connected UA.