aboutsummaryrefslogtreecommitdiffstats
path: root/package/owsip/files/telephony.init
diff options
context:
space:
mode:
Diffstat (limited to 'package/owsip/files/telephony.init')
-rw-r--r--package/owsip/files/telephony.init33
1 files changed, 33 insertions, 0 deletions
diff --git a/package/owsip/files/telephony.init b/package/owsip/files/telephony.init
new file mode 100644
index 000000000..90909e625
--- /dev/null
+++ b/package/owsip/files/telephony.init
@@ -0,0 +1,33 @@
+#!/bin/sh /etc/rc.common
+START=80
+
+SERVICE_WRITE_PID=1
+SERVICE_DAEMONIZE=1
+SERVICE_PID_FILE=/var/run/owsip.pid
+
+. /lib/functions.sh
+
+relay_set () {
+ local cfg="$1"
+ local gpio value
+
+ config_get gpio "$cfg" gpio
+ config_get value "$cfg" value
+ [ -n "gpio" ] || return 0
+ [ ! -f "/sys/class/gpio/gpio$gpio/direction" ] &&
+ echo "$gpio" > /sys/class/gpio/export
+ [ -f "/sys/class/gpio/gpio$gpio/direction" ] && {
+ echo "out" > /sys/class/gpio/gpio$gpio/direction
+ echo "$value" > /sys/class/gpio/gpio$gpio/value
+ }
+}
+
+start() {
+ config_load telephony
+ config_foreach relay_set relay
+ service_start /usr/bin/owsip_ua
+}
+
+stop() {
+ service_stop /usr/bin/owsip_ua
+}