SIP Session Agent DNS-SRV Load Balancing

The Oracle® Enterprise 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® Enterprise 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® Enterprise 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® Enterprise Session Border Controller only pings the first available resolved IP addresses.

With status of each resolved IP addresses above, the Oracle® Enterprise 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® Enterprise 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® Enterprise Session Border Controller provides the similar functionality as that listed above for A-records, the Oracle® Enterprise Session Border Controller selects the first available routing destinations because there is no priority/weight contained in A-records.

Session Agent DNS-SRV Load Balancing Configuration

To configure the Oracle® Enterprise 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