Hello Kamailio-3 users,

I have two questions regarding usage of variables within the config file (as 
published in the NEW FEATURES of Kamailio 3.0.0). 

The reason why I want to use variables instead of standard configuration
lines is the maintainability of my SIP servers. I have a group of about 20
sip servers distributed over a wide area. Especially routing rules might
change during operation of the servers and must be adapted on all servers.
Therefore I want to use variables, defined at the beginning of each config
file. Within the config file / the different routing blocks I want to
reference to these variables. That would be much easier for automatic config 
script adaptation with a linux script (e.g.) than parsing the whole config file 
for special text phrases.


QUESTION 1:
==========
Is it impossible using a variable for requesting a SRC_IP address? With my
current configuration I always see an entry in the SYSLOG that looks as
follows:  "<core> [route.c:1531]: BUG: comp_ip: invalid type for  src_ip or 
dst_ip (20)"

The configuration lines look like:

$var(lst_gwIpRange) = "10.16.48.6[0-2]";
[...]
if (src_ip=~$var(lst_gwIpRange)) {
        [...]
}

Is maybe a transformation missing/necessary to avoid the error message (which 
causes a malfunction)? Can anybody give me a hint?


QUESTION 2:
==========
The second problem I found is, that the config variables can be configured
within a route block only and not - as expected - e.g. at the top of the
config file (in the same way as the custom variables). I can't use the custom 
variables as they are, because I will use more complex variables, which are a 
mixture of up to three custom variables. These "complex" variables will be used 
in more than one routing block. Therefore I have to define these variables in 
every routing block...... Is an alternative (easier) solution with a single 
definition available, too?

An example of my problem is as follows:

# custom variables defined on top of the kamailio.cfg file
tst.loc_ipaddr  = "10.10.1.1"   desc "IP addr of the local SIP Server"
tst.loc_prefix  = "11"          desc "prefix of this SRV"
tst.distRu1     = "51[0-9].*"   desc "variable representing ID1"

# the final variable should look like "sip:1151[0-9...@10.10.1.1"
# and is used in 3 routing blocks

route[]
$var(test) = "sip:" + $sel(cfg_get.tst.loc_prefix) +
$sel(cfg_get.tst.distRu1) + "@" + $sel(cfg_get.tst.loc_ipaddr);
[...]

route[TEST1]
$var(test) = "sip:" + $sel(cfg_get.tst.loc_prefix) +
$sel(cfg_get.tst.distRu1) + "@" + $sel(cfg_get.tst.loc_ipaddr);
[...]

route[TEST2]
$var(test) = "sip:" + $sel(cfg_get.tst.loc_prefix) +
$sel(cfg_get.tst.distRu1) + "@" + $sel(cfg_get.tst.loc_ipaddr);
[...]


Thanks in advance for any hints!

Regards,
Klaus Feichtinger

-- 
Sicherer, schneller und einfacher. Die aktuellen Internet-Browser -
jetzt kostenlos herunterladen! http://portal.gmx.net/de/go/atbrowser

_______________________________________________
Kamailio (OpenSER) - Users mailing list
Users@lists.kamailio.org
http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
http://lists.openser-project.org/cgi-bin/mailman/listinfo/users

Reply via email to