|
@@ -0,0 +1,74 @@
|
|
|
+#
|
|
|
+# $Id$
|
|
|
+#
|
|
|
+# simple quick-start config script
|
|
|
+#
|
|
|
+
|
|
|
+# ----------- global configuration parameters ------------------------
|
|
|
+
|
|
|
+debug=3 # debug level (cmd line: -dddddddddd)
|
|
|
+fork=yes
|
|
|
+log_stderror=no # (cmd line: -E)
|
|
|
+check_via=no # (cmd. line: -v)
|
|
|
+dns=no # (cmd. line: -r)
|
|
|
+rev_dns=no # (cmd. line: -R)
|
|
|
+port=5060
|
|
|
+children=4
|
|
|
+
|
|
|
+# ------------------ module loading ----------------------------------
|
|
|
+
|
|
|
+loadmodule "../sip_router/modules/sl/sl.so"
|
|
|
+loadmodule "../sip_router/modules/print/print.so"
|
|
|
+loadmodule "../sip_router/modules/tm/tm_mod.so"
|
|
|
+loadmodule "../sip_router/modules/rr/rr.so"
|
|
|
+loadmodule "../sip_router/modules/maxfwd/maxfwd.so"
|
|
|
+loadmodule "../sip_router/modules/usrloc/usrloc.so"
|
|
|
+
|
|
|
+# ----------------- setting module-specific parameters ---------------
|
|
|
+
|
|
|
+# -- usrloc params --
|
|
|
+
|
|
|
+modparam("usrloc", "use_database", 0)
|
|
|
+
|
|
|
+# ------------------------- request routing logic -------------------
|
|
|
+
|
|
|
+# main routing logic
|
|
|
+
|
|
|
+route{
|
|
|
+
|
|
|
+ # initial sanity checks -- discard local ACKs, messages with
|
|
|
+ # max_forwars==0, or excessively long requests
|
|
|
+ sl_filter_ACK();
|
|
|
+ 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;
|
|
|
+ };
|
|
|
+
|
|
|
+ # Do strict routing if pre-loaded route headers present
|
|
|
+ rewriteFromRoute();
|
|
|
+
|
|
|
+ # if the request is for other domain use UsrLoc
|
|
|
+ if (uri==myself) {
|
|
|
+
|
|
|
+ if (method=="REGISTER") {
|
|
|
+ save_contact("location");
|
|
|
+ break;
|
|
|
+ };
|
|
|
+
|
|
|
+ # native SIP destinations are handled using our USRLOC DB
|
|
|
+ if (!lookup_contact("location")) {
|
|
|
+ sl_send_reply("404", "Not Found");
|
|
|
+ break;
|
|
|
+ };
|
|
|
+ };
|
|
|
+ # forward to current uri now
|
|
|
+ if (!t_relay()) {
|
|
|
+ sl_reply_error();
|
|
|
+ };
|
|
|
+
|
|
|
+}
|
|
|
+
|