In this section:
The SBC Core supports TCP (Transmission Control Protocol) for peering, enterprise, and access configurations.
In an Access scenario, connections are on a per-subscriber-registration basis. The SBC keeps track of subscriber-initiated TCP “flow” beginning with when the endpoint registers, and uses it to forward any requests to the subscriber. The connection stays up as long as the subscriber is registered with the SBC .
A connection is deleted when the flow cannot reach the subscriber (example a broken TCP connection), when the connection is replaced by a newer one through successful modification, or when the registration is deleted.
For Peering, there are typically two connections, one for each direction. Connections to the peers are maintained and reused for all requests to the peer, independent of calls. The SBC can accept multiple connections from the same remote peer.
The SBC also supports TCP Fallback. When enabled, the following functionality is available:
When TCP fallback feature is enabled it overrides any other configuration related to transport preference.
When a UE sends REGISTER request to the SBC over a TCP connection and the registration is successful, the TCP connection is present between UE and SBC for the life of the registration. If the registration becomes inactive, the SBC relies on the UE to clear (close) the TCP connection between the two.
The SIP Trunk Group flag clearTcpConnectionsforRegistration
allows the SBC to clear the TCP connection between the UE and SBC once the registration becomes inactive. The SBC closes the TCP connection even when there are user agent failure registrations.
The SBC Core supports configuring TCP Keep-alive timer settings for SIP Trunk Group and Signaling Port configurations. These parameters enable the SBC to send out TCP Keep-alive packets to peer devices (for example, registered SIP phones) at configured intervals.
The following example sets the NAT keep-alive timer to 200 seconds for SIP over TCP.
% set addressContext default zone ZONE_IAD sipTrunkGroup SBX10_IAD services natTraversal tcpKeepaliveTimer 200 % commit % show addressContext default zone ZONE_IAD sipTrunkGroup SBX10_IAD services natTraversal { tcpKeepaliveTimer 200; }
For configuration details, refer to SIP Trunk Group - Services (EMA) or SIP Trunk Group - Services - CLI.
The following example sets tcpKeepaliveTime
to 90 seconds, tcpKeepaliveInterval
to 60 seconds and tcpKeepaliveProbes
count to 2 for SIP Signaling Port 2:
% set addressContext default zone ZONE_SIPART_AS sipSigPort 2 tcpKeepaliveTime 90 tcpKeepaliveInterval 60 tcpKeepaliveProbes 2 % commit % show details addressContext default zone ZONE_SIPART_AS sipSigPort 2 ipInterfaceGroupName LIG2; ipAddressV4 10.7.14.179; portNumber 5060; mode inService; state enabled; recorder disabled; siprec disabled; tcpConnectTimeout 5; dscpValue 0; tlsProfileName defaultTlsProfile; transportProtocolsAllowed sip-tcp; sctpProfileName defaultSctpProfile; tcpKeepaliveTime 90; tcpKeepaliveInterval 60; tcpKeepaliveProbes 2;
For configuration details, refer to Signaling Ports - SIP Sig Port (EMA) or Zone - SIP Sig Port - CLI.
The SBC Core supports the ability to specify a TCP port range for MSRP and BFCP (over TCP) streams using the configurable TCP Port Range object. TCP port ranges are used by the SBC to advertise TCP ports on which it can accept connections. TCP port ranges can be configured at the system level and on the SIP trunk group level.
The two configurable fields/parameters under tcpPortRange
for the system include:
baseServerPort
– The starting (base) port number for the range of TCP ports to use for media. The allowed baseServerPort
range is 1-65534, with a system default value of 1024.maxServerPort
– The maximum TCP port number for the range of TCP ports to use for media. This value must be greater than the baseServerPort
. The allowed maxServerPort
range is 1-65534, with a system default value of 65534.The two configurable fields/parameters under tcpPortRange
for a SIP trunk group are similar:
baseServerPort
– The starting (base) port number for the range of TCP ports to use for media for the trunk group. The allowed baseServerPort
range is 1-65534, or "none." The default value is none
which indicates the SBC uses the baseServerPort
value specified at the system level.maxServerPort
– The maximum TCP port number for the range of TCP ports to use for media. This value must be greater than the baseServerPort
. The maxServerPort
range is 1-65534, or "none." The default value is none
which indicates the SBC uses the maxServerPort
value specified at the system level.Each SIP trunk group can include a mediaIpAddress
to indicate which IP address to use when allocating TCP media. The default value is 0.0.0.0 indicating that the system will choose an IP address from the mediaIpInterfaceGroup
. The mediaIpAddress
can be configured as either an IPv4 or IPv6 address. Any media IP address configured must belong to the IP Interface Group configured as the mediaIpInterfaceGroup
for the trunk group.
Use the CLI 'show table' command to view the ipInterfaceGroup
table listing TCP (or UDP) port ranges that are in assigned (mediaPortRangeAssigned
) or available (mediaPortRangeUnassigned
) for the indicated IP Interface Group.
For configuration details, refer to:
The SBC can establish/disconnect a TCP-SIP session by:
The flag enhancedApplicationMediaSupport supports this feature when enabled (Default = Disabled).
This flag is applicable only to application media stream and application media transport type is TCP
When enhancedApplicationMediaSupport is enabled, the following functionality is supported:
After the SBC establishes TCP connection at ingress, it generates the “TCP SYN” at egress:
When the SBC receives “TCP FIN” at either leg, it terminates and re-generates the “TCP FIN” at the other leg:
When the SBC works for latch/re-latch, it creates a new TCP connection at the other leg:
As part this feature, the SBC supports transmitting Urgent (URG) data from one leg to another. The TCP connection terminates on both legs whenever TCP FIN or TCP RST is received on any of the legs.
Also as part of this feature, the SBC supports re-latch behavior meaning peer can disconnect and re-establish TCP connection any number of times within the same SIP session.
For configuration details, refer to: