Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Noprint
Panel
borderColorgreen
bgColortransparent
borderWidth2

Back to Table of Contents

Back to SIP Services

Back to SIP Message Manipulation

Back to SMM Examples

Back to SDP Manipulation Examples

Code Block
# Sample SMM Rules to manipulate SDP content using the GET operations
# 1) getPayloadType
# 2) getCodecPosition
#
# Rule 1 Action 1: store "a=rtpmap:" to variable var1
# Rule 1 Action 2: store payloadtype for codec "PCMA/8000" to var2
# Rule 1 Action 3: append var2 to var1, so that var1 will have "a=rtpmap:xx", xx is the payload type of codec PCMA/8000
# Rule 1 Action 4: add parameter to a line identified by var1
set profiles signaling sipAdaptorProfile sdpGetProfile rule 1 criterion 1 type message message messageTypes request methodTypes invite
set profiles signaling sipAdaptorProfile sdpGetProfile rule 1 criterion 1 type message message condition exist
set profiles signaling sipAdaptorProfile sdpGetProfile rule 1 criterion 2 type messageBody messageBody messageBodyType sdp condition exist
set profiles signaling sipAdaptorProfile sdpGetProfile rule 1 criterion 3 type sdpContent sdpContent codecNames PCMA/8000 condition exist
set profiles signaling sipAdaptorProfile sdpGetProfile rule 1 criterion 3 type sdpContent sdpContent streamType audio streamInstanceId last
set profiles signaling sipAdaptorProfile sdpGetProfile rule 1 action 1 type variable operation store
set profiles signaling sipAdaptorProfile sdpGetProfile rule 1 action 1 from type value value "a=rtpmap:"
set profiles signaling sipAdaptorProfile sdpGetProfile rule 1 action 1 to type variable variableValue var1
set profiles signaling sipAdaptorProfile sdpGetProfile rule 1 action 2 type sdpContent operation getPayloadType sdpContentSubType codecByName
set profiles signaling sipAdaptorProfile sdpGetProfile rule 1 action 2 from type sdpContent sdpContent streamType audio streamInstanceId 1 
codecNames "PCMA/8000"
set profiles signaling sipAdaptorProfile sdpGetProfile rule 1 action 2 to type variable variableValue var2
set profiles signaling sipAdaptorProfile sdpGetProfile rule 1 action 3 type variable operation append
set profiles signaling sipAdaptorProfile sdpGetProfile rule 1 action 3 from type variable variableValue var2
set profiles signaling sipAdaptorProfile sdpGetProfile rule 1 action 3 to type variable variableValue var1
set profiles signaling sipAdaptorProfile sdpGetProfile rule 1 action 4 operation add type sdpContent sdpContentSubType parameter
set profiles signaling sipAdaptorProfile sdpGetProfile rule 1 action 4 from type value value ABCDEF=abcdef
set profiles signaling sipAdaptorProfile sdpGetProfile rule 1 action 4 to type sdpContent sdpContent sdpLine type variable variableValue var1
set profiles signaling sipAdaptorProfile sdpGetProfile rule 1 action 4 to sdpContent paramDelimiter ";" streamType audio streamInstanceId 1
# Rule 2 Action 1: store codec position for codec "PCMA/8000" to var3
# Rule 2 Action 2: add new header Codec-PCMA-Pos with value from var3
set profiles signaling sipAdaptorProfile sdpGetProfile rule 2 criterion 1 type message message messageTypes request methodTypes invite
set profiles signaling sipAdaptorProfile sdpGetProfile rule 2 criterion 1 type message message condition exist
set profiles signaling sipAdaptorProfile sdpGetProfile rule 2 criterion 2 type messageBody messageBody messageBodyType sdp condition exist
set profiles signaling sipAdaptorProfile sdpGetProfile rule 2 criterion 3 type sdpContent sdpContent codecNames PCMA/8000 condition exist
set profiles signaling sipAdaptorProfile sdpGetProfile rule 2 criterion 3 type sdpContent sdpContent streamType audio streamInstanceId 1
set profiles signaling sipAdaptorProfile sdpGetProfile rule 2 action 1 type sdpContent operation getCodecPosition sdpContentSubType codecByName
set profiles signaling sipAdaptorProfile sdpGetProfile rule 2 action 1 from type sdpContent sdpContent streamType audio streamInstanceId 1 
codecNames "PCMA/8000"
set profiles signaling sipAdaptorProfile sdpGetProfile rule 2 action 1 to type variable variableValue var3
set profiles signaling sipAdaptorProfile sdpGetProfile rule 2 action 2 type header operation add headerPosition last
set profiles signaling sipAdaptorProfile sdpGetProfile rule 2 action 2 from type variable variableValue var3
set profiles signaling sipAdaptorProfile sdpGetProfile rule 2 action 2 to type header value Codec-PCMA-Pos