# ----------- global configuration parameters --------------------- debug=3 # debug level (cmd line: -dddddddddd) fork=yes #log_stderror=yes # (cmd line: -E) check_via=no # (cmd. line: -v) dns=no # (cmd. line: -r) rev_dns=no # (cmd. line: -R) listen=10.100.1.11 port=5060 mpath="/usr/local/lib/openser/modules/" # ------------------ module loading ------------------------------- loadmodule "sl.so" loadmodule "tm.so" loadmodule "rr.so" loadmodule "maxfwd.so" loadmodule "usrloc.so" loadmodule "registrar.so" loadmodule "textops.so" # --------------- setting module-specific parameters -------------- # -- usrloc params -- modparam("usrloc", "db_mode", 0) # -- rr params -- # add value to ;lr param to make some broken UAs happy modparam("rr", "enable_full_lr", 1) # -------------------- request routing logic ---------------- # main routing logic # route{ # initial sanity checks -- messages with # max_forwards==0, or excessively long requests if (!mf_process_maxfwd_header("10")) { sl_send_reply("483","Too Many Hops"); exit; }; if (msg:len >= 2048 ) { sl_send_reply("513", "Message too big"); exit; }; exit; }; if (method=="OPTIONS") { sl_send_reply("200", "OK"); }; #########Routing Engine############ if (uri=~"^sip:[+]*[1]*123456789.*") { rewriteuri("sip:107123456789@10.101.2.5"); route(1); exit; }; if (uri=~"^sip:[+]*[1]*987654321.*") { rewritehostport("10.101.1.2:5060"); route(1); exit; }; if (src_ip==10.101.1.12) { rewritehostport("10.101.1.10:5060"); route(1); exit; }; if (src_ip==10.101.1.11) { rewritehostport("10.101.1.2:5060"); route(1); exit; }; } route[1] { # send it out now; use stateful forwarding as it works reliably # even for UDP2TCP if (!t_relay()) { sl_reply_error(); exit; }; exit; }