In this section:
Overview
SIP Adaptor Profile
The SIP Adaptor Profile object is the main construct for SIP Message Manipulation (SMM) functionality. Using SMM criteria and actions, you define SMM rules within a SIP Adaptor Profile. The SBC applies the profile to SIP messages in order to modify their headers and/or parameters. When a message comes into or out of the SBC and a SIP Adaptor Profile applies, the message is evaluated based on the set of criteria in the profile. If the message meets the criteria, it is modified according to actions defined in the profile. You can assign SMM profiles at the global, address context, zone, and SIP trunk group levels. You have the option to define profiles at any or all of these levels. Refer to SIP Message Manipulation for more information on SMM.
For SIP Adaptor Profile provisioning limits, refer to SBC Provisioning Limits.
The number of rules in a profile is limited to 10,000 and the number of actions across profiles in a system is limited to 50,000.
Ensure the above conditions are met before LSWU.
Flexible Policy Adaptor Profile
A 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 adapter profile to a specific zone.
The Trunk Group - SIP Trunk Group object is used to assign a flexible policy-specific SIP adapter profile to a specific trunk group.
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 adapter profile.
Table 1: SIP Adaptor Profile SMM Rules
Category | Rules |
---|---|
Profile | To edit/modify a profile, you must disable the profile first to make the necessary modifications and then enable it. |
Profile Type | To specify whether a SIP adapter profile is to be used for flexible policy or message manipulation. |
Rule |
|
Criteria |
|
Actions |
|
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.
EMA SIP Adaptor Profile Window
To create and work with SIP adapter profiles, go to Configuration > System Provisioning > Category: Trunk Provisioning > SIP Adaptor (SMM) Profile or
All > Profiles > Signaling > SIP Adaptor Profile
The SIP Adaptor Profile window opens with any existing profiles listed.
Figure 1: SIP Adaptor Profile Window
The following tool options are offered across the top of the window:
- View CLI – Use this option to view the CLI version of a selected SIP adapter profile. This is useful to help you understand how the profile is expressed in CLI format.
- Edit Rule Sequence – Use this option to rearrange the rule sequence of a selected SIP adapter profile.
- Assign SIP Adaptor Profile – Use this option to assign a selected SIP adapter profile to required trunk groups and zones.
- Test SIP Adaptor Profile – Use this option to test a selected SIP adapter profile on variables and a sample SIP message you supply.
- Copy SIP Adaptor Profile – Use this option to copy the values of a selected SIP adapter profile and create another SIP adapter profile with a different name.
- New SIP Adaptor Profile – Use this option to build a new SIP adapter profile.
Except for the New SIP Adaptor Profile option, you must select a profile from the list to make the tool options available. Each tool opens in its own form on the window. More than one tool may be open at the same time.
To minimize a form, click the "-" symbol in the top left corner. To maximize it, click the "+" symbol. Click the "x" symbol to close the form.
In the SIP Adaptor Profile List, the delete option (X) is only available when the profile is disabled.
To Create a SIP Adaptor Profile
Click New SIP Adaptor Profile to begin creating a new SIP adapter profile. The Create New SIP Adaptor Profile form opens.
Figure 2: Create New SIP Adaptor Profile Form
The Create New SIP Adaptor Profile form consists of four sections:
- Name field – Use this field to assign a name to the SIP adapter profile. The length of the SIP adapter profile name can be up to 23 characters.
- Profile Type field – Use this field to specify whether a SIP adapter profile is to be used for flexible policy or message manipulation.
- Rule form consists of a numeric Rule list and Criteria and Action sub-sections. The criteria and action areas expand to provide additional parameters as you make your choices.
- Footer area – Includes check boxes to enable the profile or to enable advanced SMM.
Required fields are designated with an asterisk next to the field.
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.
While creating or editing a SIP adapter profile, periodically click Save to save your progress.
Use the following table to define the Criteria and Action fields for rule 1 in the profile. For each rule, you can define one or more criteria, and one or more actions. Click Save to save the rule and add the profile to the SIP Adaptor Profile List.
Table 2: Rules Form Fields
Field/Control | Description |
---|---|
Name | Enter the SIP adapter profile name. The length of the SIP adapter profile name can be up to 23 characters. |
Profile Type | When creating a SIP adapter profile, use this parameter to specify whether a SIP adapter profile is to be used for flexible policy or message manipulation.
|
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:
|
Sub-fields | Type: Message
Type: Header
Type: Parameter
Type: Token
Type: Variable
Type: Global Variable
Type: Message Body
|
(additional fields) | Additional fields will display to define request or response message types for the above two choices designated by "*". |
Undo Button | Click 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. Click the edit tool (pencil icon) to change among:
|
Type | Type defines the portion of the message on which the action is taken. Types include:
|
action sub-field | The type selected will determine the list of available actions. For example, the following list of actions appear for the Header type:
The Parameter type includes:
The Token type includes:
The Message Body type includes:
The Variable type includes:
The Message type includes:
Some actions include use of regular expressions as described below: 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 | One or more additional fields can display to further define the action to take depending upon the action chosen in the field above. For example, selecting Type "Parameter" and action "add a parameter" will produce three additional fields to be completed:
Or, selecting Type "Message" and action "teardown the dialog" produces the following field to specify a numeric SIP response code:
Or, selecting Type "Message" and action "Route Action on Crankback" will open a list with three possible choices of action:
|
Footer | |
Enabled | Click to enable this profile. A profile must be disabled to be deleted. |
Advanced SMM Enabled | Enable flag to apply advanced SMM logic, such as dialog stateful variables, to the following messaging:
NOTE: 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. |
To Edit a SIP Adaptor Profile
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.
- Select a SIP adaptor profile from the SIP Adaptor Profile List. The Edit Selected SIP Adaptor Profile form opens. You can change, add, or delete the rules in the profile but you cannot change the name or type.
- To add another rule to the profile, click the next sequential number in the Rule list, for example, Rule 2, to open Criteria and Action sub-sections where you can define the additional rule.
- To edit an existing rule in the profile click on the rule in the Rule list. The rule's current definition appears in the Criteria and Action sub-sections where you can edit the values.
- Click Save to save your changes.
To Copy a SIP Adaptor Profile
- Select the SIP adaptor profile you want to copy from the SIP Adaptor Profile List.
- Click Copy SIP Adaptor Profile. The Copy Selected SIP Adaptor Profile form opens. Enter a new name and change or add to the parameters as needed.
- Click Save to save your changes.
To Edit Rule Sequence
- Select the SIP adaptor profile whose rules you want to reorder from the SIP Adaptor Profile List.
Click Edit Rule Seque
- Rearrange the rule sequence by dragging and dropping the list items and then click Save.
To Assign SIP Adaptor Profiles
You can assign a selected SMM profile at the global, address context, zone, and SIP trunk group levels. You can assign a selected Flexible Policy profile at the SIP trunk group and zone levels.
- Select the SIP adaptor profile you want to assign to a trunk group or zone from the SIP Adaptor Profile List.
Click Assign SIP Adaptor Profile. Depending on the profile type, either a Message Manipulation or Flexible Policy form opens.
Figure 3: Assign SIP Adaptor Profile - Message Manipulation- Select the trunk group, zone, or address context to which you want to assign the profile, or check the box in the Global section.
- Click Save.
To Test a SIP Adaptor Profile
Select the SIP Adaptor profile you want to test from the SIP Adaptor Profile List.
Click Test SIP Adaptor Profile. Test SIP Adaptor Profile tool displays in the workspace.
Figure 4: SIP Adaptor Profile Test ToolIn Global Variable Values, enter any optional environment variables you want to apply during the test. Use the following formats:
Field Convention 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)
Copy the SIP message you want to test from a browser or other source, and the paste it into the Input SIP Message window.
Figure 5: Input SIP MessageClick Test. The Selected SIP Adaptor Profile is applied to the SIP message, and the results are display in Output SIP Message. An example appears below.
Figure 6: Test SIP Adaptor Profile Tool
To View the CLI
- Select the SIP Adaptor profile whose CLI statements you want to view from the SIP Adaptor Profile List.
- Click View CLI. The View CLI form opens. An example appears below.
Figure 7: View CLI Script Tool
To Store a SIP Trunk Group Name to a Variable
The following example uses a SIP Adaptor Profile to store a SIP trunk group name. The SBC Core provides interworking functionality between the call legs when only one leg of a call supports preconditions while the other leg does not. 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 scenario, if the remote precondition is met in PRACK, the SBC processes it and sends the INVITE towards the egress.
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 steps to assign a SIP trunk group name to a variable:
- 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.
- Choose the DEFAULT_SIP IP signaling profile or any of your created signaling profiles.
Click to enable its State. The other parameters/flags become available.
- Enable/disable the following parameters:
- Support If Egress IPTG - Disable
- Strength Mandatory Policy - Enable
- Strength Optional Policy - Enable
- UPDATEPreconditions Policy - Disable
- Strength Mandatory Priority - 10
- Strength Optional Priority - 45
- UPDATEPreconditions Priority - 56
- Click Save.
Navigate to Configuration > System Provisioning > Category: Trunk Provisioning > SIP Adaptor (SMM) Profile. The SIP Adaptor (SMM) Profile window is displayed.
- Fill in the following information:
- Name - Name of the SIP Adaptor Profile that is created.
- Profile Type - messageManipulation
- Criteria:
Type - Message
for - specific request message
of the type - invite - 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
- Click Add criterion and Add action to save the information.
- Click Save.