diff options
Diffstat (limited to 'package/owsip/files')
-rw-r--r-- | package/owsip/files/telephony.conf | 32 | ||||
-rwxr-xr-x | package/owsip/files/telephony.defaults | 55 | ||||
-rw-r--r-- | package/owsip/files/telephony.init | 50 |
3 files changed, 137 insertions, 0 deletions
diff --git a/package/owsip/files/telephony.conf b/package/owsip/files/telephony.conf new file mode 100644 index 0000000000..7cc1e9f0f2 --- /dev/null +++ b/package/owsip/files/telephony.conf @@ -0,0 +1,32 @@ +config general general + option name owsip + option backend ltq_tapi + option ossdev 0 + option log_level 3 + option interface nas0 + option local_port 5060 + option rtp_port 4000 + option locale germany + +config stun stun + option host stun.myrealm.com + option port 3478 + +config account example1 + option realm myrealm1.com + option username myuser1 + option password mypass1 + option disabled 1 + +config account example2 + option realm myrealm2.com + option username myuser2 + option password mypass2 + option disabled 1 + +config contact + option desc "example contact description" + option code "example" + option dial "0123456789" + option type realm + diff --git a/package/owsip/files/telephony.defaults b/package/owsip/files/telephony.defaults new file mode 100755 index 0000000000..bec2878a0d --- /dev/null +++ b/package/owsip/files/telephony.defaults @@ -0,0 +1,55 @@ +#!/bin/sh +# +# Copyright (C) 2011 OpenWrt.org +# based on ar71xx +# + +COMMIT_TELEPHONY=0 + +set_relay() { + local cfg="relay_$1" + local gpio=$1 + local val=$2 + + uci -q get telephony.$cfg && return 0 + + uci batch <<EOF +set telephony.$cfg='relay' +set telephony.$cfg.gpio='$gpio' +set telephony.$cfg.value='$val' +EOF + COMMIT_TELEPHONY=1 +} + +set_port() { + local cfg="port$1" + local id=$1 + local led=$2 + + uci -q get telephony.$cfg && return 0 + + uci batch <<EOF +set telephony.$cfg='port' +set telephony.$cfg.id='$id' +set telephony.$cfg.led='$led' +set telephony.$cfg.noring='0' +set telephony.$cfg.nodial='0' +EOF + COMMIT_TELEPHONY=1 +} + +. /lib/lantiq.sh + +board=$(lantiq_board_name) + +case "$board" in +ARV7525PW) + set_relay 31 1 + set_port 0 "soc:green:fxs1" + #set_port 1 "soc:green:fxs2" + ;; +esac + +[ "$COMMIT_TELEPHONY" == "1" ] && uci commit telephony + +exit 0 diff --git a/package/owsip/files/telephony.init b/package/owsip/files/telephony.init new file mode 100644 index 0000000000..9e40c41f49 --- /dev/null +++ b/package/owsip/files/telephony.init @@ -0,0 +1,50 @@ +#!/bin/sh /etc/rc.common +START=80 + +SERVICE_WRITE_PID=1 +SERVICE_DAEMONIZE=1 +SERVICE_PID_FILE=/var/run/owsip.pid + +. /lib/functions.sh + +load_module() { + MODULE=`lsmod | grep vmmc` + [ ! -z "$MODULE" ] || ( insmod vmmc ; sleep 3 ) + [ ! -c /dev/vmmc10 ] && { + mknod /dev/vmmc10 c 122 10 + mknod /dev/vmmc11 c 122 11 + mknod /dev/vmmc12 c 122 12 + mknod /dev/vmmc13 c 122 13 + mknod /dev/vmmc14 c 122 14 + mknod /dev/vmmc15 c 122 15 + mknod /dev/vmmc16 c 122 16 + mknod /dev/vmmc17 c 122 17 + mknod /dev/vmmc18 c 122 18 + } +} + +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 + load_module + service_start /usr/bin/owsip_ua +} + +stop() { + service_stop /usr/bin/owsip_ua +} |