Using the Local Route Table (LRT) for Routing

The LRT allows the Oracle® Enterprise Session Border Controller to determine next hops and map E.164 to SIP URIs locally for routing flexibility.

The LRT uses a local route cache that is populated by a local XML file on the Oracle® Enterprise Session Border Controller. Each local cache is populated from one defined XML file. For routing, the local route cache operates in a way similar to the ENUM model where a local policy next hop specifies the local route table that the Oracle® Enterprise Session Border Controller references. For example, you can configure one next hop to use one table, and another next hop to use a different table.

Similar to the ENUM model, the Oracle® Enterprise Session Border Controller typically performs a local route table lookup using the telephone number (TN) of the SIP Request-URI. This is the user portion of the URI, and the Oracle® Enterprise Session Border Controller ignores user parameters or non-digit characters. The local route table XML file defines the matching number and the resulting regular expression replacement value such as ENUM NAPTR entries do. The Oracle® Enterprise Session Border Controller uses the resulting regular expression to replace the Request-URI, and it uses the hostname or IP address portion to determine the next hop. If the hostname or IP address matches a configured session agent, the request is sent to that session agent. If the Oracle® Enterprise Session Border Controller does not find a matching session agent for the hostname/IP address, the Oracle® Enterprise Session Border Controller either performs a DNS query on the hostname to determine its IP address or sends the request directly to the IP address.

When the next hop is defined as a user-parameter lookup key, such as a routing number (RN) or carrier identification code (CIC), the defined key is used for the local route table lookup.

The Oracle® Enterprise Session Border Controller can attempt up to 10 next hops per LRT entry in the order in which they appear in the XML file. If the next hop is unsuccessful, the Oracle® Enterprise Session Border Controller tires the next hop on list. An unsuccessful hop may occur when an out-of-service session agent or the next hop responds with a failure response.

Note:

Entering XML comments on the same line as LRT XML data is not supported.

The Oracle® Enterprise Session Border Controller can perform local route table lookups for SIP requests and communicate the results to the SIP task. The new task processes the new local routing configuration objects.

When a SIP call is routed, the Oracle® Enterprise Session Border Controller uses local policy attributes to determine if a local route table lookup is required. If a lookup is needed, the Oracle® Enterprise Session Border Controller selects the local routing configuration to use. Successful local route table lookups result in URIs that can be used to continue routing and redirecting calls.

Local Route Table (LRT) Performance

Capabilities

  • Loads approximately 500 LRT tables during boot time
  • Loads 100,000 entries per LRT file
  • Loads 2,000,000 LRT entries total per system

Constraints

  • You cannot configure the Oracle® Enterprise Session Border Controller with 500 LRT files each with 100,000 entries.
  • Actual performance that affects the interaction among the three performance attributes varies with system memory and configuration.

Local Routing Configuration

This section shows you how to:

  • Set up local route configuration
  • Specify that a set of local policy attributes needs to use local routing

Configure Local Routing

The local routing configuration is an element in the ACLI session-router path, where you configure a name for the local route table, the filename of the database corresponding to this table, and the prefix length (significant digits/bits) to be used for lookup.

To configure local routing:

  1. In Superuser mode, type configure terminal, and press Enter.
    ORACLE# configure terminal
  2. Type session-router, and press Enter.
    ORACLE(configure)# session-router
  3. Type local-routing-config,and press Enter.
    ORACLE(session-router)# local-routing-config
    ORACLE(local-routing-config)#
  4. name—Enter the name (a unique identifier) for the local route table; this name is used for reference in the local policy attributes when to specify that local routing should be used. There is no default for this parameter, and it is required.
  5. file-name—Enter the name for the file from which the database corresponding to this local route table will be created. You should use the .gz format, and the file should be placed in the /code/lrt/ directory. There is no default for this parameter and it is required.
  6. prefix-length—Enter the number of significant digits/bits to used for lookup and cache storage. The default value is 0. The valid range is:
    • Minimum—0

    • Maximum—999999999

  7. Save and activate your configuration.

    The following example displays a typical local routing configuration.

    local-routing-config
            name                           lookup
            file-name                      abc.xml.gz
            prefix-length                  3

Applying the Local Routing Configuration

Apply the local routing configuration by calling it to use in the local policy attributes. You do this by setting a flag in the next-hop parameter along with the name of the local routing configuration that you want to use.

To apply the local routing configuration:

  1. In Superuser mode, type configure terminal, and press Enter.
    ORACLE# configure terminal
  2. Type session-router, and press Enter.
    ORACLE(configure)# session-router
  3. Type local-policy, and press Enter.
    ORACLE(session-router)# local-policy
    ORACLE(local-policy)#
  4. Type policy-attributes, and press Enter.
    ORACLE(local-policy)# policy-attributes
    ORACLE(local-policy-attributes)#
  5. next-hop—In the next-hop parameter, type in lrt: followed directly by the name of the local routing configuration to be used. The lrt: tag tells the Oracle® Enterprise Session Border Controller that a local route table will be used.
    ACMEPACKET(local-policy-attributes)# next-hop lrt:lookup
  6. Save and activate the configuration.

Local Route Table Support for H.323 and IWF

Local Route Table (LRT) support for H.323 and IWF is compatible with that currently offered for SIP. LRT and ENUM provide the Oracle® Enterprise Session Border Controller with the ability to perform routing based on ENUM queries to a DNS server or local to an onboard database.

For the LRT feature, this means that entries in the local routing table now include those prefixed with the h323: URI scheme, indicating that H.323 is the next hop protocol.

IWF Considerations

When the system performs a local policy lookup for an incoming SIP or H.323 call and determines an ENUM/LRT server is the next hop, it queries that ENUM/LRT server. The response will include the URI scheme, indicating the next hop protocol and the hostname/IP address representing the next hop. For cases where the incoming call signaling protocol and the URI scheme of the ENUM/LRT response are the same, the call requires no interworking. The Oracle® Enterprise Session Border Controller can simply route the egress call leg to the specified next hop.

Interworking is required when the incoming signaling protocol and the URI scheme of the ENUM/LRT response do not match. When the responses do not match, the Oracle® Enterprise Session Border Controller interworks between SIP and H.323 to route the call to the appropriate next hop.

The Oracle® Enterprise Session Border Controller also compares the URI scheme returned in the ENUM/LRT response to the application protocol specified in the policy attributes. If the URI scheme is SIP, but the policy attributes indicate H.323, the route is deemed invalid. The same is true for an H.323 URI scheme and SIP route.

ENUM LRT Responses

No special configuration is required for LRT to work for H.323 and IWF calls. You can configure the system to match ENUM/LRT responses against session agent groups, and then use those SAGs for routing.

To enable matching ENUM/LRT responses for H.323 SAG routing:

  1. In Superuser mode, type configure terminal, and press Enter.
    ORACLE# configure terminal
    ORACLE(configure)#
  2. Type session-router, and press Enter.
    ORACLE(configure)# session-router
    ORACLE(session-router)#
  3. Type h323-config, and press Enter.
    ORACLE(session-router)# h323-config
    ORACLE(h323-config)#
  4. enum-sag-match—Set this parameter to enabled if you want the Oracle® Enterprise Session Border Controller to perform matching against the hostnames in ENUM/LRT lookup responses and session agent groups. If there is a match, the Oracle® Enterprise Session Border Controller uses the matching SAG for routing. If no match is found, normal ENUM/LRT routing proceeds.