|
|
|
@ -139,6 +139,9 @@ loadmodule "xlog.so" |
|
|
|
loadmodule "mi_fifo.so" |
|
|
|
modparam("mi_fifo", "fifo_name", "/tmp/kamailio_fifo") |
|
|
|
|
|
|
|
######## UAC ######## |
|
|
|
loadmodule "uac.so" |
|
|
|
|
|
|
|
######## UAC Redirection module ######## |
|
|
|
loadmodule "uac_redirect.so" |
|
|
|
|
|
|
|
@ -147,22 +150,22 @@ loadmodule "db_text.so" |
|
|
|
modparam("db_text", "db_mode", 1) |
|
|
|
|
|
|
|
####### Kazoo Integration module ########## |
|
|
|
loadmodule "db_kazoo.so" |
|
|
|
modparam("db_kazoo", "node_hostname", "MY_HOSTNAME") |
|
|
|
modparam("db_kazoo", "amqp_connection", "MY_AMQP_URL") |
|
|
|
loadmodule "kazoo.so" |
|
|
|
modparam("kazoo", "node_hostname", "MY_HOSTNAME") |
|
|
|
modparam("kazoo", "amqp_connection", "MY_AMQP_URL") |
|
|
|
#!ifdef MY_AMQP_URL_SECONDARY |
|
|
|
modparam("db_kazoo", "amqp_connection", "MY_AMQP_URL_SECONDARY") |
|
|
|
modparam("kazoo", "amqp_connection", "MY_AMQP_URL_SECONDARY") |
|
|
|
#!endif |
|
|
|
#!ifdef MY_AMQP_URL_TERTIARY |
|
|
|
modparam("db_kazoo", "amqp_connection", "MY_AMQP_URL_TERTIARY") |
|
|
|
modparam("kazoo", "amqp_connection", "MY_AMQP_URL_TERTIARY") |
|
|
|
#!endif |
|
|
|
#!ifdef MY_AMQP_MAX_CHANNELS |
|
|
|
modparam("db_kazoo", "amqp_max_channels", MY_AMQP_MAX_CHANNELS) |
|
|
|
modparam("kazoo", "amqp_max_channels", MY_AMQP_MAX_CHANNELS) |
|
|
|
#!else |
|
|
|
modparam("db_kazoo", "amqp_max_channels", 100) |
|
|
|
modparam("kazoo", "amqp_max_channels", 100) |
|
|
|
#!endif |
|
|
|
modparam("db_kazoo", "amqp_internal_loop_count", 1); |
|
|
|
modparam("db_kazoo", "amqp_consumer_loop_count", 4); |
|
|
|
modparam("kazoo", "amqp_internal_loop_count", 1); |
|
|
|
modparam("kazoo", "amqp_consumer_loop_count", 4); |
|
|
|
|
|
|
|
####### Role Configurations ########## |
|
|
|
#!ifdef DISPATCHER-ROLE |
|
|
|
@ -205,7 +208,7 @@ modparam("permissions", "db_mode", 1) |
|
|
|
route |
|
|
|
{ |
|
|
|
# log the basic info regarding this call |
|
|
|
xlog("L_INFO", "$ci|start|recieved $oP request $rm $ou"); |
|
|
|
xlog("L_INFO", "$ci|start|recieved $pr request $rm $ou"); |
|
|
|
xlog("L_INFO", "$ci|log|source $si:$sp"); |
|
|
|
xlog("L_INFO", "$ci|log|from $fu"); |
|
|
|
xlog("L_INFO", "$ci|log|to $tu"); |
|
|
|
@ -328,6 +331,7 @@ route[HANDLE_MESSAGE] |
|
|
|
#!ifdef MESSAGE-ROLE |
|
|
|
if (is_method("MESSAGE")) { |
|
|
|
xlog("L_INFO", "$ci|MESSAGE from $fu to $tu"); |
|
|
|
t_on_reply("MESSAGE_REPLY"); |
|
|
|
if (isflagset(FLAG_INTERNALLY_SOURCED) || src_ip == myself) { |
|
|
|
xlog("L_INFO", "$ci| routing MESSAGE to external from $fu to $tu"); |
|
|
|
route(INTERNAL_TO_EXTERNAL_RELAY); |
|
|
|
@ -352,14 +356,27 @@ route[HANDLE_MESSAGE] |
|
|
|
if (is_method("MESSAGE")) { |
|
|
|
if (isflagset(FLAG_INTERNALLY_SOURCED)) { |
|
|
|
route(INTERNAL_TO_EXTERNAL_RELAY); |
|
|
|
#!ifdef TRAFFIC-FILTER-ROLE |
|
|
|
} else if (!isflagset(FLAG_TRUSTED_SOURCE) |
|
|
|
&& $rd =~ "[0-9]{1,3}\.[0-9]{1,3}.[0-9]{1,3}\.[0-9]{1,3}") { |
|
|
|
xlog("L_WARN", "$ci|end|dropping MESSAGE request with IP domain"); |
|
|
|
#!endif |
|
|
|
} else { |
|
|
|
sl_send_reply("202", "delivered to /dev/null"); |
|
|
|
exit; |
|
|
|
xlog("L_WARN", "$ci|end|MESSAGE $(hdr(Content-Type))"); |
|
|
|
if( $hdr(Content-Type) == "application/im-iscomposing+xml" ) { |
|
|
|
xlog("L_WARN", "$ci|end|dropping MESSAGE application/im-iscomposing+xml"); |
|
|
|
sl_send_reply("200", "OK"); |
|
|
|
} else { |
|
|
|
route(DISPATCHER_FIND_ROUTES); |
|
|
|
route(EXTERNAL_TO_INTERNAL_RELAY); |
|
|
|
} |
|
|
|
} |
|
|
|
exit(); |
|
|
|
} |
|
|
|
#!endif |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
route[HANDLE_IN_DIALOG_REQUESTS] |
|
|
|
{ |
|
|
|
if (has_totag()) { |
|
|
|
@ -668,7 +685,6 @@ event_route[kazoo:mod-init] |
|
|
|
kazoo_subscribe("$var(payload)"); |
|
|
|
|
|
|
|
#!endif |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
event_route[kazoo:consumer-event] |
|
|
|
|