Adaptive HNT

This section explains how to configure adaptive HNT. The adaptive HNT expires feature allows the Oracle® Enterprise Session Border Controller to automatically determine the maximum SIP REGISTER message expires time interval in order to keep each individual NAT pinhole open when performing SIP HNT. This feature applies only to SIP over UDP.

Overview

Without adaptive HNT, the Oracle® Enterprise Session Border Controller keeps NAT pinholes open and port mapping cached by forcing the UAC to send frequent SIP REGISTER messages. It does so by setting the expires time to a short interval. Some NATs only need a message to be sent by the private client once every twenty minutes, while other NATs delete their cache/pinhole in thirty seconds if no messages appear. Given this large variation in time intervals, the Oracle® Enterprise Session Border Controller’s nat-interval (expire time) has been set to a low value in order to support as many NAT types as possible. However, CPU performance and scalability issues result from such a small refresh time, especially when there is a very large number of potential registered users.

When you use adaptive HNT, the Oracle® Enterprise Session Border Controller waits for a time interval and then sends a SIP OPTIONS message to the UAC to see if it can still be reached. If the UAC can still be reached, the Oracle® Enterprise Session Border Controller increases the timer and tries again. In case the pinhole closes because it has exceeded the NAT's cache time, the Oracle® Enterprise Session Border Controller sets the expires time to be slightly longer than the time it tests using the OPTIONS method. This way, the UAC will send another REGISTER message shortly thereafter and impact on service will be minimal.

Adaptive HNT Example

An example call flow using adaptive HNT involves a basic HNT user and a Oracle® Enterprise Session Border Controller. It begins when the Oracle® Enterprise Session Border Controller receives and forwards the 200 OK for the REGISTER message. Then the Oracle® Enterprise Session Border Controller sends an expires timer for slightly longer than the time for which to test; in this example, it begins the test for the amount of time set for the minimum NAT interval. It adds ten seconds to this time when it sends the expires timer. This way, there is time for the OPTIONS message to be sent before the REGISTER message is received (which would refresh the NAT’s cache). The Oracle® Enterprise Session Border Controller also tries to keep the REGISTER time short enough so that even if the NAT pinhole closes, there is minimal time before the UAC creates a new NAT binding by sending another REGISTER. Because a ten second interval may be too long, you might want to set this value to a better-suited time.

The test succeeds with a minimum test-timer because the UAC responded to the OPTIONS message. So the test-timer value is increased by thirty seconds and tried again. The expires time in the REGISTER message will be increased to the test-timer value plus ten seconds. This time, the UAC does not respond to the OPTIONS message even though it was sent multiple times. Because the OPTIONS fails, when the Oracle® Enterprise Session Border Controller receives another REGISTER, it responds with the previously successful timer value (in this case, the minimum NAT interval).

However, if the OPTIONS request succeeds, then the Oracle® Enterprise Session Border Controller persists with the test until it fails or until the maximum NAT timer value is reached. In this case, when the OPTIONS message fails, the Oracle® Enterprise Session Border Controller uses the last successful test-timer value as the time for the expires header in the 200 OK for the REGISTER message.

Synchronize A-HNT Successful Timer to Standby

Adaptive HNT enables the Oracle® Enterprise Session Border Controller to determine, through testing, an optimum SIP REGISTER expires time interval that keeps the NAT pinhole open. For an HA node, this successful time value is determined through testing by the active system and then replicated to the standby. If there is a switchover during the active system’s testing process, then it will restart for that endpoint.

Adaptive NHT Configuration

You configure the SIP interface to set the state of this feature and to define the increments of time the Oracle® Enterprise Session Border Controller uses to perform adaptive HNT. Remember that the Oracle® Enterprise Session Border Controller uses the time you specify as the NAT interval, the supported time interval, as the basis on which to begin testing.

To configure adaptive HNT:

  1. In Superuser mode, type configure terminal and press Enter.
    ORACLE# configure terminal
  2. Type session-router and press Enter to access the session-router path.
    ORACLE(configure)# session-router
  3. Type sip-interface and press Enter. The system prompt changes to let you know that you can begin configuring individual parameters.
    ORACLE(session-router)# sip-interface
  4. sip-dynamic-hnt—Enable this parameter if you want to use adaptive HNT. The default value is disabled. The valid values are:
    • enabled | disabled

  5. max-nat-interval—Set the amount of time in seconds that testing should not exceed. The Oracle® Enterprise Session Border Controller will keep the expires interval at this value. The default value is 3600. The valid range is:
    • Minimum—0

    • Maximum—999999999

  6. nat-int-increment—Set the amount of time in seconds to use as the increment in value in the SIP expires header. The default value is 10. The valid range is:
    • Minimum—0

    • Maximum—999999999

  7. nat-test-increment—Set the amount of time in seconds that will be added to the test timer. The default value is 30. The valid range is:
    • Minimum—0

    • Maximum—999999999