I need to access custom database tables (i.e. not default with kamailio) from a lua script (extending kamailio.cfg).
Processing any incoming SIP request starts with a lua function and that in turn call other functions - and each one needs database access for taking routing decision. This seems to be a huge performance issue (connecting/querying db in several functions for a sip invite).
Could you please suggest
Any global scope (loads only once during start-up, but valid for each routing) in kamailio, where the required tables could be cached.
Or any other way to address this.
Thanks in advance.
On Tue, Jun 21, 2011 at 2:21 PM, Daniel-Constantin Mierla <miconda@gmail.com> wrote:
Hello,
to rewrite the r-uri you can use the function for setting PV value:
We plan to use Kamailio as redirect server.
Corresponding contact list is to be fetched by a Lua script
from DB.
The problem is about calling the required 'rewriteuri'
function:
From lua script. both 'sr.rewriteuri()' and
'sr.modf("rewriteuri", ...)" fails to write the 'contact'
field.
I tried an alternative way; pushing the value from lua
(e.g. sr.pv.sets("contact", "sip:...")) and got the value
in the Kamailio.cfg ($var(contact)). But can't call the
rewriteuri function with this variable's value as
argument. This seems to be a general problem of calling a
function from .cfg with a variable's value as parameter.