Emergency Location Identification Number (ELIN) Gateway Support

An ELIN-capable gateway supports connection to a qualified E911 service provider. The connection supports PSTN-based E911 functions, including user callback when there is a disconnect. Enterprises often deploy ELIN numbers based on physical location to locate the physical source of a 911 call. By using multiple ELINs, an enterprise can support multiple, simultaneous E911 calls.

Typically, an enterprise purchases multiple ELIN numbers. An ELIN gateway replaces VoIP extension URIs with ELIN numbers and maintains the mapping. For example, if an emergency service replied to a VoIP URI without using an ELIN gateway, the reply would be delayed or fail. An ELIN gateway can use its mapping to translate the ELIN number back to the VoIP extension from within the enterprise session network. The gateway can immediately forward the call back to the original client.

The Oracle® Enterprise Session Border Controller supports E911 ELIN for Lync-enabled Enterprises using the ELIN_Gateway SPL option. Enable this option in the global SPL configuration. The Oracle® Enterprise Session Border Controller supports up to 300 ELIN numbers simultaneously and it can reuse numbers allowing a greater number of emergency calls.

Note:

This ELIN Gateway SPL is not supported by the Oracle Communications Session Router

How the Emergency Location Identification Number (ELIN) SPL Works

When a Lync client places a 911 emergency call through a mediation server to a Oracle® Enterprise Session Border Controller (ESBC), the server indicates the emergency status in the priority field and provides a list of ELIN numbers. When the ELIN gateway module is enabled, the ESBC intelligently selects a particular ELIN number and uses it as the ANI in the “From” field SIP URI in the outgoing INVITE.

The ESBC preserves the mapping of used ELIN numbers in an internal table. This table includes the ELIN number, the caller (VoIP extension), the “in-use” count, and a timer field. The ESBC retains these mappings for a configurable time period ranging from 30 to 60 minutes after the call is terminated. The default is 30 minutes. When the timer expires, the entry is purged from the table. The timer field shows the time of day that the timer started.

You can view the current ELIN table at any time using the ACLI command spl show sip elins.

After the Lync client call is disconnected, the 911 service may call back using the number provided in the “From” field of the original INVITE. This presence of this number in its ELIN number table allows the ESBC to route the call back to the original caller.

Number Reuse

The ESBC can use an ELIN number for multiple calls. When a call that requires an ELIN mapping arrives at the ESBC, it checks to see if the numbers presented by the mediation server are in use. If a number is not in use, it simply uses that number. A number is not in use if it is not in the table or its “used count” is 0. An entry’s used count is zero when its not in use and its purge timer has not yet expired.

If all numbers are in use, the ESBC employs a means of reusing a number, incrementing its used count for each additional call. The selection process proceeds in the following order:
  1. If the “caller” is in the ELIN table, the ESBC selects that mapping.
  2. The ESBCselects the number with the lowest “ELIN count”.

If an ELIN number is used by multiple calls, it maps callback attempts to that ELIN number to the client that was last associated with the number.

Error Handling

Lync mediation servers always expect 503 “Service Unavailable” as an error message to a failed ELIN call. There is a variety of error messages that the network may send back when a call fails. For the purposes of Lync support, the ESBC sends 503 “Service Unavailable” to indicate call failure to a mediation server, regardless of the error it receives.

PSAP Callback Options

When you enable the ELIN gateway, the ESBC does not support Public Safety Answering Point (PSAP) callback handling to numbers that are not in the PSAP callback list, which includes 911, 112 and any number you have added. You can, however, further configure the ESBC to support such callbacks for scenarios wherein the PSAP service does not use a known emergency number or uses "anonymous" as the FROM. You can also configure the ESBC to replace the request-URI in a PSAP callback to resolve routing issues. You enable global SPL options for these configurations.

By default, the ESBC creates entries in its ELIN table using the ELINs it finds in the PIDF and the FROM in an emergency INVITE. If the call terminates unexpectedly, the emergency service may make a PSAP callback towards the calling station. When the ESBC receives a PSAP callback, it performs PSAP callback handling only if the callback's FROM is in its PSAP callback list. The ESBC then uses the mapping of the ELIN number and the source number to determine where to send its INVITE by setting the TO, and, if configured, the request-URI.

When enabled, the Elin-Ignore-PSAP-Source SPL option modifies the processing flow the ESBC uses to identify a PSAP callback and forward its ensuing INVITE. When the ESBC receives an INVITE, it first checks to see if you have enabled this option.

Whether or not you have enabled Elin-Ignore-PSAP-Source the ESBC first determines whether the call is an emergency, then whether the call is a PSAP callback:
  • When Elin-Ignore-PSAP-Source is enabled, the ESBC identifies an emergency call if the INVITE includes a Priority: emergency header and a destination to 911, 112 or a number you have added using Elin-Add-PSAP option.
  • When Elin-Ignore-PSAP-Source is not enabled, the ESBC identifies an emergency call only if the INVITE includes a Priority: emergency header.

If the call is not an emergency call, the default behavior checks the source. If the source is 911, 112 or a number you have added using Elin-Add-PSAP option, the system sends the call to its PSAP callback handling logic, ultimately forwarding the call using the ELIN mapping table to replace the TO from the ELIN to the mapped target number.

In contrast, if the system finds you have enabled Elin-Ignore-PSAP-Source, it sends the all calls that are not emergency calls to PSAP callback handling. At this point, further PSAP callback handling is the same whether or not you have configured Elin-Ignore-PSAP-Source. If there is no ELIN mapping table match, the system forwards the call as a normal INVITE.

Handling of PSAP callbacks always includes updating the To-URI from the ELIN to the target number. This handling optionally includes updating the request-URI to the target number. Applicable option definitions include:

  • Elin-Ignore-PSAP-Source—Allows the ESBC to forward a PSAP callback from any number, uncoupling the PSAP callback with the source of the incoming INVITE.
  • Elin-Modify-RURI—Allows the ESBC to change the request-URI to match the TO during a PSAP callback scenario. This can allow the system to successfully forward the callback by replacing the request-URI with the original TO.

These options are global. You configure these features using the spl-options branch under the global spl-config. The system does not offer these options within realm, interface or session agent elements.

Processing the Elin-Ignore-PSAP-Source SPL Option

When the ESBC receives a call, it first determines whether you have enabled the Elin-Ignore-PSAP-Source option.

  • If not, the ESBC checks for a Priority:emergency header:
    • If true, the ESBC performs emergency call handling and updates the ELIN mapping table based on this emergency call.
    • If not true, the ESBC checks whether the source is 911, 112 or a PSAP number you configured with the Elin-Add-PSAP option.
      • If true, the ESBC performs a PSAP call back and a "To" header modification.
        1. The ESBC does or does not modify the request-URI, based on the state of the Elin-Modify-RURI option. (See below.)
        2. The ESBC modifies the TO header.
        3. The ESBC forwards the call.
      • If not true, the ESBC treats this call as a normal call and forwards it without any modifications.
  • If you have enabled the Elin-Ignore-PSAP-Source option, the ESBC checks for Priority:emergency header and whether the destination is in the PSAP callback list (911, 112 or PSAP numbers you configured using the Elin-Add-PSAP option):
    • If true, the ESBC performs emergency call handling and updates the ELIN mapping table based on this emergency call.
    • If not true, the ESBC passes the call to PSAP callback and performs an ELIN table lookup:
      • If there is no match in the ELIN table, the ESBC hands the call to local policy and forwards it as a normal call.
      • If there is a match:
        1. The ESBC does or does not modify the request-URI, based on the state of the Elin-Modify-RURI option. (See below.)
        2. The ESBC modifies the TO header.
        3. The ESBC forwards the call.

        At this point, the ESBC has supported PSAP callback without needing to know the call's source.

Processing the Elin-Modify-RURI SPL Option

Regardless of your Elin-Ignore-PSAP-Source setting, the ESBC refers to the Elin-Modify-RURI option only if processing comes to the point where the system has found a match in the ELIN table. If so, the system would currently be supporting a PSAP callback based on an ELIN table lookup. At this point, the ESBC checks to see if you have enabled Elin-Modify-RURI.

  • If not, the ESBC:
    1. Performs a routing lookup to identify routes.
    2. Updates the To header with the FROM in the ELIN table.
    3. Forwards the PSAP callback.
  • If so, the ESBC:
    1. Changes the request-URI to the FROM in the ELIN table.
    2. Performs a routing lookup to identify routes.
    3. Updates the To header with the FROM in the ELIN table.
    4. Forwards the PSAP callback.

Note:

This option has no impact on emergency call handling.

Configuration

You configure the Elin-Ignore-PSAP-Source and Elin-Modify-RURI SPL options using the spl-options branch under the global spl-config. You must also configure the system to use the ElinGateway SPL:

ORACLE(spl-config)#spl-options +Elin-Gateway=60
ORACLE(spl-config)#spl-options +Elin-Ignore-PSAP-Source
ORACLE(spl-config)#spl-options +Elin-Modify-RURI

PSAP Callback Call Flows

Call flows for PSAP callbacks include the contents of SIP messages and detail on the processing.

In all the cases below, the ESBC modifies the “FROM” number in its INVITE to the PSAP to the ELIN number, creates an entry in the ELIN mapping table, and forwards the INVITE.

Note:

When you have enabled the Elin-Ignore-PSAP-Source option and a call arrives at the ESBC with a “PRIORITY: emergency” header and a random, non-emergency number in the TO, the ESBC would not handle this call as an emergency and not use the ELIN gateway function.

PSAP Callback with No Options Set

This call flow depicts the system not forwarding a PSAP call back because you have not configured Elin-Modify-RURI.

PeerA has sent an emergency call to 911. In addition, there is no local policy configured that matches a to-address with the ELIN number 7774442211. The ESBC identifies the call from PeerA as an emergency call since it contains “PRIORITY: emergency” header. It modifies the “FROM” number in INVITE request to the ELIN number, and forwards the INVITE. The ESBC receives the PSAP callback from 911, but replies with no route found because there is no local route that matches 7774442211.

This call flow depicts the system not routing a PSAP callback because there is no local policy for the ELIN number.

This next call flow depicts the system not forwarding a PSAP call back despite the system having a local-policy with to-address of 9991112222. The flow is the same as above, with the exception that the PSAP has initiated a callback using a 8884445555 as the FROM.

This call flow depicts the system not routing a PSAP callback because there is no PSAP callback match.

The ESBC receives the PSAP callback with 8884445555 as the FROM. The ESBC does not find 8884445555 in its PSAP callback table because it has not been added using Elin-Add-PSAP. In addition, the Elin-Ignore-PSAP-Source option is not set, so the system exits PSAP callback handling and treats the call as a normal call. Ultimately, there is no route to the ELIN, 7774442211.

This call flow would succeed if both of the following were true:

  • You had enabled the Elin-Ignore-PSAP-Source SPL option, which would have ignored the PSAP from and proceeded with performing an ELIN mapping table lookup.
  • You had enabled the Elin-Modify-RURI SPL option, which would have replaced the request-uri with 9991112222.

PSAP Callback with Both Options Enabled

This next call flow depicts the system forwarding a PSAP call back using both the Elin-Ignore-PSAP-Source and Elin-Modify-RURI SPL options.

This flow is the same as the example directly above, with the exception that you have enabled both SPL options.

This call flow depicts the system using both SPL options.

The ESBC receives the PSAP callback with 8884445555 as the FROM. The ESBC ignores this FROM because you have enabled Elin-Ignore-PSAP-Source. The ESBC proceeds with PSAP callback handling. It finds a match for 7774442211 in the ELIN mapping table and proceeds. The ESBC changes the request-uri in its subsequent INVITE to 9991112222 because you have enabled Elin-Modify-RURI. Standard ELIN handling also changes the TO header in its subsequent INVITE to 9991112222.

The use of both of these options allows this call flow to succeed.

Configure the ELIN Gateway Options

To enable an Emergency Location Identification Number (ELIN) gateway to support connections to an emergency service provider, you must configure the ELIN gateway option on the (ESBC). Oracle delivers the ESBC pre-configured with the 911 and 112 Public Safety Answering Point (PSAP) callback numbers. You can add more PSAP numbers, as needed. You can also specify the length of time that you want the ESBC to retain ELIN mappings.

  • Determine the preferred length of time, in minutes, that you want the ESBC to retain ELIN mappings.
  • Determine whether or not you want to add more PSAP callback numbers.
  • The Elin-Ignore-PSAP-Source and Elin-Modify-RURI spl-options are available in the ElinGateway.1.8.spl version and higher. Determine your current plugin version to determine whether you need to remove any existing ELIN plugin configuration from the ESBC and reboot before performing this configuration.

The ESBC requires ELIN configuration at the global level, rather than at the session-agent, realm-config, or sip-interface level. Select the spl-config option under system for this ELIN configuration. In the following configuration you can set the time limit for retaining ELIN mappings and you can add more PSAP callback numbers.

To configure the ELIN Gateway option:

  1. Access the spl-config configuration element.
    ORACLE# configure terminal
    ORACLE(configure)# system
    ORACLE(system)# spl-config
    ORACLE(spl-config)# 
  2. Type select.
  3. Type spl-options +Elin-Gateway=<value>.
    Valid values: 30 or 60.
    ORACLE(spl-config)# spl-options +Elin-Gateway=60
  4. (Optional) Type spl-options +Elin-Add-PSAP="<value>", where <value> is one or more PSAP numbers, and press Enter.
    For multiple numbers, place the numbers within quotes, separate the numbers with a comma, and use no spaces. A single number does not require enclosure in quotes. Examples: +Elin-Add-PSAP=999 and +Elin-Add-PSAP="999,000,114".
  5. (Optional) Type spl-options +Elin-Ignore-PSAP-Source to ignore the source of the incoming request for a PSAP callback.
  6. (Optional) Type spl-options +Elin-Modify-RURI to change the ELIN number in the request-URI of the outgoing INVITE to the FROM in the original INVITE and avoid route lookup problems.
  7. Save and activate the configuration.