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 \


modparam("sqlops","sqlcon", CBDBURL)

As does this:

kamailio -f /etc/kamailio/kamailio.cfg -E \


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
phone: +34669448337


On Sun, May 12, 2019 at 8:38 AM Daniel-Constantin Mierla <miconda@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@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
phone: +34669448337


On Sat, May 11, 2019 at 12:59 AM Sergiu Pojoga <pojogas@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@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
phone: +34669448337


On Sat, May 11, 2019 at 12:32 AM Sergiu Pojoga <pojogas@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@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
phone: +34669448337
_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users

_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
-- 
Daniel-Constantin Mierla -- www.asipto.com
www.twitter.com/miconda -- www.linkedin.com/in/miconda
--
Regards,

David Villasmil
phone: +34669448337
-- 
Daniel-Constantin Mierla -- www.asipto.com
www.twitter.com/miconda -- www.linkedin.com/in/miconda
-- 
Daniel-Constantin Mierla -- www.asipto.com
www.twitter.com/miconda -- www.linkedin.com/in/miconda