Hello,
When writing kemi cfg (python in my case), is there any way to get rid of standard cfg shared variables and use kemi cfg variables instead?
E.g. Instead of $shv(blabla) (in standard config) can I use some global python var called 'blabla'? Is it seen and shared by all kamailio processes? Or I still need to use KSR.pv.get/set("$shv(blabla)") ?
Thank you, Stefan
Hello,
On 05.12.23 14:50, Stefan-Cristian Mititelu via sr-users wrote:
Hello,
When writing kemi cfg (python in my case), is there any way to get rid of standard cfg shared variables and use kemi cfg variables instead?
E.g. Instead of $shv(blabla) (in standard config) can I use some global python var called 'blabla'? Is it seen and shared by all kamailio processes? Or I still need to use KSR.pv.get/set("$shv(blabla)") ?
the global python native variables are per process, so you can't replace $shv(...) with them. The python ones are more like $var(...) from kamailio.
However, instead of the generic KSR.pv.get/set(), you can use the alternative KEMI functions -- see them starting at:
- https://www.kamailio.org/docs/tutorials/devel/kamailio-kemi-framework/module...
Cheers, Daniel
Thank you, Stefan
________________________________ From: Daniel-Constantin Mierla miconda@gmail.com Sent: Tuesday, December 5, 2023 4:06:08 PM To: Kamailio (SER) - Users Mailing List Cc: Stefan-Cristian Mititelu Subject: Re: [SR-Users] Kemi questions
Hello,
On 05.12.23 14:50, Stefan-Cristian Mititelu via sr-users wrote:
Hello,
When writing kemi cfg (python in my case), is there any way to get rid of standard cfg shared variables and use kemi cfg variables instead?
E.g. Instead of $shv(blabla) (in standard config) can I use some global python var called 'blabla'? Is it seen and shared by all kamailio processes? Or I still need to use KSR.pv.get/set("$shv(blabla)") ?
the global python native variables are per process, so you can't replace $shv(...) with them. The python ones are more like $var(...) from kamailio.
However, instead of the generic KSR.pv.get/set(), you can use the alternative KEMI functions -- see them starting at:
- https://www.kamailio.org/docs/tutorials/devel/kamailio-kemi-framework/module...
Cheers, Daniel
-- Daniel-Constantin Mierla (@ asipto.com) twitter.com/miconda -- linkedin.com/in/miconda Kamailio Consultancy and Development Services Kamailio Advanced Training -- asipto.com
Hi,
I have a follow-up question related to this.
I would like to use a python lib for mysql db connections and some simple queries(beside what other kama module queries). I tried to make a db connection per process in kemi "child_init()" function. All queries work ok for first and 2'nd requests. However on 3'rd request received I get this error:
kamailio[87876]: ERROR: db_mysql [km_dbase.c:122]: db_mysql_submit_query(): driver error on query: Lost connection to server during query (2013) ERROR: <core> [db_query.c:141]: db_do_query_internal(): error while submitting query ERROR: auth_db [authorize.c:178]: get_ha1(): failed to query database
The error goes away if I close the python db connection after each request. So it requires a new connect/disconnect for each request.
My questions are:
1. If I keep the python lib db connection per process, it should be available among new requests, right? 2. Is the above a bug when I do KSR.auth_db.auth_check(str,str,int)?
Thank you, Stefan ________________________________ From: Stefan-Cristian Mititelu via sr-users sr-users@lists.kamailio.org Sent: Tuesday, December 5, 2023 4:15:47 PM To: Kamailio (SER) - Users Mailing List Cc: Stefan-Cristian Mititelu Subject: [SR-Users] Re: Kemi questions
Thank you, Stefan
________________________________ From: Daniel-Constantin Mierla miconda@gmail.com Sent: Tuesday, December 5, 2023 4:06:08 PM To: Kamailio (SER) - Users Mailing List Cc: Stefan-Cristian Mititelu Subject: Re: [SR-Users] Kemi questions
Hello,
On 05.12.23 14:50, Stefan-Cristian Mititelu via sr-users wrote:
Hello,
When writing kemi cfg (python in my case), is there any way to get rid of standard cfg shared variables and use kemi cfg variables instead?
E.g. Instead of $shv(blabla) (in standard config) can I use some global python var called 'blabla'? Is it seen and shared by all kamailio processes? Or I still need to use KSR.pv.get/set("$shv(blabla)") ?
the global python native variables are per process, so you can't replace $shv(...) with them. The python ones are more like $var(...) from kamailio.
However, instead of the generic KSR.pv.get/set(), you can use the alternative KEMI functions -- see them starting at:
- https://www.kamailio.org/docs/tutorials/devel/kamailio-kemi-framework/module...
Cheers, Daniel
-- Daniel-Constantin Mierla (@ asipto.com) twitter.com/miconda -- linkedin.com/in/miconda Kamailio Consultancy and Development Services Kamailio Advanced Training -- asipto.com