Browse Source

Adding the accounting cfg file used for testing...

ssi 23 years ago
parent
commit
88d4cea557
1 changed files with 172 additions and 0 deletions
  1. 172 0
      test/acc-test.cfg

+ 172 - 0
test/acc-test.cfg

@@ -0,0 +1,172 @@
+#
+# $Id$
+#
+# iptel.org real world configuration
+#
+
+# ----------- global configuration parameters ------------------------
+
+# we're debugging now
+
+debug=9          # debug level (cmd line: -dddddddddd)
+fork=no
+log_stderror=yes	# (cmd line: -E)
+
+#fork=yes
+#children=16
+#log_stderror=no	# (cmd line: -E)
+
+check_via=yes     # (cmd. line: -v)
+dns=on           # (cmd. line: -r)
+rev_dns=yes      # (cmd. line: -R)
+
+# experimental usage at port 5060
+#port=9060
+#port=8060
+port=5060
+# advertise IP address in Via (as opposed to advertising DNS name
+# which is annoying for downstream servers and some phones can
+# not handle DNS at all)
+#listen=195.37.77.101
+#listen=193.175.135.170
+# ------------------ 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/acc/acc.so"
+loadmodule "../sip_router/modules/rr/rr.so"
+loadmodule "../sip_router/modules/maxfwd/maxfwd.so"
+#loadmodule "../sip_router/modules/mysql/mysql.so"
+loadmodule "../sip_router/modules/usrloc/usrloc.so"
+#loadmodule "../sip_router/modules/auth/auth.so"
+#loadmodule "../sip_router/modules/cpl/cpl.so"
+loadmodule "../sip_router/modules/radius_acc/radius_acc.so"
+loadmodule "../sip_router/modules/registrar/registrar.so"
+
+
+# ----------------- setting module-specific parameters ---------------
+
+# -- usrloc params --
+
+# use in-RAM usrloc
+#modparam("usrloc", "use_db", 0)
+
+# -- acc params --
+# report ACKs too for sake of completeness -- as we account PSTN
+# destinations which are RR, ACKs should show up
+#modparam("acc", "report_ack", 1)
+# don't bother me with early media reports (I don't like 183 
+# too much anyway...ever thought of timer C hitting after
+# listening to music-on-hold for five minutes?)
+#modparam("acc", "early_media", 0)
+#modparam("acc", "log_level", 1)
+# that is the flag for which we will account -- don't forget to
+# set the same one :-)
+#modparam("acc", "acc_flag", 1 )
+# we are interested only in succesful transactions
+#modparam("acc", "failed_transactions", 0 )
+
+
+# -- acc params --
+# report ACKs too for sake of completeness -- as we account PSTN
+# destinations which are RR, ACKs should show up
+modparam("radius_acc", "report_ack", 1)
+# don't bother me with early media reports (I don't like 183
+# too much anyway...ever thought of timer C hitting after
+# listening to music-on-hold for five minutes?)
+modparam("radius_acc", "early_media", 0)
+modparam("radius_acc", "log_level", 1)
+# that is the flag for which we will account -- don't forget to
+# set the same one :-)
+modparam("radius_acc", "acc_flag", 1 )
+# we are interested only in succesful transactions
+modparam("radius_acc", "failed_transactions", 0 )
+
+# -- tm params --
+modparam("tm", "fr_timer", 30 )
+modparam("tm", "fr_inv_timer", 60 )
+
+# -------------------------  request routing logic -------------------
+
+# main routing logic
+
+route{
+
+	# filter local stateless ACK generated by authentication of mf replies
+	sl_filter_ACK();
+
+	# filter too old messages
+	log("LOG: Checking maxfwd\n");
+	if (!mf_process_maxfwd_header("10")) {
+		log("LOG: Too many hops\n");
+		sl_send_reply("483","Too Many Hops");
+		break;
+	};
+
+	# len_gt *after* max_fwd, otherwise an "INVITE sip:[email protected]"
+	# will cause "message too big" for a short message
+
+	if (len_gt( max_len )) {
+		sl_send_reply("513", "Riesengross -- Message too large");
+		break;
+	};
+
+	# Do strict routing if route headers present
+	if (method=="INVITE") {
+		addRecordRoute();
+	} else {
+		rewriteFromRoute();
+	};
+
+
+	# that is outbound request...
+
+	if (!(uri=~"fox\.iptel\.org([;:].*)*" 
+		| uri=~"[@:\.]195\.37\.77\.101([;:].*)*"  )) {
+		route(2);
+		# break from route (2) return -- stop then !
+		break;
+	};
+	# here we continue with requests for our domain...
+
+	if (method=="REGISTER") {
+		# update Contact database
+       	log("LOG: REGISTER is authorized, saving location\n");
+		save("location");
+		break;
+	};
+
+	# native SIP destinations are handled using our USRLOC DB
+	if (!lookup("location")) {
+		if (method=="ACK") {
+			log("Ooops -- an ACK made it here -- probably UAC screwed up to-tags\n");
+			break;
+		};
+		log("LOG: Unable to lookup contact, sending 404\n");
+		sl_send_reply("404", "Not Found");
+		break;
+	};
+
+	# label for accounting
+	setflag(1);
+	# we now know we may, we know where, let it go out now!
+	if (!t_relay()) {
+		sl_reply_error();
+		break;
+	};
+}
+#---------------------------------------------------------------------
+
+# routing logic for outbound requests targeted out of our domain
+# -- use outbound proxy iptel.org (note that except to FOKUS/PBX,
+# or itpel.org users, requests will be challenged)
+route[2] {
+		log("LOG: that's a request to outside");
+		# label for accounting
+		setflag(1);
+		if (!t_relay_to("fox.iptel.org", "5060")) {
+			sl_reply_error();
+			break;
+		};
+}