rendered paste body# ----------- 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;
}