SIP Roaming

This section explains how to configure SIP roaming. SIP roaming lets subscribers move from one active SIP device to another (at the same site or multiple sites) and retain service at the last registering device.

Overview

The Oracle® Enterprise Session Border Controller supports multiple active registrations for the same user. The softswitch makes decisions regarding the current location of the user and the handling of requests from devices that are not currently identified as the user location. When there are multiple NATs, the Oracle® Enterprise Session Border Controller is still required to let the softswitch be able to differentiate it.

The Oracle® Enterprise Session Border Controller’s SIP roaming ability supports the following features:

  • Multiple active registrations from the same user can be cached, allowing subscribers to move from one active SIP device to another (at the same site or multiple sites) and still retain service at the last registering device. With the SIP roaming feature, one person, using multiple devices, can be contacted at all of the devices. These multiple devices (with their unique contact information) register to indicate that they are available for anyone that wants to contact that one person.
  • The Oracle® Enterprise Session Border Controller can also inform network devices (such as softswitches) of private SIP device IPv4 addresses (endpoints) and the public firewall address of the user location.

Process Overview

Caller 1 wants to contact Person A. Caller 1 sends a message to persona@acmepacket.com, but Person A has configured more than one SIP-enabled device to accept messages sent to that address. These devices have unique addresses of desk@10.0.0.4 and phone2@10.0.0.5. Person A has desk@10.0.0.4 and phone2@10.0.0.5 registered with the Oracle® Enterprise Session Border Controller for anything addressed to persona@acmepacket.com.

With the SIP roaming feature, the Oracle® Enterprise Session Border Controller accepts and stores both registrations for persona@acmepacket.com. That way, when someone wants to get in touch with Person A, the messages are sent to both devices (desk@10.0.0.4 and phone2@10.0.0.5) until Person A answers one of them. You do not need to configure your Oracle® Enterprise Session Border Controller for this functionality; your Oracle® Enterprise Session Border Controller automatically provides it.

Using Private IPv4 Addresses

In addition to supporting multiple registries, the Oracle® Enterprise Session Border Controller (E-SBC) can also distinguish user locations by their private IPv4 address and the IPv4 address of the public firewall. Using this information, the E-SBC adds private endpoint and public firewall information to Contact headers.

For example, entering this information causes a Contact header that formerly appeared as the following:

Contact:<sip:0274116202@63.67.143.217>

to subsequently appear as the following:

Contact:<sip:0274116202@63.67.143.217;ep=192.168.1.10;fw=10.1.10.21>

The E-SBC SIP proxy reads this information and populates the contact-endpoint and contact-firewall fields with the appropriate values.

Example 1 With a NAT Firewall

The Oracle® Enterprise Session Border Controller (E-SBC) SIP proxy is configured with the following changeable parameters:

  • endpoint= IP address of the SIP UA
  • useradd= IP address of the Firewall Public IP address or the source layer 3 IP address of Register message
  • userport= IP address port number of the Firewall Public IP address or the source layer 3 IP address port of Register message
  • E-SBC address=63.67.143.217
  • firewall public address=10.1.10.21
  • firewall public address port=10000
  • SIP endpoint behind firewall=192.168.1.10

SIP message Contact header:

Contact:<sip:0274116202@63.67.143.217; endpoint=192.168.1.10; useradd=10.1.10.21; userport=10000; transport=udp>

Example 2 Without a NAT Firewall

The Oracle® Enterprise Session Border Controller SIP proxy is configured with the following changeable parameters:

  • useradd= IP address of the SIP UA or the source layer 3 IP address of Register message
  • userport= IP address port number of the SIP UA or the source layer 3 IP address port of Register message
  • Oracle® Enterprise Session Border Controller address=63.67.143.217
  • SIP endpoint=192.168.1.10
  • SIP endpoint IP address port=5060

SIP message Contact header:

Contact:<sip:0274116202@63.67.143.217; useradd=192.168.1.10; userport=5060; transport=udp>

For SIP, the softswitch responsibility is that the URI SD put in the Contact of the REGISTER message should be reflected in the 200-OK response to the REGISTER request. The Contact header of the response should have an expires header parameter indicating the lifetime of the registration.

The following example shows a Oracle® Enterprise Session Border Controller Send:

Contact: <sep: 0274116202@63.67.143.217 endpoint=192.168.1.10; useradd=10.1.10.21; userport=10000>;

The following examples shows the softswitch Respond:

Contact: <sep: 0274116202@63.67.143.217 endpoint=192.168.1.10; useradd=10.1.10.21; userport=10000>;  expires=360

The contact field for endpoint and firewall parameters only appear in the following:

  • Contact header of a REGISTER request sent from the Oracle® Enterprise Session Border Controller to the softswitch server
  • Contact header of a REGISTER response sent from the softwitch server to the Oracle® Enterprise Session Border Controller
  • Request-URI of an initial INVITE sent from the UT CSA server to the Oracle® Enterprise Session Border Controller

An active endpoint is deleted when it does not register within the registration-interval setting or receives a 401 Unauthorized.

SIP Roaming Configuration

You can configure the SIP configuration’s options parameter to indicate that you want to use the private IP address of the SIP device that the user is using and/or the public firewall address that identifies the location of the device. If defined, these options will be added as parameters to all Contact headers.

You can identify the endpoint and/or firewall information using the following options:

  • contact-endpoint=<value> where <value> is the endpoint address or label
  • contact-firewall=<value> where <value> is the firewall address or label
  1. In Superuser mode, type configure terminal and press Enter.
    ORACLE# configure terminal
  2. Type session-router and press Enter to access the system-level configuration elements.
    ORACLE(configure)# session-router
  3. Type sip-config and press Enter. The system prompt changes to let you know that you can begin configuring individual parameters.
    ORACLE(session-router)# sip-config
    ORACLE(sip-config)#

    From this point, you can configure SIP config parameters. To view all SIP config parameters, enter a ? at the system prompt.

  4. Type options followed by a Space.
  5. After the Space, type the information for an endpoint or a firewall, or both:
    contact-endpoint=”<label>
    contact-firewall=”<label>
    "contact-endpoint="<label>",contact-firewall="<label>""
  6. Press Enter.

    For example, if you want your Oracle® Enterprise Session Border Controller to add private endpoint and public firewall information to Contact headers, and you want to label this information as ep and fw, you would enter the following information in the ACLI.

    ORACLE(configure)# session-router
    ORACLE(session-router)# sip-config
    ORACLE(sip-config)# options "contact-endpoint="ep",contact-firewall="fw""