[OpenSIPS-Users] exec_dset / mySQL / SER

Phillip Jones pjintheusa at gmail.com
Wed Feb 24 21:49:18 CET 2010


Thank you both for that help.

I have gone ahead and successfully implemented the avp_db_query version and
I now have a variable  $avp(i:1) that contains the correct forwarding uri.

Now this is really where I show my ignorance.

How go I use $avp(i:1) correctly, considering that I am going to call
t_relay()

if (!t_relay())
    {
              sl_reply_error();
    };

Is it simply a case of $ru =  $avp(i:1);

That appears to work but I just want to make sure it is the correct
approach.

Thanks again

pj



On Wed, Feb 24, 2010 at 2:25 PM, Brett Nemeroff <brett at nemeroff.com> wrote:

> Something else I wanted to mention regarding your code here.. There is an
> obvious race condition if two calls come in at once.. your script writes the
> query results to a tmp file which could already be written by another call.
>
> Overall, exec_dset should be avoided IMO. avp_db_query is fast, and easy to
> implement. I think you'll be happy with the results. The conversion should
> be simple enough, especially if your shell script really is that simple..
>
> -Brett
>
>
>
> On Wed, Feb 24, 2010 at 12:44 PM, Phillip Jones <pjintheusa at gmail.com>wrote:
>
>> Hi there,
>>
>> I am new to opensips - and I am trying to convert a script currently
>> working in SER. I am almost done - but have one last issue that is getting
>> the better of me. This is the script part:
>>
>> exec_dset('
>>
>>                 AQUERY="CALL Routing(\"$$SIP_USER\", \"$$SIP_SRCIP\",
>> \"$$SIP_RURI\", \"$$SIP_ORURI\", False);";
>>                 AURI=`mysql -Broot -pxxxxxxx -e "$$AQUERY" opensips`;
>>
>>                 echo $$AQUERY > /tmp/AQUERY.txt
>>                 echo $$AURI> /tmp/AURI.txt
>>
>>                 if [ ! -z "$$AURI" ] ; then
>>
>>                     printf ("$$AURI");
>>                 fi;
>>
>>                 exit;
>>
>>                 echo > dev/null
>>
>>             ');
>>
>> AURI contains "+-----------------------------------+ | DestinationURI |
>> +-----------------------------------+ | sip:121255555666 at 64.55.55.555:5060
>> | +-----------------------------------+" which kind of makes sense.
>>
>> Opensips falls over with error: ERROR:core:parse_uri: bad uri - which also
>> makes sense.
>>
>> If I use printf ("sip:121255555666 at 64.55.55.555:5060"); then every thing
>> works nicely.
>>
>> What I am missing here? If this worked in SER - what has changed - a
>> config in MySQL??
>>
>> Any help would be much appreciated. I think I could use REGEX here to
>> extract the uri, but I not familiar with the syntax in opensips.
>>
>>
>>
>> Thanks
>>
>>
>> pj
>>
>> _______________________________________________
>> Users mailing list
>> Users at lists.opensips.org
>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>
>>
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.opensips.org/pipermail/users/attachments/20100224/53630ca0/attachment.htm 


More information about the Users mailing list