mirror of https://github.com/sipwise/kamailio.git
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.
81 lines
2.0 KiB
81 lines
2.0 KiB
#
|
|
# $Id$
|
|
#
|
|
# simple quick-start config script
|
|
#
|
|
fork=no
|
|
log_stderror=yes
|
|
# ----------- global configuration parameters ------------------------
|
|
|
|
loadmodule "modules/sl/sl.so"
|
|
loadmodule "modules/tm/tm.so"
|
|
loadmodule "modules/usrloc/usrloc.so"
|
|
loadmodule "modules/registrar/registrar.so"
|
|
loadmodule "modules/exec/exec.so"
|
|
|
|
# ----------------- setting module-specific parameters ---------------
|
|
|
|
route{
|
|
# uri for my domain ?
|
|
if (uri==myself) {
|
|
|
|
if (method=="REGISTER") {
|
|
save("location");
|
|
break;
|
|
};
|
|
|
|
# native SIP destinations are handled using our USRLOC DB
|
|
if (!lookup("location")) {
|
|
# proceed to email notification
|
|
if (method=="INVITE") route(1)
|
|
else sl_send_reply("404", "Not Found");
|
|
break;
|
|
};
|
|
};
|
|
# user found, forward to his current uri now; if any
|
|
# forwarding error occurs (e.g., busy or cancelled recevied
|
|
# from downstream), proceed to failure_route[1]
|
|
t_on_failure("1");
|
|
if (!t_relay()) {
|
|
sl_reply_error();
|
|
};
|
|
}
|
|
|
|
/* handling of missed calls */
|
|
route[1] {
|
|
# don't continue if it is a retransmission
|
|
if ( !t_newtran()) {
|
|
sl_reply_error();
|
|
break;
|
|
};
|
|
# external script: lookup user, if user exists, send
|
|
# an email notification to him
|
|
if (!exec_msg('
|
|
QUERY="select email_address from subscriber
|
|
where username=\"$SIP_OUSER\"";
|
|
EMAIL=`mysql -Bsuser -pheslo -e "$QUERY" ser`;
|
|
if [ -z "$EMAIL" ] ; then exit 1; fi ;
|
|
echo "SIP request received from $SIP_HF_FROM for $SIP_OUSER" |
|
|
mail -s "request for you" $EMAIL '))
|
|
{
|
|
# exec returned error ... user does not exist
|
|
# send a stateful reply
|
|
t_reply("404", "User does not exist");
|
|
} else {
|
|
t_reply("600", "No messages for this user");
|
|
};
|
|
break;
|
|
}
|
|
|
|
failure_route[1] {
|
|
# just call exec, that's it
|
|
exec_msg('
|
|
QUERY="select email_address from subscriber
|
|
where username=\"$SIP_OUSER\"";
|
|
EMAIL=`mysql -Bsuser -pheslo -e "$QUERY" ser`;
|
|
if [ -z "$EMAIL" ] ; then exit 1; fi ;
|
|
echo "SIP request received from $SIP_HF_FROM for $SIP_OUSER" |
|
|
mail -s "request for you" $EMAIL ') ;
|
|
t_relay();
|
|
}
|