[Kamailio-Devel] new feature: generic shared container in config language

Alex Balashov abalashov at evaristesys.com
Wed Sep 24 19:19:19 CEST 2008


Elena,

That is an EXTREMELY useful module!  :-)  Thanks!!  I have been thinking 
that a facility like this within the configuration script is needed 
pretty much since I started using OpenSER.

-- Alex

Elena-Ramona Modroiu wrote:

> Hi,
> 
> I just committed a new module: htable
> http://www.kamailio.org/docs/modules/devel/htable.html
> 
> It adds a generic hash table container for usage in configuration file.
> The hash table is in shared memory, therefore the values are global over
> all kamailio processes.
> 
> The items in hash table can be accessed via $sht(name). The name can
> include pseudo-variables that will be evaluated at runtime. In this way,
> the hash table can be used to store data per user and can offer
> functionality of dealing with array of values.
> 
> An example of how to protect against dictionary attacks is in the README
> (link to online version above).
> 
> As another example, loading values in hash tables from AVPs and building
> an array:
> 
> $var(i) = 0;
> while($(avp(s:tmp)[$var(i)]) != NULL)
> {
>    $sht(tmp[$var(i)]) = $(avp(s:tmp)[$var(i)]);
>    $var(i) = $var(i)+1;
> }
> 
> As a roadmap for the new module, planned for addition:
> - MI commands to get/set items in HT
> - ability to save/load in/from database
> - ability to init items at startup
> - auto-expire time for items
> 
> This completes global variables space along with shared variables
> ($shv(name)) which are single value and allow only static name, but they
> are faster to access (see cfgutils readme file for more details on
> $shv(name)).
> 
> Regards,
> Ramona
> 


-- 
Alex Balashov
Evariste Systems
Web    : http://www.evaristesys.com/
Tel    : (+1) (678) 954-0670
Direct : (+1) (678) 954-0671
Mobile : (+1) (706) 338-8599



More information about the Devel mailing list