summaryrefslogtreecommitdiff
path: root/templates/system/conntrack/modules/sip
diff options
context:
space:
mode:
authorDaniil Baturin <daniil.baturin@vyatta.com>2011-11-04 04:46:00 +0700
committerDaniil Baturin <daniil.baturin@vyatta.com>2011-11-04 04:46:00 +0700
commit410023fd604af49434ed5039c99c7ee6abc99b20 (patch)
tree74e703e1d778db8ace3796c3d1fdf528b302abe7 /templates/system/conntrack/modules/sip
downloadvyatta-conntrack-410023fd604af49434ed5039c99c7ee6abc99b20.tar.gz
vyatta-conntrack-410023fd604af49434ed5039c99c7ee6abc99b20.zip
Initial commit.debian/0.1
Diffstat (limited to 'templates/system/conntrack/modules/sip')
-rw-r--r--templates/system/conntrack/modules/sip/disable/node.def7
-rw-r--r--templates/system/conntrack/modules/sip/enable-indirect-media/node.def1
-rw-r--r--templates/system/conntrack/modules/sip/enable-indirect-signalling/node.def1
-rw-r--r--templates/system/conntrack/modules/sip/node.def61
-rw-r--r--templates/system/conntrack/modules/sip/port/node.def8
5 files changed, 78 insertions, 0 deletions
diff --git a/templates/system/conntrack/modules/sip/disable/node.def b/templates/system/conntrack/modules/sip/disable/node.def
new file mode 100644
index 0000000..d0eaf81
--- /dev/null
+++ b/templates/system/conntrack/modules/sip/disable/node.def
@@ -0,0 +1,7 @@
+help: Disable SIP connection tracking
+
+create: sudo rmmod nf_nat_sip
+ sudo rmmod nf_conntrack_sip
+
+delete: sudo modprobe nf_conntrack_sip
+ sudo modprobe nf_nat_sip \ No newline at end of file
diff --git a/templates/system/conntrack/modules/sip/enable-indirect-media/node.def b/templates/system/conntrack/modules/sip/enable-indirect-media/node.def
new file mode 100644
index 0000000..c29389e
--- /dev/null
+++ b/templates/system/conntrack/modules/sip/enable-indirect-media/node.def
@@ -0,0 +1 @@
+help: Option to support for indirect media streams
diff --git a/templates/system/conntrack/modules/sip/enable-indirect-signalling/node.def b/templates/system/conntrack/modules/sip/enable-indirect-signalling/node.def
new file mode 100644
index 0000000..82782ff
--- /dev/null
+++ b/templates/system/conntrack/modules/sip/enable-indirect-signalling/node.def
@@ -0,0 +1 @@
+help: Option to support for indirect signalling streams
diff --git a/templates/system/conntrack/modules/sip/node.def b/templates/system/conntrack/modules/sip/node.def
new file mode 100644
index 0000000..b5a3225
--- /dev/null
+++ b/templates/system/conntrack/modules/sip/node.def
@@ -0,0 +1,61 @@
+help: SIP connection tracking settings
+
+end: /bin/cli-shell-api existsEffective system conntrack modules sip disable && exit 0
+ reload=0
+ sdm=2
+ if [ -f /sys/module/nf_conntrack_sip/parameters/sip_direct_media ]; then
+ sdm=$(sudo cat /sys/module/nf_conntrack_sip/parameters/sip_direct_media)
+ fi
+ if [ -n "$VAR(./enable-indirect-media)" ]; then
+ indirectmedia='sip_direct_media=0'
+ if [ $sdm -ge 1 ]; then reload=1; fi
+ else
+ if [ $sdm -eq 0 ]; then reload=1; fi
+ fi
+
+ sds=2
+ if [ -f /sys/module/nf_conntrack_sip/parameters/sip_direct_signalling ]; then
+ sds=$(sudo cat /sys/module/nf_conntrack_sip/parameters/sip_direct_signalling)
+ fi
+ if [ -n "$VAR(./enable-indirect-signalling)" ]; then
+ indirectsignalling='sip_direct_signalling=0'
+ if [ $sds -ge 1 ]; then reload=1; fi
+ else
+ if [ $sds -eq 0 ]; then reload=1; fi
+ fi
+
+ if [ -n "$VAR(./port/@@)" ]; then
+ numports=0
+ for port in $VAR(./port/@@); do
+ if [ -z "$portval" ]; then
+ portval=$port
+ else
+ portval="${portval},$port"
+ fi
+ (( numports++ ))
+ done
+ portopt="ports=$portval"
+ if [ $numports -gt 8 ]; then
+ echo "Error: Can not specify more than 8 ports."
+ exit 1
+ fi
+ reload=1
+ fi
+
+ if [ -f /etc/modprobe.d/options ]; then
+ sudo sed -i '/nf_conntrack_sip/d' /etc/modprobe.d/options
+ fi
+
+ if [ -n "$indirectmedia" ] || [ -n "$indirectsignalling" ] || \
+ [ -n "$portopt" ]; then
+ sudo sh -c "echo \# Auto-generated by `whoami` at `date` > /etc/modprobe.d/vyatta_sip_options.conf"
+ sudo sh -c "echo options nf_conntrack_sip $indirectmedia $indirectsignalling $portopt >> /etc/modprobe.d/vyatta_sip_options.conf "
+ else
+ sudo rm -f /etc/modprobe.d/vyatta_sip_options.conf
+ fi
+
+ if [ $reload -eq 1 ]; then
+ sudo modprobe -r nf_nat_sip nf_conntrack_sip
+ sudo modprobe nf_conntrack_sip
+ sudo modprobe nf_nat_sip
+ fi
diff --git a/templates/system/conntrack/modules/sip/port/node.def b/templates/system/conntrack/modules/sip/port/node.def
new file mode 100644
index 0000000..b72f1ca
--- /dev/null
+++ b/templates/system/conntrack/modules/sip/port/node.def
@@ -0,0 +1,8 @@
+multi:
+type: u32
+
+help: Port number that SIP traffic is carried on
+
+val_help: u32:1-65535; SIP port number
+
+syntax:expression: ($VAR(@) >= 1 && $VAR(@) <=65535) ; "Port number must be in range 1 to 65535"