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.
74 lines
1.8 KiB
74 lines
1.8 KiB
#
|
|
# $Id$
|
|
#
|
|
# demo script showing how to set-up usrloc replication
|
|
#
|
|
|
|
# ----------- global configuration parameters ------------------------
|
|
|
|
debug=3 # debug level (cmd line: -dddddddddd)
|
|
fork=no
|
|
log_stderror=yes # (cmd line: -E)
|
|
|
|
# ------------------ module loading ----------------------------------
|
|
|
|
loadmodule "modules/mysql/mysql.so"
|
|
loadmodule "modules/sl/sl.so"
|
|
loadmodule "modules/tm/tm.so"
|
|
loadmodule "modules/maxfwd/maxfwd.so"
|
|
loadmodule "modules/usrloc/usrloc.so"
|
|
loadmodule "modules/registrar/registrar.so"
|
|
loadmodule "modules/auth/auth.so"
|
|
loadmodule "modules/auth_db/auth_db.so"
|
|
|
|
# ----------------- setting module-specific parameters ---------------
|
|
|
|
# digest generation secret; use the same in backup server;
|
|
# also, make sure that the backup server has sync'ed time
|
|
modparam("auth", "secret", "alsdkhglaksdhfkloiwr")
|
|
|
|
# ------------------------- request routing logic -------------------
|
|
|
|
# main routing logic
|
|
|
|
route{
|
|
|
|
# initial sanity checks -- messages with
|
|
# max_forwars==0, or excessively long requests
|
|
if (!mf_process_maxfwd_header("10")) {
|
|
sl_send_reply("483","Too Many Hops");
|
|
break;
|
|
};
|
|
if (len_gt( max_len )) {
|
|
sl_send_reply("513", "Message too big");
|
|
break;
|
|
};
|
|
|
|
# if the request is for other domain use UsrLoc
|
|
# (in case, it does not work, use the following command
|
|
# with proper names and addresses in it)
|
|
if (uri==myself) {
|
|
|
|
if (method=="REGISTER") {
|
|
|
|
# verify credentials
|
|
if (!www_authorize("foo.bar", "subscriber")) {
|
|
www_challenge("foo.bar", "0");
|
|
break;
|
|
};
|
|
|
|
# if ok, update contacts and ...
|
|
save("location");
|
|
# ... if this REGISTER is not a replica from our
|
|
# peer server, replicate to the peer server
|
|
if (!src_ip==backup.foo.bar) {
|
|
t_replicate("backup.foo.bar", "5060");
|
|
};
|
|
break;
|
|
};
|
|
# do whatever else appropriate for your domain
|
|
log("non-REGISTER\n");
|
|
};
|
|
}
|
|
|