summaryrefslogtreecommitdiffstats
path: root/package/tapi_sip/files/telephony.init
diff options
context:
space:
mode:
Diffstat (limited to 'package/tapi_sip/files/telephony.init')
-rwxr-xr-xpackage/tapi_sip/files/telephony.init50
1 files changed, 50 insertions, 0 deletions
diff --git a/package/tapi_sip/files/telephony.init b/package/tapi_sip/files/telephony.init
new file mode 100755
index 000000000..082024c23
--- /dev/null
+++ b/package/tapi_sip/files/telephony.init
@@ -0,0 +1,50 @@
+#!/bin/sh /etc/rc.common
+START=80
+
+download_fw()
+{
+ config_load telephony
+ config_get fw_url config fw_url
+ config_get fw_file config fw_file
+ wget $fw_url -O /tmp/$fw_file || {
+ echo "failed to load $fw_url"
+ exit 1
+ }
+}
+
+load_module()
+{
+ M=`lsmod | grep vmmc`
+ [ -z "$M" ] || return
+ config_load telephony
+ config_get fw_file config fw_file
+ [ -z "fw_file" ] && exit 1
+ F=/lib/firmware/$fw_file
+ [ ! -f "$F" -a ! -L "$F" ] && {
+ echo "missing firmware file"
+ exit 1
+ }
+ [ -L "$F" -a -f /tmp/$fw_file ] && F=/tmp/$fw_file
+ insmod vmmc
+ sleep 3
+}
+
+stop()
+{
+ killall tapi-sip 2>/dev/null
+}
+
+start()
+{
+ stop
+ config_load telephony
+ config_get fw_url config fw_url
+ config_get fw_file config fw_file
+ config_get netdev config netdev
+ config_get disable config disable
+ [ "$disable" != "1" ] && {
+ [ ! -z "$fw_url" -a ! -f "/tmp/$fw_file" ] && download_fw
+ load_module
+ /usr/bin/tapi-sip $netdev &
+ }
+}