[Devel] Re: [Users] lookup problem

Jean-Michel Foucher jean-michel.foucher at wengo.fr
Tue Jun 6 17:01:05 CEST 2006


Jean-Michel Foucher wrote:

>Hello,
>
>here is the situation :
>
>one openSER statefull and one openSER registrar on different ports; both
>db_mode are DB_ONLY.
>
>when a UAC A rings UAC B, everything's fine until openSER statefull
>receives ACK message :
>
>as a matter of fact, the domain name was changed before receiving ACK
>message, therefore, openSER needs to do
>
>/lookup("location");
>
>/Unfortunately, openSER could not find the UAC A in database.
>
>i had a look to the mysql query made while ACK is treated and actually
>the username part of address_of_record disappeared :
>
>/select ... from location where username='';
>
>/It seems that when /print_where/ (modules/mysql/dbase.c) writes "where"
>part in mysql query, this function calls /val2str/ (modules/mysql/val.c)
>which will translate the value to a string. Until this call,
>everything's just fine, but when /val2str /calls
>_/mysql_real_escape_string/_, this last function returns an empty string.
>
>Any clue? Has anyone already face this problem?
>
>Thanks for your help,
>
>  
>
i think i understood a bit more my problem :

Actually, my architecture configuration makes an openser do a
lookup("location") during an ACK treatment.
A string was written in new_uri, therefore, in registrar module, in
lookup function :

if (_m->new_uri.s) uri = _m->new_uri;
	else uri = _m->first_line.u.request.uri;

writes _m->new_uri in uri whereas first_line.u.request.uri is needed.

i need to force uri to receive first_line.u.request.uri if i want the
sql query to work just fine.

is there any plan to add a parameter to lookup in order to force this
function to use the first line ?

cheers,

-- 
Jean-Michel Foucher
OpenWengo, the free and multiplatform VoIP client
http://dev.openwengo.com/





More information about the Devel mailing list