[Users] comparing an avp to a null value

Tavis P tavis.lists at galaxytelecom.net
Tue Apr 4 20:58:31 CEST 2006


I've been trying to make a comparison, using avp_check, between a pseudo
variable (copied to an avp) and a null value (which is a valid state for
some pseudo varibles currently)
I havn't had any luck in being able to determine if an avp is null short
of using a regex (which i try to avoid) so i thought i would mention
this here, perhaps this functionality may be seen as useful to others or
simply useful in general (tm)


Here is a quick example of what i'm currently doing
----
# Store the destination IP into an AVP
avp_printf("i:450", "$dd"); In this case, $dd is null because the
destination set contains a domain for this branch
avp_printf("i:451", "$si");

if ( avp_check("i:450", "re/^.{0,0}$/g") )
{
    xlog("L_WARN", "[$fU] Route{4}: AVP I:450 was empty");
}
----


I think it was probably thought that an avp should never have a null
value therefor there was no logic added to any of the functions used to
check/print/write avps which allowed for the creation/evaluation of
NULL, however it would be advantageous in the least to include this
functionality somewhere (other than regex matches)

a few things that i've tried, that were no successful
----
# Store the destination IP into an AVP
avp_printf("i:450", "$dd");
avp_printf("i:451", "$si");
avp_printf("i:452", ""); This will break script compilation
avp_write("i:452", ""); This will break script compilation
avp_write("i:452", "s:"); This will break script compilation

if ( avp_check("i:450", "eq//g") )
{
    xlog("L_WARN", "[$fU] Route{4}: AVP I:450 was empty");
}

if ( avp_check("i:450", "eq/0x/g") )
{
    xlog("L_WARN", "[$fU] Route{4}: AVP I:450 was empty");
}

if ( avp_check("i:450", "eq/i:452/g") )
{
    xlog("L_WARN", "[$fU] Route{4}: AVP I:450 was empty");
}
----




More information about the Users mailing list