You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
kamailio/modules_k/msilo/doc/msilo.cfg

152 lines
3.8 KiB

# $Id$
#
# MSILO usage example
#
#
debug=9 # debug level (cmd line: -dddddddddd)
fork=no # don't fork
log_stderror=yes # log to stderr (cmd line: -E)
children=2 # number of children
check_via=no # (cmd. line: -v)
dns=off # (cmd. line: -r)
rev_dns=off # (cmd. line: -R)
port=5060
listen=10.0.0.2 # listen address
# ------------------ module loading ----------------------------------
mpath="/usr/local/lib/kamailio/modules/"
loadmodule "textops.so"
loadmodule "sl.so"
loadmodule "mysql.so"
loadmodule "maxfwd.so"
loadmodule "msilo.so"
loadmodule "tm.so"
loadmodule "registrar.so"
loadmodule "usrloc.so"
# ----------------- setting module-specific parameters ---------------
# -- registrar params --
modparam("registrar", "default_expires", 120)
# -- registrar params --
modparam("usrloc", "db_mode", 0)
# -- msilo params --
modparam("msilo","db_url","mysql://openser:openserrw@localhost/openser")
modparam("msilo","from_address","sip:registrar@kamailio.org")
modparam("msilo","contact_hdr","Contact: registrar@192.168.1.2:5060;msilo=yes\r\n")
modparam("msilo","content_type_hdr","Content-Type: text/plain\r\n")
modparam("msilo","offline_message","*** User $rU is offline!")
# -- tm params --
modparam("tm", "fr_timer", 10 )
modparam("tm", "fr_inv_timer", 15 )
modparam("tm", "wt_timer", 10 )
route{
if ( !mf_process_maxfwd_header("10") )
{
sl_send_reply("483","To Many Hops");
exit;
};
if (uri==myself) {
{
# for testing purposes, simply okay all REGISTERs
if (method=="REGISTER")
{
save("location");
log("REGISTER received -> dumping messages with MSILO\n");
# MSILO - dumping user's offline messages
if (m_dump())
{
log("MSILO: offline messages dumped - if they were\n");
}else{
log("MSILO: no offline messages dumped\n");
};
exit;
};
# domestic SIP destinations are handled using our USRLOC DB
if(!lookup("location"))
{
if (! t_newtran())
{
sl_reply_error();
exit;
};
# we do not care about anything else but MESSAGEs
if (!method=="MESSAGE")
{
if (!t_reply("404", "Not found"))
{
sl_reply_error();
};
exit;
};
log("MESSAGE received -> storing using MSILO\n");
# MSILO - storing as offline message
if (m_store("$ru"))
{
log("MSILO: offline message stored\n");
if (!t_reply("202", "Accepted"))
{
sl_reply_error();
};
}else{
log("MSILO: offline message NOT stored\n");
if (!t_reply("503", "Service Unavailable"))
{
sl_reply_error();
};
};
exit;
};
# if the downstream UA does not support MESSAGE requests
# go to failure_route[1]
t_on_failure("1");
t_relay();
exit;
};
# forward anything else
t_relay();
}
failure_route[1] {
# forwarding failed -- check if the request was a MESSAGE
if (!method=="MESSAGE")
{
exit;
};
log(1,"MSILO:the downstream UA doesn't support MESSAGEs\n");
# we have changed the R-URI with the contact address, ignore it now
if (m_store("$ou"))
{
log("MSILO: offline message stored\n");
t_reply("202", "Accepted");
}else{
log("MSILO: offline message NOT stored\n");
t_reply("503", "Service Unavailable");
};
}