Example 12 Response Status Processing

Given that the object of this example is to drop the 183 Session Progress response when it does not have SDP, your SIP manipulation configuration needs to:

  1. Search for the 183 Session Progress response
  2. Determine if the identified 183 Session Progress responses contain SDP; the Oracle® Enterprise Session Border Controller searches the 183 Session Progress responses where the content length is zero
  3. If the 183 Session Progress response does not contain SDP, change its status code to 699
  4. Drop all 699 responses
sip-manipulation
        name                           manip
        description
        header-rule
                name                           IsContentLength0
                header-name                    Content-Length
                action                         store
                comparison-type                pattern-rule
                match-value                    0
                msg-type                       reply
                new-value
                methods
        header-rule
                name                           is183
                header-name                    @status-line
                action                         store
                comparison-type                pattern-rule
                match-value
                msg-type                       reply
                new-value
                methods
                element-rule
                        name                           is183Code
                        parameter-name
                        type                           status-code
                        action                         store
                        match-val-type                 any
                        comparison-type                pattern-rule
                        match-value                    183
                        new-value
        header-rule
                name                           change183
                header-name                    @status-line
                action                         manipulate
                comparison-type                case-sensitive
                match-value
                msg-type                       reply
                new-value
                methods
                element-rule
                        name                           make699
                        parameter-name
                        type                           status-code
                        action                         replace
                        match-val-type                 any
                        comparison-type                pattern-rule
                        match-value                    $IsContentLength0 & $is183.$is183Code
                        new-value                      699
sip-interface
	options dropResponse=699

The following four configuration examples are based on the this sample SIP INVITE:

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 18
a=rtpmap:8 G729/8000/1
a=fmtp:18 annexb=no
a=sendrecv
a=ptime:20
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 H263a/90000
a=ptime:30
--boundary--