[SR-Users] GSM PDU Decoding

Alex Balashov abalashov at evaristesys.com
Tue Feb 4 07:44:09 CET 2014


On 02/04/2014 01:35 AM, Ramya Ramamurthy wrote:

>         I am using kamailio for decoding of SIP Packets with Message
> Body as a GSM PDU. But I am not sure of the modules which i need to use
> for the same. Some help on this would be greatly appreciated.

Kamailio doesn't care much about the encapsulated message body, and 
there are no special modules to deal with GSM message bodies.  In fact, 
the only module that I am aware of that deals with manipulation of 
encapsulated bodies at all (besides the far-end NAT traversal and 
rtpproxy modules that modify RTP endpoints and other SDP attributes) is 
the SIP-T module[1]. But that's ISUP, not GSM.

You can access the message body with $rb:

 
http://www.kamailio.org/wiki/cookbooks/4.1.x/pseudovariables#rb_-_body_of_requestreply

The bad news is that pretty much all textops[x] functions operate on the 
RURI or other existing, predefined parts of the SIP message, so you 
can't use those. Transformations can be of some help:

    http://www.kamailio.org/wiki/cookbooks/4.1.x/transformations

But they mostly expect SIP or URI-like data as well. So, short of 
cobbling something together with {s.substr}, {s.select} and {re.subst}, 
those probably aren't going to be very fruitful either.

Depending on how complex the GSM PDU is and how exactly it's formatted, 
you might be better off passing it to a third-party script for 
processing. Other languages' generally-oriented programming runtimes and 
libraries allow free reading and manipulation of strings much more 
easily than Kamailio's relatively narrow config script environment. 
Offhand, Kamailio supports embedded Lua, Python, Perl, and I think Java 
and Mono (.NET) as well, although some of these are easier to use than 
others. All of these modules, as far as I know, involve some 
performance-related optimisations, such as only loading the language 
interpreter into memory once, instead of at every invocation.

-- Alex

[1] http://kamailio.org/docs/modules/4.1.x/modules/sipt.html


-- 
Alex Balashov - Principal
Evariste Systems LLC
235 E Ponce de Leon Ave
Suite 106
Decatur, GA 30030
United States
Tel: +1-678-954-0670
Web: http://www.evaristesys.com/, http://www.alexbalashov.com/



More information about the sr-users mailing list