mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-11-27 17:55:55 +02:00
[lantiq] add a simple sip client
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30519 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
f8d8046b51
commit
decfe8e3f5
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
|
||||
}
|
Loading…
Reference in New Issue
Block a user