diff options
Diffstat (limited to 'package')
| -rw-r--r-- | package/owsip/Makefile | 72 | ||||
| -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 | 
4 files changed, 209 insertions, 0 deletions
| diff --git a/package/owsip/Makefile b/package/owsip/Makefile new file mode 100644 index 000000000..d36036b9d --- /dev/null +++ b/package/owsip/Makefile @@ -0,0 +1,72 @@ +# +# Copyright (C) 2012 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +OWSIP_VERSION=2012-02-14 +OWSIP_RELEASE=1 + +PKG_NAME:=owsip +PKG_VERSION:=$(OWSIP_VERSION)$(if $(OWSIP_RELEASE),.$(OWSIP_RELEASE)) +PKG_RELEASE:=1 +PKG_REV:=da53a53db28b47ca1714ffba72d0df5bea357706 + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=git://nbd.name/owsip.git +PKG_SOURCE_SUBDIR:=owsip-$(PKG_VERSION) +PKG_SOURCE_VERSION:=$(PKG_REV) +PKG_SOURCE_PROTO:=git +PKG_MIRROR_MD5SUM:=74b0ab930321c4f85f220ff3852e210a + +include $(INCLUDE_DIR)/package.mk + +define Package/owsip-template +  SUBMENU:=Telephony +  SECTION:=net +  CATEGORY:=Network +  TITLE:=owsip using $(2) +  VARIANT:=$(1) +  DEPENDS:=+librt +libuci +libubox +pjsip-$(1) $(3) +endef + +Package/owsip-oss=$(call Package/owsip-template,oss,OSS,BROKEN) +Package/owsip-ltq-tapi=$(call Package/owsip-template,ltq-tapi,Lantiq VMMC,@TARGET_lantiq +kmod-ltq-kpi2udp) + +define Package/owsip-$(BUILD_VARIANT)/description +	OpenWrt sip daemon - $(BUILD_VARIANT) +endef + +USE_LOCAL=$(shell ls ./src/ 2>/dev/null >/dev/null && echo 1) +ifneq ($(USE_LOCAL),) +define Build/Prepare +	$(CP) ./src/* $(PKG_BUILD_DIR)/ +endef +endif + +EXTRA_CFLAGS=-I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/include \ +	-I$(STAGING_DIR)/usr/pjsip-$(BUILD_VARIANT)/include +EXTRA_LDFLAGS=-L$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/usr/pjsip-$(BUILD_VARIANT)/lib + +define Build/Compile +	PKG_CONFIG_PATH=$(STAGING_DIR)/usr/pjsip-$(BUILD_VARIANT)/lib/pkgconfig \ +		BACKEND=$(BUILD_VARIANT) CFLAGS="$(EXTRA_CFLAGS)" LDFLAGS="$(EXTRA_LDFLAGS)" $(MAKE) -C $(PKG_BUILD_DIR) $(TARGET_CONFIGURE_OPTS) +endef + +define Package/owsip-$(BUILD_VARIANT)/conffiles +/etc/config/telephony.conf +endef + +define Package/owsip-$(BUILD_VARIANT)/install +	$(INSTALL_DIR) $(1)/usr/bin $(1)/etc/init.d $(1)/etc/config $(1)/etc/uci-defaults +	$(INSTALL_BIN) $(PKG_BUILD_DIR)/owsip_ua $(1)/usr/bin +	$(INSTALL_BIN) ./files/telephony.init $(1)/etc/init.d/telephony +	$(INSTALL_DATA) ./files/telephony.conf $(1)/etc/config/telephony +	$(INSTALL_DATA) ./files/telephony.defaults $(1)/etc/uci-defaults/telephony +endef + +$(eval $(call BuildPackage,owsip-oss)) +$(eval $(call BuildPackage,owsip-ltq-tapi)) diff --git a/package/owsip/files/telephony.conf b/package/owsip/files/telephony.conf new file mode 100644 index 000000000..7cc1e9f0f --- /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 000000000..bec2878a0 --- /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 000000000..9e40c41f4 --- /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 +} | 
