SIP Registration Event Package Support

Certain endpoints subscribe to the Registration Event Package, RFC 3680, which defines how SIP user agents can request and obtain notifications about registration events. Previously, the Oracle® Enterprise Session Border Controller passed the Subscribe and Notify messages of this package transparently, without modifying the XML bodies of either. However, in many cases the XML body can contain IP addresses, contact URIs, and expires times that the Oracle® Enterprise Session Border Controller needs to modify for proper operation. This new feature enables the Oracle® Enterprise Session Border Controller to modify correctly the XML body for the Registration Event Package.

In addition to resolving this type of issue, enabling registration event package support on your system provides the functions described below:

  • The Oracle® Enterprise Session Border Controller performs NAT on all contacts in the reginfo, regardless of their state.
  • The Oracle® Enterprise Session Border Controller performs NAT on the address of record (AoR) attribute of the Registration element when it matches an existing cache entry. When either the Contact-URI or the AoR does not match a cache entry and the host part of the URI is an IP address, the Oracle® Enterprise Session Border Controller will NAT the host part using the applicable SIP NAT configuration
  • Contacts are found in the XML URI element for the contact. But if there is no URI element, then the Oracle® Enterprise Session Border Controller uses the Contact element information for the contact.
  • If the expires attribute in the Contact element is a value other than zero, the Oracle® Enterprise Session Border Controller uses (inserts) the expires values from the registration cache.
  • This feature also introduces delayed deletion from the registry cache. When a 200 OK comes back in response to a REGISTER message and the 200 OK does not include all previously registered contacts, the missing contacts are deleted. If the global SIP configuration option contact_cache_linger=XX (where XX is the number of seconds to wait before deleting), then the contacts to be deleted remain for the specified number of seconds before they in fact are deleted.

Updating Expiration Values

This feature also supports updating the expiration values for the registration cache when a Contact element has the expires attribute. For this support, the following apply:

  • If the value of the expires attribute is greater than the expiration value for the access-side registration cache entry, the Oracle® Enterprise Session Border Controller replaces the XML expires attribute value with the cached one from the access side.
  • If the value of the XML expires attribute is less than the core-side expiration value for the core-side registration cache entry, the Oracle® Enterprise Session Border Controller updates the core-side expiration value with the value from the expires attribute. Further, the Oracle® Enterprise Session Border Controller adjusts the access-side expiration value of the registration cache in these ways:
    • If the value of the XML expires attribute is less than the current access-side expiration value for the registration cache entry, the Oracle® Enterprise Session Border Controller sets the access-side expiration value to be equal to the value in the expires attribute.
    • Otherwise, the Oracle® Enterprise Session Border Controller leaves the expires value for the access-side expiration value for the registration cache entry unchanged. If this happens, the Oracle® Enterprise Session Border Controller replaces the value of the XML expires attribute with the adjusted access-side expiration value.
  • If the expires attribute from a Contact element is 0 (meaning that the core is removing the registration), the Oracle® Enterprise Session Border Controller removes that Contact-URI from its registration cache. And if the registration cache entry has no remaining Contact-URIs, the Oracle® Enterprise Session Border Controller deletes the registration cache entry altogether.

Contact Cache Linger Configuration

You enable this feature as part of the global SIP configuration, using that configuration’s options parameter. You can optionally configure the number of seconds you want to keep a contact in the registration cache before it is deleted. This is the option:

  • contact-cache-linger=XX—Number of seconds to wait before a contact is deleted from the cache (where XX is the number of seconds)

    To enable SIP Registration overload protection on your Oracle® Enterprise Session Border Controller:

  1. In Superuser mode, type configure terminal and press Enter.
    ORACLE# configure terminal
  2. Type session-router and press Enter to access the signaling-level configuration elements.
    ORACLE(configure)# session-router
    ORACLE(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)#
  4. options—Set the options parameter by typing options, a Space, the option name preceded by a plus sign (+) (contact-cache-linger=XX) where XX is the number of seconds to keep a contact in the cache before deleting it.
    ORACLE(sip-config)# options +contact-cache-linger=5

    If you type either of these options without the plus (+) sign, you will remove any previously configured options. In order to append the new option to the options list, you must prepend the new option with a plus sign as shown in the example above.

  5. Save and activate your configuration.