SIP Overview

Session Initiation Protocol (SIP) is a signaling communications protocol, widely used for controlling multimedia communication sessions such as voice and video calls over Internet Protocol (IP) networks. The protocol defines the messages that are sent between peers and govern establishment, termination and other essential elements of a call. SIP can be used for creating, modifying and terminating two-party (unicast) or multiparty (multicast) sessions consisting of one or several media streams.

A SIP message consists of headers, each of which has a name (before the colon) and value (after the colon).  The value can consist other specific parts, such as tokens and parameters.

Example SIP message:

INVITE sip:4448451148@10.34.20.100:5060 SIP/2.0
Via: SIP/2.0/UDP 10.34.13.56:23012;branch=z9hG4bK0cB4182841436;maddr=10.34.20.80
Max-Forwards: 70
From: <sip:13032220008@10.34.13.56:23012>;tag=4182841436
To: <sip:4448451148@10.34.20.100:5060>
Call-ID: 4182841436@10.34.13.56
CSeq: 10 INVITE
Contact: <sip:13032220008@10.34.13.56:23012;transport=udp>
Content-Type: application/sdp
Content-Length: 153
Expires: 90
User-Agent: ST Simulation
Accept: application/sdp
Accept-Encoding: gzip
Accept-Language: da, en-gb;q=0.8, en;q=0.7
Alert-Info: <http://www.example.com/sounds/moo.wav>
Allow: INVITE, ACK, OPTIONS, CANCEL, BYE
server: East


Anatomy of a SIP Packet

The following diagram identifies the various segments of a SIP packet:

Anatomy of a SIP Packet

SMM Processing Overview

SIP Message Manipulation (SMM) allows you to modify SIP messages as they are processed by the SBC Core in both inbound and outbound directions. Using SMM criteria and actions, you define SMM rules within a SIP adaptor profile which the SBC applies to SIP messages 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.

A SIP adaptor profile contains one or more rules. Each rule contains one or more criteria, for example:

  • Check if the message is a request message of the type INVITE.
  • Check if a header named “From” is present in the message.

Each rule contains one or more actions, for example:

  • Delete the “From” header.
  • Add a “To” header.
  • Modify the message body.

IMPORTANT

Do not use SMM to manipulate To, From, Contact and Request URIs in incoming REGISTER messages.

Here is a simple example of an SMM rule:

Check all Request messages of the type INVITE to see if they have a “Supported” header with the value 100rel.  If so, delete the “Supported” header.

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.

If more than one profile applies to a session, you can enable "fixed order" execution of the profiles (smmProfileExecution=fixedOrder). In fixed order execution, the SBC logically concatenates the rules in the applicable profiles and executes them in the following order: global, address context, zone, SIP trunk group. The collection of rules are treated as though they reside in a single profile and therefore variable values set at the beginning of the sequence are accessible to rules that follow in the sequence.

Note that when using fixed order execution, you also have the option to disable execution at any of the four levels. However, even if you disable execution at one or more levels, the SBC executes the rules at the levels that remain enabled in the same order (global, address context, zone, SIP trunk group). When fixed order execution is in effect, the SBC records the names of all the profiles it executed in the CDR for the call.

You set the smmProfileExecution option that defines the order of profile execution in SIP trunk group configuration. By default, fixed order execution is not enabled (smmProfileExecution=none) and the rules of the SIP adaptor profile assigned to the SIP trunk group take precedence over any other configured profiles. If there is no profile assigned to the SIP trunk group, then the SBC applies the profile assigned to the zone, if a zone-level profile is present. When fixed order execution is not in effect, CDRs contain the name of only the trunk group or zone profile that is executed.      

SMM processing operates in addition to the standard message processing. The following figure illustrates the sequence when SIP adaptor profiles are assigned to both the ingress and egress trunk groups and therefore SMM rules apply on both ingress and egress as messages traverse the route.

Figure 2: SBC SMM Mechanisms


SMM Entity Limits

The SBC supports SMM entities up to the maximum limits specified below.

SMM EntityMaximum Supported
 Profiles1024
 Rules10,000
 Actions50,000
 Criteria80,000

SMM Profile Limitation

The SBC supports SMM profile up to the maximum limits specified below.

SMM EntityMaximum Supported
Headers96
Number of parameters in a header20
Number of instances of same header32

For SMM provisioning details, refer to the following pages: