From: John Crispin Date: Tue, 14 Feb 2012 15:05:52 +0000 (+0000) Subject: add a simple sip client X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=d82c9a1b15242d107838db706aa0e6ab1b51e0fc;p=openwrt%2Fstaging%2Fflorian.git add a simple sip client SVN-Revision: 30519 --- diff --git a/package/owsip/Makefile b/package/owsip/Makefile new file mode 100644 index 0000000000..d36036b9d8 --- /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 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 < /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 +}