SIP TCP Connection Reuse

You can configure your Oracle Communications 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 Communications 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 Communications 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 Communications Session Border Controller adds the connection’s source address to its list of alias connections. This is a list of connections that the Oracle Communications 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 Communications 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 Communications Session Border Controller to use the inbound TCP/TLS connection for outbound requests. The Oracle Communications 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 Communications 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 Communications 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 Communications Session Border Controller to reuse all inbound TCP connections for sending rquests to the connected UA.

SIP TCP Connection Reuse Configuration

This section describes how to enable SIP TCP connection reuse for a session agent. Currently there are two options for the new reuse-connections parameter: none (which turns the feature off) and tcp (which enables the feature for TCP connections). You also set the re-connection interval.

To enable SIP TCP connection reuse for a session agent:

  1. In Superuser mode, type configure terminal and press Enter.
    ORACLE# configure terminal
  2. Type session-router and press Enter to access the signaling-level configuration elements.
    ORACLE(configure)# session-router
    ORACLE(session-router)#
  3. Type session-agent and press Enter. The system prompt changes to let you know that you can begin configuring individual parameters.
    ORACLE(session-router)# session-agent
    ORACLE(session-agent)#

    If you are adding support for this feature to a pre-existing session agent, then you must select (using the ACLI select command) the session agent that you want to edit.

  4. reuse-connections—Enable or disable SIP TCP connection reuse. The default is none. This value disables the feature. The valid values are:
    • tcp | sctp | tls |none

  5. tcp-reconn-interval—Enter the amount of time in seconds before retrying a TCP connection. The default for this parameter is 0. The valid range is:
    • Minimum—0, 2

    • Maximum—300

  6. Save and activate your configuration.