SIP Session Agent DNS-SRV Load Balancing

The Oracle Communications Session Border Controller provides the ability to specify an FQDN (fully qualified domain name) for a destination session-agent. During DNS lookup the FQDN can resolve to multiple SRV (Resource Record for Servers) records. Each SRV can resolve to a single IP address via A-Record query.

The Oracle Communications Session Border Controller also supports load balancing behavior as described in RFC 3263, Session Initiation Protocol (SIP): Locating SIP Servers.

The ping-all-addresses parameter in session-agent configuration mode enables internal load balancing and RFC 3263 compliance. The Oracle Communications Session Border Controller monitors the availability of the dynamically resolved IP addresses obtained from DNS using OPTIONS pings (ping-per-DNS entry). The ping-method and ping-interval for each resolved IP address is copied from the original session-agent.

Status of Session-Agent:

In Service – if any of dynamically resolved IP addresses is in service

Out of service – if all dynamically resolved IP addresses is out of service.

The default of ping-all-addresses is disabled, in which case the Oracle Communications Session Border Controller only pings the first available resolved IP addresses.

With status of each resolved IP addresses above, the Oracle Communications Session Border Controller recurses through the list of these in-service IP addresses dynamically resolved from DNS server on 503 response, and stop recursion based upon a configured list of response values specified by the stop-recurse parameter in sip-interface configuration mode. With internal load balancing enabled in the session-agent, the Oracle Communications Session Border Controller provides the ability to select routing destinations based on SRV weights. The priority/weight algorithm is based on RFC 2782, A DNS RR for specifying the location of services (DNS SRV).

The Oracle Communications Session Border Controller provides the similar functionality as that listed above for A-records, the Oracle Communications Session Border Controller selects the first available routing destinations because there is no priority/weight contained in A-records.

Statistics and Traps on Agents

You can configure the SBC to track activity on individually resolved agents by enabling the sa-routes-stats and sa-routes-traps parameters in the sip-config. This feature also requires that the session agent's ping-all-addresses function be active. This functionality requires the status checks on all agents enabled by the ping-all-addresses parameter. Extended functionality includes:

  • sa-routes-stats—Extends the statistics collection function on DNS resolved session-agents
    • Extends the show sipd agents command to support additional arguments and output, including agent FQDN and specific SIP methods.
    • Enables HDR to generate records for each DNS resolved session-agent route.
  • sa-routes-traps—Extends operation on DNS resolved session-agent to issue traps when a session agent route changes state.

Session Agent DNS-SRV Load Balancing Configuration

To configure the Oracle Communications Session Border Controller to perform Session-Agent DNS-SRV load balancing:

  1. From superuser mode, use the following command sequence to access sip-config configuration mode. While in this mode, you configure SAG-based address resolution.
    ORACLE# configure terminal
    ORACLE(configure)# session-router
    ORACLE(session-router)# session-agent
    ORACLE(session-agent)#
  2. Use the ping-all-addresses parameter to enable Session-Agent DNS-SRV load balancing.
  3. Use done, exit, and verify-config to complete Session-Agent DNS-SRV load balancing configuration.

    The show sip agents ACLI command displays the availability of dynamically resolved IP addresses

    ORACLE# show sip agents acme.engr.com
    21:46:05-51-router
    Session Agent acme.engr.com(core) [In Service] NO ACTIVITY
    
    ... Statistics of ALL IPs associated with this SA ....
    
    Destination: 192.168.200.235 In Service
    Destination: 192.168.200.231 In Service