[Kamailio-Users] NAThelper and multipart SDP
Daniel-Constantin Mierla
miconda at gmail.com
Tue Jun 23 12:01:32 CEST 2009
Hi Pascal,
you are right, a stupid bug introduced with the support for the
multipart. I committed to the git repo.
Thanks,
Daniel
On 06/23/2009 11:55 AM, Pascal Maugeri wrote:
> Daniel
>
> Are you sure that this source fragment (in nhelpr_funcs.c):
>
> /* no need for parse_headers(msg, EOH), get_body will
> * parse everything */
> /*is the content type correct?*/
> if((ret = check_content_type(msg))==1)
> {
> LM_ERR("content type mismatching\n");
> goto error;
> }
>
> shouldn't be
>
> /* no need for parse_headers(msg, EOH), get_body will
> * parse everything */
> /*is the content type correct?*/
> if((ret = check_content_type(msg))== -1)
> {
> LM_ERR("content type mismatching\n");
> goto error;
> }
>
> ? ( "==1" --> "==-1")
>
> Because now it gives me errors when processing INVITE with
> application/sdp payload.
>
> -pascal
>
>
> On Tue, Jun 23, 2009 at 10:59 AM, Daniel-Constantin Mierla
> <miconda at gmail.com <mailto:miconda at gmail.com>> wrote:
>
>
>
> On 06/23/2009 10:16 AM, Pascal Maugeri wrote:
>
> This bug is fixed now with your patch Daniel!
> Thank you, I go ahead with my testing
>
> ok, I will backport to kamailio 1.5 in few days if there is no
> related bug reported meanwhile.
>
> Cheers,
> Daniel
>
>
> Cheers,
> Pascal
>
>
>
> On Mon, Jun 22, 2009 at 5:34 PM, Daniel-Constantin Mierla
> <miconda at gmail.com <mailto:miconda at gmail.com>
> <mailto:miconda at gmail.com <mailto:miconda at gmail.com>>> wrote:
>
> Can you check this patch I just committed?
>
>
> http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=caef5ace2026fcb2a9dffb471e2cec6d843082f8
>
> Basically, you simply can get the extract_body() function from
> nathelper/nhelpr_funcs.c and replace it in kamailio.
>
> Let me know if works ok now.
>
> Thanks,
> Daniel
>
>
> On 06/22/2009 04:22 PM, Daniel-Constantin Mierla wrote:
>
> please send me the original and the new invite so I can see
> how the body is changed afterwards.
>
> Cheers,
> Daniel
>
> On 06/22/2009 03:23 PM, Pascal Maugeri wrote:
>
> With your patch there is a small bug when
> re-constructing
> the multipart payload:
>
> [...]
> --Genaker-boundary
> Content-Type: application/sdp
>
> v=0
> [...]
> a=fmtp:TBCP queuing=0; tb_priority=1; timestamp=0;
> tb_granted=0; poc_sess_priority=1; poc_lock=0
>
>
> *a=nortpproxy:yes--Genaker-boundary*
> Content-Type: application/resource-lists+xml
>
> <?xml version="1.0" encoding="UTF-8"?>
> <resource-lists
> xmlns="urn:ietf:params:xml:ns:resource-lists"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
> [...]
>
> --Genaker-boundary--
>
>
> 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.
>
> We're progressing ;-)
>
> -pascal
>
> On Mon, Jun 22, 2009 at 11:36 AM, Daniel-Constantin
> Mierla
> <miconda at gmail.com <mailto:miconda at gmail.com>
> <mailto:miconda at gmail.com <mailto:miconda at gmail.com>>
> <mailto:miconda at gmail.com
> <mailto:miconda at gmail.com> <mailto:miconda at gmail.com
> <mailto:miconda at gmail.com>>>> wrote:
>
> Hello Pascal,
>
> I have just committed support for multipart
> bodies in
> sip router,
> if works then I will backport to 1.5.
>
>
> http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=1f41271e1c1b879217835b8b3fdbdc2680138f25
>
>
>
> 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.
>
> Cheers,
> Daniel
>
>
> On 06/22/2009 11:30 AM, Pascal Maugeri wrote:
>
> I tried to install mediaproxy but it looks
> tricky
> to install
> (many dependencies, including kernel specific
> configurations) :-(
> and I would like to stick to rtpproxy for
> performance reason.
>
> 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.
>
> Regards,
> Pascal
>
>
> On Fri, Jun 19, 2009 at 9:26 PM, Pascal Maugeri
> <pascal.maugeri at gmail.com
> <mailto:pascal.maugeri at gmail.com>
> <mailto:pascal.maugeri at gmail.com
> <mailto:pascal.maugeri at gmail.com>>
> <mailto:pascal.maugeri at gmail.com
> <mailto:pascal.maugeri at gmail.com>
> <mailto:pascal.maugeri at gmail.com
> <mailto:pascal.maugeri at gmail.com>>>
> <mailto:pascal.maugeri at gmail.com
> <mailto:pascal.maugeri at gmail.com>
> <mailto:pascal.maugeri at gmail.com
> <mailto:pascal.maugeri at gmail.com>>
> <mailto:pascal.maugeri at gmail.com
> <mailto:pascal.maugeri at gmail.com>
> <mailto:pascal.maugeri at gmail.com
> <mailto:pascal.maugeri at gmail.com>>>>> wrote:
>
>
>
> On Fri, Jun 19, 2009 at 9:13 PM, Juha
> Heinanen
> <jh at tutpro.com <mailto:jh at tutpro.com>
> <mailto:jh at tutpro.com <mailto:jh at tutpro.com>>
> <mailto:jh at tutpro.com <mailto:jh at tutpro.com>
> <mailto:jh at tutpro.com <mailto:jh at tutpro.com>>>
> <mailto:jh at tutpro.com
> <mailto:jh at tutpro.com> <mailto:jh at tutpro.com
> <mailto:jh at tutpro.com>>
> <mailto:jh at tutpro.com <mailto:jh at tutpro.com>
> <mailto:jh at tutpro.com <mailto:jh at tutpro.com>>>>> wrote:
>
> Pascal Maugeri writes:
>
> > So if I understand well (please
> correct
> me if I'm wrong)
> the "plan" is:
> >
> > 1º) I install MediaProxy and use
> Kamailio
> MEDIAPROXY
> module
> instead of
> > rtpproxy/NATHelper
> >
> > 2º) filter the app/sdp part with
> >
> > 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");
> > }
> > }
>
> you don't need to call filter_body if you
> use mediaproxy.
>
> > 3º) then engage the media proxy with
> >
> > if (method==INVITE && !has_totag()) {
> >
> > # We can also use a specific media
> relay if we
> need to
> > #$avp(s:media_relay) = "1.2.3.4";
> > engage_media_proxy();
> > }
>
> i have never used engage_media_proxy()
> functions,
> because it
> makes some
> assumptions that are not generally
> true. i use
> use_media_proxy() instead.
>
> > 4º) finally put the body part(s) that
> have been
> removed in
> 1º) and relay the
> > INVITE to my next hop.
> > I believe I can save the body
> part(s) in 1º)
> and put
> them back using
> > set_body(txt, content_type).
>
> you don't need to do anything like
> that if
> you use
> use_media_proxy()
> function, because it does not remove
> anything.
>
>
> Thanks Juha ! I can't wait for monday to
> test it :-)
>
> Have a nice week-end
> Pascal
>
> -- juha
>
>
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Kamailio (OpenSER) - Users mailing list
> Users at lists.kamailio.org
> <mailto:Users at lists.kamailio.org>
> <mailto:Users at lists.kamailio.org
> <mailto:Users at lists.kamailio.org>>
> <mailto:Users at lists.kamailio.org
> <mailto:Users at lists.kamailio.org>
> <mailto:Users at lists.kamailio.org
> <mailto:Users at lists.kamailio.org>>>
>
> http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
>
> http://lists.openser-project.org/cgi-bin/mailman/listinfo/users
>
>
> -- Daniel-Constantin Mierla
> http://www.asipto.com/
>
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Kamailio (OpenSER) - Users mailing list
> Users at lists.kamailio.org
> <mailto:Users at lists.kamailio.org>
> <mailto:Users at lists.kamailio.org
> <mailto:Users at lists.kamailio.org>>
>
> http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
>
> http://lists.openser-project.org/cgi-bin/mailman/listinfo/users
>
>
>
> -- Daniel-Constantin Mierla
> http://www.asipto.com/
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Kamailio (OpenSER) - Users mailing list
> Users at lists.kamailio.org <mailto:Users at lists.kamailio.org>
> http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
> http://lists.openser-project.org/cgi-bin/mailman/listinfo/users
>
>
> --
> Daniel-Constantin Mierla
> http://www.asipto.com/
>
>
--
Daniel-Constantin Mierla
http://www.asipto.com/
More information about the Users
mailing list