12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- #
- # $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");
- };
- }
|