[SR-Users] using set_body_multipart and append_body_part on on_reply routes

david descartin at bts.io
Tue Nov 8 16:55:12 CET 2016


hello Sergey

yes i was using them with a IAM ISUP part inside the SIP response, so
they were doing something, but it's not correct so it must be an ACM,
ANM depending on the response.
i made some more tests and i saw the issue is not with append_body_part
which seems it's doing ok.

it's with set_body_multipart when in responses seems cannot detect the
body last boundary and close it by -- so the ISUP is malformed

i could workaround this by parsing the body and adding it 

route[SIPISUP] {
    msg_apply_changes();
    set_body_multipart();
    msg_apply_changes();
    $var(isup) = "\x06\x12\x25\x01\x39\x02\x12\x01\x00";
    append_body_part("$var(isup)","application/isup;version=itu-t92
+","signal;handling=optional");
    msg_apply_changes();
    $avp(s:xxxx) = $rb;
    $var(xxxx) =
$(avp(s:xxxx){re.subst,/(.*)--unique-boundary-1(.*)/\1--unique-boundary-1--\2/sg});
    set_body("$var(xxxx)","multipart/mixed;boundary=\"unique-boundary-1
\"");
}

this way at least we have a base ISUP part for a 1XX response 

best regards
david




El lun, 07-11-2016 a las 23:08 +0200, Sergey Basov escribió:

> Hi David,
> 
> if you look at source code of the sipt module
> https://github.com/kamailio/kamailio/blob/master/modules/sipt/sipt.c
> 
> functions sipt_destination & sipt_set_calling works only for ISUP_IAM.
> 
> But as I know from my tests ISUP encapsulation must be only in invite,
> and is optional for other messages.
> --
> Best regards,
> Sergey Basov                     e-mail: sergey.v.basov at gmail.com
> 
> tel: (+38067) 403-62-54
> 
> 
> 2016-11-07 19:19 GMT+02:00 david <descartin at bts.io>:
> > hello all
> >
> > i'm using kam version 4.4.1 and i would like to generate an ISUP part on the
> > 1xx,2xx responses to a remote carrier since the fsw i send the calls to
> > cannot handle ISUP SDP.
> > despite seeing in the doc that those functions cannot be used there and only
> > in  REQUEST_ROUTE, FAILURE_ROUTE, BRANCH_ROUTE, i tried and it works....
> > partially, because it seems it doesnt create the last boundary and it
> > creates a next boundary with an empty "Encapsulated multipart part: "
> >
> > this the the route i call from onreply_route
> >
> > route[SIPISUP] {
> >     set_body_multipart();
> >     msg_apply_changes();
> >     $var(isup) =
> > "\x01\x12\x49\x01\x0a\x03\x02\x0a\x08\x84\x90\x33\x41\x72\x17\x01\x06\x0a\x08\x04\x13\x93\x70\x21\x73\x23\x10\x08\x01\x01\x00";
> >
> > append_body_part("$var(isup)","application/isup;version=itu-t92+","signal;handling=optional");
> >     msg_apply_changes();
> >     sipt_destination($rU, 31, 4);
> >     sipt_set_calling($fU, 4, 0, 3);
> >     msg_apply_changes();
> > }
> >
> > am i doing something wrong? how can i set this to end the SDP with last
> > boundary?
> >
> > thanks a lot and regards
> > david
> >
> >
> > _______________________________________________
> > SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
> > sr-users at lists.sip-router.org
> > http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
> >
> 
> _______________________________________________
> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
> sr-users at lists.sip-router.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20161108/a39da101/attachment.html>


More information about the sr-users mailing list