In this section:
SMM Overview
This section explains SMM and how to configure according to how the fields correspond to SIP messaging.
Guidelines for SMM are as follows:
- SIP Headers can be added, deleted, or modified.
- Manipulation can be completed for every SIP message, or separately for SIP Requests or SIP Responses.
- Manipulations can set to occur based upon user specified matching criteria.
- Manipulations can be executed at the ingress or egress SG.
- At the ingress, inbound SIP messages are modified to permit proper handling by the SBC's routing function.
- At the egress, SIP messages (already processed by the SBC) are modified to meet the SIP requirements of the upstream device.
The SMM feature is enabled on a Signaling Group and is used to change an incoming or outgoing SIP Message.
Packet Types
SIP Requests are different than SIP Responses. In order to employ the SIP Manipulation function, you must know the difference between a Request and Response.
SIP Requests |
| SIP Responses (partial list) |
---|---|---|
INVITE |
| 100 Trying |
ACK |
| 180 Ringing |
BYE |
| 183 Session Progressing |
CANCEL |
| 200 OK |
OPTIONS |
| 202 Accepted |
REGISTER |
| 302 Moved Temporarily |
PRACK |
| 400 Bad Request |
SUBSCRIBE |
| 401 Unauthorized |
NOTIFY |
| 403 Forbidden |
PUBLISH |
| 500 Server Internal Error |
INFO |
| 503 Service Unavailable |
REFER |
| 504 Server Timeout |
MESSAGE |
| 603 Decline |
UPDATE |
| 606 Message Too Large |
Anatomy of a SIP Packet
Knowing the separate parts of the SIP packet will help you use the correct section of the SMM Web UI. Request Line, Status Line, Headers, Header Parameters, URI and URI parameters are all portions of a SIP packet.
SIP Message Rules
The SMM Rules are listed below, including which portion of the SIP packet affected by each specific rule.
Use the following:
- Request Rules to change the Request URI Line
- Status Rules to change the Status Line
- Header Rules to change SIP headers
- Raw Rules to change SDP, or any portion of the SIP message not affected by other rules.
Mapping Sections of the SMM Rule to the SIP Packet
After selecting the appropriate Rule type, the Rule itself must be configured. The tables below lists how each rule corresponds with portions of a SIP message. Use these tables to determine which configuration entry to change.
Request Rule Mapping
The Request Rule fields map to the Invite message parameters as follows:
Status Rule Mapping
The Status Rule fields map to the SIP message parameters as follows:
Header Rule Mapping
The Header Rule fields map to the SIP message parameters as follows:
The Raw Rule
Normally used to change the SDP, the Raw Rule will change any regex match found within the entire SIP packet. If a Raw Rule was created to match on sip: and change it to sips:, then every sip: that appears in a packet would be changed to sips: using a single Raw Rule.
Tokens
Tokens are basically variable names which have been pre-assigned to different portions of a SIP Message. Just like the numbers in an incoming SIP packet are mapped into Tranformation Table IEs (Called Number, Calling Number, etc.), various portions of a SIP Packet are mapped into SMM Tokens.
Tokens help identify the change. For example, if you create a SMM Rule to change the diversion number to match the calling number, use the SMM Rules menu to change the diversion value from the token from.user.userinfo.user (the token that contains the calling number).
Token Mapping
See below for a mapping example of SIP messages to their corresponding tokens; x represents a SIP Request Line, Status Line or Header name. For example:
- The Display Name in a FROM header would be recorded in the from.displayname token.
The TO number would be recorded in the to.uri.userinfo.usertoken.
Some of the available tokens are listed below.
Conditions
A Condition Rule is configured for a SMM to operate only when something specific occurs; this rule is applied with the Message Rule and is configured to match specific numbers, tokens, or by regex.
More Information
The SMM feature cannot be used to create a SIP packet; the SMM feature handles a SIP packet either just before or just after the SIP Engine. In either case, an already-existing SIP packet is presented to the SMM function. The SMM function only works on packet it receives--it cannot create a packet.