[Kamailio-Users] NAThelper and multipart SDP

Daniel-Constantin Mierla miconda at gmail.com
Tue Jun 23 10:59:49 CEST 2009



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>> 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>>> 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>>>> 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>>>> 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>>
>                  
>              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/
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Kamailio (OpenSER) - Users mailing list
> 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/





More information about the sr-users mailing list