######## Generic Hash Table container in shared memory ########
|
|
modparam("htable", "htable", "dbkp=>size=16;autoexpire=7200")
|
|
|
|
######## Presence server module ########
|
|
loadmodule "presence.so"
|
|
loadmodule "presence_dialoginfo.so"
|
|
loadmodule "presence_mwi.so"
|
|
modparam("presence", "subs_db_mode", 1)
|
|
modparam("presence", "expires_offset", 60)
|
|
modparam("presence", "publ_cache", 0)
|
|
#modparam("presence", "min_expires", 300)
|
|
modparam("presence", "max_expires", 3600)
|
|
modparam("presence", "db_url", "MY_AMQP_URL/dialoginfo")
|
|
|
|
######## Presence User Agent module ########
|
|
loadmodule "pua.so"
|
|
loadmodule "pua_dialoginfo.so"
|
|
modparam("pua_dialoginfo", "library_mode", 1)
|
|
modparam("pua", "db_url", "text:///etc/kazoo/kamailio/dbtext")
|
|
modparam("pua", "db_mode", 0)
|
|
modparam("pua", "min_expires", 300)
|
|
modparam("pua", "outbound_proxy", "sip:MY_IP_ADDRESS")
|
|
|
|
####### Presence Logic ########
|
|
route[HANDLE_SUBSCRIBE]
|
|
{
|
|
if (is_method("SUBSCRIBE")) {
|
|
#!ifdef NAT-TRAVERSAL-ROLE
|
|
route(NAT_TEST_AND_CORRECT);
|
|
#!endif
|
|
|
|
if (!t_newtran()) {
|
|
sl_reply_error();
|
|
exit;
|
|
}
|
|
handle_subscribe();
|
|
t_release();
|
|
exit;
|
|
}
|
|
}
|
|
|
|
route[HANDLE_PUBLISH]
|
|
{
|
|
if (is_method("PUBLISH")) {
|
|
if (!t_newtran()) {
|
|
sl_reply_error();
|
|
exit;
|
|
}
|
|
handle_publish();
|
|
t_release();
|
|
exit;
|
|
}
|
|
}
|
|
|
|
# vim: tabstop=4 softtabstop=4 shiftwidth=4 expandtab
|