[Users] avp problems switching from 1.0.1 to 1.1.x

tele tele at plexia.com
Thu Jun 29 14:04:18 CEST 2006


Bogdan-Andrei Iancu wrote:

> Most probably avp_db_load() discards the record returned by DB because 
> of type. The record has type 1 -  AVP with string name and integer 
> value. even so, I do not see an obviously reason for discarding it.

True is correct i can see val_int and val_str. i understand where was 
the problem. thank you bogdan!

 3(38201) db_flags=1, flags=4
 3(38201) DEBUG:avpops:load_avps: loaded avps = 1
 3(38201) db_flags=1, flags=4
 3(38201) DEBUG:avpops:load_avps: loaded avps = 1
 3(38201) db_flags=1, flags=4
 3(38201) DEBUG:avpops:load_avps: loaded avps = 1
 3(38201) db_flags=3, flags=4
 3(38201) DEBUG:avpops:load_avps: loaded avps = 1
 3(38201) INFO:avpops:print_avp: p=0x285255a0, flags=0x0083
 3(38201) INFO:                 name=<remote_address>
 3(38201) INFO:                 val_str=<82.215.163.5 / 12>
 3(38201) INFO:avpops:print_avp: p=0x28523b78, flags=0x0081
 3(38201) INFO:                 name=<connect_time>
 3(38201) INFO:                 val_int=<1151582690>
 3(38201) INFO:avpops:print_avp: p=0x28523b28, flags=0x0081
 3(38201) INFO:                 name=<setup_time>
 3(38201) INFO:                 val_int=<1151582687>
 3(38201) INFO:avpops:print_avp: p=0x28523ba0, flags=0x0081
 3(38201) INFO:                 name=<disconnect_time>
 3(38201) INFO:                 val_int=<1151582703>

> could you run with full debug and post the part related to the 
> avp_db_load() ?
>
> regards,
> bogdan
>
> tele wrote:
>
>> Bogdan-Andrei Iancu wrote:
>>
>>> Hi,
>>>
>>> avp_db_load() will consider the psseudo variable as uuid, so both 
>>> calls should do the same. Could you just check on mysql level what 
>>> are the queries done in the two cases? (check the text log of mysql).
>>
>>
>>
>> we can see that the query are the same, except of avp_db_load that 
>> include the fields attribute,type.
>> maybe it aspect an integer value (i use unixtime ex: 1151579428). but 
>> i have declared avp as string:
>>
>> modparam("avpops","avp_aliases","setup_time=s:setup_time")
>> modparam("avpops","avp_aliases","connect_time=s:connect_time")
>> modparam("avpops","avp_aliases","disconnect_time=s:disconnect_time")
>>
>> with avp_db_query() :
>>
>> T 127.0.0.1:56842 -> 127.0.0.1:3306 [AP]
>>  j....select value from usr_preferences where 
>> uuid='cd24f1e60e6eb449 at 82.215.128.140' and 
>> attribute='setup_time'                                                     
>> #
>> T 127.0.0.1:3306 -> 127.0.0.1:56842 [AP]
>>  
>> .....E....def.openser.usr_preferences.usr_preferences.value.value......... at .............1151579428.........                                                         
>>
>> #
>> T 127.0.0.1:56842 -> 127.0.0.1:3306 [AP]
>>  l....select value from usr_preferences where 
>> uuid='cd24f1e60e6eb449 at 82.215.128.140' and 
>> attribute='connect_time'                                                   
>> #
>> T 127.0.0.1:3306 -> 127.0.0.1:56842 [AP]
>>  
>> .....E....def.openser.usr_preferences.usr_preferences.value.value......... at .............1151579434.........                                                         
>>
>> #
>> T 127.0.0.1:56842 -> 127.0.0.1:3306 [AP]
>>  o....select value from usr_preferences where 
>> uuid='cd24f1e60e6eb449 at 82.215.128.140' and 
>> attribute='disconnect_time'                                                
>> #
>> T 127.0.0.1:3306 -> 127.0.0.1:56842 [AP]
>>  
>> .....E....def.openser.usr_preferences.usr_preferences.value.value......... at .............1151579455.........                                                         
>>
>> #
>> T 127.0.0.1:56842 -> 127.0.0.1:3306 [AP]
>>  d....delete from usr_preferences where 
>> uuid='cd24f1e60e6eb449 at 82.215.128.140' AND 
>> attribute='setup_time'                                                            
>>
>>
>>
>> with avp_db_load() :
>>
>> #
>> T 127.0.0.1:50918 -> 127.0.0.1:3306 [AP]
>>  y....select value,attribute,type from usr_preferences where 
>> uuid='4c3cd5e6b08ea471 at 82.215.128.140' AND 
>> attribute='setup_time'                                      #
>> T 127.0.0.1:3306 -> 127.0.0.1:50918 [AP]
>>  
>> .....E....def.openser.usr_preferences.usr_preferences.value.value......... at ...M....def.openser.usr_preferences.usr_preferences.attribute.attribute... 
>> ..... at ...C....
>>  
>> def.openser.usr_preferences.usr_preferences.type.type.?....... at .............1151579809.setup_time.1.........                                                        
>>
>> #
>> T 127.0.0.1:50918 -> 127.0.0.1:3306 [AP]
>>  {....select value,attribute,type from usr_preferences where 
>> uuid='4c3cd5e6b08ea471 at 82.215.128.140' AND 
>> attribute='connect_time'                                    #
>> T 127.0.0.1:3306 -> 127.0.0.1:50918 [AP]
>>  
>> .....E....def.openser.usr_preferences.usr_preferences.value.value......... at ...M....def.openser.usr_preferences.usr_preferences.attribute.attribute... 
>> ..... at ...C....
>>  
>> def.openser.usr_preferences.usr_preferences.type.type.?....... at .............1151579816.connect_time.1.........                                                      
>>
>> #
>> T 127.0.0.1:50918 -> 127.0.0.1:3306 [AP]
>>  ~....select value,attribute,type from usr_preferences where 
>> uuid='4c3cd5e6b08ea471 at 82.215.128.140' AND 
>> attribute='disconnect_time'                                 #
>> T 127.0.0.1:3306 -> 127.0.0.1:50918 [AP]
>>  
>> .....E....def.openser.usr_preferences.usr_preferences.value.value......... at ...M....def.openser.usr_preferences.usr_preferences.attribute.attribute... 
>> ..... at ...C....
>>  
>> def.openser.usr_preferences.usr_preferences.type.type.?....... at .............1151579823.disconnect_time.1.........                                                   
>>
>> #
>>
>>> tele wrote:
>>>
>>>> thanks!
>>>> Ok i'm using the call-id and with the avp_db_query it works but 
>>>> with avp_db_load not.
>>>> this is what i have done:
>>>>
>>>> working:
>>>>
>>>>     avp_db_query("select value from usr_preferences where 
>>>> uuid='$ci' and attribute='setup_time'","$avp(setup_time)");
>>>>     avp_db_query("select value from usr_preferences where 
>>>> uuid='$ci' and attribute='connect_time'","$avp(connect_time)");
>>>>     avp_db_query("select value from usr_preferences where 
>>>> uuid='$ci' and attribute='disconnect_time'","$avp(disconnect_time)");
>>>>
>>>> not working:
>>>>
>>>>      avp_db_load("$ci","$avp(setup_time)");
>>>>      avp_db_load("$ci","$avp(connect_time)");
>>>>      avp_db_load("$ci","$avp(disconnect_time)");
>>>>
>>>
>>
>>
>> _______________________________________________
>> Users mailing list
>> Users at openser.org
>> http://openser.org/cgi-bin/mailman/listinfo/users
>>
>





More information about the Users mailing list