Direct Inward Dial (DID)-Range-Based Local Routing Table (LRT)
The Oracle® Enterprise Session Border Controllersupports LRT, an XML document that contains either E164 telephone numbers or strings-to-SIP-URI mappings. An iLRT is is configured and transferred from the development environment to the ESD /code/lrt directory. After installation and configuration, the LRT is available for SIP Request routing.
The information in the following sections is specific to contiguous ranges of Direct Inward Dial (DID) telephone numbers. Users of this LRT type should be acquainted with XML, and familiarize themselves with the more generic LRT descriptions supplied by the SC6.4.0 ACLI Configuration Guide.
Create a DID-Range-Based LRT File
A DID-Range-Based LRT file is a well-formed XML document with a <localRoutes/> root element.
The following attribute is found within the <localRoutes/> element.
type — This attribute is required for a DID-range-based LRT; set this attribute’s value to range.
<localRoutes/> can contain any number of child <route/> elements.
Each <route/> element contains:
- a required <user/> element that (1) defines the LRT type, and (2) for a DID-range-based LRT, specifies a contiguous range of DID telephone numbers
The <user/> element contains the following attributes:
type — This required attribute can be assigned one of three enumerated values (E164, string, or range); for a DID-range-based LRT, you must use the range value.
rangeStart — This required attribute specifies the start value for the DID range.
rangeEnd— This required attribute specifies the end value for the DID range.
rangePrefix — This optional attribute specifies the common prefix for the range bracketed by the rangeStart and rangeEnd attributes.
- a required <next/> element that uses regular expression syntax to specify the routing next hop
- an optional <description/> element that provides information relevant to the range of DID addresses
When creating the LRT file, keep the following rules in mind.
Configuring a DID-Range-Based LRT
The following procedures provide information about configuring the LRT location and enabling LRT.
Multiple Contact Handling in Redirect Action for LRT
When performing a redirect action triggered by local policy lookups, the Oracle® Enterprise Session Border Controller (ESBC) typically issues a 305 (Use Proxy) message with a single contact derived from the local policy. In some cases, however, it is preferred to issue a 300 (Multiple Choices) message and provide multiple contacts, providing the endpoint with, for example, fallback contacts. For these scenarios, you can configure the ESBC with a sip-interface option that supercedes the lookup configuration's compliance with the RFC 3261 standard for issuing a proxy, and respond based on the number of local policy contacts.
Applicable scenarios include the ESBC receiving an INVITE that triggers a lookup within a local-policy that has its policy-attribute, action parameter set to redirect. By default, the ESBC replies with a single contact inside a 305. Enable the redirect300ForMultipleContacts option to have the ESBC refer to the local-policy and send multiple contacts inside a 300 message if that local policy has multiple contacts. If the policy has a single contact, the ESBC sends the 305.
To perform the desired behavior, configure the applicable sip-interface using the following redirect300ForMultipleContacts option syntax.
ORACLE(sip-interface)# options +redirect300ForMultipleContacts
If you type the option without the "plus" sign, you overwrite any previously configured options. To append the option to the sip-interface configuration's options list, prepend the option syntax with a "plus" sign, as shown in the previous example.
Save and activate your configuration.
Consider the configuration prior to deployment as it generates a behavior change for all applicable triggers on this sip-interface. Alternatively, you could set this behavior on a sip-interface implemented for this purpose.
Managing LRT using the Show LRT Command
Existing ACLI show commands (show lrt and show lrt route-entry) commands have been enhanced to support DID ranges. A new command (show lrt route-table) displays the contents of a DID-range-based LRT.
show lrt now provides a count of valid and invalid route ranges as shown below.
ESD01# show lrt
14:43:03-64183
Name: lroute
Local Route Statistics ---- Lifetime ----
Recent Total PerMax
Queries 0 0 0
Result - Success 0 0 0
Result - Not found 0 0 0
Valid Route Entries: 19
Invalid Route Entries: 0
Valid Route Ranges 15 // New to Version E-C[xz]6.4.0
Invalid Route Ranges 3 // New to Version E-C[xz]6.4.0
show lrt route-entry displays matching DID ranges as follows.
ESD01# show lrt route-entry lroute 323
UserName <320-329>
Entry Type = range
NextHop = !^.*$!sip:3@public-range!
NextHop Type = regexp
Description = Test DID range
The new show lrt route-table displays a DID-range-based table as follows.
ESD01# show lrt route-table la 2
UserName <320-329>
Entry Type = range
NextHop = !^.*$!sip:3@public-range!
NextHop Type = regexp
Description = Test DID range
UserName <3123 - 3125>
Entry Type = range
NextHop = !^.*$!sip:1@public-range!
NextHop Type = regexp
Displaying 2 of 13 routes. Continue [y/n]?