Hi, Juha....

Thanks for the tip....

I implemented the suggested logic on the ONREPLY_ROUTE. It is recognizing the multi part SDP, but when "filter_body" is called, it returns the following ERROR on the log:

ERROR:textops:filter_body_f: Boundary not found after content

The processed message (a 183 Session Progress with SDP) is bellow. I looked at the documentation, but didn't realize what to do...

Edson.


==RELEVANT CODE==================================================
 if (has_body("multipart/mixed")) {
   xlog("L_INFO","            Multipart SDP founded");
   xlog("L_INFO","$rb");
   if (filter_body("application/sdp")) {
     remove_hf("Content-Type");
     append_hf("Content-Type: application/sdp\r\n");
     xlog("L_INFO","            executing 'force_rtp_proxy'");
     force_rtp_proxy();
   } else {
xlog("L_INFO", " Multipart SDP, but Body part application/sdp not found\n");
   }
 } else {
     xlog("L_INFO","            executing 'force_rtp_proxy'");
     force_rtp_proxy();
 }

==LOG SHOWs=========================================================
Jun 11 22:31:39 Kamailio-151 /sbin/kamailio[11690]: ON-REPLY[1] incoming reply <100> for <INVITE> <8999>/<pstn-number> Jun 11 22:31:39 Kamailio-151 /sbin/kamailio[11690]: ON-REPLY[1] incoming reply <183> for <INVITE> <8999>/<pstn-number> Jun 11 22:31:39 Kamailio-151 /sbin/kamailio[11690]: Multipart SDP founded Jun 11 22:31:39 Kamailio-151 /sbin/kamailio[11690]: --uniqueBoundary Content-Type: application/sdp v=0 o=CiscoSystemsSIP-GW-UserAgent 6554 7546 IN IP4 200.xxx.xx.yy s=SIP Call c=IN IP4 200.xxx.xx.yy t=0 0 m=audio 18250 RTP/AVP 0 c=IN IP4 200.xxx.xx.yy a=rtpmap:0 PCMU/8000 --uniqueBoundary Content-Type: application/gtd Content-Disposition: signal;handling=optional CPG, PRN,isdn*,,QSIG*, --uniqueBoundary-- Jun 11 22:31:39 Kamailio-151 /sbin/kamailio[11690]: ERROR:textops:filter_body_f: Boundary not found after content Jun 11 22:31:39 Kamailio-151 /sbin/kamailio[11690]: Multipart SDP, but Body part application/sdp not found

==MESSAGE=========================================================
SIP/2.0 183 Session Progress.
Via: SIP/2.0/UDP 200.xxx.xx.xx;branch=z9hG4bKe54e.5ef97746.0,SIP/2.0/UDP 192.168.1.139:25862;received=189.WW.WWW.WW;branch=z9hG4bK-d8754z-460ee22e063d0246-1---d8754z-;rport=25862.
From: "Edson - Kamailio"<sip:8...@kamailio.x.y.z>;tag=7d791c57.
To: "PSTN"<sip:pstn-num...@kamailio.x.y.z>;tag=E1444EE0-12C9.
Date: Fri, 12 Jun 2009 01:31:39 gmt.
Call-ID: M2UzMjVmYjM1Mjg2N2IwMWYyYWIxOGM1NjJmMTg1YWE..
Server: Cisco-SIPGateway/IOS-12.x.
CSeq: 2 INVITE.
Allow-Events: telephone-event.
Contact: <sip:pstn-num...@200.xxx.xx.yy:5060>.
Record-Route: <sip:200.xxx.xx.xx;lr=on;nat=yes>.
MIME-Version: 1.0.
Content-Type: multipart/mixed;boundary=uniqueBoundary.
Content-Length: 378.
.
--uniqueBoundary.
Content-Type: application/sdp.
.
v=0.
o=CiscoSystemsSIP-GW-UserAgent 6554 7546 IN IP4 200.xxx.xx.yy.
s=SIP Call.
c=IN IP4 200.xxx.xx.yy.
t=0 0.
m=audio 18250 RTP/AVP 0.
c=IN IP4 200.xxx.xx.yy.
a=rtpmap:0 PCMU/8000.
--uniqueBoundary.
Content-Type: application/gtd.
Content-Disposition: signal;handling=optional.
.
CPG,.
PRN,isdn*,,QSIG*,.
.
--uniqueBoundary--.


Juha Heinanen escreveu:
Edson - Lists writes:

> Maybe, then, someone could point me to how to disable multipart SDP on > Cisco AS5300 GWs.... I already dig it on Cisco and Google sites, but so > far nothing founded...

instead of disabling multipart in cisco, may be you could use this
textops function hack that i wrote for the purpose:

1.3.16.  filter_body(content_type)

   Filters multipart body by leaving out all other body parts
   except the first body part of given type.

   Meaning of the parameters is as follows:
     * content_type - Content type to be left in the body.

   This function can be used from REQUEST_ROUTE, ONREPLY_ROUTE,
   FAILURE_ROUTE, BRANCH_ROUTE.

   Example 1.16. filter_body usage
...
if (has_body("multipart/mixed")) {
    if (filter_body("application/sdp") {
        remove_hf("Content-Type");
        append_hf("Content-Type: application/sdp\r\n");
    } else {
        xlog("Body part application/sdp not found\n");
    }
}
...

-- juha


_______________________________________________
Kamailio (OpenSER) - Users mailing list
Users@lists.kamailio.org
http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
http://lists.openser-project.org/cgi-bin/mailman/listinfo/users

Reply via email to