[SR-Users] define a DBURL with SLQOPS fails

Daniel-Constantin Mierla miconda at gmail.com
Mon May 13 09:48:21 CEST 2019


Hello,

I added some examples in master branch about using -A to define tokens
with values, I noticed it was not properly documented, it has to be like:

-A TOKEN

-A 'TOKEN=val'

-A 'TOKEN="val"'

a matter of needing the value to be surrounded by the double quotes or not.

Cheers,
Daniel

On 12.05.19 22:32, David Villasmil wrote:
> This fails miserably:
>
> kamailio -f /etc/kamailio/kamailio.cfg -E \
>   -A "DBURL mysql://admin:mypass@db.mydomaincom/kamailio" \
>   -A "CBDBURL cb=>mysql://admin:mypass@db.mydomaincom/kamailio" \
>   -A "ASGDBURL asg=>mysql://admin:mypass@db.mydomaincom/kamailio" -DDDD
>
>
> modparam("sqlops","sqlcon", CBDBURL)
>
> As does this:
>
> kamailio -f /etc/kamailio/kamailio.cfg -E \
>   -A "DBURL mysql://admin:mypass@db.mydomaincom/kamailio" \
>   -A "CBDBURL cb=>mysql://admin:mypass@db.mydomaincom/kamailio" \
>   -A "ASGDBURL asg=>mysql://admin:mypass@db.mydomaincom/kamailio" -DDDD
>
>
> cfg
>
> modparam("sqlops","sqlcon", "CBDBURL")
> ...
> $var(rows)=$sqlrows(cb);
>
> When running:
>
>  0(27514) CRITICAL: <core> [core/cfg.y:3424]: yyerror_at(): parse
> error in config file /etc/kamailio/kamailio.cfg, line 1200, column
> 13-24: Can't get from cache: $sqlrows(cb)
>
>
> while hardcoded does work...
>
> Don't really know where to go from here... It seems sqlops just
> doesn't take a define as the dburl source
>
> Regards,
>
> David Villasmil
> email: david.villasmil.work at gmail.com
> <mailto:david.villasmil.work at gmail.com>
> phone: +34669448337
>
>
> On Sun, May 12, 2019 at 8:38 AM Daniel-Constantin Mierla
> <miconda at gmail.com <mailto:miconda at gmail.com>> wrote:
>
>     Try first something like:
>
>     modparam("sqlops","sqlcon","cb=>" DBURL )
>
>     If doesn't work, then:
>
>     modparam("sqlops","sqlcon", CBDBURL)
>
>     and have -A twice, one for DBURL and another one for CBDBURL.
>
>     The latest dev version (iirc) has the option to evaluate variables
>     in the defines, so you can use there the environment pseudo-variables.
>
>     Cheers,
>     Daniel
>
>     On 11.05.19 11:56, David Villasmil wrote:
>>     Thanks Daniel;
>>
>>     The thing is I’m trying to implement password-less starts (no
>>     hardcoded password)
>>
>>     So I’m querying the password on start from aws ssm and injecting
>>     it as a define, like.
>>
>>     Kamailio -f kamailio.cfg -A “DBURL
>>     `script-than-returns-MySQL-dburl-lambda.sh`“
>>
>>     Is it  possible to do substrdef from the command line?
>>
>>     Better yet, do you have a different. Approach to doing this?
>>
>>     David
>>
>>
>>
>>     On Sat, 11 May 2019 at 07:12, Daniel-Constantin Mierla
>>     <miconda at gmail.com <mailto:miconda at gmail.com>> wrote:
>>
>>         Hello,
>>
>>         use:
>>
>>         #!substdef "!DBURL!mysql://user:password@localhost/dbname!"
>>
>>         The define is replacing only standalone tokens, not inside
>>         string values, like you have for sqlcon.
>>
>>         More docs about should be in core cookbook from wiki.
>>
>>         Cheers,
>>         Daniel
>>
>>         On 11.05.19 02:05, David Villasmil wrote:
>>>         yes that works.
>>>
>>>         My problem is not with sqlops.
>>>
>>>         My problem is with the DEFINE.
>>>
>>>         If I define:
>>>
>>>         #!define DBURL "mysql://user:password@localhost/dbname"
>>>
>>>         and later:
>>>
>>>         modparam("domain", "db_url", DBURL)
>>>
>>>         and then:
>>>
>>>         modparam("sqlops","sqlcon","cb=>mysql://user:password@localhost/dbname")
>>>
>>>         Everything works properly.
>>>
>>>
>>>         My problem is how to use that DEFINE on ALL instances where
>>>         i need to use it.
>>>         i.e.
>>>
>>>         #!define DBURL "mysql://user:password@localhost/dbname"
>>>         modparam("domain", "db_url", DBURL)
>>>         modparam("sqlops","sqlcon","cb=>mysql://user:password@localhost/dbname")
>>>
>>>         works, but;
>>>
>>>         #!define DBURL ©
>>>         modparam("domain", "db_url", DBURL)
>>>         modparam("sqlops","sqlcon","cb=>DBURL")
>>>
>>>         does NOT, since
>>>         DBURL translates "mysql://user:password@localhost/dbname"
>>>         (quotes included)
>>>
>>>         so 
>>>         modparam("sqlops","sqlcon","cb=>DBURL")
>>>         translates into
>>>         modparam("sqlops","sqlcon","cb=>"mysql://user:password@localhost/dbname"")
>>>
>>>         and that, of course, fails.
>>>
>>>
>>>
>>>
>>>         Regards,
>>>
>>>         David Villasmil
>>>         email: david.villasmil.work at gmail.com
>>>         <mailto:david.villasmil.work at gmail.com>
>>>         phone: +34669448337
>>>
>>>
>>>         On Sat, May 11, 2019 at 12:59 AM Sergiu Pojoga
>>>         <pojogas at gmail.com <mailto:pojogas at gmail.com>> wrote:
>>>
>>>             does is work like below? That's how mine is set,
>>>             probably for the same reason.
>>>
>>>             modparam("sqlops","sqlcon","cb=>mysql://user:password@localhost/dbname")
>>>
>>>             On Fri, May 10, 2019 at 7:47 PM David Villasmil
>>>             <david.villasmil.work at gmail.com
>>>             <mailto:david.villasmil.work at gmail.com>> wrote:
>>>
>>>                 No, 
>>>
>>>                 DBURL translates into 
>>>
>>>                 "mysql://user:admin@dbuser/dbname"
>>>
>>>                 so in sqlops:
>>>
>>>                 modparam("sqlops","sqlcon","cb=>DBURL")  
>>>
>>>                 translates into:
>>>
>>>                 modparam("sqlops","sqlcon","cb=>"mysql://user:admin@dbuser/dbname"")  
>>>
>>>                 that works great on 
>>>
>>>                 modparam("domain", "db_url", DBURL)
>>>
>>>                 because it translates into:
>>>
>>>                 modparam("domain",
>>>                 "db_url", "mysql://user:admin@dbuser/dbname")
>>>
>>>
>>>
>>>                 But not on the sqlops case
>>>
>>>                 Regards,
>>>
>>>                 David Villasmil
>>>                 email: david.villasmil.work at gmail.com
>>>                 <mailto:david.villasmil.work at gmail.com>
>>>                 phone: +34669448337
>>>
>>>
>>>                 On Sat, May 11, 2019 at 12:32 AM Sergiu Pojoga
>>>                 <pojogas at gmail.com <mailto:pojogas at gmail.com>> wrote:
>>>
>>>                     You've got a typo
>>>
>>>                     modparam("sqlops","sqlcon","cb=>DBURL")  
>>>
>>>                     On Fri, May 10, 2019 at 7:02 PM David Villasmil
>>>                     <david.villasmil.work at gmail.com
>>>                     <mailto:david.villasmil.work at gmail.com>> wrote:
>>>
>>>                         Hello guys,
>>>
>>>                         So, i'm defining:
>>>
>>>                         DBURL "mysql://user:password@dbhost/dbname"
>>>
>>>                         and later on...
>>>
>>>                         modparam("sqlops","sqlcon","cb=>"DBURL)
>>>
>>>                         and this fails miserably..
>>>
>>>                         What do do on this case?
>>>
>>>
>>>                         Thanks all!
>>>
>>>                         Regards,
>>>
>>>                         David Villasmil
>>>                         email: david.villasmil.work at gmail.com
>>>                         <mailto:david.villasmil.work at gmail.com>
>>>                         phone: +34669448337
>>>                         _______________________________________________
>>>                         Kamailio (SER) - Users Mailing List
>>>                         sr-users at lists.kamailio.org
>>>                         <mailto:sr-users at lists.kamailio.org>
>>>                         https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>>>
>>>                     _______________________________________________
>>>                     Kamailio (SER) - Users Mailing List
>>>                     sr-users at lists.kamailio.org
>>>                     <mailto:sr-users at lists.kamailio.org>
>>>                     https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>>>
>>>                 _______________________________________________
>>>                 Kamailio (SER) - Users Mailing List
>>>                 sr-users at lists.kamailio.org
>>>                 <mailto:sr-users at lists.kamailio.org>
>>>                 https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>>>
>>>             _______________________________________________
>>>             Kamailio (SER) - Users Mailing List
>>>             sr-users at lists.kamailio.org
>>>             <mailto:sr-users at lists.kamailio.org>
>>>             https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>>>
>>>
>>>         _______________________________________________
>>>         Kamailio (SER) - Users Mailing List
>>>         sr-users at lists.kamailio.org <mailto:sr-users at lists.kamailio.org>
>>>         https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>>
>>         -- 
>>         Daniel-Constantin Mierla -- www.asipto.com <http://www.asipto.com>
>>         www.twitter.com/miconda <http://www.twitter.com/miconda> -- www.linkedin.com/in/miconda <http://www.linkedin.com/in/miconda>
>>
>>     -- 
>>     Regards,
>>
>>     David Villasmil
>>     email: david.villasmil.work at gmail.com
>>     <mailto:david.villasmil.work at gmail.com>
>>     phone: +34669448337
>
>     -- 
>     Daniel-Constantin Mierla -- www.asipto.com <http://www.asipto.com>
>     www.twitter.com/miconda <http://www.twitter.com/miconda> -- www.linkedin.com/in/miconda <http://www.linkedin.com/in/miconda>
>
-- 
Daniel-Constantin Mierla -- www.asipto.com
www.twitter.com/miconda -- www.linkedin.com/in/miconda

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20190513/818edad4/attachment.html>


More information about the sr-users mailing list