######## kazoo bindings ########
|
|
###
|
|
###
|
|
|
|
#!trydef KZ_PUA_PRESENCE_USE_FULL_ENTITY 1
|
|
|
|
####### Kazoo Integration module ##########
|
|
loadmodule "kazoo.so"
|
|
modparam("kazoo", "pua_mode", MY_AMQP_PUA_MODE)
|
|
modparam("kazoo", "amqp_primary_zone", "MY_AMQP_ZONE")
|
|
modparam("kazoo", "amqp_query_timeout_avp", "$avp(kz_timeout)")
|
|
modparam("kazoo", "node_hostname", "MY_HOSTNAME")
|
|
modparam("kazoo", "amqp_heartbeats", MY_AMQP_HEARTBEATS)
|
|
modparam("kazoo", "amqp_max_channels", MY_AMQP_MAX_CHANNELS)
|
|
modparam("kazoo", "amqp_consumer_processes", MY_AMQP_CONSUMER_PROCESSES)
|
|
modparam("kazoo", "amqp_consumer_workers", MY_AMQP_CONSUMER_WORKERS)
|
|
modparam("kazoo", "presence_use_full_entity", KZ_PUA_PRESENCE_USE_FULL_ENTITY)
|
|
## amqp connections
|
|
#!ifdef MY_AMQP_URL
|
|
modparam("kazoo", "amqp_connection", "MY_AMQP_URL")
|
|
#!endif
|
|
#!ifdef MY_AMQP_SECONDARY_URL
|
|
modparam("kazoo", "amqp_connection", "MY_AMQP_SECONDARY_URL")
|
|
#!endif
|
|
#!ifdef MY_AMQP_TERTIARY_URL
|
|
modparam("kazoo", "amqp_connection", "MY_AMQP_TERTIARY_URL")
|
|
#!endif
|
|
#!ifdef MY_AMQP_QUATERNARY_URL
|
|
modparam("kazoo", "amqp_connection", "MY_AMQP_QUATERNARY_URL")
|
|
#!endif
|
|
#!ifdef MY_AMQP_QUINARY_URL
|
|
modparam("kazoo", "amqp_connection", "MY_AMQP_QUINARY_URL")
|
|
#!endif
|
|
#!ifdef MY_AMQP_SENARY_URL
|
|
modparam("kazoo", "amqp_connection", "MY_AMQP_SENARY_URL")
|
|
#!endif
|
|
#!ifdef MY_AMQP_SEPTENARY_URL
|
|
modparam("kazoo", "amqp_connection", "MY_AMQP_SEPTENARY_URL")
|
|
#!endif
|
|
#!ifdef MY_AMQP_OCTONARY_URL
|
|
modparam("kazoo", "amqp_connection", "MY_AMQP_OCTONARY_URL")
|
|
#!endif
|
|
#!ifdef MY_AMQP_NONARY_URL
|
|
modparam("kazoo", "amqp_connection", "MY_AMQP_NONARY_URL")
|
|
#!endif
|
|
#!ifdef MY_AMQP_DENARY_URL
|
|
modparam("kazoo", "amqp_connection", "MY_AMQP_DENARY_URL")
|
|
#!endif
|
|
|
|
event_route[kazoo:mod-init]
|
|
{
|
|
|
|
#!ifdef PRESENCE_ROLE
|
|
route(PRESENCE_BINDINGS);
|
|
#!endif
|
|
|
|
#!ifdef MESSAGE_ROLE
|
|
route(MESSAGE_BINDINGS);
|
|
#!endif
|
|
|
|
#!ifdef REGISTRAR_ROLE
|
|
route(REGISTRAR_BINDINGS);
|
|
#!endif
|
|
|
|
#!ifdef NODES_ROLE
|
|
route(NODES_BINDINGS);
|
|
#!endif
|
|
|
|
#!ifdef ACL_ROLE
|
|
route(ACL_BINDINGS);
|
|
#!endif
|
|
|
|
#!import_file "kazoo-custom-bindings.cfg"
|
|
|
|
}
|
|
|
|
event_route[kazoo:consumer-event]
|
|
{
|
|
xlog("L_DEBUG","unhandled AMQP event, payload: $kzE\n");
|
|
}
|
|
|
|
event_route[kazoo:consumer-event-connection-open]
|
|
{
|
|
xlog("L_DEBUG","connection to $(kzE{kz.json,host}) opened\n");
|
|
}
|
|
|
|
event_route[kazoo:consumer-event-connection-error]
|
|
{
|
|
xlog("L_ERR","amqp|error|$(kzE{kz.json,zone})|$(kzE{kz.json,name})|$(kzE{kz.json,message})\n");
|
|
}
|
|
|
|
event_route[kazoo:consumer-event-connection-message]
|
|
{
|
|
xlog("L_DEBUG","amqp|msg|$(kzE{kz.json,zone})|$(kzE{kz.json,name})|$(kzE{kz.json,message})\n");
|
|
}
|
|
|
|
event_route[kazoo:consumer-event-connection-closed]
|
|
{
|
|
xlog("L_DEBUG","amqp|closed|$(kzE{kz.json,zone})|$(kzE{kz.json,name})|connection to $(kzE{kz.json,host}) closed\n");
|
|
}
|
|
|
|
event_route[kazoo:consumer-event-connection-zone-available]
|
|
{
|
|
xlog("L_DEBUG","amqp zone $(kzE{kz.json,zone}) is available\n");
|
|
}
|
|
|
|
event_route[kazoo:consumer-event-connection-zone-unavailable]
|
|
{
|
|
xlog("L_DEBUG","amqp zone $(kzE{kz.json,zone}) is unavailable\n");
|
|
}
|
|
|
|
event_route[kazoo:consumer-event-connection-available]
|
|
{
|
|
xlog("L_DEBUG","amqp zone $(kzE{kz.json,zone}) is available\n");
|
|
}
|
|
|
|
event_route[kazoo:consumer-event-connection-unavailable]
|
|
{
|
|
xlog("L_DEBUG","amqp zone $(kzE{kz.json,zone}) is unavailable\n");
|
|
}
|
|
|
|
event_route[kazoo:consumer-event-connection-zone-listener-available]
|
|
{
|
|
xlog("L_DEBUG","amqp zone $(kzE{kz.json,zone}) is available\n");
|
|
}
|
|
|
|
event_route[kazoo:consumer-event-connection-zone-listener-unavailable]
|
|
{
|
|
xlog("L_DEBUG","amqp zone $(kzE{kz.json,zone}) is unavailable\n");
|
|
}
|
|
|
|
event_route[kazoo:consumer-event-connection-listener-zone-available]
|
|
{
|
|
xlog("L_NOTICE","amqp|connection|$(kzE{kz.json,zone})|$(kzE{kz.json,name})|listener available\n");
|
|
}
|
|
|
|
event_route[kazoo:consumer-event-connection-listener-zone-unavailable]
|
|
{
|
|
xlog("L_WARN","amqp|connection|$(kzE{kz.json,zone})|$(kzE{kz.json,name})|listener unavailable\n");
|
|
|
|
#!ifdef PRESENCE_ROLE
|
|
route(PRESENCE_ZONE_UNAVAILABLE);
|
|
#!endif
|
|
}
|
|
|
|
event_route[kazoo:consumer-event-connection-listener-available]
|
|
{
|
|
xlog("L_DEBUG","amqp|connection|$(kzE{kz.json,zone})|$(kzE{kz.json,name})|listener available\n");
|
|
}
|
|
|
|
event_route[kazoo:consumer-event-connection-listener-unavailable]
|
|
{
|
|
xlog("L_DEBUG","amqp zone $(kzE{kz.json,zone}) is unavailable\n");
|
|
}
|
|
|
|
# vim: tabstop=4 softtabstop=4 shiftwidth=4 expandtab
|