[OpenSIPS-Users] problem with $avp pulled from local db cache

Richard Robson rrobson at greenlightcrm.com
Wed Aug 10 13:05:01 CEST 2016


Hi All,

I'm using  the local dbcache to record an accountcode password and two 
variables. these are used for authentoiaction and rate and channe 
limiting the customer.


the account code is a 4 digit number e.g. 0001

this authenticates correctly in the auth_db and auth modules. (its 
chached after the first attempt)

once authenticated the accountcode is uses as a ratelimit pipe, which is 
working fine after the auth_db, when  the values are cached in the local 
cache.

on a subsequent call the cached credentials are there and are pulled 
from the cache and the pv_proxy_auth passes. this is then ratelimited 
(with the same code block) but here we get an error.

rl_check("$avp(accountcode)", "$avp(customerratelimit)", "TAILDROP")

ERROR:core:fixup_get_ivalue: no valid PV value found (error in scripts)
ERROR:ratelimit:w_rl_check_3: cannot retrieve limit

I suspect that the avp that is being used is casting the value somehow 
ans the ratelimit is not recognising the value, but i'm logging the avp 
and it show 0001 in both cases.

[relay_customer] Account code: 0001 -  Channel Limit: 20 - ratelimit: 10

xlog("[relay_customer] Account code: $avp(accountcode) -  Channel Limit: 
$avp(customerchannellimit) -  ratelimit: $avp(customerratelimit)");

this is the fetch:

cache_fetch("local","username_$si",$avp(accountcode)

this is the  store:

cache_store("local","username_$si","$avp(accountcode)",1200)

here the avp is in quotes in one and not the other, which may be the 
problem but the script fails when the quotes are added to the fetch or 
removed from the store.


version 2.2.1



-- 
Richard Robson
Greenlight Support
01382 843843
support at greenlightcrm.com




More information about the Users mailing list