summaryrefslogtreecommitdiff
path: root/package/opensips/files
diff options
context:
space:
mode:
Diffstat (limited to 'package/opensips/files')
-rw-r--r--package/opensips/files/opensips.cfg174
-rw-r--r--package/opensips/files/opensips.init26
2 files changed, 200 insertions, 0 deletions
diff --git a/package/opensips/files/opensips.cfg b/package/opensips/files/opensips.cfg
new file mode 100644
index 000000000..3b5d4d42e
--- /dev/null
+++ b/package/opensips/files/opensips.cfg
@@ -0,0 +1,174 @@
+#
+# $Id: openser.cfg 1827 2007-03-12 15:22:53Z bogdan_iancu $
+#
+# simple quick-start config script
+# Please refer to the Core CookBook at http://www.openser.org/dokuwiki/doku.php
+# for a explanation of possible statements, functions and parameters.
+#
+
+# ----------- global configuration parameters ------------------------
+
+debug=3 # debug level (cmd line: -dddddddddd)
+fork=yes
+log_stderror=no # (cmd line: -E)
+children=4
+
+# Uncomment these lines to enter debugging mode
+#fork=no
+#log_stderror=yes
+#
+
+port=5060
+
+# uncomment the following lines for TLS support
+#disable_tls = 0
+#listen = tls:your_IP:5061
+#tls_verify_server = 1
+#tls_verify_client = 1
+#tls_require_client_certificate = 0
+#tls_method = TLSv1
+#tls_certificate = "/usr/local/etc/openser/tls/user/user-cert.pem"
+#tls_private_key = "/usr/local/etc/openser/tls/user/user-privkey.pem"
+#tls_ca_list = "/usr/local/etc/openser/tls/user/user-calist.pem"
+
+# ------------------ module loading ----------------------------------
+
+#set module path
+mpath="/usr/lib/openser/modules/"
+
+# Uncomment this if you want to use SQL database
+#loadmodule "mysql.so"
+
+loadmodule "sl.so"
+loadmodule "tm.so"
+loadmodule "rr.so"
+loadmodule "maxfwd.so"
+loadmodule "usrloc.so"
+loadmodule "registrar.so"
+loadmodule "textops.so"
+loadmodule "mi_fifo.so"
+
+# Uncomment this if you want digest authentication
+# mysql.so must be loaded !
+#loadmodule "auth.so"
+#loadmodule "auth_db.so"
+
+# ----------------- setting module-specific parameters ---------------
+
+# -- mi_fifo params --
+
+modparam("mi_fifo", "fifo_name", "/tmp/openser_fifo")
+
+# -- usrloc params --
+
+modparam("usrloc", "db_mode", 0)
+
+# Uncomment this if you want to use SQL database
+# for persistent storage and comment the previous line
+#modparam("usrloc", "db_mode", 2)
+
+# -- auth params --
+# Uncomment if you are using auth module
+#
+#modparam("auth_db", "calculate_ha1", yes)
+#
+# If you set "calculate_ha1" parameter to yes (which true in this config),
+# uncomment also the following parameter)
+#
+#modparam("auth_db", "password_column", "password")
+
+# -- 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;
+ };
+
+ # we record-route all messages -- to make sure that
+ # subsequent messages will go through our proxy; that's
+ # particularly good if upstream and downstream entities
+ # use different transport protocol
+ if (!method=="REGISTER")
+ record_route();
+
+ # subsequent messages withing a dialog should take the
+ # path determined by record-routing
+ if (loose_route()) {
+ # mark routing logic in request
+ append_hf("P-hint: rr-enforced\r\n");
+ route(1);
+ };
+
+ if (!uri==myself) {
+ # mark routing logic in request
+ append_hf("P-hint: outbound\r\n");
+ # if you have some interdomain connections via TLS
+ #if(uri=~"@tls_domain1.net") {
+ # t_relay("tls:domain1.net");
+ # exit;
+ #} else if(uri=~"@tls_domain2.net") {
+ # t_relay("tls:domain2.net");
+ # exit;
+ #}
+ route(1);
+ };
+
+ # if the request is for other domain use UsrLoc
+ # (in case, it does not work, use the following command
+ # with proper names and addresses in it)
+ if (uri==myself) {
+
+ if (method=="REGISTER") {
+
+ # Uncomment this if you want to use digest authentication
+ #if (!www_authorize("openser.org", "subscriber")) {
+ # www_challenge("openser.org", "0");
+ # exit;
+ #};
+
+ save("location");
+ exit;
+ };
+
+ lookup("aliases");
+ if (!uri==myself) {
+ append_hf("P-hint: outbound alias\r\n");
+ route(1);
+ };
+
+ # native SIP destinations are handled using our USRLOC DB
+ if (!lookup("location")) {
+ sl_send_reply("404", "Not Found");
+ exit;
+ };
+ append_hf("P-hint: usrloc applied\r\n");
+ };
+
+ route(1);
+}
+
+
+route[1] {
+ # send it out now; use stateful forwarding as it works reliably
+ # even for UDP2TCP
+ if (!t_relay()) {
+ sl_reply_error();
+ };
+ exit;
+}
+
diff --git a/package/opensips/files/opensips.init b/package/opensips/files/opensips.init
new file mode 100644
index 000000000..8f231a14a
--- /dev/null
+++ b/package/opensips/files/opensips.init
@@ -0,0 +1,26 @@
+#!/bin/sh
+#FWINIT 60
+. /etc/rc.conf
+
+case $1 in
+autostop) ;;
+autostart)
+ test x"${opensips:-NO}" = x"NO" && exit 0
+ exec sh $0 start
+ ;;
+start)
+ /usr/sbin/opensips
+ ;;
+stop)
+ killall opensips
+ ;;
+restart)
+ sh $0 stop
+ sh $0 start
+ ;;
+*)
+ echo "usage: $0 {start | stop | restart}"
+ exit 1
+ ;;
+esac
+exit $?