mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2025-04-21 12:27:27 +03:00
[ifxmips] adds voip support
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20637 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
36
package/ifx-tapidemo/Config.in
Normal file
36
package/ifx-tapidemo/Config.in
Normal file
@@ -0,0 +1,36 @@
|
||||
choice
|
||||
prompt "board selection"
|
||||
default VOICE_CPE_TAPIDEMO_BOARD_EASY50712_V3 if TARGET_ifxmips_platform_danube
|
||||
default VOICE_CPE_TAPIDEMO_BOARD_EASY508xx if TARGET_ifxmips_platform_ar9
|
||||
default VOICE_CPE_TAPIDEMO_BOARD_EASY80910 if TARGET_ifxmips_platform_vr9
|
||||
default VOICE_CPE_TAPIDEMO_BOARD_EASY50812
|
||||
help
|
||||
Select the target platform.
|
||||
|
||||
config VOICE_CPE_TAPIDEMO_BOARD_EASY50712
|
||||
bool "Danube reference board"
|
||||
|
||||
config VOICE_CPE_TAPIDEMO_BOARD_EASY50712_V3
|
||||
bool "Danube reference board V3"
|
||||
|
||||
config VOICE_CPE_TAPIDEMO_BOARD_EASY508xx
|
||||
bool "AR9/GR9 reference board"
|
||||
|
||||
config VOICE_CPE_TAPIDEMO_BOARD_EASY80910
|
||||
bool "VR9 reference board"
|
||||
endchoice
|
||||
|
||||
config VOICE_CPE_TAPIDEMO_QOS
|
||||
bool "enable QOS support"
|
||||
default n
|
||||
help
|
||||
Option to enable the KPI2UDP RTP packet acceleration path
|
||||
(highly recommended for VoIP).
|
||||
|
||||
config VOICE_CPE_TAPIDEMO_FAX_T.38_FW
|
||||
bool "enable T.38 fax relay"
|
||||
depends on (TARGET_ifxmips_platform_ar9 || TARGET_ifxmips_platform_vr9)
|
||||
default n
|
||||
help
|
||||
enable T.38 fax relay demo.
|
||||
|
||||
70
package/ifx-tapidemo/Makefile
Normal file
70
package/ifx-tapidemo/Makefile
Normal file
@@ -0,0 +1,70 @@
|
||||
#
|
||||
# Copyright (C) 2008 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
# $Id: $
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
include $(INCLUDE_DIR)/kernel.mk
|
||||
|
||||
PKG_NAME:=tapidemo
|
||||
PKG_VERSION:=5.0.1.27
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources
|
||||
PKG_MD5SUM:=a38a7bf3242aad607f50f57b988bc87c
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/ifx-tapidemo
|
||||
SECTION:=utils
|
||||
CATEGORY:=Utilities
|
||||
TITLE:=TAPIdemo application for Lantiq boards
|
||||
URL:=http://www.lantiq.com/
|
||||
MAINTAINER:=Lantiq
|
||||
DEPENDS:=+kmod-ifx-tapi +kmod-ifx-vmmc @BROKEN
|
||||
endef
|
||||
|
||||
define Package/ifx-tapidemo/description
|
||||
Voice Access mini-PBX Demo Application
|
||||
endef
|
||||
|
||||
define Package/ifx-tapidemo/config
|
||||
if PACKAGE_ifx-tapidemo
|
||||
source "$(SOURCE)/Config.in"
|
||||
endif
|
||||
endef
|
||||
|
||||
CONFIGURE_ARGS += \
|
||||
ARCH=$(LINUX_KARCH) \
|
||||
--enable-linux-26 \
|
||||
--enable-kernelincl="$(LINUX_DIR)/include" \
|
||||
--with-drvincl="$(STAGING_DIR)/usr/include" \
|
||||
$(call autoconf_bool,CONFIG_VOICE_CPE_TAPI_QOS,qos) \
|
||||
$(call autoconf_bool,CONFIG_VOICE_CPE_TAPIDEMO_FAX_T,fax-t38) \
|
||||
--enable-trace \
|
||||
--enable-fs
|
||||
|
||||
ifeq ($(CONFIG_VOICE_CPE_TAPIDEMO_BOARD_EASY50712),y)
|
||||
CONFIGURE_ARGS += --enable-boardname=EASY50712
|
||||
endif
|
||||
ifeq ($(CONFIG_VOICE_CPE_TAPIDEMO_BOARD_EASY50712_V3),y)
|
||||
CONFIGURE_ARGS += --enable-boardname=EASY50712_V3
|
||||
endif
|
||||
ifeq ($(CONFIG_VOICE_CPE_TAPIDEMO_BOARD_EASY508xx),y)
|
||||
CONFIGURE_ARGS += --enable-boardname=EASY508XX
|
||||
endif
|
||||
ifeq ($(CONFIG_VOICE_CPE_TAPIDEMO_BOARD_EASY80910),y)
|
||||
CONFIGURE_ARGS += --enable-boardname=EASY508XX
|
||||
endif
|
||||
|
||||
define Package/ifx-tapidemo/install
|
||||
$(INSTALL_DIR) $(1)/usr/sbin $(1)/etc/init.d/
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/tapidemo $(1)/usr/sbin
|
||||
$(INSTALL_BIN) ./files/bringup_tapidemo $(1)/etc/init.d/tapidemo
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,ifx-tapidemo))
|
||||
89
package/ifx-tapidemo/files/bringup_tapidemo
Normal file
89
package/ifx-tapidemo/files/bringup_tapidemo
Normal file
@@ -0,0 +1,89 @@
|
||||
#!/bin/sh /etc/rc.common
|
||||
# (C) 2008 openwrt.org
|
||||
|
||||
START=96
|
||||
|
||||
[ ! -f /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
|
||||
}
|
||||
|
||||
TD_EXTRA_FLAGS_FXO=
|
||||
TD_EXTRA_FLAGS_KPI2UDP=
|
||||
TD_DOWNLOAD_PATH=/opt/lantiq/downloads/
|
||||
DEV_NODE_TERIDIAN=ter10
|
||||
|
||||
# Show help
|
||||
help()
|
||||
{
|
||||
echo "Usage:"
|
||||
echo " - $0 WAN-IF-NAME - start TAPIDEMO without FXO support"
|
||||
echo " - $0 WAN-IF-NAME fxo - start TAPIDEMO with FXO support."
|
||||
echo " - $0 stop - stop TAPIDEMO"
|
||||
}
|
||||
|
||||
# Check if device node for Teridian exists
|
||||
checkFxoSupport()
|
||||
{
|
||||
if [ ! -e /dev/$DEV_NODE_TERIDIAN ];then
|
||||
echo "FXO support is disabled. Can not find required driver's device node."
|
||||
else
|
||||
TD_EXTRA_FLAGS_FXO="-x"
|
||||
fi
|
||||
}
|
||||
|
||||
# Check if module drv_kpi2udp is loaded
|
||||
checkKpi2UdpSupport()
|
||||
{
|
||||
tmp=`cat /proc/modules | grep 'drv_kpi2udp '`
|
||||
if [ "$tmp" != "" ]; then
|
||||
TD_EXTRA_FLAGS_KPI2UDP="-q"
|
||||
fi
|
||||
}
|
||||
|
||||
start()
|
||||
{
|
||||
TD_WANIF=$1
|
||||
|
||||
TD_WANIF_IP=`ifconfig $TD_WANIF | grep 'inet addr:' | cut -f2 -d: | cut -f1 -d' '`
|
||||
if [ "$TD_WANIF_IP" = "" ]; then
|
||||
echo "Error, getting IP address for network device $TD_WANIF failed."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "$2" = "" ];then
|
||||
# FXO support is disabled.
|
||||
continue
|
||||
elif [ "$2" = "fxo" ];then
|
||||
checkFxoSupport
|
||||
else
|
||||
echo "Error, unknown second parameter."
|
||||
help
|
||||
exit 1
|
||||
fi
|
||||
|
||||
checkKpi2UdpSupport
|
||||
|
||||
if [ -r /etc/rc.conf ]; then
|
||||
. /etc/rc.conf
|
||||
fi
|
||||
|
||||
TD_DEBUG_LEVEL=$tapiDebugLevel
|
||||
if [ "$TD_DEBUG_LEVEL" = "" ]; then
|
||||
TD_DEBUG_LEVEL=3
|
||||
fi
|
||||
|
||||
/usr/sbin/tapidemo -d $TD_DEBUG_LEVEL $TD_EXTRA_FLAGS_FXO $TD_EXTRA_FLAGS_KPI2UDP -i $TD_WANIF_IP -l $TD_DOWNLOAD_PATH &
|
||||
}
|
||||
|
||||
stop()
|
||||
{
|
||||
killall tapidemo > /dev/null 2> /dev/null
|
||||
}
|
||||
78
package/ifx-tapidemo/patches/100-ifxmips.patch
Normal file
78
package/ifx-tapidemo/patches/100-ifxmips.patch
Normal file
@@ -0,0 +1,78 @@
|
||||
--- a/src/board_easy50712.c Mon Mar 15 14:47:53 2010 +0300
|
||||
+++ b/src/board_easy50712.c Tue Mar 16 17:25:55 2010 +0300
|
||||
@@ -40,7 +40,9 @@
|
||||
#endif /* DUSLIC_FXO */
|
||||
#endif /* EASY50712_V3 */
|
||||
|
||||
-#include "asm/ifx/ifx_gpio.h"
|
||||
+#ifdef FXO
|
||||
+# include "asm/ifx/ifx_gpio.h"
|
||||
+#endif
|
||||
|
||||
/* ============================= */
|
||||
/* Defines */
|
||||
@@ -896,6 +898,7 @@
|
||||
/* Global function definition */
|
||||
/* ============================= */
|
||||
|
||||
+#ifdef FXO
|
||||
/**
|
||||
Set direction of GPIO pin to out which is used for set/clear reset.
|
||||
|
||||
@@ -944,7 +947,7 @@
|
||||
return IFX_SUCCESS;
|
||||
}
|
||||
break;
|
||||
-
|
||||
+
|
||||
case GPIO_DUSLIC_EASY50510:
|
||||
{
|
||||
TRACE(TAPIDEMO, DBG_LEVEL_LOW,
|
||||
@@ -982,8 +985,9 @@
|
||||
|
||||
return IFX_SUCCESS;
|
||||
};
|
||||
+#endif
|
||||
|
||||
-
|
||||
+#ifdef FXO
|
||||
/*
|
||||
Set/Clear reset of device by using GPIO port.
|
||||
|
||||
@@ -1086,7 +1090,9 @@
|
||||
/* usleep(100000); karol - workaround, */
|
||||
return ret;
|
||||
}
|
||||
+#endif
|
||||
|
||||
+#ifdef EASY50510
|
||||
/**
|
||||
Set PCM master mode.
|
||||
|
||||
@@ -1178,15 +1184,16 @@
|
||||
|
||||
return ret;
|
||||
}
|
||||
+#endif
|
||||
|
||||
/**
|
||||
Register board.
|
||||
|
||||
\param pBoard - pointer to board
|
||||
-
|
||||
+
|
||||
\return IFX_SUCCESS if successful, otherwise IFX_ERROR.
|
||||
|
||||
- \remarks
|
||||
+ \remarks
|
||||
*/
|
||||
IFX_return_t BOARD_Easy50712_Register(BOARD_t* pBoard)
|
||||
{
|
||||
@@ -1204,7 +1211,3 @@
|
||||
pBoard->RemoveBoard = BOARD_Easy50712_RemoveBoard;
|
||||
return IFX_SUCCESS;
|
||||
}
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
12
package/ifx-tapidemo/patches/110-no_echo_cancelation.patch
Normal file
12
package/ifx-tapidemo/patches/110-no_echo_cancelation.patch
Normal file
@@ -0,0 +1,12 @@
|
||||
Index: tapidemo-5.0.1.27/src/device_vmmc.c
|
||||
===================================================================
|
||||
--- tapidemo-5.0.1.27.orig/src/device_vmmc.c 2009-11-09 15:40:31.000000000 +0100
|
||||
+++ tapidemo-5.0.1.27/src/device_vmmc.c 2010-03-30 21:32:51.000000000 +0200
|
||||
@@ -240,7 +240,6 @@
|
||||
TRACE(TAPIDEMO, DBG_LEVEL_HIGH,
|
||||
("Error, BBD file %s is not found.\n(File: %s, line: %d)\n",
|
||||
pCpuDevice->pszBBD_CRAM_File, __FILE__, __LINE__));
|
||||
- return IFX_ERROR;
|
||||
}
|
||||
|
||||
#endif /* USE_FILESYSTEM */
|
||||
Reference in New Issue
Block a user