add a simple sip client
SVN-Revision: 30519
This commit is contained in:
		
							
								
								
									
										72
									
								
								package/owsip/Makefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										72
									
								
								package/owsip/Makefile
									
									
									
									
									
										Normal file
									
								
							| @@ -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)) | ||||||
							
								
								
									
										32
									
								
								package/owsip/files/telephony.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								package/owsip/files/telephony.conf
									
									
									
									
									
										Normal file
									
								
							| @@ -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 | ||||||
|  |  | ||||||
							
								
								
									
										55
									
								
								package/owsip/files/telephony.defaults
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										55
									
								
								package/owsip/files/telephony.defaults
									
									
									
									
									
										Executable file
									
								
							| @@ -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 | ||||||
							
								
								
									
										50
									
								
								package/owsip/files/telephony.init
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								package/owsip/files/telephony.init
									
									
									
									
									
										Normal file
									
								
							| @@ -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 | ||||||
|  | } | ||||||
		Reference in New Issue
	
	Block a user
	 John Crispin
					John Crispin