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.