With your patch there is a small bug when re-constructing the multipart payload:<br><br><div style="margin-left: 40px;">[...]<br>--Genaker-boundary<br>Content-Type: application/sdp<br><br>v=0<br>[...]<br>a=fmtp:TBCP queuing=0; tb_priority=1; timestamp=0; tb_granted=0; poc_sess_priority=1; poc_lock=0<br>
<br><br><b>a=nortpproxy:yes--Genaker-boundary</b><br>Content-Type: application/resource-lists+xml<br><br><?xml version="1.0" encoding="UTF-8"?><br><resource-lists xmlns="urn:ietf:params:xml:ns:resource-lists" xmlns:xsi="<a href="http://www.w3.org/2001/XMLSchema-instance">http://www.w3.org/2001/XMLSchema-instance</a>"><br>
[...]<br><br>--Genaker-boundary--<br></div><br><br>Observe the line "a=nortpproxy:yes--Genaker-boundary" : there are CRLFs missing. And there two CRLF before "a=nortpproxy:yes". I guess you're adding the CRLF in the incorrect order.<br>
<br>We're progressing ;-)<br><br>-pascal<br><br><div class="gmail_quote">On Mon, Jun 22, 2009 at 11:36 AM, Daniel-Constantin Mierla <span dir="ltr"><<a href="mailto:miconda@gmail.com">miconda@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hello Pascal,<br>
<br>
I have just committed support for multipart bodies in sip router, if works then I will backport to 1.5.<br>
<br>
<a href="http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=1f41271e1c1b879217835b8b3fdbdc2680138f25" target="_blank">http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=1f41271e1c1b879217835b8b3fdbdc2680138f25</a><br>
<br>
<br>
Can you test it? Unfortunately I cannot do it these days properly due to traveling. Patch should work pretty straightforward with 1.5 though, if you want to test it directly there.<br>
<br>
Cheers,<br>
Daniel<div class="im"><br>
<br>
On 06/22/2009 11:30 AM, Pascal Maugeri wrote:<br>
</div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="im">
I tried to install mediaproxy but it looks tricky to install (many dependencies, including kernel specific configurations) :-(<br>
and I would like to stick to rtpproxy for performance reason.<br>
<br>
Do you believe the same workaround using textops/filter_body can be used using rtpproxy ? I think yes as these are two different things as said Juha.<br>
<br>
Regards,<br>
Pascal<br>
<br>
<br></div><div class="im">
On Fri, Jun 19, 2009 at 9:26 PM, Pascal Maugeri <<a href="mailto:pascal.maugeri@gmail.com" target="_blank">pascal.maugeri@gmail.com</a> <mailto:<a href="mailto:pascal.maugeri@gmail.com" target="_blank">pascal.maugeri@gmail.com</a>>> wrote:<br>
<br>
<br>
<br>
On Fri, Jun 19, 2009 at 9:13 PM, Juha Heinanen <<a href="mailto:jh@tutpro.com" target="_blank">jh@tutpro.com</a><br></div><div><div></div><div class="h5">
<mailto:<a href="mailto:jh@tutpro.com" target="_blank">jh@tutpro.com</a>>> wrote:<br>
<br>
Pascal Maugeri writes:<br>
<br>
> So if I understand well (please correct me if I'm wrong)<br>
the "plan" is:<br>
><br>
> 1º) I install MediaProxy and use Kamailio MEDIAPROXY module<br>
instead of<br>
> rtpproxy/NATHelper<br>
><br>
> 2º) filter the app/sdp part with<br>
><br>
> if (has_body("multipart/mixed")) {<br>
> if (filter_body("application/sdp") {<br>
> remove_hf("Content-Type");<br>
><br>
> append_hf("Content-Type: application/sdp\r\n");<br>
> } else {<br>
><br>
> xlog("Body part application/sdp not found\n");<br>
> }<br>
> }<br>
<br>
you don't need to call filter_body if you use mediaproxy.<br>
<br>
> 3º) then engage the media proxy with<br>
><br>
> if (method==INVITE && !has_totag()) {<br>
><br>
> # We can also use a specific media relay if we need to<br>
> #$avp(s:media_relay) = "1.2.3.4";<br>
> engage_media_proxy();<br>
> }<br>
<br>
i have never used engage_media_proxy() functions, because it<br>
makes some<br>
assumptions that are not generally true. i use<br>
use_media_proxy() instead.<br>
<br>
> 4º) finally put the body part(s) that have been removed in<br>
1º) and relay the<br>
> INVITE to my next hop.<br>
> I believe I can save the body part(s) in 1º) and put<br>
them back using<br>
> set_body(txt, content_type).<br>
<br>
you don't need to do anything like that if you use<br>
use_media_proxy()<br>
function, because it does not remove anything.<br>
<br>
<br>
Thanks Juha ! I can't wait for monday to test it :-)<br>
<br>
Have a nice week-end<br>
Pascal<br>
<br>
<br>
<br>
-- juha<br>
<br>
<br>
<br></div></div><div class="im">
------------------------------------------------------------------------<br>
<br>
_______________________________________________<br>
Kamailio (OpenSER) - Users mailing list<br>
<a href="mailto:Users@lists.kamailio.org" target="_blank">Users@lists.kamailio.org</a><br>
</div><div class="im"><a href="http://lists.kamailio.org/cgi-bin/mailman/listinfo/users" target="_blank">http://lists.kamailio.org/cgi-bin/mailman/listinfo/users</a><br>
<a href="http://lists.openser-project.org/cgi-bin/mailman/listinfo/users" target="_blank">http://lists.openser-project.org/cgi-bin/mailman/listinfo/users</a><br>
</div></blockquote><font color="#888888">
<br>
-- <br>
Daniel-Constantin Mierla<br>
<a href="http://www.asipto.com/" target="_blank">http://www.asipto.com/</a><br>
<br>
</font></blockquote></div><br>