In this section:
The
The
Example message:
INVITE sip:+457912345678;tgrp=garps;trunk-context=rfi.com;tef-callref=7AF0731E04@srsbc1sip.maqueta;user=phone SIP/2.0
The
The
The
The maximum length of SGD digits supported in P-Sig-Info header is 160 characters (0-9, a-f, A-F) which maps to 80 octets in SIP-I mime with a Binary encoding scheme, and vice-versa.
The PSX IPSP flag “Map SGD in P-Sig-Info Header” controls sending the “sgd” parameter in P-Sig-Info header in the outgoing SIP message. The CLI syntax to configure ISUP Signaling Profile to allow Super Generic Digits in the egress mime is shown below:
The interworking of SGD parameter and SIP P-Sig-Info header is not applicable when the
% set profiles signaling isupSignalingProfile <profile name> allowSGDinGenericDigits <supported | unSupported>
The
The ACM message sends Backward Call Indicators (BCI) to signal information about the call setup. Most of the fields contained in the Backward Call Indicators are the same as those in the Forward Call Indicators (FCI), which are contained in the IAM. While the FCI signals the call indicators in the forward direction to provide information on the call setup to the terminating access (and intermediate nodes), the BCI signals similar information in the backward direction to the originator.
Bit H of the Backward Call Indicator (in ANSI) allows a network node to temporarily halt call set-up and play tones or announcements, or both, and collect additional in-band information from the calling user before routing the call further.
Example:
% set profiles signaling ipSignalingProfile MyProfile ingressIpAttributes flags set-cut-through-indication-in-OBCI enable
The
Three different ISUP parameter formatting types exist as depicted in the table below.
Three different ISUP parameters types exist within the SMM rules as described in the table below:
The SMM provides the capabilities to perform the following operations:
Clicking on an operation in the above table which includes a hyperlink takes you to an example later in this section.
SMM syntax includes the following operations/actions to facilitate the above capabilities:
The following enhancements were made at criterion level:
type [isupParameter]
messageBody
isupParameter
The following enhancements were made at action level:
type [variable/isupParameter]
Legend |
---|
bitOR – Bitwise OR operation bitAND – Bitwise AND operation bitXOR – Bitwise eXclusive OR operation bitNOT – Bitwise NOT operation that is, inverts the bit from its current value. binaryToAsciiStore – This operation converts hexadecimal binary data into the equivalent ASCII string for example, the number "0x12, 0x34" into the string “1234”. binaryToAsciiAppend – This operation converts hexadecimal binary data into the equivalent ASCII string for example, the number "0x12, 0x34" into the string “1234” and appends it to the end of an existing ASCII variable. asciiToBinaryStore – This operation converts an ASCII string of hexadecimal digits into an array of hexadecimal binary bytes for example, “1234” is converted to "0x12, 0x34". asciiToBinaryAppend – This operation converts an ASCII string of hexadecimal digits into an array of hexadecimal binary bytes and appends them to an existing binary variable. |
Parameter | Possible Completion/ Range | Default Value | Description |
---|---|---|---|
isupMessageType | 00-ff | 00 | Hex value representing 16-bit ISUP message code. For example, 0x01 for Initial Address Message (IAM), 0x02 for Subsequent Address Message (SAM), and 0x06 for Address Complete (ACM). |
paramCode | 00-ff | 00 | Primary parameter hex code of ISUP parameter. |
paramSubType | 00-ff | ff | Secondary parameter hex code of repeatable ISUP parameter. |
paramEmbeddedCode | 00-ff | 00 | Secondary parameter hex code of embedded ISUP parameter. |
length | all/1-255 | all | The number of bytes from selected offset byte for binary manipulation. |
offset | whole/0-254 | whole | The position of first byte for binary manipulation. |
Example ISUP MIME capabilities, based on the syntax above, including the SMM rules to facilitate them, are provided in this section. For each example, the ISUP MIME data is shown before and after the rules are applied.
#check if isup message exist set profiles signaling sipAdaptorProfile fci rule 1 criterion 1 type message message methodType invite messageTypes request set profiles signaling sipAdaptorProfile fci rule 1 criterion 2 type messageBody messageBody messageBodyType isup isupMessageType 01 condition exist #save fci param set profiles signaling sipAdaptorProfile fci rule 1 action 1 type isupParameter operation store set profiles signaling sipAdaptorProfile fci rule 1 action 1 type isupParameter from type isupParameter paramCode 07 set profiles signaling sipAdaptorProfile fci rule 1 action 1 to type variable variableValue var1 #create the bitmask set profiles signaling sipAdaptorProfile fci rule 1 action 2 type variable operation asciiToBinaryStore set profiles signaling sipAdaptorProfile fci rule 1 action 2 from type value value "10" set profiles signaling sipAdaptorProfile fci rule 1 action 2 to type variable variableValue var2 #enable end-to-end bit set profiles signaling sipAdaptorProfile fci rule 1 action 3 type variable operation bitOR set profiles signaling sipAdaptorProfile fci rule 1 action 3 from type variable variableValue var2 offset 0 set profiles signaling sipAdaptorProfile fci rule 1 action 3 to type variable variableValue var1 offset 0 #update the fci set profiles signaling sipAdaptorProfile fci rule 1 action 4 type isupParameter set profiles signaling sipAdaptorProfile fci rule 1 action 4 from type variable variableValue var1 set profiles signaling sipAdaptorProfile fci rule 1 action 4 to type isupParameter paramCode 07 set profiles signaling sipAdaptorProfile fci rule 1 action 4 operation modify
ISUP-Before-SMM: 01 10 60 00 0a 03 02 05 03 03 90 f1 0a 07 03 13 07 89 70 52 86 1d 03 90 90 a3 31 02 00 18 c0 08 06 03 13 07 89 70 52 86 39 04 31 90 c0 84 00 ISUP-After-SMM: 01 10 70 00 0a 03 02 05 03 03 90 f1 0a 07 03 13 07 89 70 52 86 1d 03 90 90 a3 31 02 00 18 c0 08 06 03 13 07 89 70 52 86 39 04 31 90 c0 84 00
#check if tef-callref and isup present in the request set profiles signaling sipAdaptorProfile callref rule 1 criterion 1 type message message methodType invite messageTypes request set profiles signaling sipAdaptorProfile callref rule 1 criterion 2 type header header condition exist name "request-line" set profiles signaling sipAdaptorProfile callref rule 1 criterion 3 type parameter parameter paramType userinfo name "tef-callref" condition exist set profiles signaling sipAdaptorProfile callref rule 1 criterion 4 type messageBody messageBody messageBodyType isup condition exist set profiles signaling sipAdaptorProfile callref rule 1 criterion 4 type messageBody messageBody messageBodyType isup isupMessageType 01 #store the tef-callref parameter in to variable var1 set profiles signaling sipAdaptorProfile callref rule 1 action 1 type parameter set profiles signaling sipAdaptorProfile callref rule 1 action 1 paramType userinfo set profiles signaling sipAdaptorProfile callref rule 1 action 1 operation store set profiles signaling sipAdaptorProfile callref rule 1 action 1 from type parameter value "tef-callref" set profiles signaling sipAdaptorProfile callref rule 1 action 1 to type variable variableValue var1 #convert value to binary and store into variable var2 set profiles signaling sipAdaptorProfile callref rule 1 action 2 type variable operation asciiToBinaryStore set profiles signaling sipAdaptorProfile callref rule 1 action 2 from type variable variableValue var1 set profiles signaling sipAdaptorProfile callref rule 1 action 2 to type variable variableValue var2 #now reshuffle. so use regular store/append #store var2[2] -> var3[0] set profiles signaling sipAdaptorProfile callref rule 1 action 3 type variable operation store set profiles signaling sipAdaptorProfile callref rule 1 action 3 from type variable variableValue var2 offset 2 length 1 set profiles signaling sipAdaptorProfile callref rule 1 action 3 to type variable variableValue var3 #store var2[1] -> var3[1] set profiles signaling sipAdaptorProfile callref rule 1 action 4 type variable operation append set profiles signaling sipAdaptorProfile callref rule 1 action 4 from type variable variableValue var2 offset 1 length 1 set profiles signaling sipAdaptorProfile callref rule 1 action 4 to type variable variableValue var3 set profiles signaling sipAdaptorProfile callref rule 1 action 5 type variable operation append set profiles signaling sipAdaptorProfile callref rule 1 action 5 from type variable variableValue var2 offset 0 length 1 set profiles signaling sipAdaptorProfile callref rule 1 action 5 to type variable variableValue var3 set profiles signaling sipAdaptorProfile callref rule 1 action 6 type variable operation append set profiles signaling sipAdaptorProfile callref rule 1 action 6 from type variable variableValue var2 offset 4 length 1 set profiles signaling sipAdaptorProfile callref rule 1 action 6 to type variable variableValue var3 set profiles signaling sipAdaptorProfile callref rule 1 action 7 type variable operation append set profiles signaling sipAdaptorProfile callref rule 1 action 7 from type variable variableValue var2 offset 3 length 1 set profiles signaling sipAdaptorProfile callref rule 1 action 7 to type variable variableValue var3 #add to isup set profiles signaling sipAdaptorProfile callref rule 1 action 8 type isupParameter from type variable variableValue var3 set profiles signaling sipAdaptorProfile callref rule 1 action 8 to type isupParameter paramCode F4 set profiles signaling sipAdaptorProfile callref rule 1 action 8 operation add
ISUP-Before-SMM: 01 10 60 00 0a 03 02 05 03 03 90 f1 0a 07 03 13 07 89 70 52 86 1d 03 90 90 a3 31 02 00 18 c0 08 06 03 13 07 89 70 52 86 39 04 31 90 c0 84 00 ISUP-After-SMM: 01 10 60 00 0a 03 02 05 03 03 90 f1 0a 07 03 13 07 89 70 52 86 1d 03 90 90 a3 31 02 00 18 c0 08 06 03 13 07 89 70 52 86 39 04 31 90 c0 84 f4 05 73 f0 7a 04 1e 00
#check if parameter f3 present set profiles signaling sipAdaptorProfile deleteparam rule 1 criterion 1 type message message methodType invite messageTypes request set profiles signaling sipAdaptorProfile deleteparam rule 1 criterion 2 type messageBody messageBody messageBodyType isup isupMessageType 01 condition exist set profiles signaling sipAdaptorProfile deleteparam rule 1 criterion 3 type isupParameter isupParameter paramCode f3 condition exist #delete parameter set profiles signaling sipAdaptorProfile deleteparam rule 1 action 1 type isupParameter operation delete set profiles signaling sipAdaptorProfile deleteparam rule 1 action 1 type isupParameter to type isupParameter paramCode f3
ISUP-Before-SMM: 01 10 60 00 0a 03 02 05 03 03 90 f1 0a 07 03 13 07 89 70 52 86 1d 03 90 90 a3 31 02 00 18 c0 08 06 03 13 07 89 70 52 86 39 04 31 90 c0 84 f3 05 73 f0 7a 04 1e 00 ISUP-After-SMM: 01 10 60 00 0a 03 02 05 03 03 90 f1 0a 07 03 13 07 89 70 52 86 1d 03 90 90 a3 31 02 00 18 c0 08 06 03 13 07 89 70 52 86 39 04 31 90 c0 84 00
#check the message set profiles signaling sipAdaptorProfile modifyCalled rule 1 criterion 1 type message message methodType invite messageTypes request set profiles signaling sipAdaptorProfile modifyCalled rule 1 criterion 2 type header header condition exist name "request-line" set profiles signaling sipAdaptorProfile modifyCalled rule 1 criterion 3 type messageBody messageBody messageBodyType isup condition exist set profiles signaling sipAdaptorProfile modifyCalled rule 1 criterion 3 type messageBody messageBody messageBodyType isup isupMessageType 01 set profiles signaling sipAdaptorProfile modifyCalled rule 1 criterion 4 type isupParameter isupParameter paramCode 04 condition exist
#save called digit into var1 set profiles signaling sipAdaptorProfile modifyCalled rule 1 action 1 type token operation store set profiles signaling sipAdaptorProfile modifyCalled rule 1 action 1 from type token tokenValue uriusername set profiles signaling sipAdaptorProfile modifyCalled rule 1 action 1 to type variable variableValue var1 #create fixed part in called party parameter set profiles signaling sipAdaptorProfile modifyCalled rule 1 action 2 type variable operation asciiToBinaryStore set profiles signaling sipAdaptorProfile modifyCalled rule 1 action 2 from type value value "0390" set profiles signaling sipAdaptorProfile modifyCalled rule 1 action 2 to type variable variableValue var2 #modify the ISUP param set profiles signaling sipAdaptorProfile modifyCalled rule 1 action 3 type isupParameter from type variable variableValue var2 set profiles signaling sipAdaptorProfile modifyCalled rule 1 action 3 to type isupParameter paramCode 04 set profiles signaling sipAdaptorProfile modifyCalled rule 1 action 3 operation modify #add digits to ISUP param set profiles signaling sipAdaptorProfile modifyCalled rule 1 action 4 type isupParameter from type variable variableValue var1 set profiles signaling sipAdaptorProfile modifyCalled rule 1 action 4 to type isupParameter paramCode 04 set profiles signaling sipAdaptorProfile modifyCalled rule 1 action 4 operation addDigits
ISUP-Before-SMM: 01 10 60 00 0a 03 02 05 03 03 90 f1 0a 07 03 13 07 89 70 52 86 1d 03 90 90 a3 31 02 00 18 c0 08 06 03 13 07 89 70 52 86 39 04 31 90 c0 84 f3 05 73 f0 7a 04 1e 00 ISUP-After-SMM: 01 10 60 00 0a 03 02 0a 08 83 90 37 42 41 44 05 01 0a 07 03 13 07 89 70 52 86 1d 03 90 90 a3 31 02 00 18 c0 08 06 03 13 07 89 70 52 86 39 04 31 90 c0 84 f3 05 73 f0 7a 04 1e 00
set profiles signaling sipAdaptorProfile <sipAdaptorProfile name> state enabled delete addressContext <addressContext name> zone <zone name> sipTrunkGroup <sipTrunkGroup name> signaling messageManipulation outputAdapterProfile set addressContext <addressContext name> zone <zone name> sipTrunkGroup <sipTrunkGroup name> signaling messageManipulation outputAdapterProfile <sipAdaptorProfile name>
In this example, SMM will get the digits from ISUP parameter with code 0x04 (73241444501) and add them to "Called-Party-Number" header.
set profiles signaling sipAdaptorProfile getDigits rule 1 criterion 1 type message message methodType invite messageTypes request set profiles signaling sipAdaptorProfile getDigits rule 1 criterion 2 type header header condition exist name "request-line" set profiles signaling sipAdaptorProfile getDigits rule 1 criterion 3 type messageBody messageBody messageBodyType isup condition exist set profiles signaling sipAdaptorProfile getDigits rule 1 criterion 3 type messageBody messageBody messageBodyType isup isupMessageType 01 set profiles signaling sipAdaptorProfile getDigits rule 1 criterion 4 type isupParameter isupParameter paramCode 04 condition exist set profiles signaling sipAdaptorProfile getDigits rule 1 action 1 type isupParameter to type variable variableValue var1 set profiles signaling sipAdaptorProfile getDigits rule 1 action 1 from type isupParameter paramCode 04 set profiles signaling sipAdaptorProfile getDigits rule 1 action 1 operation getDigits #add to sip set profiles signaling sipAdaptorProfile getDigits rule 1 action 2 type header operation add set profiles signaling sipAdaptorProfile getDigits rule 1 action 2 from type variable variableValue var1 set profiles signaling sipAdaptorProfile getDigits rule 1 action 2 to type header value "Called-Party-Number" set profiles signaling sipAdaptorProfile getDigits rule 1 action 2 headerPosition last
PDU:
INVITE sip:73241444501;tef-callref=7AF0731E04@10.7.16.120:5060 SIP/2.0 Via: SIP/2.0/UDP 10.7.6.40:12127;branch=z9hG4bK0dB0002147a6a9d1186 From: <sip:73241444501@10.7.16.118:5060>;xxx=rrr;ddd;pstm=rrrr To: <sip:73241444501@10.7.16.118:5060> Call-ID: _call_test_cadse_80 CSeq: 10 INVITE Allow: UPDATE,OPTIONS, INVITE, CANCEL, ACK, BYE Contact: <sip:73241444501@10.7.6.40:12127> Accept: application/sdp Session-Expires: 190; refresher=uac P-Preferred-Identity: Sonus Networks <sip:9803456789@10.34.10.82:7056> P-Asserted-Identity: <sip:12345@10.34.10.82:7056> P-Sig-Info: uui=0001020304 X-AUT: fd01fc06 Privacy: id Content-Type: multipart/mixed;boundary=sonus-content-delim MIME-Version: 1.0 l: 456 --sonus-content-delim Content-Disposition: session; handling = required Content-Type: application/sdp v=0 o=GBL-calling 5129 10 IN IP4 xxx.com s=jay c=IN IP4 10.7.6.40 t=0 0 m=audio 90 RTP/AVP 0 90 a=rtpmap:0 PCMU/8000 a=rtpmap:90 CLEARMODE/8000 --sonus-content-delim Content-Disposition: signal; handling = required Content-Type: application/isup; version=itu-t92+; base=itu-t92+ <ISUP part: 01 10 60 00 0a 03 02 0a 08 83 90 37 42 41 44 05 01 0a 07 03 13 07 89 70 52 86 1d 03 90 90 a3 31 02 00 18 c0 08 06 03 13 07 89 70 52 86 39 04 31 90 c0 84 f3 05 73 f0 7a 04 1e 00>
--sonus-content-delim-- ISUP MESSAGE = [ IAM ] Nature of Connection Indicators - Parameter Code [0x06] - - - - - - 0 0 0x0 | Satellite indicator 0x0 - No Satellite Circuit - - - - 0 0 - - 0x0 | Continuity Check Indicator 0x0 - Continuity Check Not Required - - - 1 - - - - 0x1 | Echo Control Device Indicator 0x1 - Outgoing Echo Control Device Included 0 0 0 - - - - - 0x0 | Spare Forward Call Indicators - Parameter Code [0x07] - - - - - - - 0 0x0 | National/International CallIndicator 0x0 - Call Treated As National Call - - - - - 0 0 - 0x0 | End To End Method Indicator 0x0 - No End To End Method Available - - - - 0 - - - 0x0 | Interworking Indicator 0x0 - No Interworking Encountered - - - 0 - - - - 0x0 | End To End Information Indicator 0x0 - No end-to-end information available - - 1 - - - - - 0x1 | ISUP Indicator 0x1 - ISUP Used All The Way 0 1 - - - - - - 0x1 | ISUP Preference Indicator 0x1 - ISUP Not Required All The Way - - - - - - - 0 0x0 | ISDN Access Indicator 0x0 - Originating Access Non ISDN - - - - - 0 0 - 0x0 | SCCP Method Indicator 0x0 - No indication - - - - 0 - - - 0x0 | Spare 0 0 0 0 - - - - 0x0 | Reserved For National Use Calling Party's Category - Parameter Code [0x09] 0 0 0 0 1 0 1 0 0xA | Calling party's Category 0xA - Ordinary Calling Subscriber Transmission Medium requirement - Parameter Code [0x02] 0 0 0 0 0 0 1 1 0x3 | Transmission Medium Requirement 0x3 - 3.1 kHZ Radio Called Party Number - Parameter Code [0x04] - 0 0 0 0 0 1 1 0x3 | Nature Of Address 0x3 - Subscriber National 1 - - - - - - - 0x1 | Odd/Even Indicator 0x1 - Odd Number Of Address Signals - - - - x x x x Spare - 0 0 1 - - - - 0x1 | Numbering Plan Indicator 0x1 - ISDN Numbering Plan 1 - - - - - - - 0x1 | Internal Network number Indicator 0x1 - Routing To Internal Network Number Not Allowed Address Signals [ 73241444501 ] Calling Party Number - Parameter Code [0x0A] 0 0 0 0 1 0 1 0 0xA | Calling Party Number Type - 0 0 0 0 0 1 1 0x3 | Nature Of Address 0x3 - Unique National 0 - - - - - - - 0x0 | Odd/Even Indicator 0x0 - Even Number Of Address Signals - - - - - - 1 1 0x3 | Screening Indicator 0x3 - Network Provided - - - - 0 0 - - 0x0 | Address Presentation Restriced Indicator 0x0 - Presentation Allowed - 0 0 1 - - - - 0x1 | Numbering Plan Indicator 0x1 - ISDN Numbering Plan 0 - - - - - - - 0x0 | Number Incomplete Indicator 0x0 - Complete Address Signals [ 7098072568 ] User Service Information - Parameter Code [0x1D] - - - 1 0 0 0 0 0x10| Information Transfer Capability 0x10 - 3.1KHZ Audio - 0 0 - - - - - 0x0 | Coding Standard 0x0 - ITU-T Standardized Coding x - - - - - - - Extension - - - 1 0 0 0 0 0x10| Information Transfer Rate 0x10 - 64 Kbits - 0 0 - - - - - 0x0 | Transfer Mode 0x0 - Transfer Mode Circuit x - - - - - - - Extension 0 0 0 0 0 0 1 1 0x3 | User Info Layer 1 0x3 - ALAW Speech Propagation Delay Counter - Parameter Code [0x31] 0 0 0 0 0 0 1 0 0x2 | Propogation Delay Counter Length Propogation Delay Value 0 0 0 0 0 0 0 0 0x0 | 0 0 0 1 1 0 0 0 0x18| Generic Address - Parameter Code [0xC0] 0 0 0 0 0 1 1 0 0x6 | Number Qualifier Indicator 0x6 - Additional Calling Party Number - 0 0 0 0 0 1 1 0x3 | Nature Of Address 0x3 - Subscriber National 0 - - - - - - - 0x0 | Odd/Even Indicator 0x0 - Even Number Of Address Signals - - - - - - 1 1 0x3 | Screening Indicator 0x3 - Network Provided - - - - 0 0 - - 0x0 | Address Presentation Restriced Indicator 0x0 - Presentation Allowed - 0 0 1 - - - - 0x1 | Numbering Plan Indicator 0x1 - ISDN Numbering Plan 0 - - - - - - - 0x0 | Number Incomplete Indicator 0x0 - Complete Address Signals [ 7098072568 ] Unrecognised Parameter 1 1 1 1 0 0 1 1 0xF3| Unrecognized Parameter Code 0 0 0 0 0 1 0 1 0x5 | Unrecognized Parameter Length Unrecognized Parameter Data 0 1 1 1 0 0 1 1 0x73| 1 1 1 1 0 0 0 0 0xF0| 0 1 1 1 1 0 1 0 0x7A| 0 0 0 0 0 1 0 0 0x4 | 0 0 0 1 1 1 1 0 0x1E| Parameter Compatibility Ind - Parameter Code [0x39] 0 0 0 0 0 1 0 0 0x4 | Parameter Compatibility Length Parameter Compatibility Info 0 0 1 1 0 0 0 1 0x31| Upgraded Parameter Instruction Indicators 1 - - - - - - - 0 0x0 | Transit At Intermediate Exch Ind 0x0 - transit interpretation - - - - - - 0 - 0x0 | Release Call Indicator 0x0 - do not release call - - - - - 0 - - 0x0 | Send Notification Indicator 0x0 - do not send notification - - - - 0 - - - 0x0 | Discard Message Indicator 0x0 - do not discard message(pass on) - - - 1 - - - - 0x1 | Discard Parameter Indicator 0x1 - discard parameter - 0 0 - - - - - 0x0 | Pass On Not Possible Indicator 0x0 - release call 1 - - - - - - - 0x1 | Extension 1 1 0 0 0 0 0 0 0xC0| Upgraded Parameter Instruction Indicators 1 - - - - - - - 0 0x0 | Transit At Intermediate Exch Ind 0x0 - transit interpretation - - - - - - 0 - 0x0 | Release Call Indicator 0x0 - do not release call - - - - - 1 - - 0x1 | Send Notification Indicator 0x1 - send notification - - - - 0 - - - 0x0 | Discard Message Indicator 0x0 - do not discard message(pass on) - - - 0 - - - - 0x0 | Discard Parameter Indicator 0x0 - do not discard parameter(pass on) - 0 0 - - - - - 0x0 | Pass On Not Possible Indicator 0x0 - release call 1 - - - - - - - 0x1 | Extension ================================================================================== SONUS ITU LOGFILE DECODE END ==================================================================================