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.
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.