Example 16 Change and Add New Lines to the SDP
In this sample of changing and adding lines from the SDP, the goal is to convert non-standard codec H.263a to H.263. The SIP manipulation would be configured like the following:
sip-manipulation
name prop2std-codec-name
description rule to translate proprietary to standard codec name
header-rule
name CodecManp
header-name Content-Type
action manipulate
comparison-type case-sensitive
match-value
msg-type any
new-value
methods
element-rule
name H263a-prop2std
parameter-name application/sdp
type mime
action find-replace-all
match-val-type any
comparison-type case-sensitive
match-value a=rtpmap:([0-9]{1,3}) H263a/.*\r\n
new-value a=rtpmap:+$1+" H263/90000"+$CRLF+a=fmtp:+$1+" QCIF=4"+$CRLF
The result of manipulating the original SIP INVITE (shown above) with the configured SIP manipulation is:
INVITE sip:service@192.168.1.61:5060 SIP/2.0 Via: SIP/2.0/UDP 192.168.1.60:5060;branch=z9hG4bK-1-0 From: sipp <sip:sipp@192.168.1.60:5060>;tag=1 To: sut <sip:service@192.168.1.61:5060> Call-ID: 1-15554@192.168.1.60 CSeq: 1 INVITE Contact: <sip:sipp@192.168.1.60:5060;user=phone> Max-Forwards: 70 Content-Type: multipart/mixed;boundary=boundary Content-Length: 466 --boundary Content-Type: application/sdp v=0 o=user1 53655765 2353687637 IN IP4 192.168.1.60 s=- c=IN IP4 192.168.1.60 t=0 0 m=audio 12345 RTP/AVP 8 a=rtpmap:18 G729/8000/1 a=fmtp:18 annexb=no a=sendrecv a=maxptime:200 --boundary Content-Type: application/sdp v=0 o=user1 53655765 2353687637 IN IP4 192.168.1.60 s=- c=IN IP4 192.168.1.60 t=0 0 m=video 12345 RTP/AVP 34 a=rtpmap:34 H263/90000 a=fmtp:34 QCIF=4 --boundary-


