Enhanced Reason Header Configuration

The Number Authentication Mechanism specification requires additional reason header capabilities that give the provider more specific reasons for call handling. Within the context of this specification, the key SBC function is to better identify call verification issues, allowing the system to conform with the specification's requirements for handling and rejecting SPAM calls. This feature applies to the information provided in a reason header within an egress INVITE towards the callee.

You can configure the SBC with more detailed reason header behavior to comply with the Number Authentication Mechanism specification v2.0. Unlike other aspects of this compliance, this behavior does not require the man-compliance option. Instead, you use the sti-reason-header-config element to create multiple reason header configurations that define how the SBC behaves when confronted with specific verification issue scenarios.

Each instance of sti-reason-header-config includes a name along with the sti-reason-header-entries parameter, which provides access to detailed reason header configuration. You enter a name for your element to apply to a sti-server or, globally, to the sti-config. When both elements have a sti-reason-header-config, the sti-server configuration takes precedence.

An example of a configured sti-reason-header-config is provided below. This configuration has two reason header entries, which define reason header behavior that is in addition to your other configured reason header behavior.

ORACLE(sti-reason-header-config) # show
sti-reason-header-config
name reason-header-scenario-list
         sti-reason-header-entry               
                  scenario              sti-server-timeout                                         
                  cause-code            690               
                  reason-text           STI Server Timeout
         sti-reason-header-entry               
                  scenario              invalid-sti-response                                      
                  cause-code            691               
                  reason-text           Invalid STI Response

Under sti-reason-header-entry, there are three parameters:

  • scenario (Required)—You configure the scenario parameter using the scenario list below. The default setting is sti-server-timeout. Settings include:
    • sti-server-timeout—The system recognizes this timeout scenario when it does not receive a reply from the STI server.

      Oracle recommends you configure this scenario as sti-server-timeout, with a cause-code (690) and reason-text STI Server Timeout.

    • invalid-sti-response—The system recognizes this scenario when it receives an STI-VS answer that it cannot derive. Applicable scenarios include the JSON being missing or malformed.

      Oracle recommends you configure this scenario as invalid-sti-response, with a cause-code to 691 and reason-text Invalid STI Response. If you leave the cause-code empty, the system populates its message with 691. If you leave the reason-text empty, the system populates its message with Invalid STI Response.

    • use-identity-header—The system recognizes this scenario when it receives an INVITE with the Identity header missing or empty. You configure this scenario as use-identity-header, with a cause-code of 428 and reason-text of Use Identity Header. If you leave the cause-code empty, the system populates its messages with 428. You can leave the reason-text empty or configured. If left empty, the system populates the field with Use Identity Header.
    • tn-missing—The system recognizes this scenario when it receives an INVITE that does not include any telephone number in the From or the PAI.

      Oracle recommends you configure this scenario as tn-missing, with a cause-code of 692 and reason text of TN missing. If you leave the cause-code empty, the system populates the field with 692. You can also leave the reason-text empty or configured. If you leave the cause-code empty, the system populates the field with Invalid STI Response.

    • sti-constraints-exceeded—The system recognizes this scenario when it does not send the request because traffic has exceeded a configured STI admission control parameter, including max-burst-rate, max-sustain-rate, burst-rate-window or sustain-rate-window.

      Oracle recommends you configure this scenario as sti-constraints-exceeded, with a cause-code of 693 and a reason text of STI Constraints Exceeded. If you leave the cause-code empty, the system populates the field with 693. You can also leave the reason-text left empty or configured. If left empty, the system populates the text with STI Constraints Exceeded.

      Note:

      In case of SAG recursion, meaning you have enabled the retry parameter in the sti-config and applied on sti-server-group, and none of the servers are available, meaning all the servers in the group have exceeded constraints, the system populates the SIP reason header per the Oracle recommendation.
    • sti-server-unreachable—The system recognizes this scenario when the sti-server is unreachable, meaning the applicable circuit-breaker is either open or half-open. In these scenarios, the SBC does not send a request.

      Oracle recommends you configure this scenario as sti-server-unreachable, with a cause-code as 694 and reason-text as STI Server Unreachable. If you leave the cause-code empty, the system populates the field with 694. You can also leave the reason-text left empty or configured. If left empty, the system populates the text with Sti Server Unreachable.

    • internal-client-error—The system recognizes this scenario when the SBC fails to send the request to the STI server.

      Oracle recommends you configure this scenario as internal-client-error, with a cause-code of 695 and reason-text of Internal Client Error. If you leave the cause-code empty, the system populates the field with 695. You can also leave the reason-text left empty or configured. If left empty, the system populates the text with Internal Client Error.

  • cause-code (Optional)—As described in the scenarios, you can set this to any value within the range 400-699.
  • reason-text (Optional)—The system has this reason text field empty by default for all the scenarios. The system maps actual text, however, internally mapped to respective strings based on scenario. As described in the scenarios, you can configure preferred text to overwrite the defaults.