Tried to use get_body_part and isup_to_json
first, but looks like I
can't understand syntax. My config:
loadmodule "tm.so"
loadmodule "sl.so"
loadmodule "xlog.so"
loadmodule "textops.so"
loadmodule "ss7ops.so"
listen=udp:0.0.0.0:5060
route {
get_body_part("application/isup", "$var(pbody)");
isup_to_json(8);
xlog("$isup(1)\n");
sl_send_reply("503", "Server is not configured");
}
Can't even run it due to:
kamailio_1 | 0(1) ERROR: textops [textops.c:2615]:
fixup_get_body_part(): failed to fixup result pvar
kamailio_1 | 0(1) ERROR: <core> [core/route.c:1154]: fix_actions():
fixing failed (code=-1) at cfg:/etc/kamailio/kamailio.cfg:10
kamailio_1 | error -1 while trying to fix configuration
Can you show me working example with get_body_part and isup_to_json
and json dump to stdout?
2018-03-29 18:21 GMT+03:00 Daniel-Constantin Mierla <miconda(a)gmail.com>om>:
As I got it, there is an ISUP parser inside
ss7ops module.
It may require a bit of C coding to build a function for helping with
what you need -- the two functions that are useful for doing it are:
*
https://www.kamailio.org/docs/modules/stable/modules/textops.html#textops.f…
*
https://www.kamailio.org/docs/modules/stable/modules/ss7ops.html#ss7ops.f.i…
The first one shows how to extract the part of the body from the sip
message with the ISUP, the second one shows to convert the ISUP data to
json. From there you can use jansson module to extract fields.
If you are not familiar with C coding, open a feature request on
kamailio issue tracker on
github.com, maybe someone can get to it soon,
otherwise I will look at it when I get a chance.
The other option right now is to use some Python or Lua script to do the
parsing of ISUP there, maybe there are libraries for it in those
languages. You get get the body of the SIP message inside these messages
using $rb variable or the textops function via KSR KEMI module:
-
http://kamailio.org/docs/tutorials/devel/kamailio-kemi-framework/kemimods/#…
-
http://kamailio.org/docs/tutorials/devel/kamailio-kemi-framework/modules/#k…
Cheers,
Daniel
On 29.03.18 12:50, Eugene Prokopiev wrote:
I can attach screenshot of ISUP part of pcap.
Is it possible to extract all ISUP parameters or at least 'Redirecting
number' or 'Called IN number'? Can extract ISUP part as is in binary
form and read by some external script? Are you know about any library
to parse ISUP binary data?
2018-03-29 11:30 GMT+03:00 Daniel-Constantin Mierla <miconda(a)gmail.com>om>:
> Hello,
>
> can you provide a pcap (or ngrep output) with such invite in order to
> see what can be done with existing modules? Maybe it needs just some
> script operations.
>
> Cheers,
> Daniel
>
>
> On 28.03.18 17:26, Eugene Prokopiev wrote:
>> Hi,
>>
>> I need to extract ISUP parameter 'Redirecting number' from SIP-I
>> INVITE request and add it as SIP header with 'X-' prefix to process in
>> FreeSWITCH. I tried to read
>>
https://kamailio.org/docs/modules/5.1.x/modules/sipt.html (but it is
>> about updating headers) and
>>
https://kamailio.org/docs/modules/5.1.x/modules/ss7ops.html (but I
>> have only ISUP encapsulated in SIP), so not found any solution. Help
>> me to find it please.
>>
> --
> Daniel-Constantin Mierla
>
www.twitter.com/miconda --
www.linkedin.com/in/miconda
> Kamailio Advanced Training - April 16-18, 2018, Berlin -
www.asipto.com
> Kamailio World Conference - May 14-16, 2018 -
www.kamailioworld.com
>
--
Daniel-Constantin Mierla
www.twitter.com/miconda --
www.linkedin.com/in/miconda
Kamailio Advanced Training - April 16-18, 2018, Berlin -
www.asipto.com
Kamailio World Conference - May 14-16, 2018 -
www.kamailioworld.com