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@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@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users