[SR-Users] filter_body("application/sdp") on multipart/mixed; boundary with double Content-Length

Karsten Horsmann khorsmann at gmail.com
Mon Feb 8 12:58:52 CET 2021


Hi List,

I have some weird  multipart/mixed;boundary issues.
I use kamailio 5.3.6 with rtpengine 7.x.x (same with 8.x.x).

If i try to remove a multipart/mixed and leave only the sdp with
filter_body() that works except one thing.

The sender used IMHO an non RFC compliant version of rfc5621 and wrote the
Content-Length Header twice (one in the header, one in the sdp).
After manipulating the SDP filter_body() lets Content-Length in the sdp (i
guess).
And rtpengine is not happy with the sdp after that.
rtpengine [rtpengine.c:2588]: rtpp_function_call(): proxy replied with
error: Failed to parse SDP

Any ideas how to solve this?

Kind regards
Karsten Horsmann

https://tools.ietf.org/html/rfc5621#section-3.1

route[REMOVE_MULTIPART] {
        if (has_body("multipart/mixed")) {
                if ($sel(cfg_get.remove.multipart) == 1) {
                        if (filter_body("application/sdp")) {
                                remove_hf("Content-Type");
                                append_hf("Content-Type:
application/sdp\r\n");
                                msg_apply_changes();
                                xlog("L_WARN", "[$cfg(route)] Body part
multipart/mixed with application/sdp found\n");
                        } else {
                                xlog("L_ERROR", "[$cfg(route)] Body part
multipart/mixed without application/sdp found\n");
                        }
                } else {
                        xlog("L_INFO", "[$cfg(route)] Body part
multipart/mixed found - manipulation disabled\n");
                }
        }
}

-------------------
INVITE sip:+49XXXXXXXX at 172.20.120.57:5060 SIP/2.0
Via: SIP/2.0/UDP 172.20.120.51:5061;branch=z9hG4bK-6589-1-0
From: sipp <sip:sipp at 172.20.120.51:5061>;tag=6589SIPpTag001
To: sut <sip:+49XXXXXXXXX at 172.20.120.57:5060>
Call-ID: 1-6589 at 172.20.120.51
CSeq: 1 INVITE
Contact: sip:sipp at 172.20.120.51:5061
Max-Forwards: 70
Subject: Performance Test
Content-Type: multipart/mixed;boundary=sonus-content-delim
Content-Length:  1185

--sonus-content-delim
Content-Type: application/sdp
Content-Length: 305

v=0
o=Sonus_UAC 895311 862130 IN IP4 8.8.8.8
s=SIP Media Capabilities
c=IN IP4 8.8.8.8
t=0 0
m=audio 26088 RTP/AVP 8 0 18 101
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:18 G729/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:18 annexb=no
a=fmtp:101 0-15
a=sendrecv
a=rtcp:26089
a=ptime:20

--sonus-content-delim
Content-Type: application/pidf+xml

<?xml version="1.0" encoding="UTF-8"?><presence
xmlns="urn:ietf:params:xml:ns:pidf"
xmlns:gp="urn:ietf:params:xml:ns:pidf:geopriv10"
xmlns:cl="urn:ietf:params:xml:ns:pidf:geopriv10:civicLoc"
mlns:btd="http://btd.orange-business.com" entity="
pres:geotarget at btip.orange-business.com"><tuple
id="XXXX"><status><gp:geopriv><gp:location-info><cl:civicAddress><cl:country>DE</cl:countr
<cl:A1>Some
State</cl:A1><cl:A3>Somewhere</cl:A3><cl:A4>Somewhere</cl:A4><cl:A6>Somestreet</cl:A6><cl:YYY>1</cl:YYY><cl:PC>9999</cl:PC><cl:EMERGENCYZONE>XXXXXXX</cl:EMERG
CYZONE></cl:civicAddress></gp:location-info><gp:usage-rules></gp:usage-rules></gp:geopriv></status></tuple></presence>
--sonus-content-delim--

---------------------
INVITE sip:+49XXXXXXXX at foo SIP/2.0
Via: SIP/2.0/TCP
212.XX.XX.XX;branch=z9hG4bKc228.6b8fdf20d79998d1d355feb2dcf5ba63.0
From: sipp <sip:sipp at foo>;tag=6589SIPpTag001
To: sut <sip:+49XXXXXXXX at foo>
Call-ID: 1-6589 at 172.20.120.51
CSeq: 1 INVITE
Max-Forwards: 69
Content-Length:  347
Content-Type: application/sdp
P-Asserted-Identity: <sip:+49XXXXXXXX at 212.XX.XX.XX>
Contact: <sip:btpsh-60211bbe-674b-1 at 212.XX.XX.XX;transport=tcp>

Content-Length: 305

v=0
o=Sonus_UAC 895311 862130 IN IP4 8.8.8.8
s=SIP Media Capabilities
c=IN IP4 8.8.8.8
t=0 0
m=audio 26088 RTP/AVP 8 0 18 101
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:18 G729/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:18 annexb=no
a=fmtp:101 0-15
a=sendrecv
a=rtcp:26089
a=ptime:20


-- 
Mit freundlichen Grüßen
*Karsten Horsmann*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20210208/a425cf99/attachment.htm>


More information about the sr-users mailing list