# Sample SMM Rules to manipulate SDP content using the FilerCodecfilterCodec Operation
# Rule 1: re-arrange the codec as appear in the media line in which codec MPV/90000 as the 1st codec
# ,PCMU/8000 if exist, as the last codec and preserve else thing else in their original position.
set profiles signaling sipAdaptorProfile filterCodec rule 1 criterion 1 type message message messageTypes request methodTypes invite
set profiles signaling sipAdaptorProfile filterCodec rule 1 criterion 1 type message message condition exist
set profiles signaling sipAdaptorProfile filterCodec rule 1 criterion 2 type messageBody messageBody messageBodyType sdp condition exist
set profiles signaling sipAdaptorProfile filterCodec rule 1 action 1 type sdpContent operation filterCodec sdpContentSubType codecByName
set profiles signaling sipAdaptorProfile filterCodec rule 1 action 1 from type value value "MPV/90000,*,PCMU/8000"
set profiles signaling sipAdaptorProfile filterCodec rule 1 action 1 to type sdpContent sdpContent streamType audio streamInstanceId 1
# Rule 2: re-arrange the codec as appear in the media line in which codec wb as the 1st codec
# follow by wc as the second codec. All other codec should be purged.
# Note: operation on codec is only applicable for media stream with rtp/srtp as transport
set profiles signaling sipAdaptorProfile filterCodec rule 2 criterion 1 type message message messageTypes request methodTypes invite
set profiles signaling sipAdaptorProfile filterCodec rule 2 criterion 1 type message message condition exist
set profiles signaling sipAdaptorProfile filterCodec rule 2 criterion 2 type messageBody messageBody messageBodyType sdp condition exist
set profiles signaling sipAdaptorProfile filterCodec rule 2 action 1 type sdpContent operation filterCodec sdpContentSubType codecByName
set profiles signaling sipAdaptorProfile filterCodec rule 2 action 1 from type value value "wb,wc"
set profiles signaling sipAdaptorProfile filterCodec rule 2 action 1 to type sdpContent sdpContent streamType application streamInstanceId all
# Rule 3: re-arrange the codec as appear in the media line in which codec H261/90000 as the 1st codec if exist.
# All other codec should be preserved wth its current position.
set profiles signaling sipAdaptorProfile filterCodec rule 3 criterion 1 type message message messageTypes request methodTypes invite
set profiles signaling sipAdaptorProfile filterCodec rule 3 criterion 1 type message message condition exist
set profiles signaling sipAdaptorProfile filterCodec rule 3 criterion 2 type messageBody messageBody messageBodyType sdp condition exist
set profiles signaling sipAdaptorProfile filterCodec rule 3 action 1 type sdpContent operation filterCodec sdpContentSubType codecByName
set profiles signaling sipAdaptorProfile filterCodec rule 3 action 1 from type value value "H261/90000,*"
set profiles signaling sipAdaptorProfile filterCodec rule 3 action 1 to type sdpContent sdpContent streamType video streamInstanceId 1
# Rule 4: re-arrange the codec as appear in the last audio stream in which codec PCMU/8000,PCMA/8000 as the 1st and 2nd codec if exist.
# All other codec should be preserved wth its current position.
set profiles signaling sipAdaptorProfile filterCodec rule 4 criterion 1
type message message messageTypes request methodTypes invite
set profiles signaling sipAdaptorProfile filterCodec rule 4 criterion 1 type message message condition exist
set profiles signaling sipAdaptorProfile filterCodec rule 4 criterion 2 type messageBody messageBody messageBodyType sdp condition exist
set profiles signaling sipAdaptorProfile filterCodec rule 4 action 1 type sdpContent operation filterCodec sdpContentSubType codecByName
set profiles signaling sipAdaptorProfile filterCodec rule 4 action 1 from type value value "PCMU/8000,PCMA/8000,*"
set profiles signaling sipAdaptorProfile filterCodec rule 4 action 1 to type sdpContent sdpContent streamType audio streamInstanceId last
# Rule 5: re-arrange the codec as appear in the 2nd audio stream in which codec PCMU/8000,PCMA/8000 as the 1st and 2nd codec if exist.
# All other codec should be purge.
set profiles signaling sipAdaptorProfile filterCodec rule 5 criterion 1 type message message messageTypes request methodTypes invite
set profiles signaling sipAdaptorProfile filterCodec rule 5 criterion 1 type message message condition exist
set profiles signaling sipAdaptorProfile filterCodec rule 5 criterion 2 type messageBody messageBody messageBodyType sdp condition exist
set profiles signaling sipAdaptorProfile filterCodec rule 5 action 1 type sdpContent operation filterCodec sdpContentSubType codecByName
set profiles signaling sipAdaptorProfile filterCodec rule 5 action 1 from type value value "PCMU/8000,PCMA/8000"
set profiles signaling sipAdaptorProfile filterCodec rule 5 action 1 to type sdpContent sdpContent streamType audio streamInstanceId 2 |