Configuring SIP Header Manipulation Rules

To configure dynamic SIP header manipulation rules:

  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-manipulation and press Enter.
    ORACLE(session-router)# sip-manipulation
    ORACLE(sip-manipulation)#
  4. Type header-rules and press Enter.
    ORACLE(sip-manipulation)# header-rules
  5. name—Enter the unique identifier for this SIP HMR. There is no default for this value.
  6. header-name—Enter the name of the header on which you want the Oracle® Enterprise Session Border Controller (E-SBC) to use this HMR. There is no default for this parameter.

    Set this parameter to @status-line, where the at-sign (@)—not allowed in SIP header names—to prevent undesired matches with header having the name status-code.

  7. msg-type—Specify the type of message to which this SIP HMR will be applied. The default value is any. The valid values are:
    • any | request | reply

  8. methods—Enter the method type to use when this SIP HMR is used, such as INVITE, ACK, or CANCEL. When you do not set the method, the E-SBC applies the rule across all SIP methods.
  9. comparison-type—Enter the way that you want SIP headers to be compared from one of the available. This choice dictates how the E-SBC processes the match rules against the SIP header. the default is refer-case-sensitive. The valid values are:.
    • boolean | refer-case-sensitive | refer-case-insensitive | pattern-rule | case-sensitive | case-insensitive

  10. action—Enter the action that you want this rule to perform on the SIP header. The default value is none. The valid values are:
    • add | delete | manipulate | store | none

      Remember that you should enter rules with the action type store before you enter rules with other types of actions.

      When you set the action type to store, the E-SBC always treats the match value you enter as a regular expression. As a default, the regular expression is uses for the match value is .+ (which indicates a match value of at least one character), unless you set a more specific regular expression match value.

  11. match-value—Enter the value to match against the header value in SIP packets; the E-SBC matches these against the entire SIP header value. This is where you can enter values to match using regular expression values. Your entries can contain Boolean operators.

    When you configure HMR (using SIP manipulation rules, elements rules, etc.), you can now use escape characters in the match-value parameter to support escaping Boolean and string manipulation operators..

    You can also escape the escape character itself, so that it is used as a literal string. For example, the E-SBC now treats the string \+1234 as +1234.

    The following are escape characters: +, -, +^, -^, &, |, \, (, ), ., $, ^, and “.

    You can also use two variables, $REMOTE_PORT and $LOCAL_PORT, which resolve respectively to the far-end and remote UDP or TCP port value.

  12. new-value—When the action parameter is set to add or to manipulate, enter the new value that you want to substitute for the entire header value. This is where you can set stored regular expression values for the E-SBC to use when it adds or manipulates SIP headers.

    When you configure HMR (using SIP manipulation rules, elements rules, etc.), you can now use escape characters in the new-value parameter to support escaping Boolean and string manipulation operators..

    You can also escape the escape character itself, so that it is used as a literal string. For example, the E-SBC now treats the string \+1234 as +1234.

    The following are escape characters: +, -, +^, -^, &, |, \, (, ), ., $, ^, and “.

    You can also use two variables, $REMOTE_PORT and $LOCAL_PORT, which resolve respectively to the far-end and remote UDP or TCP port value.