[SR-Users] setflag and hash table variables

Asgaroth 00asgaroth00 at gmail.com
Wed Oct 14 15:32:27 CEST 2015


Hi Daniel,

Thanks for the info, I'm not familiar with $mf.

Is "$mf = $mf | (1 << $sht(core_setid=>$var(ds_setid)) );" functionally 
equivilent to "setflag( $sht(core_setid=>$var(ds_setid)));"?

Can I still use the isflagset function to check if certain flags are set 
when using your alternative approach?



On 14/10/2015 14:20, Daniel-Constantin Mierla wrote:
> Hello,
>
> the function might not accept pseudo-variables, perhaps we should 
> update it. For now you can use script bitwise operations with $mf:
>
> $mf = $mf | (1 << $sht(core_setid=>$var(ds_setid)) );
>
> Cheers,
> Daniel
>
> On 14/10/15 14:35, Asgaroth wrote:
>> I originally sent this to sr-dev in error, I am resending to sr-users 
>> instead, thanks
>>
>> Hi All,
>>
>> Quick question, is it possible to use variables in the setflag 
>> function, I am trying to set a flag that is stored in a hash table 
>> using the setflag function, but I keep getting syntax errors. I am 
>> using kamailio 4.3.3.
>>
>> Here's what I am trying to do:
>>
>> htable core_setid defines a dispatcher setid key and its value is 
>> associated with a flag as follows:
>>
>> id:key:key_type:value_type:value:expires
>> 1:102:0:1:7:0
>>
>> so, simple hash table type with an integer key of value 7 and no expiry
>>
>> In dispatcher I have the following modparams set, so that 
>> ds_is_from_list() will set them if found:
>>
>> modparam("dispatcher", "setid_pvname", "$var(ds_setid)")
>> modparam("dispatcher", "attrs_pvname", "$var(ds_setid_attrs)")
>>
>> Then in my routing logic I have the following code block:
>>
>> if ( ds_is_from_list() ) {
>>         if ( $sht(core_setid=>$var(ds_setid)) != $null ) {
>>             setflag( $sht(core_setid=>$var(ds_setid)) );
>>             return;
>>         } else {
>>             send_reply("403", "No flag set for source");
>>             exit;
>>         }
>> }
>>
>> When I test this using kamailio -c -f <filename> I get the following 
>> error:
>>
>>  0(20629) : <core> [cfg.y:3432]: yyerror_at(): parse error in config 
>> file /shared/kamailio/etc/routing_logic.cfg, line 175, column 21-52: 
>> syntax error
>>  0(20629) : <core> [cfg.y:3432]: yyerror_at(): parse error in config 
>> file /shared/kamailio/etc/routing_logic.cfg, line 175, column 21-52: 
>> missing '(' or ')'?
>>  0(20629) : <core> [cfg.y:3432]: yyerror_at(): parse error in config 
>> file /shared/kamailio/etc/routing_logic.cfg, line 175, column 21-52: 
>> bad command: missing ';'?
>>  0(20629) : <core> [cfg.y:3435]: yyerror_at(): parse error in config 
>> file /shared/kamailio/etc/routing_logic.cfg, line 175, column 53: bad 
>> command
>> ERROR: bad config file (4 errors)
>>
>> If I change the setflag line to setflag(7), then I dont get the error.
>>
>> I was wondering if its possible to have hashtable variables as 
>> parameters to the setflag function, or am I going about this in the 
>> wron way.
>>
>> Any thoughts would be appreciated.
>>
>> Thanks
>>
>>
>> _______________________________________________
>> 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
>
> -- 
> Daniel-Constantin Mierla
> http://twitter.com/#!/miconda  -http://www.linkedin.com/in/miconda
> Book: SIP Routing With Kamailio -http://www.asipto.com
>
>
> _______________________________________________
> 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/20151014/f2be35f8/attachment.html>


More information about the sr-users mailing list