RCSe TLS/TCP Re-Use Connections

In an RCSe environment the sip-interface reuse-connections option is used to make the Oracle® Enterprise Session Border Controller retain the TCP/TLS connection established by the endpoint during the registration for all subsequent messages to that endpoint, essentially providing for a persistent connection between the Oracle® Enterprise Session Border Controller and the user equipment (UE).

Field experience uncovered an implementation deficiency associated with these persistent connections particularly within RCSe deployments. The basic scenario is as follows:

  1. The UE registers in a TLS realm on SBC1. SBC1 stores the IP:Port from VIA (and Contact) as alias of the currently established connection.

  2. The UE transits to another realm/sip-port (same or different Oracle® Enterprise Session Border Controller) without previously unregistering or closing the TCP connection with the TLS sip-port on SBC1.

  3. UE goes back to the TLS realm in SBC1 and establishes a new connection — same source IP as in Step 1, but a different port as in Step 1.

The problem arises at Step 3. If the Oracle® Enterprise Session Border Controller has not detected that the TLS connection established in Step 1 has been effectively terminated, it will not update the alias connection to that established in Step 3, but instead continue to attempt to use the Step 1 connection.

This means that the next message from the core side to the UE will fail, since the Oracle® Enterprise Session Border Controller will attempt to send the message of the dead TLS connection — that is using the IP address:port pair passed in Step 1.

All communications to this UE will fail until it sends the next message to the Oracle® Enterprise Session Border Controller, when the alias connection will be update to the TLS connection in Step 3.

To resolve this issue, the Oracle® Enterprise Session Border Controller needs to always update the alias table when it receives a new inbound connection on the configured sip-interface.

Option Configuration Guidelines

The following table lists the full range of options that pertain to TLS/TCP Connection reuse with an emphasis on use in RCSe environments.
Option Connection Behavior
reuse-connections Use/retain first inbound connection until explicitly closed
reuse-connections=latest Use the last inbound connection, update the alias for each new connection
reuse-connections=no Establish new connection at each UE access
NOT CONFIGURED Equivalent to reuse-connections=no