[Serusers] avp_db_load fails with avp as source

Brett Nemeroff brett-ser-list at worldcall.net
Fri Nov 4 16:33:25 CET 2005


Daniel-Constantin Mierla wrote:

> What I can see in the log is that there is no avp with id integer 500 
> (defined by the avp alias callscope), which you use in avp_db_load(). 
> There is an avp which has the name 'callscope'. So, there must be a 
> value for the avp i:500.
>
> Daniel
>
>
> On 11/04/05 03:30, brett-ser-list wrote:
>
>> Hello All,
>> I'm trying (desperately) to use avp_db_load with an avp:
>> version: ser 0.9.3 (i386/linux)
>> flags: STATS: Off, USE_IPV6, USE_TCP, DISABLE_NAGLE, USE_MCAST, 
>> DNS_IP_HACK, SHM_MEM, SHM_MMAP, PKG_MALLOC, FAST_LOCK-ADAPTIVE_WAIT
>> ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, 
>> MAX_URI_SIZE 1024, BUF_SIZE 65535
>> @(#) $Id: main.c,v 1.197 2004/12/03 19:09:31 andrei Exp $
>> main.c compiled on 12:28:21 Aug 16 2005 with gcc 3.3
>>
>> modparam("auth_db","avps_column_str","callscope")
>> modparam("avpops","avp_aliases","callgroups=i:200")
>> modparam("avpops","avp_aliases","callscope=i:500")
>> avp_db_load("$callscope","$callgroups/avps") ;
>>
>> In watching the debug, I see the avp loaded just fine from the 
>> database from the auth_db parameter: 3(1735) DEBUG:avpops:print_avp: 
>> p=0xf51c20d8, flags=3
>> 3(1735) DEBUG:                 name=<callscope>
>> 3(1735) DEBUG:                 val_str=<200>
>>
>> but the above avp_db_load line is resulting in:
>> 3(1735) DEBUG:avpops:get_val_as_str: no avp found
>> 3(1735) ERROR:avpops:load_avps: failed to get uuid
>>
>> I also notice that it doesn't even bother to hit the database after 
>> the auth_db hit. So unless the avp table has been cached (Which I 
>> have no idea if it has..) how would it know?
>> Seems like error #1: no avp found? Seems like it doesn't like my 
>> syntax but according to the avpops documentation, it should be right:
>>  source = (sip_uri|avp_alias|str_value) 
>> ['/'('username'|'domain'|'uri'|'uuid')]
>>
>>
>> note: avp_db_load("$callscope/uuid","$callgroups/avps") ;
>> gives me:
>>  0(0) ERROR:avpops:fixup_db_avp: source/flags "callscope" unknown!
>
Hi Daniel,
Your comments seem circular. You say:
there is no avp with id integer 500 (defined by the avp alias callscope),
Then you say:
So, there must be a value for the avp i:500

And the avp_print even shows the alias "callscope" is actually 
populated. Am I missing something?

BTW,  I know there are plenty of times when AVPs are useful without user 
auth.. but this seems like an important requirement for providing 
authenticated services (if you authenticate, you can do this).
-Brett




More information about the sr-users mailing list