In this section:
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
The following diagram identifies the various segments of a SIP packet:
Anatomy of a SIP Packet
SIP Message Manipulation (SMM) allows you to modify SIP messages as they are processed by the
A SIP adaptor profile contains one or more rules. Each rule contains one or more criteria, for example:
Each rule contains one or more actions, for example:
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.
SBC SMM Mechanisms
The SBC supports SMM entities up to the maximum limits specified below.
SMM Entity | Maximum Supported |
---|---|
Profiles | 512 |
Rules | 10,000 |
Actions | 50,000 |
Criteria | 80,000 |
The SBC supports SMM profile up to the maximum limits specified below.
SMM Entity | Maximum Supported |
---|---|
Headers | 96 |
Number of parameters in a header | 20 |
Number of instances of same header | 32 |
For SMM provisioning details, see the following pages:
Additional topics in this section: