|
@@ -0,0 +1,53 @@
|
|
|
+debug=9 # debug level (cmd line: -dddddddddd)
|
|
|
+check_via=1 # (cmd. line: -v)
|
|
|
+dns=on # (cmd. line: -r)
|
|
|
+rev_dns=yes # (cmd. line: -R)
|
|
|
+fork=no # (cmd. line: -D)
|
|
|
+log_stderror=yes # (cmd line: -E)
|
|
|
+# for more info: sip_router -h
|
|
|
+
|
|
|
+route{
|
|
|
+
|
|
|
+ if false and forward("mobile69") { log("forwarded ok\n"); break; }
|
|
|
+ else log("error forwarding\n");
|
|
|
+
|
|
|
+ if false log("if\n")
|
|
|
+ else log("else\n");
|
|
|
+
|
|
|
+ if { log("test\n"); break; log("test2\n"); } log ("if {}");
|
|
|
+
|
|
|
+ if (src_ip=~'(dorian)|(ekina)|(terix)' & method=~'^inv')
|
|
|
+ forward(centauri.fokus.gmd.de);
|
|
|
+ if src_ip=~"^192\.168\.[0-9]{1,3}\.[0-9]{1,3}$" {
|
|
|
+ log(1,"msg. from a private network\n");
|
|
|
+ route(1);
|
|
|
+ log(1, "after route(1)\n");
|
|
|
+ break;
|
|
|
+ };
|
|
|
+ if src_ip==0.0.0.0/0 {
|
|
|
+ setuserpass("andrei:test");
|
|
|
+ log(1, " test msg\n"); forward(192.168.46.55);
|
|
|
+ setuser("foo");sethostport("bar.com:6000");
|
|
|
+ forward(192.168.46.69);drop;
|
|
|
+ };
|
|
|
+ log("default route[0]\n");
|
|
|
+}
|
|
|
+
|
|
|
+route[1]{
|
|
|
+ if src_ip==192.168.46.61 { log("possible loop, dropping\n"); drop; };
|
|
|
+ if (src_ip==192.168.46.0/24) {
|
|
|
+ log("routing with rt2\n");route(2); log("we're back\n");
|
|
|
+ break;
|
|
|
+ };
|
|
|
+ if src_ip==0.0.0.0/0 { log(1, "we'll drop this one too\n"); drop; };
|
|
|
+ log("default route[1]\n");
|
|
|
+}
|
|
|
+
|
|
|
+route[2]{
|
|
|
+ if (method=~'^ACK' and uri=~'.*fokus') forward("fox.iptel.org");
|
|
|
+ if ! method=~'^INV' forward(193.175.135.179); /* dorian */
|
|
|
+ if method=~'.' { log("spying...\n"); send(dorian,8000);/* raw sip packet */
|
|
|
+ forward("fox.iptel.org");
|
|
|
+ };
|
|
|
+ log("default route[2]\n");
|
|
|
+}
|