Hi<br><br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
there are two separate issues here related to multipart/mixed.<br>
<br>
one is nathelper/mediaproxy module related and the other relates to<br>
textops/filter_body function.<br>
<br>
mediaproxy module&#39;s use_mediaproxy() function can extract application/sdp<br>
bodypart both in k 1.5 and sr.<br>
</blockquote><div><br>ok, this point is clear. I&#39;m sorry but I&#39;m not so familiar with NAT support in kamailio and there are three modules (NATHelper, Mediaproxy and NAT_traversal, ...) that apparently do similar things. I will carrefully read these module docs.<br>


<br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
textops/filter_body function is able to leave out all other bodyparts<br>
except the one given as argument, but boundary string is properly<br>
extracted from Content-type param only in sr.<br>
<font color="#888888"></font></blockquote><div><br>So if I understand well (please correct me if I&#39;m wrong) the &quot;plan&quot; is:<br><br>1º) I install MediaProxy and use Kamailio MEDIAPROXY module instead of rtpproxy/NATHelper<br>

<br>2º) filter the app/sdp part with <br><pre style="margin-left: 40px;">if (has_body(&quot;multipart/mixed&quot;)) {<br>    if (filter_body(&quot;application/sdp&quot;) {<br>        remove_hf(&quot;Content-Type&quot;);<br>

        append_hf(&quot;Content-Type: application/sdp\r\n&quot;);<br>    } else {<br>
        xlog(&quot;Body part application/sdp not found\n&quot;);<br>    }<br>}<br></pre>     As the multipart boundary seems to be hardcoded with &quot;--Boundary&quot; in Kamailio Mediaproxy module, I will make sure my client is using this one.<br>

<br>3º) then engage the media proxy with<br><pre style="margin-left: 40px;">if (method==INVITE &amp;&amp; !has_totag()) {<br>
    # We can also use a specific media relay if we need to<br>    #$avp(s:media_relay) = &quot;1.2.3.4&quot;;<br>    engage_media_proxy();<br>}<br></pre>4º) finally put the body part(s) that have been removed in 1º) and relay the INVITE to my next hop.<br>


     I believe I can save the body part(s) in 1º) and put them back using set_body(txt, content_type).<br><br>Do you believe that this should work ?<br><br>-pascal<br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">


<font color="#888888"><br>
-- juha<br>
</font></blockquote></div><br>