In an IMS scenario, the SBC Core acting as a P-CSCF supports the outbound mechanism and NAT keep-alive mechanism (as defined in RFCs 5626 and 6223) by the User Agent (UA) when establishing a "flow" from behind a firewall or NAT. The purpose of the outbound and keep-alive mechanism is to maintain an active flow between the UA and P-CSCF to ensure the UA is able to receive incoming requests.
The key concept of this feature is that when a UA sends a REGISTER request, it creates a network "flow". A “flow” is a transport-layer association between two hosts that is represented by the network address and port number of both ends and by the transport protocol. For TCP, a flow is equivalent to a TCP connection. For UDP, a flow is a bidirectional stream of datagrams between a single pair of IP addresses and ports of both peers. The proxy can later use this network "flow", whether using a bidirectional stream of UDP datagrams, a TCP/TLS connection, or an analogous concept in another transport protocol to forward any incoming requests to this UA in the context of the registration.
This outbound support capability also provides a means where the UA can simultaneously register through multiple outbound proxies to the same registrar and continue to receive service when one of the outbound proxies fails or the flow between the SBC and UA is broken.
The SBC supports a keep-alive mechanism for non-registration (non-outbound) cases; for example, in a peering scenario.
To enable outbound support, use configuration similar to the following example:
% set addressContext default zone ZONE_IAD sipTrunkGroup TG_PCSCF_INT_IP signaling keepSupport enabled outboundSupport enabled % commit % set addressContext default zone ZONE_IAD sipTrunkGroup TG_PCSCF_INT_IP services natTraversal outboundTcpKeepaliveTimer 240 outboundUdpKeepaliveTimer 60 % commit
For configuration details, refer to: