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