Overview

SIP Adaptor Profile

The SIP Adaptor Profile object is the main construct for SIP Message Manipulation (SMM) functionality. A SIP Adaptor Profile is associated with a SIP Trunk Group or Zone in order to act upon SIP messages passing into or out of that group. A SIP Trunk Group can have two SIP Adaptor Profiles, an input adaptor profile for manipulation of inbound messages, and an output adaptor profile for manipulation of outbound messages. Similarly, a Zone can have two SIP Adaptor Profiles.

Unable to render {include} The included page could not be found.

Info

Refer to SIP Message Manipulation for additional SMM Details.

Flexible Policy Adaptor Profile

Note

 Flexible Policy is not supported on ERE and is intended for use with an external PSX only.

The SIP Adapter Profile can also be configured to support a flexible policy mechanism to facilitate dynamic routing and policy decisions based on any SIP message information element whereby routing and policy selection criteria are provisioned by the operator. An information element can be anything in the message, such as the following examples:

  • SIP header value
  • Presence or absence of a header
  • String in a message body
  • Parameter value
  • Presence or absence of a parameter

The following objects are used in supporting flexible policy and routing.

  • The Profile Type parameter is used to specify whether a SIP Adapter Profile is used for flexible policy or message manipulation (default).

  • The System Provisioning - Zone object is used to assign a flexible policy-specific SIP Adaptor Profile to a specific zone.

  • The Trunk Group - SIP Trunk Group object is used to assign a flexible policy-specific SIP Adaptor Profile to a specific trunk group.

Info

For Flexible Policy and Routing feature implementation, refer to Flexible Policy and Routing Support.

For Flexible Policy and Routing best practices, refer to Configuring Dynamic Policies and Routing Using Flexible Policy and Routing Feature.

 

SMM Rules and Behavior

SMM Rules

The following general SIP Message Manipulation (SMM) rules apply when creating or editing SIP Adaptor Profiles.

SIP Adaptor Profile SMM Rules

CategoryRules
Profile 
  • A maximum of 512 SIP adaptor profiles may be defined.
  • To edit/modify a profile, disable the profile first, make the necessary modifications and then enable it. The edits will be reflect only when this process is followed.
Profile TypeTo specify whether a SIP Adapter Profile is to be used for flexible policy or message manipulation.
Rule
  • A profile must have at least one rule.
  • A profile may have no more than 64 rules.
Criteria
  • At least one criteria is required.
  • No more than 20 criteria are allowed.
  • At least one message criteria is required.
  • No more than one message criteria is allowed.
  • No more than one global variable criteria is allowed.
  • No more than one header criteria is allowed.
  • No more than one message body criteria is allowed.

  • No more than one parameter criteria is allowed.

  • If a parmeter criteria is specified, a header criteria must also be specified.

  • No more than one token criteria is allowed.

  • If a token criteria is specified, a header criteria must also be specified.

  • No more than one  variable criteria is allowed.

Actions
  • At least one action is required.
  • No more than 20 actions are allowed.

 

Criteria/Action Interaction

  • If an action modifies, deletes, stores or renames an object, you must also include a criterion to check for the presence of that object.

    For example, if you have an action that modifies a header, deletes a header, stores a header to a variable, or renames a header, you must also include a criterion to check for the presence of the header to be modified, deleted, stored or renamed. This same principal is true for other objects (Parameter, Token, Message Body and Variable) as well.

SIP Messages Screen

To access the SIP Messages screen (Figure 1) to configure a SIP Adaptor Profile, login to the EMA GUI and use menu bars to navigate to Configuration > System Provisioning > Category: Trunk Provisioning > SIP Adaptor (SMM) Profile.

SIP Adaptor Profile Screen

 

 

The SIP Messages screen consists of the following forms. 

Tools workspace displays the following tools:

  • View CLI Script – Use this tool to view the CLI version of the selected SIP Adaptor Profile. This is useful to help you understand how the profile is expressed in CLI format.
  • Edit Rule Sequence – Use this tool to rearrange the Rule Sequence of each SIP Adaptor Profile.
  • Assign SIP Adaptor Profile – Use this tool to assign the selected SIP Adaptor Profile to required Trunk Groups and Zones.
  • Test SIP Adaptor Profile – Use this tool to test an existing SIP Adaptor Profile.
  • Copy SIP Adaptor Profile – Use this tool to copy the values of an existing SIP Adaptor Profile and create another SIP Adaptor Profile with a different name.
  • New SIP Adaptor Profile – Use this tool to build a SIP Adaptor Profile

Each tool opens in its own form in the Tools workspace when you click the associated tab. More than one tool may be open at the same time.

To minimize a tool, click the "-" symbol in the top right corner of the form. To maximize it, click the "+" symbol. Click the "x" symbol to close the tool.

Entries Table

The Entries Table displays existing SIP Adaptor Profiles on the SBC. In the table header, you can select to view 5, 10 or 20 profiles at a time in the table.

System Provisioning - SIP Adaptor Profile - Entries

 

 

Use this table to perform one or more of the following activities:

  • View the state of the profiles (from the State column:Enabled or Disabled).
  • Highlight a profile to view/edit it.
  • Highlight a profile and delete it by selecting the Delete button in the last column.

Tools Workspace

When you define criteria and action statements, it is quite common that when you make a selection, a new selection appears for you to define. For example, when defining a Message criteria and you choose "all response messages" in the for field, the field "with a response code" will appear with the choices "of" and "in the range". Selecting "of" then causes a blank field to appear for you to define the response code.

Example of filling in Message criteria

 

 

Using the SIP Messages Tool

To Create a SIP Adaptor Profile

Click the New SIP Adaptor Profile tab to launch this tool.

System Provisioning - SIP Adaptor Profile Create Button

 

 

The tool displays in the workspace similar to the below example defaulted to Rule 1 and Message criteria.

Build SIP Adaptor Profile Tool

 

 

The New SIP Adaptor Profile tool consists of four basic sections which are defined in the table below.

  • Name – Use the Name field to assign a name to the SIP Adaptor Profile. The length of the SIP Adaptor Profile name can be up to 23 characters. Also, a maximum of 512 SIP Adaptor Profiles may be defined.
  • Profile Type - Use to specify whether a SIP Adapter Profile is to be used for flexible policy or message manipulation.
  • Rules form consists of Criteria and Action sections.
  • Footer – Includes a trigger to Enable the profile, plus a Save button.
Note

Required fields are designated with an asterisk next to the field.

Tip

While creating or editing a SIP Adaptor Profile, periodically click Save to save your progress.

The following table defines the Criteria and Action fields. For each rule, you define one or more criteria, and one or more actions.

Rules Form Fields

 
Field/ControlDescription
NameEnter the SIP Adaptor Profile name. The length of the SIP Adaptor Profile name can be up to 23 characters. Also, a maximum of 512 SIP Adaptor Profiles may be defined.
Profile Type

When creating a SIP Adaptor Profile, use this parameter to specify whether a SIP Adapter Profile is to be used for flexible policy or message manipulation.

  • messageManipulation (default): The SBC performs message manipulation based on this SIP Adaptor Profile.
  • flexiblePolicy: The SBC performs dynamic policy and routing based on SIP message information elements as specified in this SIP Adaptor Profile.
Criteria:
Type

Each criteria you define will include one or more criteria types. By default, the first criteria type is Message, so the minimum activity to define is to take an action against one or more messages.

Criteria Types include:

  • Message
  • Header
  • Parameter
  • Token
  • Variable
  • Global Variable
  • Message Body
Sub-fields

Type: Message

  • for: the options are:
    • all messages
    • all request messages
    • specific request messages
    • all response messages
    • specific response messages

Type: Header

  • if a header named: Specifies the name of the header.
  • is: The options are:
    • present
    • absent
    • present and equal
    • present and not equal
    • present and matches the regex

      The option, present and matches the regex, is same as regexp numMatch match in CLI.

      To perform the equivalent of CLI's regexp numMatch notMatch action, use the same present and matches the regex option, but specify a no match condition in the regular expression.

  • for: The options are:
    • all header instances
    • a specific header instance
    • a range of header instances
    • a number of header instances

Type: Parameter

  • if a parameter of time:  the options are:
    • user info
    • URI
    • generic
  • named: Specifies the name of the parameter.
  • is: the option are:
    • present
    • absent
    • present and equal
    • present and not equal
    • present and matches the regex

      The option, present and matches the regex, is same as regexp numMatch match in CLI.

      To perform the equivalent of CLI's regexp numMatch notMatch action, use the same present and matches the regex option, but specify a no match condition in the regular expression.

Type: Token

  • if the token of the type: the options are:
    • URI display name
    • URI user name
    • URI host name
    • URI scheme
    • URI host port

Type: Variable

  • if the variable: the options are:
    • Var1 to Var30
  • is: the options are:
    • present
    • absent
    • present and equal
    • present and not equal
    • present and matches regex

      The option, present and matches the regex, is same as regexp numMatch match in CLI.

      To perform the equivalent of CLI's regexp numMatch notMatch action, use the same present and matches the regex option, but specify a no match condition in the regular expression.

Type: Global Variable

  • if the global variable: the options are:
    • source IP address
    • source port
    • signaling port ID
    • local IP
    • local port
    • egress TG name
    • ingress TG name
  • is: the options are:
    • present
    • absent
    • present and equal
    • present and not equal
    • present and matches regex

      The option, present and matches the regex, is same as regexp numMatch match in CLI.

      To perform the equivalent of CLI's regexp numMatch notMatch action, use the same present and matches the regex option, but specify a no match condition in the regular expression.

Type: Message Body

  • is: the options are:
    • present
    • absent
    • present and matches the regex

      The option, present and matches the regex, is same as regexp numMatch match in CLI.

      To perform the equivalent of CLI's regexp numMatch notMatch action, use the same present and matches the regex option, but specify a no match condition in the regular expression.

(additional fields) Additional fields will display to define request or response message types for the above two choices designated by "*".
Undo ButtonClick to undo your current edits and start over defining criteria.
Add Criterion Button

Click to add the criterion to the rule. The criterion displays in its final definition.

To re-edit the criterion, click the Edit button, make the change, and click Apply Edit button.

Action:
Default action

The default action is to "Apply actions to a specific header instance equal to header instance 1.

  • all header instances
  • a specific header instance (header instance 1-10, or last)
  • a range of header instances
Type

Action Types include:

  • Header
  • Parameter
  • Token
  • Message Body
  • Variable
  • Message
action sub-field

The type selected will determine available actions

  • add a header
  • modify a header
  • store a header to a variable
  • delete a header
  • rename a header
  • modify a header using a regular expression.

Regular expressions are based on the following W3C regular expressions pattern which is defined as a pattern, or sub-pattern, containing any white space or none white space string for up to 128 characters. The pattern can occur zero or one time.

"(((([\s\S])){0,128})){0,1}"

additional sub-fields

Additional fields display to further define the action to take depending upon the action chosen in the above field.

For example, selecting Type "Parameter" and action "add a parameter" will produce three additional fields to be completed:

  • named
  • from the
  • of the type
Footer 
EnabledClick to enable this profile.
Advanced SMM Enabled

Enable flag to apply advanced SMM logic, such as dialog stateful variables, to the following messaging:

  • INVITE
  • REGISTER
  • SUBSCRIBE

Dialog Stateful variables are not applied for the NOTIFY messages received prior to receiving 200 OK response to the Egress SUBSCRIBE.

For an example SMM rule, see How to Treat Hostpart Based on the Received Format.

Save ButtonClick to save your current progress.
Undo Edits ButtonClick to undo current edits

To Edit a SIP Adaptor Profile

Note

You can modify the SMM rules on a live system when SMM rules are being applied. The existing rules continue to be applied. The new rules become active once committed.

Note

In the window SIP Adaptor Profile List, the Delete symbol  against a SIP Adaptor Profile appears only if the Enabled box is unchecked in the Edit Selected SIP Adaptor Profile window,  Copy Selected SIP Adaptor Profile window or the Create New SIP Adaptor Profile window.

 

Select a SIP Adaptor Profile from the Entries Table. The Edit Selected SIP Adaptor Profile window is displayed.

System Provisioning - SIP Adaptor Profile - Highlighted

 

 

This tool is includes the same functionality as the Create SIP Adaptor Profile tool above. The only difference is that you cannot change the profile name in this view.

Launch SIP Adaptor Profile Test Tool

 

 

To Copy a SIP Adaptor Profile

Select a SIP Adaptor Profile from the Entries Table.

System Provisioning - SIP Adaptor Profile - Highlighted

 

 

Click the Copy SIP Adaptor Profile to copy from the Entries Table:

System Provisioning - SIP Adaptor Profile Copy Button

 

 

The existing functionalities of the selected SIP Adaptor Profile is displayed. Make the desired changes and provide a different name for this SIP Adaptor Profile. This newly created SIP Adaptor Profile will be displayed below the original SIP Adaptor Profile in the Profile Table section of the screen.

System Provisioning - SIP Adaptor Profile Copy

 

 

To Edit Rule Sequence

Select a SIP Adaptor Profile from the Entries Table.

System Provisioning - SIP Adaptor Profile - Highlighted

 

 

Click Edit Rule Sequence tab to launch this tool.

System Provisioning - SIP Adaptor Profile Edit Rule Sequence Button

 

 

You can rearrange the Rule Sequence of the selected SIP Adaptor Profile by dragging and dropping the list items.

System Provisioning - SIP Adaptor Profile Edit Rule Sequence

 

 

To Assign SIP Adaptor Profile

To Assign messageManipulation SIP Adaptor Profile

Select a messageManipulation SIP Adaptor Profile from the Entries Table.

System Provisioning - SIP Adaptor Profile - Highlighted

 

To assign the selected messageManipulation SIP Adaptor Profile to Trunk Groups and Zones and click Assign SIP Adaptor Profile tab to launch this tool.

System Provisioning - SIP Adaptor Profile Assign SIP Adaptor Profile Button

 

You can assign the selected SIP Adaptor Profile to required Trunk Groups and Zones.

System Provisioning - SIP Adaptor Profile Assign SIP Adaptor Profile

 

To Assign Flexible Policy SIP Adaptor Profile

Select a Flexible Policy SIP Adaptor Profile from the Entries Table.

System Provisioning - Flexible Policy SIP Adaptor Profile - Highlighted

 

To assign the selected Flexible Policy SIP Adaptor Profile to Trunk Groups and Zones and click Assign SIP Adaptor Profile tab to launch this tool.

System Provisioning - SIP Adaptor Profile Assign SIP Adaptor Profile Button

 

You can assign the selected SIP Adaptor Profile to required Trunk Groups and Zones.

Assign Flexible Policy SIP Adaptor Profile

 

To Test a SIP Adaptor Profile

  1. Select a SIP Adaptor Profile from the Entries Table.

    System Provisioning - SIP Adaptor Profile - Highlighted

  2. Click Test SIP Adaptor Profile tab to launch this tool. 

    System Provisioning - SIP Adaptor Profile Test Button

  3. The Test SIP Adaptor Profile tool displays in the workspace. The test tool label changes to reflect the profile under test.

    SIP Adaptor Profile Test Tool

  4. Copy the SIP message from a browser or other source, and the paste it into the Input SIP Message window.

    Input SIP Message

  5. Enter any optional environment variables in the Global Variable Values fields using the following conventions:

    FieldConvention

    Source IP Address

    IPv4 or IPv6 formatted IP address

    Source Port

    Integer in the range of 0..4294967295

    Signaling Port ID

    Integer in the range of 0..4294967295

    Local IP Address

    IPv4 or IPv6 formatted IP address

    Local Port

    Integer in the range of 0..4294967295

    Egress Trunk Group Name

    1-23 characters (characters allowed:  +-.:@0-9A-Z_a-z)

    Ingress Trunk Group Name

    1-23 characters (characters allowed:  +-.:@0-9A-Z_a-z)

  6. Click the  button. The Selected SIP Adaptor Profile is applied to the SIP message, and the results display in the Output SIP Message window. See example results below.

    Test SIP Adaptor Profile Tool

To View a CLI Script

Select a SIP Adaptor Profile from the Entries Table.

System Provisioning - SIP Adaptor Profile - Highlighted

 

Click View CLI tab to launch this tool.

System Provisioning - SIP Adaptor Profile View CLI Button

 

The View CLI Script form opens in the Tools workspace.

If a SIP Adaptor Profile is already selected in the Entries table, the profile will automatically display in the View CLI Script form in CLI format similar to the example below.

View CLI Script Tool

 

To Store a SIP Trunk Group Name to a Variable

The SBC Core is enhanced with Preconditions Interworking support to allow the SBC to provide the interworking functionality when only one leg of a call supports preconditions while the other leg does not, but the SBC is expected to provide interworking functionality on both legs. The preconditions interworking is triggered based on the presence/absence or value of a SIP information element (for example, a proprietary Header or Parameter). The message content is based on IP Trunk Group (IPTG)-related configurables on the ingress leg.

Note
  • If Preconditions interworking is configured as “Use UPDATE”, configure the Allow UPDATE flag as well.
  • If Preconditions interworking is configured as “Use UPDATE” but a 183 from the peer does not have UPDATE in the Allow header, the SBC will not send an UPDATE and does not take any other action, thus a call timeout timer generates to terminate the call.
  • Do not set Preconditions to "Required" for interworking scenarios.
  • During an ingress precondition interworking sceanario, if the remote precondition is met in PRACK, the SBC will be able to process it and send the INVITE towards egress.

Note

Prior to configuring a SIP Trunk Group name to a variable, refer to Reserving Network Resources to understand the preconditions and the requirements. 

 

Follow these simple steps to assign a SIP Trunk Group Name to a variable:

  1. Navigate to All > Profiles > Signaling > Ip Signaling Profile > Common IP Attributes > Preconditions. The Preconditions window is displayed. Refer to IP Signaling Profile - Common IP Attributes - Preconditions to know the parameters and their descriptions.
  2. Choose the Ip Signaling Profile as DEFAULT_SIP or any of your created signaling profile.
  3. Enable the State. The other parameters/flags gets unlocked.

    Ip Signaling Profile - Preconditions

  4. Enable/disable the following parameters:
    1. Support If Egress IPTG - Disable
    2. Strength Mandatory Policy - Enable
    3. Strength Optional Policy - Enable
    4. UPDATEPrecondition Policy - Disable
    5. Strength Mandatory Priority - 10
    6. Strength Optional Priority - 45
    7. UPDATEPreconditions Priority - 56
  5. Click Save to save the configurations.
  6. Navigate to Configuration > System Provisioning > Category: Trunk Provisioning > SIP Adaptor (SMM) Profile. The SIP Adaptor (SMM) Profile window is displayed.

    Store IP TG

  7. Start filling the following information:
    1. Name - Name of the SIP Adaptor Profile that is created.
    2. Profile Type - messageManipulation
    3. Criteria:
      Type - Message
      for - specific request message
      of the type - invite
    4. Action:
      Type - Variable
      store a trunk group name to a variable
      Store the - String
      with the value - <name of the string to store> for example: TG_SIP_Access2
      to the - local variable
      named - var1
  8. Click Add criterion and Add action to save the information.