wanpipe-3.4.5.tgz
This commit is contained in:
parent
539174b95a
commit
7bbfefe672
|
@ -8,6 +8,26 @@ For more info visit: http://wiki.sangoma.com
|
|||
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
* Tue Aug 18 2009 Nenad Corbic <ncorbic@sangoma.com> - Stable - 3.4.5
|
||||
=====================================================================
|
||||
|
||||
- New firmawre feature for A101/2/5/8: Free Run Timer Interrupt
|
||||
The AFT T1/E1 cards will now provide perfect timing to zatpel/dahdi
|
||||
even when the ports are not connected. The free run interrupt
|
||||
will be enabled when all zaptel/dahdi ports are down, or on
|
||||
inital card start. To test this feature just start a wanpipe
|
||||
port with zaptel/dahdi and run zttest.
|
||||
A108 firmare V38
|
||||
A104/2/1/ firmware V36
|
||||
|
||||
- Added module inc cound when zaptel/dahdi starts.
|
||||
So wanpipe drivers do not crash if one tries to unload
|
||||
zaptel/dahdi before stopping wanpipe drivers.
|
||||
|
||||
- Dahdi 2.2 Support
|
||||
- Updated for 2.6.30 kernel
|
||||
|
||||
|
||||
* Fri Jun 17 2009 Nenad Corbic <ncorbic@sangoma.com> - Stable - 3.4.4
|
||||
=====================================================================
|
||||
|
||||
|
|
13
Makefile
13
Makefile
|
@ -61,6 +61,10 @@ ifndef INSTALLPREFIX
|
|||
INSTALLPREFIX=
|
||||
endif
|
||||
|
||||
ifndef LIBPREFIX
|
||||
LIBPREFIX=/usr
|
||||
endif
|
||||
|
||||
ifndef 64BIT_4G
|
||||
64BIT_4G="Disabled"
|
||||
else
|
||||
|
@ -91,6 +95,9 @@ ZAPHDLC_PRIV=/etc/wanpipe/.zaphdlc
|
|||
|
||||
EXTRA_CFLAGS += $(EXTRA_FLAGS)
|
||||
|
||||
#Enable for debugging only
|
||||
#EXTRA_CFLAGS += -DWANPIPE_PERFORMANCE_DEBUG
|
||||
|
||||
|
||||
#Check if zaptel exists
|
||||
ifneq (,$(wildcard $(ZAPDIR)/zaptel.h))
|
||||
|
@ -298,7 +305,7 @@ all_util: install_inc
|
|||
PREFIX=$(INSTALLPREFIX) HOSTCFLAGS="$(EXTRA_UTIL_FLAGS)" HOSTCFLAGS="$(EXTRA_UTIL_FLAGS)" ARCH=$(ARCH)
|
||||
|
||||
all_lib:
|
||||
$(shell cd api/libsangoma; ./init-automake.sh > /dev/null; ./configure --prefix=/usr > /dev/null;)
|
||||
$(shell cd api/libsangoma; ./init-automake.sh >> $(PWD)/.cfg_log; ./configure --prefix=$(LIBPREFIX) >> $(PWD)/.cfg_log;)
|
||||
$(MAKE) -C api/libsangoma clean
|
||||
$(MAKE) -C api/libsangoma all
|
||||
|
||||
|
@ -358,9 +365,9 @@ install_inc:
|
|||
@\cp -rf $(PWD)/patches/kdrivers/wanec/*.h $(INSTALLPREFIX)/usr/include/wanpipe/
|
||||
|
||||
smgbri:
|
||||
@cd ssmg/libsangoma.trunk; ./configure --prefix=/usr ; cd ../..;
|
||||
@cd ssmg/libsangoma.trunk; ./configure --prefix=$(LIBPREFIX) ; cd ../..;
|
||||
$(MAKE) -C ssmg/libsangoma.trunk/ CC=$(CC) PREFIX=$(INSTALLPREFIX) KDIR=$(KDIR)
|
||||
@cd ssmg/sangoma_mgd.trunk/lib/libteletone; ./configure --prefix=/usr ; cd ../../..;
|
||||
@cd ssmg/sangoma_mgd.trunk/lib/libteletone; ./configure --prefix=$(LIBPREFIX) ; cd ../../..;
|
||||
$(MAKE) -C ssmg/sangoma_mgd.trunk/lib/libteletone CC=$(CC) PREFIX=$(INSTALLPREFIX) KDIR=$(KDIR)
|
||||
$(MAKE) -C ssmg/sangoma_mgd.trunk/ CC=$(CC) PREFIX=$(INSTALLPREFIX) KDIR=$(KDIR) ASTDIR=$(ASTDIR)
|
||||
|
||||
|
|
352
Setup
352
Setup
|
@ -9,6 +9,11 @@
|
|||
# as published by the Free Software Foundation; either version
|
||||
# 2 of the License, or (at your option) any later version.
|
||||
# ----------------------------------------------------------------------------
|
||||
# Jul 29, 2009 Konrad Hammel Added --with-asterisk option
|
||||
# Jul 27, 2009 Konrad Hammel Update to not compile unneeded utilities in
|
||||
# TDM_VOICE mode.
|
||||
# Jul 24, 2008 Konrad Hammel Removed the addition of UDEV rules for Dahdi
|
||||
# installs, only needed for Zaptel
|
||||
# Jul 30, 2008 Jignesh Patel Added check for sctp utlity
|
||||
# May 30, 2008 Jignesh Patel Fixed bootscript installation failure
|
||||
# Mar 12, 2008 Konrad Hammel Updated for Zaptel-1.4.9 (kernel sub-dir)
|
||||
|
@ -1011,10 +1016,9 @@ get_kernel_ver ()
|
|||
local err=0
|
||||
|
||||
IFS="="
|
||||
|
||||
|
||||
while read name value;
|
||||
do
|
||||
|
||||
if [ $AWK_SUPPORT = YES ]; then
|
||||
name=`echo $name | awk '{ gsub(" ", "") ; print }'`
|
||||
elif [ $BASH_SUPPORT -gt 1 ]; then
|
||||
|
@ -1048,14 +1052,14 @@ get_kernel_ver ()
|
|||
|
||||
KERNEL_VERSION=$KVER"."$KPATCH"."$KLVL$KEVER
|
||||
|
||||
if [ $KVER -eq 2 ] && [ $KPATCH -eq 6 ]; then
|
||||
if [ "$KVER" -eq "2" ] && [ "$KPATCH" -eq "6" ]; then
|
||||
KERN_VER=26;
|
||||
LINUXDRIVERS_NET="drivers/net/wan"
|
||||
KLVL=${KLVL:-6}
|
||||
elif [ $KVER -eq 2 ] && [ $KPATCH -eq 4 ]; then
|
||||
elif [ "$KVER" -eq "2" ] && [ "$KPATCH" -eq "4" ]; then
|
||||
KERN_VER=24;
|
||||
LINUXDRIVERS_NET="drivers/net/wan"
|
||||
elif [ $KVER -eq 2 ] && [ $KPATCH -eq 2 ]; then
|
||||
elif [ "$KVER" -eq "2" ] && [ "$KPATCH" -eq "2" ]; then
|
||||
KERN_VER=22;
|
||||
LINUXDRIVERS_NET="drivers/net"
|
||||
if [ $ADSL_PROT = YES ];then
|
||||
|
@ -2093,7 +2097,7 @@ WARNING: The Linux source in $SOURCEDIR has not been configured.
|
|||
|
||||
|
||||
echo
|
||||
echo "Compiling ${DISTR_NAME} WanCfg Utility ..."
|
||||
echo -n "Compiling ${DISTR_NAME} WanCfg Utility ..."
|
||||
|
||||
WANCFG_DEFS=
|
||||
if [ "$TDM_PROT" = "YES" ]; then
|
||||
|
@ -2106,7 +2110,7 @@ WARNING: The Linux source in $SOURCEDIR has not been configured.
|
|||
|
||||
if [ $? -eq 0 ]
|
||||
then
|
||||
echo -e "Done.\n"
|
||||
echo -e "Done.\n\n"
|
||||
else
|
||||
echo
|
||||
echo -e "Failed!\n"
|
||||
|
@ -2126,104 +2130,124 @@ WARNING: The Linux source in $SOURCEDIR has not been configured.
|
|||
|
||||
cd $PROD_HOME/util/misc
|
||||
|
||||
echo
|
||||
echo -n "Compiling WANPIPE Misc Utilities ..."
|
||||
eval "make CC=$CC SYSINC=$SOURCEDIR/include > /dev/null"
|
||||
echo -e "Done.\n"
|
||||
echo -e "Done.\n\n"
|
||||
|
||||
echo
|
||||
echo -n "Compiling WANPIPE LibSangoma API library ..."
|
||||
|
||||
cd $PROD_HOME/api
|
||||
|
||||
if [ $superuser = "YES" ] && [ -z $ROOT ]; then
|
||||
eval "find /usr/local/lib -name 'libsangoma*' > /dev/null 2>/dev/null"
|
||||
if [ $? -eq 0 ]; then
|
||||
eval "find /usr/local/lib -name 'libsangoma*' | xargs rm > /dev/null 2>/dev/null"
|
||||
eval "find /usr/local/include -name 'libsangoma*' | xargs rm > /dev/null 2>/dev/null"
|
||||
fi
|
||||
eval "find /usr/local/lib -name 'libstelephony*' > /dev/null 2>/dev/null"
|
||||
if [ $? -eq 0 ]; then
|
||||
eval "find /usr/local/lib -name 'libstelephony*' | xargs rm > /dev/null 2>/dev/null"
|
||||
eval "find /usr/local/include -name 'libstelephony*' | xargs rm > /dev/null 2>/dev/null"
|
||||
fi
|
||||
fi
|
||||
|
||||
cd libsangoma
|
||||
eval "./init-automake.sh >> $CMP_LOG 2>> $CMP_LOG"
|
||||
eval "./configure --prefix=/usr >> $CMP_LOG 2>> $CMP_LOG"
|
||||
eval "make clean >> $CMP_LOG 2>> $CMP_LOG"
|
||||
eval "make CC=$CC SYSINC=$WANPIPE_INCLUDE_DIR >> $CMP_LOG 2>> $CMP_LOG"
|
||||
if [ $? -eq 0 ]; then
|
||||
echo -e "Done.\n"
|
||||
if [ $TDM_VOICE_ONLY = 'YES' ]; then
|
||||
echo -e "Compiling WANPIPE LibSangoma API Library ... skipped, not required.\n\n"
|
||||
else
|
||||
echo -e "Failed. \n"
|
||||
pause
|
||||
fi
|
||||
eval "make install DESTDIR=$ROOT >> $CMP_LOG 2>> $CMP_LOG"
|
||||
echo -n "Compiling WANPIPE LibSangoma API library ..."
|
||||
|
||||
cd ..
|
||||
cd $PROD_HOME/api
|
||||
|
||||
if [ -e libstelephony ]; then
|
||||
echo -n "Compiling WANPIPE LibStelephony API library ..."
|
||||
|
||||
cd libstelephony
|
||||
if [ $superuser = "YES" ] && [ -z $ROOT ]; then
|
||||
eval "find /usr/local/lib -name 'libsangoma*' > /dev/null 2>/dev/null"
|
||||
if [ $? -eq 0 ]; then
|
||||
eval "find /usr/local/lib -name 'libsangoma*' | xargs rm -f > /dev/null 2>/dev/null"
|
||||
eval "find /usr/local/include -name 'libsangoma*' | xargs rm -f > /dev/null 2>/dev/null"
|
||||
fi
|
||||
eval "find /usr/local/lib -name 'libstelephony*' > /dev/null 2>/dev/null"
|
||||
if [ $? -eq 0 ]; then
|
||||
eval "find /usr/local/lib -name 'libstelephony*' | xargs rm -f > /dev/null 2>/dev/null"
|
||||
eval "find /usr/local/include -name 'libstelephony*' | xargs rm -f > /dev/null 2>/dev/null"
|
||||
fi
|
||||
eval "find /usr/lib -name 'libsangoma*' > /dev/null 2>/dev/null"
|
||||
if [ $? -eq 0 ]; then
|
||||
eval "find /usr/lib -name 'libsangoma*' | xargs rm -f > /dev/null 2>/dev/null"
|
||||
eval "find /usr/include -name 'libsangoma*' | xargs rm -f > /dev/null 2>/dev/null"
|
||||
fi
|
||||
eval "find /usr/lib/lib -name 'libstelephony*' > /dev/null 2>/dev/null"
|
||||
if [ $? -eq 0 ]; then
|
||||
eval "find /usr/lib -name 'libstelephony*' | xargs rm -f > /dev/null 2>/dev/null"
|
||||
eval "find /usr/include -name 'libstelephony*' | xargs rm -f > /dev/null 2>/dev/null"
|
||||
fi
|
||||
fi
|
||||
|
||||
cd libsangoma
|
||||
eval "./init-automake.sh >> $CMP_LOG 2>> $CMP_LOG"
|
||||
eval "./configure --prefix=/usr >> $CMP_LOG 2>> $CMP_LOG"
|
||||
eval "make clean >> $CMP_LOG 2>> $CMP_LOG"
|
||||
eval "make CC=$CC SYSINC=$WANPIPE_INCLUDE_DIR >> $CMP_LOG 2>> $CMP_LOG"
|
||||
if [ $? -eq 0 ]; then
|
||||
echo -e "Done.\n"
|
||||
echo -e "Done.\n\n"
|
||||
else
|
||||
echo -e "Failed. -- Note this library is not mandatory its safe to continue install \n"
|
||||
echo -e "Failed. \n\n"
|
||||
pause
|
||||
fi
|
||||
eval "make install DESTDIR=$ROOT >> $CMP_LOG 2>> $CMP_LOG"
|
||||
cd ..
|
||||
fi
|
||||
|
||||
eval "make install DESTDIR=$ROOT >> $CMP_LOG 2>> $CMP_LOG"
|
||||
|
||||
|
||||
if [ $superuser = "YES" ] && [ -z $ROOT ]; then
|
||||
eval "ldconfig > /dev/null 2> /dev/null"
|
||||
fi
|
||||
|
||||
echo
|
||||
echo -n "Compiling WANPIPE API Development Utilities ..."
|
||||
|
||||
cd $PROD_HOME/api
|
||||
|
||||
if [ -f Makefile ]; then
|
||||
eval "make CC=$CC SYSINC=$WANPIPE_INCLUDE_DIR >> $CMP_LOG 2>> $CMP_LOG"
|
||||
if [ $? -eq 0 ]; then
|
||||
echo -e "Done.\n"
|
||||
else
|
||||
echo -e "Failed!\n"
|
||||
echo -e "\tERROR: Failed to compile WANPIPE API Tools !!!"
|
||||
echo -e "\t\nPlease contact Sangoma Technologies"
|
||||
pause
|
||||
fi
|
||||
if [ $TDM_VOICE_ONLY = 'YES' ]; then
|
||||
echo -e "Compiling WANPIPE LibStelephony API Library ... skipped, not required.\n\n"
|
||||
else
|
||||
echo "Skiped"
|
||||
if [ -e libstelephony ]; then
|
||||
echo -n "Compiling WANPIPE LibStelephony API library ..."
|
||||
cd libstelephony
|
||||
eval "./init-automake.sh >> $CMP_LOG 2>> $CMP_LOG"
|
||||
eval "./configure --prefix=/usr >> $CMP_LOG 2>> $CMP_LOG"
|
||||
eval "make clean >> $CMP_LOG 2>> $CMP_LOG"
|
||||
eval "make CC=$CC SYSINC=$WANPIPE_INCLUDE_DIR >> $CMP_LOG 2>> $CMP_LOG"
|
||||
if [ $? -eq 0 ]; then
|
||||
echo -e "Done.\n\n"
|
||||
else
|
||||
echo -e "Failed. -- Note this library is not mandatory its safe to continue install \n\n"
|
||||
pause
|
||||
fi
|
||||
fi
|
||||
|
||||
eval "make install DESTDIR=$ROOT >> $CMP_LOG 2>> $CMP_LOG"
|
||||
|
||||
|
||||
if [ $superuser = "YES" ] && [ -z $ROOT ]; then
|
||||
eval "ldconfig > /dev/null 2> /dev/null"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ $TDM_VOICE_ONLY = 'YES' ]; then
|
||||
echo -e "Compiling WANPIPE API Development Utilities ... skipped, not required.\n\n"
|
||||
else
|
||||
echo -n "Compiling WANPIPE API Development Utilities ..."
|
||||
|
||||
cd $PROD_HOME/api
|
||||
|
||||
if [ -f Makefile ]; then
|
||||
eval "make CC=$CC SYSINC=$WANPIPE_INCLUDE_DIR >> $CMP_LOG 2>> $CMP_LOG"
|
||||
if [ $? -eq 0 ]; then
|
||||
echo -e "Done.\n"
|
||||
else
|
||||
echo -e "Failed!\n"
|
||||
echo -e "\tERROR: Failed to compile WANPIPE API Tools !!!"
|
||||
echo -e "\tPlease contact support at Sangoma Technologies"
|
||||
echo -e "\temail: techdesk@sangoma.com"
|
||||
echo -e "\tPlease include the file setup_drv_compile.log\n"
|
||||
pause
|
||||
fi
|
||||
else
|
||||
echo -e "Skipped, no makefile\n"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -d $PROD_HOME/util/wanec_client ] && [ -d $DRIVER_UPDATE_DIR/wanec ] ; then
|
||||
echo
|
||||
echo -n "Compiling WANPIPE HWEC Utilities ..."
|
||||
cd $PROD_HOME/util/wanec_client
|
||||
eval "make CC=$CC SYSINC=$WANPIPE_INCLUDE_DIR WANEC_DIR=$DRIVER_UPDATE_DIR/wanec >> $CMP_LOG 2>> $CMP_LOG "
|
||||
if [ $? -eq 0 ]; then
|
||||
echo -e "Done.\n"
|
||||
echo -e "Done.\n\n"
|
||||
else
|
||||
echo -e "Failed!\n"
|
||||
echo -e "\tERROR: Failed to compile WANPIPE HWEC Tools !!!"
|
||||
echo -e "\t\nPlease contact Sangoma Technologies"
|
||||
echo -e "\tPlease contact support at Sangoma Technologies"
|
||||
echo -e "\temail: techdesk@sangoma.com"
|
||||
echo -e "\tPlease include the file setup_drv_compile.log\n"
|
||||
pause
|
||||
fi
|
||||
else
|
||||
echo
|
||||
echo -n "WANPIPE HWEC Utilities not installed"
|
||||
echo
|
||||
fi
|
||||
fi
|
||||
echo -e "\tWANPIPE Environment Setup Complete !!!\n"
|
||||
pause
|
||||
return 0
|
||||
|
@ -3100,6 +3124,7 @@ if [ -z $NONINTERACTIVE ]; then
|
|||
enable_protocols $DEFAULT_PROTOCOLS
|
||||
|
||||
elif [ "$response" -eq 2 ]; then
|
||||
TDM_VOICE_ONLY=YES
|
||||
enable_protocols "TDM"
|
||||
enable_protocols "AFT_TE1"
|
||||
LIP_PROT=NO
|
||||
|
@ -3295,6 +3320,8 @@ ENDOFTEXT
|
|||
rm -rf $DRIVER_TMP_DIR
|
||||
fi
|
||||
|
||||
eval "find $PROD_HOME -name \"Module.symvers*\" | xargs \rm -f"
|
||||
|
||||
\mkdir "$DRIVER_TMP_DIR"
|
||||
\mkdir "$DRIVER_TMP_DIR/mod"
|
||||
\mkdir "$DRIVER_TMP_DIR/tmp"
|
||||
|
@ -4391,6 +4418,10 @@ WANPIPE_OBJS=
|
|||
echo -n "Linking Wanpipe Driver and protocols ..."
|
||||
|
||||
#Link in appropriate protocols as needed.
|
||||
if [ -e $MODSYM ]; then
|
||||
eval "\rm -f $MODSYM"
|
||||
fi
|
||||
|
||||
if [ "$TDM_PROT" = "YES" ]; then
|
||||
if [ -f $ZAPTEL_SYM_DIR/$MODSYM ]; then
|
||||
cat $ZAPTEL_SYM_DIR/$MODSYM >> $MODSYM
|
||||
|
@ -4704,9 +4735,11 @@ ENDOFTEXT
|
|||
function install_chan_woomera()
|
||||
{
|
||||
AST_MODULES=chan_woomera.c
|
||||
if test $NONINTERACTIVE; then
|
||||
ast_src_dir=/usr/src/asterisk
|
||||
fi
|
||||
if [ "$AST_DFLT_INSTALL_DIR" = "" ]; then
|
||||
ast_src_dir=/usr/src/asterisk
|
||||
else
|
||||
ast_src_dir=$AST_DFLT_INSTALL_DIR
|
||||
fi
|
||||
|
||||
cd $PROD_HOME/$SSMG_DIR
|
||||
cd sangoma_mgd.trunk
|
||||
|
@ -5548,18 +5581,18 @@ function tdmv_apply_zaptel_dchan_patch_old ()
|
|||
}
|
||||
|
||||
function tdmv_apply_zaptel_chunk_patch () {
|
||||
lhome=`pwd`
|
||||
TEMP=tmp
|
||||
cd $ZAPTEL_SOURCE_DIR
|
||||
echo "Applying Zaptel/Dahdi Chunk patch..."
|
||||
echo " "
|
||||
lhome=`pwd`
|
||||
TEMP=tmp
|
||||
cd $ZAPTEL_SOURCE_DIR
|
||||
echo "Applying Zaptel/Dahdi Chunk patch..."
|
||||
echo " "
|
||||
|
||||
filetopatch="zaptel.h"
|
||||
chunkname="ZT_CHUNKSIZE"
|
||||
dhname="Zaptel"
|
||||
isdahdi="no"
|
||||
if [ -f $ZAPTEL_SOURCE_DIR/dahdi/kernel.h ]; then
|
||||
filetopatch="kernel.h"
|
||||
filetopatch="$ZAPTEL_SOURCE_DIR/dahdi/$kernel.h"
|
||||
chunkname="DAHDI_CHUNKSIZE"
|
||||
dhname="Dahdi"
|
||||
isdahdi="yes"
|
||||
|
@ -5636,20 +5669,31 @@ function tdmv_apply_zaptel_chunk_patch () {
|
|||
fi
|
||||
# for zaptel-1.2.26 or later (including Dahdi)
|
||||
if [ -f Kbuild ]; then
|
||||
eval "cat Kbuild | sed 's/^obj-m.*+=.*wct4xx.*//g'>$TEMP 2>/dev/null "
|
||||
eval "cat Kbuild | sed 's/^obj-.*+=.*wct4xx.*//g'>$TEMP 2>/dev/null "
|
||||
if [ $? -ne 0 ]; then
|
||||
echo " Failed to remove wct4xxp from Kbuild"
|
||||
exit 1
|
||||
|
||||
else
|
||||
eval "\mv -f $TEMP Kbuild"
|
||||
echo " wct4xxp module removed from Kbuild successfully"
|
||||
zaptel_modified=1
|
||||
fi
|
||||
|
||||
eval "cat Kbuild | sed 's/^obj-.*+=.*wcb4xx.*//g'>$TEMP 2>/dev/null "
|
||||
if [ $? -ne 0 ]; then
|
||||
echo " Failed to remove wcb4xxp from Kbuild"
|
||||
exit 1
|
||||
|
||||
else
|
||||
eval "\mv -f $TEMP Kbuild"
|
||||
echo " wcb4xxp module removed from Kbuild successfully"
|
||||
zaptel_modified=1
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
cd $lhome
|
||||
return 0;
|
||||
cd $lhome
|
||||
return 0;
|
||||
}
|
||||
|
||||
function tdmv_apply_zaptel_echo_debug_patch ()
|
||||
|
@ -5934,6 +5978,13 @@ function tdmv_check_zaptel_udev()
|
|||
echo " UDEV rules not used "
|
||||
return 0
|
||||
fi
|
||||
|
||||
if [ $DAHDI_SUPPORT = "YES" ]; then
|
||||
echo " Dahdi installed, no need to add UDEV rules"
|
||||
return 0
|
||||
fi
|
||||
|
||||
|
||||
#UDEV rules
|
||||
if [ ! -f /etc/udev/rules.d/50-udev.rules ]; then
|
||||
echo " UDEV rules not found/or not used "
|
||||
|
@ -6211,7 +6262,7 @@ function find_ast_dirs ()
|
|||
fi
|
||||
|
||||
echo
|
||||
echo "Looking for Asteris/CallWeaver directory in /usr/src ..."
|
||||
echo "Looking for Asterisk/CallWeaver directory in /usr/src ..."
|
||||
echo "-------------------------------------------"
|
||||
if [ "$astdirs" = "" ]; then
|
||||
astdirs=`find /usr/src -maxdepth 2 -name 'asterisk*' | xargs `
|
||||
|
@ -6654,7 +6705,7 @@ ENDOFTEXT
|
|||
echo "Enabling the AFT TE1 Support"
|
||||
PROTOCOL_DEFINES="$PROTOCOL_DEFINES -DCONFIG_PRODUCT_WANPIPE_AFT -DCONFIG_PRODUCT_WANPIPE_AFT_CORE -DCONFIG_PRODUCT_WANPIPE_AFT_TE1 -DCONFIG_PRODUCT_WANPIPE_AFT_56K -DCONFIG_PRODUCT_WANPIPE_AFT_RM -DCONFIG_PRODUCT_WANPIPE_CODEC_SLINEAR_LAW -DCONFIG_PRODUCT_WANPIPE_AFT_BRI -DCONFIG_PRODUCT_WANPIPE_AFT_SERIAL -DCONFIG_PRODUCT_WANPIPE_AFT_A600 "
|
||||
if [ $REL != "3.4" ]; then
|
||||
PROTOCOL_DEFINES="$PROTOCOL_DEFINES -DCONFIG_PRODUCT_WANPIPE_USB -DCONFIG_PRODUCT_WANPIPE_AFT_A700 "
|
||||
PROTOCOL_DEFINES="$PROTOCOL_DEFINES -DCONFIG_PRODUCT_WANPIPE_USB -DCONFIG_PRODUCT_WANPIPE_AFT_A700 "
|
||||
fi
|
||||
fi
|
||||
AFT_TE1_PROT=YES
|
||||
|
@ -7078,7 +7129,7 @@ function detect_rpm_build_utility()
|
|||
function compile_aft_firmware_util()
|
||||
{
|
||||
lhome=`pwd`
|
||||
\cp -f $PROD_HOME/util/wan_aftup $PROD_HOME/rpmbuild/etc/wanpipe/firmware/ -r
|
||||
\cp -rf $PROD_HOME/util/wan_aftup $PROD_HOME/rpmbuild/etc/wanpipe/firmware/
|
||||
|
||||
cd $PROD_HOME/rpmbuild/etc/wanpipe/firmware/wan_aftup
|
||||
echo "Compiling firmware update utilities..."
|
||||
|
@ -7150,51 +7201,72 @@ or
|
|||
optional command extensions:
|
||||
----------------------------
|
||||
|
||||
--silent : Non interactive. Run all above commands
|
||||
without user interaction. Thus default
|
||||
environment values are assumed such
|
||||
as:
|
||||
--silent : Non interactive. Run all above commands
|
||||
without user interaction. Thus default
|
||||
environment values are assumed such
|
||||
as:
|
||||
|
||||
Linux source dir: $SOURCEDIR
|
||||
Architecture : uname -m
|
||||
Kernel Image : uname -r
|
||||
Linux source dir: $SOURCEDIR
|
||||
Architecture : uname -m
|
||||
Kernel Image : uname -r
|
||||
|
||||
--builddir : Install WANPIPE package into a virtual
|
||||
directory. The path must be
|
||||
absolute and must exist. Default is set
|
||||
to system root( / ).
|
||||
eg: --builddir=/root/wanpipe_build
|
||||
--builddir : Install WANPIPE package into a virtual
|
||||
directory. The path must be
|
||||
absolute and must exist. Default is set
|
||||
to system root( / ).
|
||||
eg: --builddir=/root/wanpipe_build
|
||||
|
||||
--with-linux: Build modules using a custom linux
|
||||
source directory. Default value is
|
||||
set to $SOURCEDIR
|
||||
eg: --with-linux=/usr/src/linux-2.4.4
|
||||
--with-linux : Build modules using a custom linux
|
||||
source directory. Default value is
|
||||
set to $SOURCEDIR
|
||||
eg: --with-linux=/usr/src/linux-2.4.4
|
||||
|
||||
--arch : Build modules using a custom defined
|
||||
architecture. (i686 or i586)
|
||||
By default: (uname -m)
|
||||
eg: --arch=i686
|
||||
--with-zaptel : Build modules using a certain verion of
|
||||
zaptel or dahdi
|
||||
eg: --with-zaptel=/usr/src/zaptel-1.4.12
|
||||
--with-zaptel=/usr/src/dahdi-linux-2.2.0.2
|
||||
|
||||
--with-asterisk : Build modules using a certain verions of
|
||||
Asterisk
|
||||
eg: --with-asterisk=/usr/src/asterisk-1.6.0.9
|
||||
|
||||
--split_rpms: Option to split the rpm build into
|
||||
util and modules package. Thus,
|
||||
splitting user space utilities and
|
||||
kernel modules into two packages.
|
||||
Default: one rpm package containing
|
||||
both utilites and modules.
|
||||
eg: ./Setup buildrpm --split_rpms
|
||||
--arch : Build modules using a custom defined
|
||||
architecture. (i686 or i586)
|
||||
By default: (uname -m)
|
||||
eg: --arch=i686
|
||||
|
||||
--linux-vanilla: Compile wanpipe drivers as if the
|
||||
current linux source is a vanilla source.
|
||||
Used to remove the default assumption that
|
||||
stock distribution kernels pull changes
|
||||
from higher linux kernel versions.
|
||||
--split_rpms : Option to split the rpm build into
|
||||
util and modules package. Thus,
|
||||
splitting user space utilities and
|
||||
kernel modules into two packages.
|
||||
Default: one rpm package containing
|
||||
both utilites and modules.
|
||||
eg: ./Setup buildrpm --split_rpms
|
||||
|
||||
--no-gcc-debug: Remove -g option out of gcc compile argumetns.
|
||||
--linux-vanilla : Compile wanpipe drivers as if the
|
||||
current linux source is a vanilla source.
|
||||
Used to remove the default assumption that
|
||||
stock distribution kernels pull changes
|
||||
from higher linux kernel versions.
|
||||
|
||||
--no-gcc-debug : Remove -g option out of gcc compile argumetns.
|
||||
|
||||
--noautostart : Do not install start scripts, used to overwrite
|
||||
the install of these scripts when using --silent
|
||||
|
||||
--64bit_4GB : Use this option when installing on systems using
|
||||
a 64bit kernel and 4GB of RAM or more. Wanpipe
|
||||
needs to be aware that 64bit memory mapping is
|
||||
used.
|
||||
|
||||
--dahdi-chunk : Use to increase the chunk size of Dahdi.
|
||||
Drastically improves performance in TDM Voice
|
||||
See the wiki for more information
|
||||
|
||||
|
||||
--protocol: Option to compile in extra protocols
|
||||
that are not installed by default.
|
||||
eg: ./Setup install --protocol=<PROT>
|
||||
--protocol : Option to compile in extra protocols
|
||||
that are not installed by default.
|
||||
eg: ./Setup install --protocol=<PROT>
|
||||
|
||||
Extra Protocols Supported:
|
||||
|
||||
|
@ -7255,7 +7327,7 @@ KERNEL_UNAME=`uname -r`
|
|||
PKG_NAME=wanpipe
|
||||
DISTR_NAME="WANPIPE"
|
||||
PROD=wanrouter
|
||||
PROD_VER=3.4.4
|
||||
PROD_VER=3.4.5
|
||||
PROD_HOME=`pwd`
|
||||
META_CONF=$PROD_HOME/$PROD.rc
|
||||
WAN_INTR_DIR=$PROD_HOME/interfaces
|
||||
|
@ -7305,7 +7377,7 @@ bri_auto_install="NO"
|
|||
setup_install_quick="NO"
|
||||
MODSYM=Module.symvers
|
||||
DEFAULT_KERNEL_VERSION="NO"
|
||||
|
||||
TDM_VOICE_ONLY=NO #used to detect whether this is a zaptel/dahdi only install...no API compile then
|
||||
|
||||
echo > $CMP_LOG
|
||||
echo "WANPIPE DRIVER COMPILE LOG" >> $CMP_LOG
|
||||
|
@ -7692,6 +7764,25 @@ if [ "$PKG_NAME" != "wanpipe-lite" ]; then
|
|||
set_zaptel_source_dir
|
||||
|
||||
;;
|
||||
|
||||
--with-asterisk*)
|
||||
AST_DFLT_INSTALL_DIR=`echo $arg | cut -d'=' -f2`;
|
||||
if [ "$AST_DFLT_INSTALL_DIR" = "" ]; then
|
||||
echo "Error invalid --with-asterisk option";
|
||||
exit 1;
|
||||
fi
|
||||
if [ ! -d "$AST_DFLT_INSTALL_DIR" ]; then
|
||||
echo "Error: Asterisk source directory not found: $AST_DFLT_INSTALL_DIR";
|
||||
exit 1;
|
||||
fi
|
||||
if [ ! -f "$AST_DFLT_INSTALL_DIR/Makefile" ]; then
|
||||
echo "Error: Invalid Asterisk source found in $AST_DFLT_INSTALL_DIR";
|
||||
exit 1;
|
||||
fi
|
||||
AST_PATH_OP="YES";
|
||||
echo "Asterisk path defined as: $AST_DFLT_INSTALL_DIR"
|
||||
|
||||
;;
|
||||
|
||||
--no-zaptel-compile*)
|
||||
ZAPTEL_COMPILE_DISABLE="YES";
|
||||
|
@ -7770,16 +7861,17 @@ if [ "$PKG_NAME" != "wanpipe-lite" ]; then
|
|||
--gz-modules)
|
||||
GZ_MODULES="YES";
|
||||
;;
|
||||
--zap-chunk*)
|
||||
|
||||
--zap-chunk* | --dahdi-chunk*)
|
||||
ZAP_CHUNK=`echo $arg | cut -d'=' -f2`;
|
||||
|
||||
if [ $ZAP_CHUNK != "8" ] && [ $ZAP_CHUNK != "16" ] && [ $ZAP_CHUNK != "40" ] && [ $ZAP_CHUNK != "80" ]; then
|
||||
echo "Error: Invalid Zaptel Chunk size"
|
||||
echo "Error: Invalid Dahdi/Zaptel Chunk size"
|
||||
exit 1;
|
||||
else
|
||||
echo "WARNING: Zaptel custom chunk option is EXPERIMENTAL"
|
||||
echo "WARNING:"
|
||||
echo "The wct4xxp module will be removed from your system"
|
||||
getyn "Do you want to use custom Zaptel chunk size of $ZAP_CHUNK"
|
||||
getyn "Do you want to use custom Dahdi/Zaptel chunk size of $ZAP_CHUNK"
|
||||
if [ $? -eq 0 ]; then
|
||||
ZAP_CHUNK_OP="YES"
|
||||
else
|
||||
|
|
|
@ -61,38 +61,9 @@ int wanpipe_hdlc_decode (wanpipe_hdlc_engine_t *hdlc_eng,
|
|||
unsigned char *buf, int len)
|
||||
{
|
||||
int i;
|
||||
int word_len;
|
||||
int found=1;
|
||||
int gotdata=0;
|
||||
|
||||
|
||||
word_len=len-(len%4);
|
||||
/* Before decoding the packet, make sure that the current
|
||||
* bit stream contains data. Decoding is very expensive,
|
||||
* thus perform word (32bit) comparision test */
|
||||
|
||||
|
||||
#if 0
|
||||
for (i=0;i<word_len;i+=4){
|
||||
if ((*(unsigned int*)&buf[i]) != *(unsigned int*)buf){
|
||||
found=1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if ((len%4) && !found){
|
||||
for (i=word_len;i<len;i++){
|
||||
if (buf[i]!=buf[0]){
|
||||
found=1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Data found proceed to decode
|
||||
* the bitstream and pull out data packets */
|
||||
if (found){
|
||||
wanpipe_hdlc_decoder_t *hdlc_decoder = &hdlc_eng->decoder;
|
||||
|
||||
for (i=0; i<len; i++){
|
||||
|
@ -107,7 +78,6 @@ int wanpipe_hdlc_decode (wanpipe_hdlc_engine_t *hdlc_eng,
|
|||
hdlc_decoder->stats.frame_overflow++;
|
||||
init_hdlc_decoder(hdlc_decoder);
|
||||
}
|
||||
}
|
||||
|
||||
return gotdata;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,143 @@
|
|||
Automake Init Done
|
||||
|
||||
Please run
|
||||
-> ./configure --prefix=/usr
|
||||
-> make
|
||||
-> make install
|
||||
checking for a BSD-compatible install... /usr/bin/install -c
|
||||
checking whether build environment is sane... yes
|
||||
checking for gawk... gawk
|
||||
checking whether make sets $(MAKE)... yes
|
||||
checking for gcc... gcc
|
||||
checking for C compiler default output file name... a.out
|
||||
checking whether the C compiler works... yes
|
||||
checking whether we are cross compiling... no
|
||||
checking for suffix of executables...
|
||||
checking for suffix of object files... o
|
||||
checking whether we are using the GNU C compiler... yes
|
||||
checking whether gcc accepts -g... yes
|
||||
checking for gcc option to accept ANSI C... none needed
|
||||
checking for style of include used by make... GNU
|
||||
checking dependency style of gcc... gcc3
|
||||
checking build system type... i686-redhat-linux-gnu
|
||||
checking host system type... i686-redhat-linux-gnu
|
||||
checking for a sed that does not truncate output... /bin/sed
|
||||
checking for egrep... grep -E
|
||||
checking for ld used by gcc... /usr/bin/ld
|
||||
checking if the linker (/usr/bin/ld) is GNU ld... yes
|
||||
checking for /usr/bin/ld option to reload object files... -r
|
||||
checking for BSD-compatible nm... /usr/bin/nm -B
|
||||
checking whether ln -s works... yes
|
||||
checking how to recognise dependent libraries... pass_all
|
||||
checking how to run the C preprocessor... gcc -E
|
||||
checking for ANSI C header files... yes
|
||||
checking for sys/types.h... yes
|
||||
checking for sys/stat.h... yes
|
||||
checking for stdlib.h... yes
|
||||
checking for string.h... yes
|
||||
checking for memory.h... yes
|
||||
checking for strings.h... yes
|
||||
checking for inttypes.h... yes
|
||||
checking for stdint.h... yes
|
||||
checking for unistd.h... yes
|
||||
checking dlfcn.h usability... yes
|
||||
checking dlfcn.h presence... yes
|
||||
checking for dlfcn.h... yes
|
||||
checking for g++... g++
|
||||
checking whether we are using the GNU C++ compiler... yes
|
||||
checking whether g++ accepts -g... yes
|
||||
checking dependency style of g++... gcc3
|
||||
checking how to run the C++ preprocessor... g++ -E
|
||||
checking for g77... no
|
||||
checking for f77... no
|
||||
checking for xlf... no
|
||||
checking for frt... no
|
||||
checking for pgf77... no
|
||||
checking for fort77... no
|
||||
checking for fl32... no
|
||||
checking for af77... no
|
||||
checking for f90... no
|
||||
checking for xlf90... no
|
||||
checking for pgf90... no
|
||||
checking for epcf90... no
|
||||
checking for f95... f95
|
||||
checking whether we are using the GNU Fortran 77 compiler... yes
|
||||
checking whether f95 accepts -g... yes
|
||||
checking the maximum length of command line arguments... 32768
|
||||
checking command to parse /usr/bin/nm -B output from gcc object... ok
|
||||
checking for objdir... .libs
|
||||
checking for ar... ar
|
||||
checking for ranlib... ranlib
|
||||
checking for strip... strip
|
||||
checking if gcc supports -fno-rtti -fno-exceptions... no
|
||||
checking for gcc option to produce PIC... -fPIC
|
||||
checking if gcc PIC flag -fPIC works... yes
|
||||
checking if gcc static flag -static works... yes
|
||||
checking if gcc supports -c -o file.o... yes
|
||||
checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes
|
||||
checking whether -lc should be explicitly linked in... no
|
||||
checking dynamic linker characteristics... GNU/Linux ld.so
|
||||
checking how to hardcode library paths into programs... immediate
|
||||
checking whether stripping libraries is possible... yes
|
||||
checking if libtool supports shared libraries... yes
|
||||
checking whether to build shared libraries... yes
|
||||
checking whether to build static libraries... yes
|
||||
configure: creating libtool
|
||||
appending configuration tag "CXX" to libtool
|
||||
checking for ld used by g++... /usr/bin/ld
|
||||
checking if the linker (/usr/bin/ld) is GNU ld... yes
|
||||
checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes
|
||||
checking for g++ option to produce PIC... -fPIC
|
||||
checking if g++ PIC flag -fPIC works... yes
|
||||
checking if g++ static flag -static works... yes
|
||||
checking if g++ supports -c -o file.o... yes
|
||||
checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes
|
||||
checking dynamic linker characteristics... GNU/Linux ld.so
|
||||
checking how to hardcode library paths into programs... immediate
|
||||
appending configuration tag "F77" to libtool
|
||||
checking if libtool supports shared libraries... yes
|
||||
checking whether to build shared libraries... yes
|
||||
checking whether to build static libraries... yes
|
||||
checking for f95 option to produce PIC... -fPIC
|
||||
checking if f95 PIC flag -fPIC works... yes
|
||||
checking if f95 static flag -static works... yes
|
||||
checking if f95 supports -c -o file.o... yes
|
||||
checking whether the f95 linker (/usr/bin/ld) supports shared libraries... yes
|
||||
checking dynamic linker characteristics... GNU/Linux ld.so
|
||||
checking how to hardcode library paths into programs... immediate
|
||||
checking for ar... ar
|
||||
checking fcntl.h usability... yes
|
||||
checking fcntl.h presence... yes
|
||||
checking for fcntl.h... yes
|
||||
checking netinet/in.h usability... yes
|
||||
checking netinet/in.h presence... yes
|
||||
checking for netinet/in.h... yes
|
||||
checking for stdlib.h... (cached) yes
|
||||
checking for string.h... (cached) yes
|
||||
checking sys/ioctl.h usability... yes
|
||||
checking sys/ioctl.h presence... yes
|
||||
checking for sys/ioctl.h... yes
|
||||
checking sys/socket.h usability... yes
|
||||
checking sys/socket.h presence... yes
|
||||
checking for sys/socket.h... yes
|
||||
checking sys/time.h usability... yes
|
||||
checking sys/time.h presence... yes
|
||||
checking for sys/time.h... yes
|
||||
checking for unistd.h... (cached) yes
|
||||
checking math.h usability... yes
|
||||
checking math.h presence... yes
|
||||
checking for math.h... yes
|
||||
checking whether time.h and sys/time.h may both be included... yes
|
||||
checking sys/select.h usability... yes
|
||||
checking sys/select.h presence... yes
|
||||
checking for sys/select.h... yes
|
||||
checking for sys/socket.h... (cached) yes
|
||||
checking types of arguments for select... int,fd_set *,struct timeval *
|
||||
checking for gettimeofday... yes
|
||||
checking for memset... yes
|
||||
checking for select... yes
|
||||
checking for socket... yes
|
||||
configure: creating ./config.status
|
||||
config.status: creating Makefile
|
||||
config.status: creating config.h
|
||||
config.status: executing depfiles commands
|
|
@ -0,0 +1,51 @@
|
|||
Tue Jul 21 17:44:15 EDT 2009
|
||||
IF => w1g1 Number of receiver overrun errors: 0
|
||||
IF => w2g1 Number of receiver overrun errors: 0
|
||||
IF => w3g1 Number of receiver overrun errors: 0
|
||||
IF => w4g1 Number of receiver overrun errors: 0
|
||||
IF => w5g1 Number of receiver overrun errors: 0
|
||||
IF => w6g1 Number of receiver overrun errors: 0
|
||||
IF => w7g1 Number of receiver overrun errors: 0
|
||||
IF => w8g1 Number of receiver overrun errors: 0
|
||||
IF => w9g1 Number of receiver overrun errors: 0
|
||||
IF => w10g1 Number of receiver overrun errors: 0
|
||||
IF => w11g1 Number of receiver overrun errors: 0
|
||||
IF => w12g1 Number of receiver overrun errors: 0
|
||||
IF => w13g1 Number of receiver overrun errors: 0
|
||||
IF => w14g1 Number of receiver overrun errors: 0
|
||||
IF => w15g1 Number of receiver overrun errors: 0
|
||||
IF => w16g1 Number of receiver overrun errors: 0
|
||||
Wed Jul 22 15:50:00 EDT 2009
|
||||
IF => w1g1 Number of receiver overrun errors: 0
|
||||
IF => w2g1 Number of receiver overrun errors: 0
|
||||
IF => w3g1 Number of receiver overrun errors: 0
|
||||
IF => w4g1 Number of receiver overrun errors: 0
|
||||
IF => w5g1 Number of receiver overrun errors: 0
|
||||
IF => w6g1 Number of receiver overrun errors: 0
|
||||
IF => w7g1 Number of receiver overrun errors: 0
|
||||
IF => w8g1 Number of receiver overrun errors: 0
|
||||
IF => w9g1 Number of receiver overrun errors: 0
|
||||
IF => w10g1 Number of receiver overrun errors: 0
|
||||
IF => w11g1 Number of receiver overrun errors: 0
|
||||
IF => w12g1 Number of receiver overrun errors: 0
|
||||
IF => w13g1 Number of receiver overrun errors: 0
|
||||
IF => w14g1 Number of receiver overrun errors: 0
|
||||
IF => w15g1 Number of receiver overrun errors: 0
|
||||
IF => w16g1 Number of receiver overrun errors: 0
|
||||
Wed Jul 22 15:50:11 EDT 2009
|
||||
IF => w1g1 Number of receiver overrun errors: 0
|
||||
IF => w2g1 Number of receiver overrun errors: 0
|
||||
IF => w3g1 Number of receiver overrun errors: 0
|
||||
IF => w4g1 Number of receiver overrun errors: 0
|
||||
IF => w5g1 Number of receiver overrun errors: 0
|
||||
IF => w6g1 Number of receiver overrun errors: 0
|
||||
IF => w7g1 Number of receiver overrun errors: 0
|
||||
IF => w8g1 Number of receiver overrun errors: 0
|
||||
IF => w9g1 Number of receiver overrun errors: 0
|
||||
IF => w10g1 Number of receiver overrun errors: 0
|
||||
IF => w11g1 Number of receiver overrun errors: 0
|
||||
IF => w12g1 Number of receiver overrun errors: 0
|
||||
IF => w13g1 Number of receiver overrun errors: 0
|
||||
IF => w14g1 Number of receiver overrun errors: 0
|
||||
IF => w15g1 Number of receiver overrun errors: 0
|
||||
IF => w16g1 Number of receiver overrun errors: 0
|
|
@ -24,6 +24,7 @@ TARGETS += aft_tdm_voice_api_dtmf
|
|||
TARGETS += aft_tdm_voice_api_rm_events
|
||||
#TARGETS += aft_tdm_voice_api_rm_dtmf
|
||||
#TARGETS += aft_tdm_voice_api_rxhook
|
||||
TARGETS = aft_tdm_hdlc_test
|
||||
|
||||
####### RULES ################################################################
|
||||
|
||||
|
|
|
@ -284,7 +284,7 @@ void process_con_rx(void)
|
|||
|
||||
|
||||
/* Rx packet recevied OK
|
||||
* Each rx packet will contain 16 bytes of
|
||||
* Each rx packet will contain sizeof(wp_tdm_api_tx_hdr_t) bytes of
|
||||
* rx header, that must be removed. The
|
||||
* first byte of the 16 byte header will
|
||||
* indicate an error condition.
|
||||
|
@ -451,7 +451,7 @@ void process_con_tx(timeslot_t *slot)
|
|||
*/
|
||||
|
||||
printf("%s: Tx Starting to write on sock %i data (0x%X) f=%x l=%x hdr_sz=%i\n",
|
||||
slot->if_name,slot->sock,slot->data,Tx_data[16],Tx_data[Tx_hdlc_len+sizeof(wp_tdm_api_tx_hdr_t)-1],
|
||||
slot->if_name,slot->sock,slot->data,Tx_data[sizeof(wp_tdm_api_tx_hdr_t)],Tx_data[Tx_hdlc_len+sizeof(wp_tdm_api_tx_hdr_t)-1],
|
||||
sizeof(wp_tdm_api_tx_hdr_t));
|
||||
|
||||
|
||||
|
@ -479,11 +479,11 @@ void process_con_tx(timeslot_t *slot)
|
|||
printf("TX DATA ORIG: Len=%i\n",Tx_hdlc_len);
|
||||
print_packet(&Tx_data[sizeof(wp_tdm_api_tx_hdr_t)],Tx_hdlc_len);
|
||||
#endif
|
||||
wanpipe_hdlc_encode(hdlc_eng,&Tx_data[16],Tx_hdlc_len,&Tx_hdlc_data[16],&Tx_encoded_hdlc_len,&next_idle);
|
||||
wanpipe_hdlc_encode(hdlc_eng,&Tx_data[sizeof(wp_tdm_api_tx_hdr_t)],Tx_hdlc_len,&Tx_hdlc_data[sizeof(wp_tdm_api_tx_hdr_t)],&Tx_encoded_hdlc_len,&next_idle);
|
||||
if (Tx_encoded_hdlc_len < (max_tx_len*2)){
|
||||
int j;
|
||||
for (j=0;j<((max_tx_len*2) - Tx_encoded_hdlc_len);j++){
|
||||
Tx_hdlc_data[16+Tx_encoded_hdlc_len+j]=next_idle;
|
||||
Tx_hdlc_data[sizeof(wp_tdm_api_tx_hdr_t)+Tx_encoded_hdlc_len+j]=next_idle;
|
||||
}
|
||||
Tx_encoded_hdlc_len+=j;
|
||||
}
|
||||
|
@ -508,7 +508,7 @@ void process_con_tx(timeslot_t *slot)
|
|||
#if 0
|
||||
printf("Data %i\n",Tx_hdlc_len);
|
||||
for (i=0;i<Tx_hdlc_len;i++){
|
||||
printf(" 0x%X",Tx_hdlc_data[16+i]);
|
||||
printf(" 0x%X",Tx_hdlc_data[sizeof(wp_tdm_api_tx_hdr_t)+i]);
|
||||
}
|
||||
printf("\n");
|
||||
#endif
|
||||
|
|
|
@ -0,0 +1,85 @@
|
|||
Tue Jul 21 17:45:57 EDT 2009
|
||||
IF => w1g1 Number of receiver overrun errors: 0
|
||||
IF => w2g1 Number of receiver overrun errors: 0
|
||||
IF => w3g1 Number of receiver overrun errors: 0
|
||||
IF => w4g1 Number of receiver overrun errors: 0
|
||||
IF => w5g1 Number of receiver overrun errors: 0
|
||||
IF => w6g1 Number of receiver overrun errors: 0
|
||||
IF => w7g1 Number of receiver overrun errors: 0
|
||||
IF => w8g1 Number of receiver overrun errors: 0
|
||||
IF => w9g1 Number of receiver overrun errors: 0
|
||||
IF => w10g1 Number of receiver overrun errors: 0
|
||||
IF => w11g1 Number of receiver overrun errors: 0
|
||||
IF => w12g1 Number of receiver overrun errors: 0
|
||||
IF => w13g1 Number of receiver overrun errors: 0
|
||||
IF => w14g1 Number of receiver overrun errors: 0
|
||||
IF => w15g1 Number of receiver overrun errors: 0
|
||||
IF => w16g1 Number of receiver overrun errors: 0
|
||||
Wed Jul 22 15:52:40 EDT 2009
|
||||
IF => w1g1 Number of receiver overrun errors: 0
|
||||
IF => w2g1 Number of receiver overrun errors: 0
|
||||
IF => w3g1 Number of receiver overrun errors: 0
|
||||
IF => w4g1 Number of receiver overrun errors: 0
|
||||
IF => w5g1 Number of receiver overrun errors: 0
|
||||
IF => w6g1 Number of receiver overrun errors: 0
|
||||
IF => w7g1 Number of receiver overrun errors: 0
|
||||
IF => w8g1 Number of receiver overrun errors: 0
|
||||
IF => w9g1 Number of receiver overrun errors: 1
|
||||
IF => w10g1 Number of receiver overrun errors: 0
|
||||
IF => w11g1 Number of receiver overrun errors: 0
|
||||
IF => w12g1 Number of receiver overrun errors: 0
|
||||
IF => w13g1 Number of receiver overrun errors: 0
|
||||
IF => w14g1 Number of receiver overrun errors: 0
|
||||
IF => w15g1 Number of receiver overrun errors: 1
|
||||
IF => w16g1 Number of receiver overrun errors: 0
|
||||
Wed Jul 22 15:52:43 EDT 2009
|
||||
IF => w1g1 Number of receiver overrun errors: 0
|
||||
IF => w2g1 Number of receiver overrun errors: 0
|
||||
IF => w3g1 Number of receiver overrun errors: 0
|
||||
IF => w4g1 Number of receiver overrun errors: 0
|
||||
IF => w5g1 Number of receiver overrun errors: 0
|
||||
IF => w6g1 Number of receiver overrun errors: 0
|
||||
IF => w7g1 Number of receiver overrun errors: 0
|
||||
IF => w8g1 Number of receiver overrun errors: 0
|
||||
IF => w9g1 Number of receiver overrun errors: 0
|
||||
IF => w10g1 Number of receiver overrun errors: 0
|
||||
IF => w11g1 Number of receiver overrun errors: 0
|
||||
IF => w12g1 Number of receiver overrun errors: 0
|
||||
IF => w13g1 Number of receiver overrun errors: 0
|
||||
IF => w14g1 Number of receiver overrun errors: 0
|
||||
IF => w15g1 Number of receiver overrun errors: 0
|
||||
IF => w16g1 Number of receiver overrun errors: 0
|
||||
Wed Jul 22 15:53:38 EDT 2009
|
||||
IF => w1g1 Number of receiver overrun errors: 0
|
||||
IF => w2g1 Number of receiver overrun errors: 0
|
||||
IF => w3g1 Number of receiver overrun errors: 0
|
||||
IF => w4g1 Number of receiver overrun errors: 0
|
||||
IF => w5g1 Number of receiver overrun errors: 0
|
||||
IF => w6g1 Number of receiver overrun errors: 0
|
||||
IF => w7g1 Number of receiver overrun errors: 0
|
||||
IF => w8g1 Number of receiver overrun errors: 0
|
||||
IF => w9g1 Number of receiver overrun errors: 0
|
||||
IF => w10g1 Number of receiver overrun errors: 0
|
||||
IF => w11g1 Number of receiver overrun errors: 0
|
||||
IF => w12g1 Number of receiver overrun errors: 0
|
||||
IF => w13g1 Number of receiver overrun errors: 0
|
||||
IF => w14g1 Number of receiver overrun errors: 0
|
||||
IF => w15g1 Number of receiver overrun errors: 0
|
||||
IF => w16g1 Number of receiver overrun errors: 0
|
||||
Wed Jul 22 15:54:36 EDT 2009
|
||||
IF => w1g1 Number of receiver overrun errors: 0
|
||||
IF => w2g1 Number of receiver overrun errors: 0
|
||||
IF => w3g1 Number of receiver overrun errors: 0
|
||||
IF => w4g1 Number of receiver overrun errors: 0
|
||||
IF => w5g1 Number of receiver overrun errors: 0
|
||||
IF => w6g1 Number of receiver overrun errors: 0
|
||||
IF => w7g1 Number of receiver overrun errors: 0
|
||||
IF => w8g1 Number of receiver overrun errors: 0
|
||||
IF => w9g1 Number of receiver overrun errors: 0
|
||||
IF => w10g1 Number of receiver overrun errors: 0
|
||||
IF => w11g1 Number of receiver overrun errors: 0
|
||||
IF => w12g1 Number of receiver overrun errors: 0
|
||||
IF => w13g1 Number of receiver overrun errors: 0
|
||||
IF => w14g1 Number of receiver overrun errors: 0
|
||||
IF => w15g1 Number of receiver overrun errors: 0
|
||||
IF => w16g1 Number of receiver overrun errors: 0
|
|
@ -1,5 +1,5 @@
|
|||
Package: wanpipe
|
||||
Version: 3.4.4-0
|
||||
Version: 3.4.5-0
|
||||
Section: networking
|
||||
Priority: optional
|
||||
Architecture: all
|
||||
|
|
|
@ -95,6 +95,9 @@ static __inline u32 AFT_PORT_REG(sdla_t *card, u32 reg)
|
|||
|
||||
#define AFT_WDT_4TO8_CTRL_REG 0x5C
|
||||
|
||||
#define AFT_FREE_RUN_TIMER_CTRL_REG 0x98
|
||||
|
||||
#define AFT_FREE_RUN_TIMER_PENDING_REG 0x9C
|
||||
|
||||
/*=================================================
|
||||
A104 CHIP CFG REGISTERS
|
||||
|
@ -177,6 +180,8 @@ static __inline u32 AFT_PORT_REG(sdla_t *card, u32 reg)
|
|||
# define AFT_CHIPCFG_P3_WDT_INTR_BIT 20
|
||||
# define AFT_CHIPCFG_P4_WDT_INTR_BIT 21
|
||||
|
||||
# define AFT_CHIPCFG_FREE_RUN_INTR_BIT 20 /* AFT FREE Run timer bit */
|
||||
|
||||
# define AFT_CHIPCFG_A108_EC_INTER_STAT_BIT 21 /* A108 */
|
||||
|
||||
# define AFT_CHIPCFG_FE_INTR_STAT_BIT 22
|
||||
|
@ -843,6 +848,25 @@ aft_dmachain_enable_tdmv_and_mtu_size(u32 *reg, int size)
|
|||
|
||||
|
||||
|
||||
/*======================================================
|
||||
* FREE RUNNING TIMER
|
||||
*
|
||||
* AFT_FREE_RUN_TIMER_CTRL_REG
|
||||
*=====================================================*/
|
||||
|
||||
#define AFT_FREE_RUN_TIMER_DIVIDER_SHIFT 0
|
||||
#define AFT_FREE_RUN_TIMER_DIVIDER_MASK 0x3F
|
||||
|
||||
#define AFT_FREE_RUN_TIMER_INTER_ENABLE_BIT 7
|
||||
|
||||
static __inline void
|
||||
aft_free_running_timer_ctrl_set(u32 *reg, u32 divider)
|
||||
{
|
||||
*reg&=~(AFT_FREE_RUN_TIMER_DIVIDER_MASK<<AFT_FREE_RUN_TIMER_DIVIDER_SHIFT);
|
||||
*reg|=(divider&AFT_FREE_RUN_TIMER_DIVIDER_MASK)<<AFT_FREE_RUN_TIMER_DIVIDER_SHIFT;
|
||||
}
|
||||
|
||||
|
||||
/*======================================================
|
||||
* PER PORT
|
||||
*
|
||||
|
@ -1979,6 +2003,8 @@ typedef struct private_area
|
|||
unsigned char label[WAN_IF_LABEL_SZ+1];
|
||||
|
||||
unsigned char tdm_span_voice_api;
|
||||
unsigned char tx_seq_char;
|
||||
unsigned char rx_seq_char;
|
||||
|
||||
}private_area_t;
|
||||
|
||||
|
@ -2002,6 +2028,56 @@ aft_tx_dma_chain_chain_len(private_area_t *chan)
|
|||
return chain_diff;
|
||||
}
|
||||
|
||||
|
||||
#if defined WANPIPE_PERFORMANCE_DEBUG
|
||||
#warning "WANPIPE_PERFORMANCE_DEBUG Enabled"
|
||||
static __inline int aft_calc_elapsed(struct timeval *started, struct timeval *ended)
|
||||
{
|
||||
#if 0
|
||||
return (((ended->tv_sec * 1000) + ended->tv_usec / 1000) -
|
||||
((started->tv_sec * 1000) + started->tv_usec / 1000));
|
||||
#else
|
||||
return ended->tv_usec - started->tv_usec;
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
static int __inline aft_timing_start(sdla_t * card)
|
||||
{
|
||||
#if 1
|
||||
#if defined(__LINUX__)
|
||||
do_gettimeofday(&card->timing_tv);
|
||||
#endif
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int __inline aft_timing_stop_calculate_elapsed(sdla_t * card)
|
||||
{
|
||||
#if 1
|
||||
#if defined(__LINUX__)
|
||||
int elapsed=0;
|
||||
struct timeval current_tv;
|
||||
do_gettimeofday(¤t_tv);
|
||||
elapsed=aft_calc_elapsed(&card->timing_tv,¤t_tv);
|
||||
if (elapsed > card->wandev.stats.rx_errors) {
|
||||
card->wandev.stats.rx_errors=elapsed;
|
||||
}
|
||||
if (elapsed > 1000) {
|
||||
DEBUG_EVENT("%s: Error: Timeout is huge %i\n",card->devname, elapsed);
|
||||
}
|
||||
if (card->wandev.stats.rx_errors > 2500) {
|
||||
card->wandev.stats.rx_errors=0;
|
||||
}
|
||||
|
||||
card->wandev.stats.tx_errors=elapsed;
|
||||
#endif
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
void aft_free_logical_channel_num (sdla_t *card, int logic_ch);
|
||||
void aft_dma_max_logic_ch(sdla_t *card);
|
||||
void aft_fe_intr_ctrl(sdla_t *card, int status);
|
||||
|
|
|
@ -158,6 +158,7 @@ typedef struct sdla_remora_cfg_ {
|
|||
|
||||
int fxs_ringampl;
|
||||
unsigned int rm_mode; /*Analog Operation mode: default or tapping */
|
||||
u_int8_t fake_polarity;
|
||||
} sdla_remora_cfg_t;
|
||||
|
||||
typedef struct {
|
||||
|
|
|
@ -771,7 +771,8 @@ enum {
|
|||
AFT_TDM_GLOBAL_ISR,
|
||||
AFT_TDM_RING_BUF,
|
||||
AFT_TDM_FAST_ISR,
|
||||
AFT_TDM_SW_RING_BUF
|
||||
AFT_TDM_SW_RING_BUF,
|
||||
AFT_TDM_FREE_RUN_ISR
|
||||
};
|
||||
|
||||
typedef struct
|
||||
|
@ -980,11 +981,16 @@ typedef struct sdla
|
|||
|
||||
/* SDLA TDMV Dummy interface */
|
||||
#if defined(CONFIG_PRODUCT_WANPIPE_TDM_VOICE)
|
||||
void* sdla_tdmv_dummy;
|
||||
void* sdla_tdmv_dummy;
|
||||
#endif
|
||||
|
||||
unsigned char wp_debug_chan_seq;
|
||||
|
||||
#if defined(WANPIPE_PERFORMANCE_DEBUG)
|
||||
wan_ticks_t debug_timeout;
|
||||
struct timeval timing_tv;
|
||||
#endif
|
||||
|
||||
} sdla_t;
|
||||
|
||||
/****** Public Functions ****************************************************/
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
#define WANPIPE_COMPANY "Sangoma Technologies Inc"
|
||||
|
||||
/********** LINUX **********/
|
||||
#define WANPIPE_VERSION "3.4.4"
|
||||
#define WANPIPE_VERSION "3.4.5"
|
||||
#define WANPIPE_SUB_VERSION "0"
|
||||
#define WANPIPE_VERSION_BETA 0
|
||||
#define WANPIPE_LITE_VERSION "1.1.1"
|
||||
|
|
|
@ -90,6 +90,7 @@
|
|||
|
||||
#define ZT_LAW_ALAW DAHDI_LAW_ALAW
|
||||
#define ZT_LAW_MULAW DAHDI_LAW_MULAW
|
||||
#define ZT_XLAW DAHDI_XLAW
|
||||
|
||||
#define ZT_MAINT_REMOTELOOP DAHDI_MAINT_REMOTELOOP
|
||||
#define ZT_MAINT_NONE DAHDI_MAINT_NONE
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
kernel//usr/src/wanpipe-3.4.2.16/patches/kdrivers/src/net/sdladrv.ko
|
||||
kernel//usr/src/wanpipe-3.4.2.16/patches/kdrivers/src/net/wanrouter.ko
|
||||
kernel//usr/src/wanpipe-3.4.2.16/patches/kdrivers/src/net/wanpipe.ko
|
||||
kernel//usr/src/wanpipe-3.4.2.16/patches/kdrivers/src/net/wanpipe_syncppp.ko
|
||||
kernel//usr/src/wanpipe-3.4.2.16/patches/kdrivers/src/net/af_wanpipe.ko
|
||||
kernel//usr/src/wanpipe-3.4.2.16/patches/kdrivers/src/net/wanec.ko
|
||||
kernel//usr/src/wanpipe-3.4.2.16/patches/kdrivers/src/net/wan_aften.ko
|
||||
kernel//root/development/3.4/wanpipe-3.4.4.1/patches/kdrivers/src/net/sdladrv.ko
|
||||
kernel//root/development/3.4/wanpipe-3.4.4.1/patches/kdrivers/src/net/wanrouter.ko
|
||||
kernel//root/development/3.4/wanpipe-3.4.4.1/patches/kdrivers/src/net/wanpipe.ko
|
||||
kernel//root/development/3.4/wanpipe-3.4.4.1/patches/kdrivers/src/net/wanpipe_syncppp.ko
|
||||
kernel//root/development/3.4/wanpipe-3.4.4.1/patches/kdrivers/src/net/af_wanpipe.ko
|
||||
kernel//root/development/3.4/wanpipe-3.4.4.1/patches/kdrivers/src/net/wanec.ko
|
||||
kernel//root/development/3.4/wanpipe-3.4.4.1/patches/kdrivers/src/net/wan_aften.ko
|
||||
|
|
|
@ -2620,15 +2620,32 @@ sdla_ds_te1_intr_ctrl(sdla_fe_t *fe, int dummy, u_int8_t type, u_int8_t mode, un
|
|||
mask |= (BIT_RIM1_RLOSC | BIT_RIM1_RLOSD);
|
||||
#endif
|
||||
WRITE_REG(REG_RIM1, mask);
|
||||
WRITE_REG(REG_RLS1, 0xFF);
|
||||
|
||||
/* In-band loop codes */
|
||||
WRITE_REG(REG_RIM3, BIT_RIM3_T1_LDNC|BIT_RIM3_T1_LUPC|BIT_RIM3_T1_LDND|BIT_RIM3_T1_LUPD);
|
||||
if (IS_T1_FEMEDIA(fe)){
|
||||
mask = BIT_RIM3_T1_LDNC|BIT_RIM3_T1_LDND |
|
||||
BIT_RIM3_T1_LUPC|BIT_RIM3_T1_LUPD;
|
||||
WRITE_REG(REG_RIM3, mask);
|
||||
WRITE_REG(REG_RLS3, 0xFF);
|
||||
}
|
||||
|
||||
//WRITE_REG(REG_RIM4, BIT_RIM4_TIMER);
|
||||
WRITE_REG(REG_RIM7, BIT_RIM7_T1_BC | BIT_RIM7_T1_BD);
|
||||
WRITE_REG(REG_RLS4, 0xFF);
|
||||
|
||||
if (IS_T1_FEMEDIA(fe)){
|
||||
mask = BIT_RIM7_T1_BC | BIT_RIM7_T1_BD;
|
||||
/* mask |= BIT_RIM7_T1_RSLC96; */
|
||||
WRITE_REG(REG_RIM7, mask);
|
||||
}
|
||||
WRITE_REG(REG_RLS7, 0xFF);
|
||||
|
||||
WRITE_REG(REG_LSIMR,
|
||||
BIT_LSIMR_OCCIM | BIT_LSIMR_OCDIM |
|
||||
BIT_LSIMR_SCCIM | BIT_LSIMR_SCCIM |
|
||||
BIT_LSIMR_LOSCIM | BIT_LSIMR_LOSDIM |
|
||||
BIT_LSIMR_JALTCIM | BIT_LSIMR_JALTSIM);
|
||||
WRITE_REG(REG_LLSR, 0xFF);
|
||||
}else{
|
||||
WRITE_REG(REG_RIM1, 0x00);
|
||||
WRITE_REG(REG_RIM2, 0x00);
|
||||
|
@ -2690,7 +2707,6 @@ sdla_ds_te1_intr_ctrl(sdla_fe_t *fe, int dummy, u_int8_t type, u_int8_t mode, un
|
|||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static int sdla_ds_te1_framer_rx_intr(sdla_fe_t *fe, int silent)
|
||||
{
|
||||
unsigned char istatus;
|
||||
|
@ -2987,6 +3003,7 @@ static int sdla_ds_te1_framer_tx_intr(sdla_fe_t *fe, int silent)
|
|||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static int sdla_ds_te1_bert_intr(sdla_fe_t *fe, int silent)
|
||||
{
|
||||
unsigned char blsr = READ_REG(REG_BLSR);
|
||||
|
@ -3119,8 +3136,8 @@ static int sdla_ds_te1_check_intr(sdla_fe_t *fe)
|
|||
//if (framer_istatus & (1 << WAN_FE_LINENO(fe))){
|
||||
if ((framer_istatus & (1 << WAN_DS_REGBITMAP(fe))) &&
|
||||
(framer_imask & (1 << WAN_DS_REGBITMAP(fe)))) {
|
||||
DEBUG_ISR("%s: Interrupt for line %d (FRAMER)\n",
|
||||
fe->name, WAN_FE_LINENO(fe));
|
||||
DEBUG_ISR("%s: Interrupt for line %d (FRAMER) status=0x%02X\n",
|
||||
fe->name, WAN_FE_LINENO(fe),framer_istatus);
|
||||
return 1;
|
||||
}
|
||||
//if (liu_istatus & (1 << WAN_FE_LINENO(fe))){
|
||||
|
@ -3137,7 +3154,8 @@ static int sdla_ds_te1_check_intr(sdla_fe_t *fe)
|
|||
fe->name, WAN_FE_LINENO(fe));
|
||||
return 1;
|
||||
}
|
||||
DEBUG_ISR("%s: This interrupt not for this port %d\n",
|
||||
|
||||
DEBUG_TE1("%s: This interrupt not for this port %d\n",
|
||||
fe->name,
|
||||
WAN_FE_LINENO(fe)+1);
|
||||
return 0;
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -338,7 +338,6 @@ static int wp_tdmv_bri_hwec_create(struct dahdi_chan *chan, struct dahdi_echocan
|
|||
{
|
||||
wp_tdmv_bri_t *wr = NULL;
|
||||
sdla_t *card = NULL;
|
||||
int fe_chan = chan->chanpos;
|
||||
int err = -ENODEV;
|
||||
|
||||
if (ecp->param_count > 0) {
|
||||
|
@ -353,19 +352,19 @@ static int wp_tdmv_bri_hwec_create(struct dahdi_chan *chan, struct dahdi_echocan
|
|||
WAN_ASSERT2(wr->card == NULL, -ENODEV);
|
||||
card = wr->card;
|
||||
|
||||
*ec = &wr->ec[fe_chan];
|
||||
*ec = &wr->ec[chan->chanpos-1];
|
||||
(*ec)->ops = &wp_tdmv_bri_ec_ops;
|
||||
(*ec)->features = wp_tdmv_bri_ec_features;
|
||||
|
||||
if (card->wandev.ec_enable) {
|
||||
DEBUG_EVENT("[TDMV_BRI]: %s: %s(): channel %d\n",
|
||||
wr->devname, __FUNCTION__, fe_chan);
|
||||
wr->devname, __FUNCTION__, chan->chanpos);
|
||||
|
||||
if(fe_chan == 1 || fe_chan == 2) {
|
||||
err = card->wandev.ec_enable(card, 1, fe_chan);
|
||||
if(chan->chanpos == 1 || chan->chanpos == 2) {
|
||||
err = card->wandev.ec_enable(card, 1, chan->chanpos);
|
||||
} else {
|
||||
DEBUG_EVENT("[TDMV_BRI]: %s: %s(): Warning: invalid fe_channel %d!!\n",
|
||||
wr->devname, __FUNCTION__, fe_chan);
|
||||
wr->devname, __FUNCTION__, chan->chanpos);
|
||||
err = 0;
|
||||
}
|
||||
} else {
|
||||
|
@ -384,7 +383,6 @@ static void wp_tdmv_bri_hwec_free(struct dahdi_chan *chan, struct dahdi_echocan_
|
|||
{
|
||||
wp_tdmv_bri_t *wr = NULL;
|
||||
sdla_t *card = NULL;
|
||||
int fe_chan = chan->chanpos;
|
||||
|
||||
memset(ec, 0, sizeof(*ec));
|
||||
|
||||
|
@ -396,13 +394,13 @@ static void wp_tdmv_bri_hwec_free(struct dahdi_chan *chan, struct dahdi_echocan_
|
|||
|
||||
if (card->wandev.ec_enable) {
|
||||
DEBUG_EVENT("[TDMV_BRI]: %s: %s(): channel %d\n",
|
||||
wr->devname, __FUNCTION__, fe_chan);
|
||||
wr->devname, __FUNCTION__, chan->chanpos);
|
||||
|
||||
if(fe_chan == 1 || fe_chan == 2) {
|
||||
card->wandev.ec_enable(card, 0, fe_chan);
|
||||
if(chan->chanpos == 1 || chan->chanpos == 2) {
|
||||
card->wandev.ec_enable(card, 0, chan->chanpos);
|
||||
} else {
|
||||
DEBUG_EVENT("[TDMV_BRI]: %s: %s(): Warning: invalid fe_channel %d!!\n",
|
||||
wr->devname, __FUNCTION__, fe_chan);
|
||||
wr->devname, __FUNCTION__, chan->chanpos);
|
||||
}
|
||||
} else {
|
||||
DEBUG_EVENT("[TDMV_BRI]: %s: %s(): card->wandev.ec_enable == NULL!!!!!!\n",
|
||||
|
@ -420,10 +418,9 @@ static void wp_tdmv_bri_hwec_free(struct dahdi_chan *chan, struct dahdi_echocan_
|
|||
static int wp_bri_zap_hwec(struct zt_chan *chan, int enable)
|
||||
{
|
||||
wp_tdmv_bri_t *wr = NULL;
|
||||
sdla_t *card = NULL;
|
||||
int fe_chan = chan->chanpos;
|
||||
int err = -ENODEV;
|
||||
sdla_fe_t *fe = NULL;
|
||||
sdla_t *card = NULL;
|
||||
int err = -ENODEV;
|
||||
sdla_fe_t *fe = NULL;
|
||||
|
||||
BRI_FUNC();
|
||||
|
||||
|
@ -436,13 +433,13 @@ static int wp_bri_zap_hwec(struct zt_chan *chan, int enable)
|
|||
|
||||
if (card->wandev.ec_enable){
|
||||
DEBUG_EVENT("[TDMV_BRI]: %s: %s(): channel %d\n",
|
||||
wr->devname, __FUNCTION__, fe_chan);
|
||||
wr->devname, __FUNCTION__, chan->chanpos);
|
||||
|
||||
if(fe_chan == 1 || fe_chan == 2){
|
||||
err = card->wandev.ec_enable(card, enable, fe_chan);
|
||||
if(chan->chanpos == 1 || chan->chanpos == 2){
|
||||
err = card->wandev.ec_enable(card, enable, chan->chanpos);
|
||||
}else{
|
||||
DEBUG_EVENT("[TDMV_BRI]: %s: %s(): Warning: invalid fe_channel %d!!\n",
|
||||
wr->devname, __FUNCTION__, fe_chan);
|
||||
wr->devname, __FUNCTION__, chan->chanpos);
|
||||
err = 0;
|
||||
}
|
||||
}else{
|
||||
|
|
|
@ -244,7 +244,7 @@ static int wp_tdmv_remora_rx_chan_sync_test(sdla_t *card, wp_tdmv_remora_t *wr,
|
|||
|
||||
#define wp_fax_tone_timeout_set(wr,chan) do { DEBUG_TEST("%s:%d: s%dc%d fax timeout set\n", \
|
||||
__FUNCTION__,__LINE__, \
|
||||
wr->spanno+1,chan); \
|
||||
wr->spanno+1,chan+1); \
|
||||
wr->ec_fax_detect_timeout[chan]=SYSTEM_TICKS; } while(0);
|
||||
|
||||
static int
|
||||
|
@ -413,7 +413,7 @@ static int wp_remora_zap_hooksig(struct zt_chan *chan, zt_txsig_t txsig)
|
|||
wp_tdmv_remora_t *wr = chan->pvt;
|
||||
sdla_t *card = NULL;
|
||||
sdla_fe_t *fe = NULL;
|
||||
int fe_chan = chan->chanpos;
|
||||
int fe_chan = chan->chanpos-1;
|
||||
|
||||
WAN_ASSERT(wr->card == NULL);
|
||||
card = wr->card;
|
||||
|
@ -576,7 +576,6 @@ static int wp_tdmv_remora_hwec_create(struct dahdi_chan *chan, struct dahdi_echo
|
|||
{
|
||||
wp_tdmv_remora_t *wr = NULL;
|
||||
sdla_t *card = NULL;
|
||||
int fe_chan = chan->chanpos;
|
||||
int err = -ENODEV;
|
||||
|
||||
WAN_ASSERT2(chan == NULL, -ENODEV);
|
||||
|
@ -590,11 +589,12 @@ static int wp_tdmv_remora_hwec_create(struct dahdi_chan *chan, struct dahdi_echo
|
|||
return -EINVAL;
|
||||
}
|
||||
|
||||
*ec = &wr->ec[fe_chan];
|
||||
*ec = &wr->ec[chan->chanpos-1];
|
||||
(*ec)->ops = &wp_tdmv_remora_ec_ops;
|
||||
(*ec)->features = wp_tdmv_remora_ec_features;
|
||||
|
||||
wan_set_bit(fe_chan, &card->wandev.rtp_tap_call_map);
|
||||
wan_set_bit(chan->chanpos-1, &card->wandev.rtp_tap_call_map);
|
||||
wp_fax_tone_timeout_set(wr,chan->chanpos-1);
|
||||
|
||||
if (card->wandev.ec_enable) {
|
||||
/* The ec persist flag enables and disables
|
||||
|
@ -603,12 +603,12 @@ static int wp_tdmv_remora_hwec_create(struct dahdi_chan *chan, struct dahdi_echo
|
|||
* asterisk. In persist mode off asterisk
|
||||
* controls hardware echo cancellation */
|
||||
if (card->hwec_conf.persist_disable) {
|
||||
err = card->wandev.ec_enable(card, 1, fe_chan);
|
||||
err = card->wandev.ec_enable(card, 1, chan->chanpos);
|
||||
} else {
|
||||
err = 0;
|
||||
}
|
||||
DEBUG_TDMV("[TDMV_RM]: %s: Enable HW echo canceller on channel %d\n",
|
||||
wr->devname, fe_chan);
|
||||
wr->devname, chan->chanpos);
|
||||
}
|
||||
return err;
|
||||
}
|
||||
|
@ -623,7 +623,6 @@ static void wp_tdmv_remora_hwec_free(struct dahdi_chan *chan, struct dahdi_echoc
|
|||
{
|
||||
wp_tdmv_remora_t *wr = NULL;
|
||||
sdla_t *card = NULL;
|
||||
int fe_chan = chan->chanpos;
|
||||
|
||||
memset(ec, 0, sizeof(*ec));
|
||||
|
||||
|
@ -633,7 +632,7 @@ static void wp_tdmv_remora_hwec_free(struct dahdi_chan *chan, struct dahdi_echoc
|
|||
if(wr->card == NULL) return;
|
||||
card = wr->card;
|
||||
|
||||
wan_clear_bit(fe_chan, &card->wandev.rtp_tap_call_map);
|
||||
wan_clear_bit(chan->chanpos-1, &card->wandev.rtp_tap_call_map);
|
||||
|
||||
if (card->wandev.ec_enable) {
|
||||
/* The ec persist flag enables and disables
|
||||
|
@ -642,10 +641,10 @@ static void wp_tdmv_remora_hwec_free(struct dahdi_chan *chan, struct dahdi_echoc
|
|||
* asterisk. In persist mode off asterisk
|
||||
* controls hardware echo cancellation */
|
||||
if (card->hwec_conf.persist_disable) {
|
||||
card->wandev.ec_enable(card, 0, fe_chan);
|
||||
card->wandev.ec_enable(card, 0, chan->chanpos);
|
||||
}
|
||||
DEBUG_TDMV("[TDMV] %s: Disable HW echo canceller on channel %d\n",
|
||||
wr->devname, fe_chan);
|
||||
wr->devname, chan->chanpos);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -660,7 +659,6 @@ static int wp_remora_zap_hwec(struct zt_chan *chan, int enable)
|
|||
{
|
||||
wp_tdmv_remora_t *wr = NULL;
|
||||
sdla_t *card = NULL;
|
||||
int fe_chan = chan->chanpos;
|
||||
int err = -ENODEV;
|
||||
|
||||
WAN_ASSERT2(chan == NULL, -ENODEV);
|
||||
|
@ -670,9 +668,10 @@ static int wp_remora_zap_hwec(struct zt_chan *chan, int enable)
|
|||
card = wr->card;
|
||||
|
||||
if (enable) {
|
||||
wan_set_bit(fe_chan,&card->wandev.rtp_tap_call_map);
|
||||
wan_set_bit(chan->chanpos-1,&card->wandev.rtp_tap_call_map);
|
||||
wp_fax_tone_timeout_set(wr,chan->chanpos-1);
|
||||
} else {
|
||||
wan_clear_bit(fe_chan,&card->wandev.rtp_tap_call_map);
|
||||
wan_clear_bit(chan->chanpos-1,&card->wandev.rtp_tap_call_map);
|
||||
}
|
||||
|
||||
if (card->wandev.ec_enable){
|
||||
|
@ -682,14 +681,14 @@ static int wp_remora_zap_hwec(struct zt_chan *chan, int enable)
|
|||
* asterisk. In persist mode off asterisk
|
||||
* controls hardware echo cancellation */
|
||||
if (card->hwec_conf.persist_disable) {
|
||||
err = card->wandev.ec_enable(card, enable, fe_chan);
|
||||
err = card->wandev.ec_enable(card, enable, chan->chanpos);
|
||||
} else {
|
||||
err = 0;
|
||||
}
|
||||
DEBUG_TDMV("[TDMV_RM]: %s: %s HW echo canceller on channel %d\n",
|
||||
wr->devname,
|
||||
(enable) ? "Enable" : "Disable",
|
||||
fe_chan);
|
||||
chan->chanpos);
|
||||
}
|
||||
return err;
|
||||
}
|
||||
|
@ -1646,8 +1645,6 @@ static int wp_tdmv_remora_is_rbsbits(wan_tdmv_t *wan_tdmv)
|
|||
}
|
||||
|
||||
|
||||
#ifdef WAN_FAKE_POLARITY
|
||||
#warning "WAN_FAKE_POLARITY Enabled - Experimental"
|
||||
static inline void wp_tdmv_dtmfcheck_fakepolarity(wp_tdmv_remora_t *wr, int channo, unsigned char *rxbuf)
|
||||
{
|
||||
sdla_t *card = wr->card;
|
||||
|
@ -1676,7 +1673,6 @@ static inline void wp_tdmv_dtmfcheck_fakepolarity(wp_tdmv_remora_t *wr, int chan
|
|||
wr->mod[channo].fxo.readcid = 0;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
/******************************************************************************
|
||||
** wp_tdmv_rx_chan() -
|
||||
|
@ -1746,9 +1742,9 @@ DEBUG_EVENT("Module %d: RX: %02X %02X %02X %02X %02X %02X %02X %02X\n",
|
|||
wr->chans[channo].readchunk = rxbuf;
|
||||
wr->chans[channo].writechunk = txbuf;
|
||||
|
||||
#ifdef WAN_FAKE_POLARITY
|
||||
wp_tdmv_dtmfcheck_fakepolarity(wr,channo,rxbuf);
|
||||
#endif
|
||||
if (card->fe.fe_cfg.cfg.remora.fake_polarity == WANOPT_YES){
|
||||
wp_tdmv_dtmfcheck_fakepolarity(wr,channo,rxbuf);
|
||||
}
|
||||
|
||||
|
||||
#ifdef CONFIG_PRODUCT_WANPIPE_TDM_VOICE_ECHOMASTER
|
||||
|
@ -1990,12 +1986,12 @@ static int wp_tdmv_remora_ec_span(void *pcard)
|
|||
static void wp_tdmv_remora_dtmf (void* card_id, wan_event_t *event)
|
||||
{
|
||||
sdla_t *card = (sdla_t*)card_id;
|
||||
wan_tdmv_t *wan_tdmv = &card->wan_tdmv;
|
||||
wp_tdmv_remora_t *wr = NULL;
|
||||
int fechan = event->channel;
|
||||
wan_tdmv_t *wan_tdmv = &card->wan_tdmv;
|
||||
wp_tdmv_remora_t *wr = NULL;
|
||||
int fechan = event->channel-1;
|
||||
|
||||
WAN_ASSERT1(wan_tdmv->sc == NULL);
|
||||
wr = wan_tdmv->sc;
|
||||
WAN_ASSERT1(wan_tdmv->sc == NULL);
|
||||
wr = wan_tdmv->sc;
|
||||
|
||||
if (event->type == WAN_EVENT_EC_DTMF){
|
||||
DEBUG_TDMV(
|
||||
|
|
|
@ -1472,17 +1472,21 @@ static char *wp_tdmv_sigstr(int sig)
|
|||
}
|
||||
#endif
|
||||
|
||||
|
||||
static int wp_tdmv_chanconfig(struct zt_chan *chan, int sigtype)
|
||||
{
|
||||
sdla_t *card;
|
||||
wp_tdmv_softc_t *wp = NULL;
|
||||
int hdlcsig = sigtype & ~(ZT_SIG_CLEAR);
|
||||
|
||||
WAN_ASSERT2(chan == NULL, -ENODEV);
|
||||
WAN_ASSERT2(chan->pvt == NULL, -ENODEV);
|
||||
wp = chan->pvt;
|
||||
card = (sdla_t*)wp->card;
|
||||
|
||||
DEBUG_TDMV("%s: Configuring chan %d..\n", wp->devname, chan->chanpos);
|
||||
DEBUG_TEST("%s: Configuring chan %d (hdlc=%i) flags=0x%02X sigtype=0x%03X..\n",
|
||||
wp->devname, chan->chanpos, IS_CHAN_HARDHDLC(chan), chan->flags, sigtype);
|
||||
|
||||
if (chan->span->flags & ZT_FLAG_RUNNING){
|
||||
wp_tdmv_set_clear(wp);
|
||||
}
|
||||
|
@ -1498,6 +1502,16 @@ static int wp_tdmv_chanconfig(struct zt_chan *chan, int sigtype)
|
|||
}
|
||||
wp_tdmv_sigctrl(card, wp, chan->chanpos, WP_TDMV_ENABLE);
|
||||
}
|
||||
|
||||
/* Disable hwec on signalling channel */
|
||||
if (wp->hwec == WANOPT_YES && card->wandev.ec_dev && card->wandev.ec_enable) {
|
||||
if (IS_CHAN_HARDHDLC(chan) || hdlcsig & ZT_SIG_HDLCRAW || hdlcsig & ZT_SIG_HDLCFCS) {
|
||||
DEBUG_TEST("%s: Disabling EC Chan=%i, sigtype 0x%03X, HDLCRAW=0x%X FCS=0x%X\n",
|
||||
card->devname, chan->chanpos, sigtype, ZT_SIG_HDLCRAW, ZT_SIG_HDLCFCS);
|
||||
card->wandev.ec_enable(card, 0, chan->chanpos);
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -1617,18 +1631,22 @@ static int wp_tdmv_rbsbits(struct zt_chan *chan, int bits)
|
|||
wp_tdmv_softc_t *wp = NULL;
|
||||
sdla_t *card = NULL;
|
||||
unsigned char ABCD_bits = 0x00;
|
||||
wan_smp_flag_t smp_flags;
|
||||
|
||||
/* Byte offset */
|
||||
WAN_ASSERT2(chan == NULL, 0);
|
||||
if ((wp = chan->pvt) == NULL) return 0;
|
||||
WAN_ASSERT2(wp->card == NULL, 0);
|
||||
card = (sdla_t*)wp->card;
|
||||
|
||||
if (!wan_test_bit(chan->chanpos-1, &wp->timeslot_map)){
|
||||
return 0;
|
||||
}
|
||||
if (!wan_test_bit(WP_TDMV_SIG_ENABLE, &wp->flags)){
|
||||
|
||||
if (!wan_test_bit(WP_TDMV_SIG_ENABLE, &wp->flags)){
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
if (bits & ZT_ABIT) ABCD_bits |= WAN_RBS_SIG_A;
|
||||
if (bits & ZT_BBIT) ABCD_bits |= WAN_RBS_SIG_B;
|
||||
if (bits & ZT_CBIT) ABCD_bits |= WAN_RBS_SIG_C;
|
||||
|
@ -1647,41 +1665,16 @@ static int wp_tdmv_rbsbits(struct zt_chan *chan, int bits)
|
|||
(ABCD_bits & WAN_RBS_SIG_C) ? 1 : 0,
|
||||
(ABCD_bits & WAN_RBS_SIG_D) ? 1 : 0);
|
||||
|
||||
if (wan_test_and_set_bit(chan->chanpos-1, &wp->rbs_tx_status)){
|
||||
if (ABCD_bits == wp->rbs_tx[chan->chanpos-1]){
|
||||
return 0;
|
||||
}
|
||||
if (wan_test_and_set_bit(chan->chanpos-1, &wp->rbs_tx1_status)){
|
||||
if (ABCD_bits == wp->rbs_tx1[chan->chanpos-1]){
|
||||
return 0;
|
||||
}
|
||||
DEBUG_EVENT("%s: Critical Error: TX RBS for channel %d\n",
|
||||
wp->devname,
|
||||
chan->chanpos);
|
||||
}
|
||||
wp->rbs_tx1[chan->chanpos-1] = ABCD_bits;
|
||||
}else{
|
||||
wp->rbs_tx[chan->chanpos-1] = ABCD_bits;
|
||||
}
|
||||
#if 0
|
||||
wan_set_bit(7, &ABCD_bits);
|
||||
if (wan_test_and_set_bit(7, &wp->rbs_tx[chan->chanpos-1])){
|
||||
if (ABCD_bits == wp->rbs_tx[chan->chanpos-1]){
|
||||
return 0;
|
||||
}
|
||||
if (wan_test_and_set_bit(7, &wp->rbs_tx1[chan->chanpos-1])){
|
||||
if (ABCD_bits == wp->rbs_tx1[chan->chanpos-1]){
|
||||
return 0;
|
||||
}
|
||||
DEBUG_EVENT("%s: Critical Error: TX RBS for channel %d\n",
|
||||
wp->devname,
|
||||
chan->chanpos);
|
||||
}
|
||||
wp->rbs_tx1[chan->chanpos-1] = ABCD_bits;
|
||||
}else{
|
||||
wp->rbs_tx[chan->chanpos-1] = ABCD_bits;
|
||||
}
|
||||
#endif
|
||||
|
||||
card->hw_iface.hw_lock(card->hw,&smp_flags);
|
||||
if (card->wandev.fe_iface.set_rbsbits) {
|
||||
card->wandev.fe_iface.set_rbsbits(
|
||||
&wp->card->fe,
|
||||
chan->chanpos,
|
||||
ABCD_bits);
|
||||
}
|
||||
card->hw_iface.hw_unlock(card->hw,&smp_flags);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -2001,7 +1994,6 @@ static int wp_tdmv_hwec_create(struct dahdi_chan *chan, struct dahdi_echocanpara
|
|||
{
|
||||
wp_tdmv_softc_t *wp = NULL;
|
||||
sdla_t *card = NULL;
|
||||
int channel=0;
|
||||
int err = -EINVAL;
|
||||
|
||||
if (ecp->param_count > 0) {
|
||||
|
@ -2014,19 +2006,13 @@ static int wp_tdmv_hwec_create(struct dahdi_chan *chan, struct dahdi_echocanpara
|
|||
wp = chan->pvt;
|
||||
WAN_ASSERT2(wp->card == NULL, -ENODEV);
|
||||
card = wp->card;
|
||||
|
||||
channel = chan->chanpos;
|
||||
|
||||
if (!wp->ise1) {
|
||||
channel--;
|
||||
}
|
||||
|
||||
*ec = &wp->ec[channel];
|
||||
*ec = &wp->ec[chan->chanpos-1];
|
||||
(*ec)->ops = &wp_tdmv_ec_ops;
|
||||
(*ec)->features = wp_tdmv_ec_features;
|
||||
|
||||
wan_set_bit(channel, &card->wandev.rtp_tap_call_map);
|
||||
wp_fax_tone_timeout_set(wp, channel);
|
||||
wan_set_bit(chan->chanpos-1, &card->wandev.rtp_tap_call_map);
|
||||
wp_fax_tone_timeout_set(wp, chan->chanpos-1);
|
||||
|
||||
if (card->wandev.ec_enable) {
|
||||
DEBUG_TDMV("[TDMV] %s: Enable HW echo canceller on channel %d\n",
|
||||
|
@ -2056,7 +2042,6 @@ static void wp_tdmv_hwec_free(struct dahdi_chan *chan, struct dahdi_echocan_stat
|
|||
{
|
||||
wp_tdmv_softc_t *wp = NULL;
|
||||
sdla_t *card = NULL;
|
||||
int channel;
|
||||
|
||||
memset(ec, 0, sizeof(*ec));
|
||||
|
||||
|
@ -2066,18 +2051,17 @@ static void wp_tdmv_hwec_free(struct dahdi_chan *chan, struct dahdi_echocan_stat
|
|||
if(wp->card == NULL) return;
|
||||
card = wp->card;
|
||||
|
||||
channel = chan->chanpos;
|
||||
wan_clear_bit(channel, &card->wandev.rtp_tap_call_map);
|
||||
wan_clear_bit(chan->chanpos-1, &card->wandev.rtp_tap_call_map);
|
||||
|
||||
if (card->wandev.ec_enable) {
|
||||
DEBUG_TDMV("[TDMV] %s: Disable HW echo canceller on channel %d\n",
|
||||
wp->devname, channel);
|
||||
|
||||
/* The ec persist flag enables and disables
|
||||
* persistent echo control. In persist mode
|
||||
* echo cancellation is enabled regardless of
|
||||
* asterisk. In persist mode off asterisk
|
||||
* controls hardware echo cancellation */
|
||||
* persistent echo control. In persist mode
|
||||
* echo cancellation is enabled regardless of
|
||||
* asterisk. In persist mode off asterisk
|
||||
* controls hardware echo cancellation */
|
||||
if (card->hwec_conf.persist_disable || IS_CHAN_HARDHDLC(chan)) {
|
||||
card->wandev.ec_enable(card, 0, chan->chanpos);
|
||||
}
|
||||
|
@ -2095,7 +2079,6 @@ static int wp_tdmv_hwec(struct zt_chan *chan, int enable)
|
|||
{
|
||||
wp_tdmv_softc_t *wp = NULL;
|
||||
sdla_t *card = NULL;
|
||||
int channel;
|
||||
int err = -EINVAL;
|
||||
|
||||
WAN_ASSERT2(chan == NULL, -ENODEV);
|
||||
|
@ -2104,16 +2087,11 @@ static int wp_tdmv_hwec(struct zt_chan *chan, int enable)
|
|||
WAN_ASSERT2(wp->card == NULL, -ENODEV);
|
||||
card = wp->card;
|
||||
|
||||
channel = chan->chanpos;
|
||||
if (!wp->ise1){
|
||||
channel--;
|
||||
}
|
||||
|
||||
if (enable) {
|
||||
wan_set_bit(channel,&card->wandev.rtp_tap_call_map);
|
||||
wp_fax_tone_timeout_set(wp,channel);
|
||||
wan_set_bit(chan->chanpos-1,&card->wandev.rtp_tap_call_map);
|
||||
wp_fax_tone_timeout_set(wp,chan->chanpos-1);
|
||||
} else {
|
||||
wan_clear_bit(channel,&card->wandev.rtp_tap_call_map);
|
||||
wan_clear_bit(chan->chanpos-1,&card->wandev.rtp_tap_call_map);
|
||||
}
|
||||
|
||||
if (card->wandev.ec_enable){
|
||||
|
@ -2148,13 +2126,16 @@ static int wp_tdmv_open(struct zt_chan *chan)
|
|||
{
|
||||
wp_tdmv_softc_t *wp = NULL;
|
||||
sdla_t *card = NULL;
|
||||
wan_smp_flag_t flags;
|
||||
|
||||
WAN_ASSERT2(chan == NULL, -ENODEV);
|
||||
WAN_ASSERT2(chan->pvt == NULL, -ENODEV);
|
||||
wp = chan->pvt;
|
||||
WAN_ASSERT2(wp->card == NULL, -ENODEV);
|
||||
card = wp->card;
|
||||
wan_spin_lock_irq(&wp->lockirq, &flags);
|
||||
wp->usecount++;
|
||||
wan_spin_unlock_irq(&wp->lockirq, &flags);
|
||||
wanpipe_open(card);
|
||||
DEBUG_TDMV("%s: Open (usecount=%d, channo=%d, chanpos=%d)...\n",
|
||||
wp->devname,
|
||||
|
@ -2174,13 +2155,16 @@ static int wp_tdmv_close(struct zt_chan *chan)
|
|||
{
|
||||
wp_tdmv_softc_t* wp = NULL;
|
||||
sdla_t *card = NULL;
|
||||
|
||||
wan_smp_flag_t flags;
|
||||
|
||||
WAN_ASSERT2(chan == NULL, -ENODEV);
|
||||
WAN_ASSERT2(chan->pvt == NULL, -ENODEV);
|
||||
wp = chan->pvt;
|
||||
WAN_ASSERT2(wp->card == NULL, -ENODEV);
|
||||
card = wp->card;
|
||||
wan_spin_lock_irq(&wp->lockirq, &flags);
|
||||
wp->usecount--;
|
||||
wan_spin_unlock_irq(&wp->lockirq, &flags);
|
||||
wanpipe_close(card);
|
||||
DEBUG_TDMV("%s: Close (usecount=%d, channo=%d, chanpos=%d)...\n",
|
||||
wp->devname,
|
||||
|
@ -2535,18 +2519,29 @@ static int wp_tdmv_rx_chan(wan_tdmv_t *wan_tdmv, int channo,
|
|||
}
|
||||
|
||||
|
||||
#undef AFT_TDM_ROTATE_DEBUG
|
||||
#ifdef AFT_TDM_ROTATE_DEBUG
|
||||
static int rotate_debug[32];
|
||||
#warning "AFT_TDM_ROTATE_DEBUG Enabled"
|
||||
#include <linux/sdla_aft_te1.h>
|
||||
#endif
|
||||
static int wp_tdmv_span_buf_rotate(void *pcard, u32 buf_sz, unsigned long mask, int circ_buf_len)
|
||||
{
|
||||
sdla_t *card = (sdla_t*)pcard;
|
||||
wan_tdmv_t *wan_tdmv = &card->wan_tdmv;
|
||||
wp_tdmv_softc_t *wp = NULL;
|
||||
int x;
|
||||
int tidx;
|
||||
unsigned int rx_offset, tx_offset;
|
||||
void *ptr;
|
||||
|
||||
WAN_ASSERT(wan_tdmv->sc == NULL);
|
||||
wp = wan_tdmv->sc;
|
||||
|
||||
#ifdef AFT_TDM_ROTATE_DEBUG
|
||||
rotate_debug[card->tdmv_conf.span_no]++;
|
||||
#endif
|
||||
|
||||
for (x = 0; x < 32; x ++) {
|
||||
|
||||
if (wan_test_bit(x,&wp->timeslot_map)) {
|
||||
|
@ -2556,30 +2551,66 @@ static int wp_tdmv_span_buf_rotate(void *pcard, u32 buf_sz, unsigned long mask,
|
|||
continue;
|
||||
}
|
||||
|
||||
rx_offset = buf_sz * card->u.aft.tdm_rx_dma_toggle[x];
|
||||
tx_offset = buf_sz * card->u.aft.tdm_tx_dma_toggle[x];
|
||||
|
||||
card->u.aft.tdm_rx_dma_toggle[x]++;
|
||||
if (card->u.aft.tdm_rx_dma_toggle[x] >= circ_buf_len) {
|
||||
card->u.aft.tdm_rx_dma_toggle[x]=0;
|
||||
if (wp->ise1) {
|
||||
tidx=x+1;
|
||||
} else {
|
||||
tidx=x;
|
||||
}
|
||||
card->u.aft.tdm_tx_dma_toggle[x]++;
|
||||
if (card->u.aft.tdm_tx_dma_toggle[x] >= circ_buf_len) {
|
||||
card->u.aft.tdm_tx_dma_toggle[x]=0;
|
||||
|
||||
#ifdef AFT_TDM_ROTATE_DEBUG
|
||||
if (1) {
|
||||
u32 dma_descr, lo_reg, lo_reg_tx, lch;
|
||||
lch=x;
|
||||
|
||||
dma_descr=(lch<<4) +
|
||||
AFT_PORT_REG(card,AFT_RX_DMA_LO_DESCR_BASE_REG);
|
||||
card->hw_iface.bus_read_4(card->hw,dma_descr,&lo_reg);
|
||||
|
||||
dma_descr=(lch<<4) +
|
||||
AFT_PORT_REG(card,AFT_TX_DMA_LO_DESCR_BASE_REG);
|
||||
card->hw_iface.bus_read_4(card->hw,dma_descr,&lo_reg_tx);
|
||||
|
||||
lo_reg=(lo_reg&AFT_TDMV_BUF_MASK)/AFT_TDMV_CIRC_BUF;
|
||||
lo_reg_tx=(lo_reg_tx&AFT_TDMV_BUF_MASK)/AFT_TDMV_CIRC_BUF;
|
||||
|
||||
#if 0
|
||||
if (rotate_debug[card->tdmv_conf.span_no] < 5) {
|
||||
#else
|
||||
if (rotate_debug[card->tdmv_conf.span_no] < 5 ||
|
||||
abs(card->u.aft.tdm_rx_dma_toggle[tidx] - lo_reg) != 2 ||
|
||||
abs(card->u.aft.tdm_tx_dma_toggle[tidx] - lo_reg_tx) != 2) {
|
||||
#endif
|
||||
DEBUG_EVENT("%s: Rotating buffer lch=%i tidx=%i rxdma=%i (hw=%i), txdma=%i (hw=%i)\n",
|
||||
card->devname, lch, tidx, card->u.aft.tdm_rx_dma_toggle[tidx], lo_reg,card->u.aft.tdm_tx_dma_toggle[tidx],lo_reg_tx);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
rx_offset = buf_sz * card->u.aft.tdm_rx_dma_toggle[tidx];
|
||||
tx_offset = buf_sz * card->u.aft.tdm_tx_dma_toggle[tidx];
|
||||
|
||||
card->u.aft.tdm_rx_dma_toggle[tidx]++;
|
||||
if (card->u.aft.tdm_rx_dma_toggle[tidx] >= circ_buf_len) {
|
||||
card->u.aft.tdm_rx_dma_toggle[tidx]=0;
|
||||
}
|
||||
card->u.aft.tdm_tx_dma_toggle[tidx]++;
|
||||
if (card->u.aft.tdm_tx_dma_toggle[tidx] >= circ_buf_len) {
|
||||
card->u.aft.tdm_tx_dma_toggle[tidx]=0;
|
||||
}
|
||||
|
||||
wan_spin_lock(&wp->chans[x].lock);
|
||||
|
||||
ptr=(void*)((((unsigned long)wp->chans[x].readchunk) & ~(mask)) + rx_offset);
|
||||
|
||||
ptr=(void*)((((unsigned long)wp->chans[x].readchunk) & ~(mask)) + rx_offset);
|
||||
wp->chans[x].readchunk = ptr;
|
||||
ptr=(void*)((((unsigned long)wp->chans[x].writechunk) & ~(mask)) + tx_offset);
|
||||
|
||||
ptr=(void*)((((unsigned long)wp->chans[x].writechunk) & ~(mask)) + tx_offset);
|
||||
wp->chans[x].writechunk = ptr;
|
||||
|
||||
wan_spin_unlock(&wp->chans[x].lock);
|
||||
|
||||
#if defined(__LINUX__)
|
||||
prefetch(wp->chans[x].readchunk);
|
||||
prefetch(wp->chans[x].writechunk);
|
||||
prefetch(wp->chans[x].readchunk);
|
||||
prefetch(wp->chans[x].writechunk);
|
||||
#endif
|
||||
|
||||
if (card->wandev.rtp_len && card->wandev.rtp_tap) {
|
||||
|
@ -2667,15 +2698,10 @@ static void wp_tdmv_callback_dtmf (void* card_id, wan_event_t *event)
|
|||
sdla_t *card = (sdla_t*)card_id;
|
||||
wan_tdmv_t *wan_tdmv = &card->wan_tdmv;
|
||||
wp_tdmv_softc_t *wp = NULL;
|
||||
int fechan = event->channel;
|
||||
int fechan = event->channel-1;
|
||||
|
||||
WAN_ASSERT1(wan_tdmv->sc == NULL);
|
||||
wp = wan_tdmv->sc;
|
||||
|
||||
/* fechan check is a sanity check */
|
||||
if (!wp->ise1 && fechan > 0){
|
||||
fechan--;
|
||||
}
|
||||
|
||||
if (event->type != WAN_EVENT_EC_DTMF){
|
||||
DEBUG_EVENT("ERROR: %s: Invalid event type %X!\n",
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,6 +1,6 @@
|
|||
%define WANPIPE_VER wanpipe-modules
|
||||
%define name %{WANPIPE_VER}
|
||||
%define version 3.4.4
|
||||
%define version 3.4.5
|
||||
%define release 0
|
||||
%define serial 1
|
||||
%define MODULES_DIR /lib/modules
|
||||
|
@ -51,6 +51,26 @@ echo "Wanpipe Modules located in %{MODULES_DIR}/%{KVERSION}"
|
|||
|
||||
%changelog
|
||||
|
||||
* Tue Aug 18 2009 Nenad Corbic <ncorbic@sangoma.com> - Stable - 3.4.5
|
||||
=====================================================================
|
||||
|
||||
- New firmawre feature for A101/2/5/8: Free Run Timer Interrupt
|
||||
The AFT T1/E1 cards will now provide perfect timing to zatpel/dahdi
|
||||
even when the ports are not connected. The free run interrupt
|
||||
will be enabled when all zaptel/dahdi ports are down, or on
|
||||
inital card start. To test this feature just start a wanpipe
|
||||
port with zaptel/dahdi and run zttest.
|
||||
A108 firmare V38
|
||||
A104/2/1/ firmware V36
|
||||
|
||||
- Added module inc cound when zaptel/dahdi starts.
|
||||
So wanpipe drivers do not crash if one tries to unload
|
||||
zaptel/dahdi before stopping wanpipe drivers.
|
||||
|
||||
- Dahdi 2.2 Support
|
||||
- Updated for 2.6.30 kernel
|
||||
|
||||
|
||||
* Fri Jun 17 2009 Nenad Corbic <ncorbic@sangoma.com> - Stable - 3.4.4
|
||||
=====================================================================
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
%define KERNEL_VERSION %{?kern_ver}
|
||||
%define WANPIPE_VER wanpipe-util
|
||||
%define name %{WANPIPE_VER}
|
||||
%define version 3.4.4
|
||||
%define version 3.4.5
|
||||
%define release 0
|
||||
%define serial 1
|
||||
%define ETC_DIR /etc
|
||||
|
@ -328,6 +328,26 @@ enable_smg_log;
|
|||
|
||||
%changelog
|
||||
|
||||
* Tue Aug 18 2009 Nenad Corbic <ncorbic@sangoma.com> - Stable - 3.4.5
|
||||
=====================================================================
|
||||
|
||||
- New firmawre feature for A101/2/5/8: Free Run Timer Interrupt
|
||||
The AFT T1/E1 cards will now provide perfect timing to zatpel/dahdi
|
||||
even when the ports are not connected. The free run interrupt
|
||||
will be enabled when all zaptel/dahdi ports are down, or on
|
||||
inital card start. To test this feature just start a wanpipe
|
||||
port with zaptel/dahdi and run zttest.
|
||||
A108 firmare V38
|
||||
A104/2/1/ firmware V36
|
||||
|
||||
- Added module inc cound when zaptel/dahdi starts.
|
||||
So wanpipe drivers do not crash if one tries to unload
|
||||
zaptel/dahdi before stopping wanpipe drivers.
|
||||
|
||||
- Dahdi 2.2 Support
|
||||
- Updated for 2.6.30 kernel
|
||||
|
||||
|
||||
* Fri Jun 17 2009 Nenad Corbic <ncorbic@sangoma.com> - Stable - 3.4.4
|
||||
=====================================================================
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
%define KERNEL_VERSION %{?kern_ver}
|
||||
%define WANPIPE_VER wanpipe
|
||||
%define name %{WANPIPE_VER}
|
||||
%define version 3.4.4
|
||||
%define version 3.4.5
|
||||
%define release 0
|
||||
%define serial 1
|
||||
%define UTILS_DIR /usr/sbin
|
||||
|
@ -255,6 +255,26 @@ install_init;
|
|||
|
||||
%changelog
|
||||
|
||||
* Tue Aug 18 2009 Nenad Corbic <ncorbic@sangoma.com> - Stable - 3.4.5
|
||||
=====================================================================
|
||||
|
||||
- New firmawre feature for A101/2/5/8: Free Run Timer Interrupt
|
||||
The AFT T1/E1 cards will now provide perfect timing to zatpel/dahdi
|
||||
even when the ports are not connected. The free run interrupt
|
||||
will be enabled when all zaptel/dahdi ports are down, or on
|
||||
inital card start. To test this feature just start a wanpipe
|
||||
port with zaptel/dahdi and run zttest.
|
||||
A108 firmare V38
|
||||
A104/2/1/ firmware V36
|
||||
|
||||
- Added module inc cound when zaptel/dahdi starts.
|
||||
So wanpipe drivers do not crash if one tries to unload
|
||||
zaptel/dahdi before stopping wanpipe drivers.
|
||||
|
||||
- Dahdi 2.2 Support
|
||||
- Updated for 2.6.30 kernel
|
||||
|
||||
|
||||
* Fri Jun 17 2009 Nenad Corbic <ncorbic@sangoma.com> - Stable - 3.4.4
|
||||
=====================================================================
|
||||
|
||||
|
|
|
@ -2195,7 +2195,7 @@ init_global_params()
|
|||
{
|
||||
|
||||
if [ $OSYSTEM = "Linux" ]; then
|
||||
ROUTER_VERSION=3.4.4
|
||||
ROUTER_VERSION=3.4.5
|
||||
IFCONFIG_LIST=ifconfig
|
||||
MODULE_STAT=lsmod
|
||||
WAN_DRIVERS="wanpipe"
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
|
||||
#!/bin/sh
|
||||
|
||||
make CFLAGS=" -Wp,-MD,.wanpipe.o.d -nostdinc -iwithprefix include -D__LINUX__ -Dlinux -D__KERNEL__ -I/lib/modules/2.6.18-92.1.22.el5/build/include -DMODULE -DAF_WANPIPE_2612_FORCE_UPDATE -DWANPIPE_MOD_266_FORCE_UPDATE -m32 -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Wstrict-prototypes -Wundef -Werror-implicit-function-declaration -Os -pipe -msoft-float -fno-builtin-sprintf -fno-builtin-log2 -fno-builtin-puts -mpreferred-stack-boundary=2 -march=i686 -mtune=generic -mtune=generic -mregparm=3 -ffreestanding -I/lib/modules/2.6.18-92.1.22.el5/build/include/asm-i386/mach-generic -I/lib/modules/2.6.18-92.1.22.el5/build/include/asm-i386/mach-default -fomit-frame-pointer -g -fno-stack-protector -Wdeclaration-after-statement -Wno-pointer-sign -D__KERNEL__ -Iinclude -include include/linux/autoconf.h -I/usr/src/zaptel" PROTOCOL_DEFINES="-DCONFIG_PRODUCT_WANPIPE_BASE -DCONFIG_PRODUCT_WANPIPE_FR -DCONFIG_PRODUCT_WANPIPE_CHDLC -DCONFIG_PRODUCT_WANPIPE_PPP -DCONFIG_PRODUCT_WANPIPE_X25 -DCONFIG_PRODUCT_WANPIPE_ADSL -DCONFIG_PRODUCT_WANPIPE_LIP_ATM -DCONFIG_PRODUCT_WANPIPE_ATM -DCONFIG_PRODUCT_WANPIPE_MULTFR -DCONFIG_PRODUCT_WANPIPE_MULTPROT -DCONFIG_PRODUCT_WANPIPE_AFT -DCONFIG_PRODUCT_WANPIPE_AFT_CORE -DCONFIG_PRODUCT_WANPIPE_AFT_TE1 -DCONFIG_PRODUCT_WANPIPE_AFT_56K -DCONFIG_PRODUCT_WANPIPE_AFT_RM -DCONFIG_PRODUCT_WANPIPE_CODEC_SLINEAR_LAW -DCONFIG_PRODUCT_WANPIPE_AFT_BRI -DCONFIG_PRODUCT_WANPIPE_AFT_SERIAL -DCONFIG_PRODUCT_WANPIPE_AFT_A600 -DCONFIG_PRODUCT_WANPIPE_AFT_TE3 -DCONFIG_PRODUCT_WANPIPE_TDM_VOICE -DCONFIG_PRODUCT_WANPIPE_TDM_VOICE_DCHAN -DCONFIG_PRODUCT_WANPIPE_TDM_VOICE_DCHAN_ZAPTEL -DWANPIPE_USE_I_PRIVATE -DCONFIG_WANPIPE_HWEC "
|
||||
make CFLAGS=" -Wp,-MD,.wanpipe.o.d -nostdinc -iwithprefix include -D__LINUX__ -Dlinux -D__KERNEL__ -I/lib/modules/2.6.18-92.1.22.el5/build/include -DMODULE -DAF_WANPIPE_2612_FORCE_UPDATE -DWANPIPE_MOD_266_FORCE_UPDATE -m32 -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Wstrict-prototypes -Wundef -Werror-implicit-function-declaration -Os -pipe -msoft-float -fno-builtin-sprintf -fno-builtin-log2 -fno-builtin-puts -mpreferred-stack-boundary=2 -march=i686 -mtune=generic -mtune=generic -mregparm=3 -ffreestanding -I/lib/modules/2.6.18-92.1.22.el5/build/include/asm-i386/mach-generic -I/lib/modules/2.6.18-92.1.22.el5/build/include/asm-i386/mach-default -fomit-frame-pointer -g -fno-stack-protector -Wdeclaration-after-statement -Wno-pointer-sign -D__KERNEL__ -Iinclude -include include/linux/autoconf.h " PROTOCOL_DEFINES="-DCONFIG_PRODUCT_WANPIPE_BASE -DCONFIG_PRODUCT_WANPIPE_XMTP2 -DAFT_XMTP2_API_SUPPORT -I/root/3.4/wanpipe/patches/kdrivers/src/xmtp2km -DCONFIG_PRODUCT_WANPIPE_AFT -DCONFIG_PRODUCT_WANPIPE_AFT_CORE -DCONFIG_PRODUCT_WANPIPE_AFT_TE1 -DCONFIG_PRODUCT_WANPIPE_AFT_56K -DCONFIG_PRODUCT_WANPIPE_AFT_RM -DCONFIG_PRODUCT_WANPIPE_CODEC_SLINEAR_LAW -DCONFIG_PRODUCT_WANPIPE_AFT_BRI -DCONFIG_PRODUCT_WANPIPE_AFT_SERIAL -DCONFIG_PRODUCT_WANPIPE_AFT_A600 -DWANPIPE_USE_I_PRIVATE -DCONFIG_WANPIPE_HWEC "
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
K 25
|
||||
svn:wc:ra_dav:version-url
|
||||
V 35
|
||||
/svn/sangoma_mgd/!svn/ver/187/trunk
|
||||
/svn/sangoma_mgd/!svn/ver/193/trunk
|
||||
END
|
||||
sigboost.h
|
||||
K 25
|
||||
|
@ -9,17 +9,11 @@ svn:wc:ra_dav:version-url
|
|||
V 46
|
||||
/svn/sangoma_mgd/!svn/ver/188/trunk/sigboost.h
|
||||
END
|
||||
__smg_ctrl_common
|
||||
switch_buffer.h
|
||||
K 25
|
||||
svn:wc:ra_dav:version-url
|
||||
V 53
|
||||
/svn/sangoma_mgd/!svn/ver/187/trunk/__smg_ctrl_common
|
||||
END
|
||||
sound.raw
|
||||
K 25
|
||||
svn:wc:ra_dav:version-url
|
||||
V 43
|
||||
/svn/sangoma_mgd/!svn/ver/1/trunk/sound.raw
|
||||
V 49
|
||||
/svn/sangoma_mgd/!svn/ver/1/trunk/switch_buffer.h
|
||||
END
|
||||
sangoma_mgd.conf.sample
|
||||
K 25
|
||||
|
@ -27,11 +21,17 @@ svn:wc:ra_dav:version-url
|
|||
V 59
|
||||
/svn/sangoma_mgd/!svn/ver/157/trunk/sangoma_mgd.conf.sample
|
||||
END
|
||||
switch_buffer.h
|
||||
sound.raw
|
||||
K 25
|
||||
svn:wc:ra_dav:version-url
|
||||
V 49
|
||||
/svn/sangoma_mgd/!svn/ver/1/trunk/switch_buffer.h
|
||||
V 43
|
||||
/svn/sangoma_mgd/!svn/ver/1/trunk/sound.raw
|
||||
END
|
||||
__smg_ctrl_common
|
||||
K 25
|
||||
svn:wc:ra_dav:version-url
|
||||
V 53
|
||||
/svn/sangoma_mgd/!svn/ver/193/trunk/__smg_ctrl_common
|
||||
END
|
||||
safe_sangoma
|
||||
K 25
|
||||
|
@ -39,23 +39,17 @@ svn:wc:ra_dav:version-url
|
|||
V 48
|
||||
/svn/sangoma_mgd/!svn/ver/174/trunk/safe_sangoma
|
||||
END
|
||||
smg_ctrl_pri
|
||||
K 25
|
||||
svn:wc:ra_dav:version-url
|
||||
V 48
|
||||
/svn/sangoma_mgd/!svn/ver/184/trunk/smg_ctrl_pri
|
||||
END
|
||||
callgettest.sh
|
||||
K 25
|
||||
svn:wc:ra_dav:version-url
|
||||
V 48
|
||||
/svn/sangoma_mgd/!svn/ver/1/trunk/callgettest.sh
|
||||
END
|
||||
smg_capabilities.h
|
||||
smg_ctrl_pri
|
||||
K 25
|
||||
svn:wc:ra_dav:version-url
|
||||
V 54
|
||||
/svn/sangoma_mgd/!svn/ver/186/trunk/smg_capabilities.h
|
||||
V 48
|
||||
/svn/sangoma_mgd/!svn/ver/184/trunk/smg_ctrl_pri
|
||||
END
|
||||
ss7box
|
||||
K 25
|
||||
|
@ -63,11 +57,11 @@ svn:wc:ra_dav:version-url
|
|||
V 40
|
||||
/svn/sangoma_mgd/!svn/ver/1/trunk/ss7box
|
||||
END
|
||||
re-sync.sh
|
||||
smg_capabilities.h
|
||||
K 25
|
||||
svn:wc:ra_dav:version-url
|
||||
V 45
|
||||
/svn/sangoma_mgd/!svn/ver/20/trunk/re-sync.sh
|
||||
V 54
|
||||
/svn/sangoma_mgd/!svn/ver/186/trunk/smg_capabilities.h
|
||||
END
|
||||
call_signal.c
|
||||
K 25
|
||||
|
@ -75,11 +69,23 @@ svn:wc:ra_dav:version-url
|
|||
V 49
|
||||
/svn/sangoma_mgd/!svn/ver/186/trunk/call_signal.c
|
||||
END
|
||||
re-sync.sh
|
||||
K 25
|
||||
svn:wc:ra_dav:version-url
|
||||
V 45
|
||||
/svn/sangoma_mgd/!svn/ver/20/trunk/re-sync.sh
|
||||
END
|
||||
sangoma_mgd_logger.c
|
||||
K 25
|
||||
svn:wc:ra_dav:version-url
|
||||
V 56
|
||||
/svn/sangoma_mgd/!svn/ver/186/trunk/sangoma_mgd_logger.c
|
||||
/svn/sangoma_mgd/!svn/ver/189/trunk/sangoma_mgd_logger.c
|
||||
END
|
||||
sangoma_mgd.c
|
||||
K 25
|
||||
svn:wc:ra_dav:version-url
|
||||
V 49
|
||||
/svn/sangoma_mgd/!svn/ver/193/trunk/sangoma_mgd.c
|
||||
END
|
||||
woomera.conf
|
||||
K 25
|
||||
|
@ -87,12 +93,6 @@ svn:wc:ra_dav:version-url
|
|||
V 46
|
||||
/svn/sangoma_mgd/!svn/ver/1/trunk/woomera.conf
|
||||
END
|
||||
sangoma_mgd.c
|
||||
K 25
|
||||
svn:wc:ra_dav:version-url
|
||||
V 49
|
||||
/svn/sangoma_mgd/!svn/ver/186/trunk/sangoma_mgd.c
|
||||
END
|
||||
call_signal.h
|
||||
K 25
|
||||
svn:wc:ra_dav:version-url
|
||||
|
@ -115,7 +115,7 @@ sangoma_mgd.h
|
|||
K 25
|
||||
svn:wc:ra_dav:version-url
|
||||
V 49
|
||||
/svn/sangoma_mgd/!svn/ver/186/trunk/sangoma_mgd.h
|
||||
/svn/sangoma_mgd/!svn/ver/189/trunk/sangoma_mgd.h
|
||||
END
|
||||
q931_cause.h
|
||||
K 25
|
||||
|
@ -157,7 +157,7 @@ sangoma_mgd_common.h
|
|||
K 25
|
||||
svn:wc:ra_dav:version-url
|
||||
V 56
|
||||
/svn/sangoma_mgd/!svn/ver/105/trunk/sangoma_mgd_common.h
|
||||
/svn/sangoma_mgd/!svn/ver/189/trunk/sangoma_mgd_common.h
|
||||
END
|
||||
switch_buffer.c
|
||||
K 25
|
||||
|
@ -169,7 +169,7 @@ Makefile
|
|||
K 25
|
||||
svn:wc:ra_dav:version-url
|
||||
V 44
|
||||
/svn/sangoma_mgd/!svn/ver/184/trunk/Makefile
|
||||
/svn/sangoma_mgd/!svn/ver/192/trunk/Makefile
|
||||
END
|
||||
sangoma_mgd_memdbg.h
|
||||
K 25
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
8
|
||||
|
||||
dir
|
||||
187
|
||||
193
|
||||
https://www.sangomapbx.com/svn/sangoma_mgd/trunk
|
||||
https://www.sangomapbx.com/svn/sangoma_mgd
|
||||
|
||||
|
||||
|
||||
2009-07-16T22:05:51.273965Z
|
||||
187
|
||||
2009-08-17T22:04:54.377308Z
|
||||
193
|
||||
ncorbic
|
||||
|
||||
|
||||
|
@ -31,7 +31,7 @@ dir
|
|||
|
||||
sigboost.h
|
||||
file
|
||||
188
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -74,10 +74,10 @@ file
|
|||
|
||||
|
||||
|
||||
2009-07-17T14:59:38.000000Z
|
||||
8ea7bc6e90fa0336337bc6e1a24d0557
|
||||
2009-07-16T22:05:51.273965Z
|
||||
187
|
||||
2009-08-18T17:27:36.000000Z
|
||||
65a9acd49617d8c8a018c7196dcc4443
|
||||
2009-08-17T22:04:54.377308Z
|
||||
193
|
||||
ncorbic
|
||||
has-props
|
||||
|
||||
|
@ -214,11 +214,23 @@ file
|
|||
|
||||
|
||||
|
||||
2009-04-30T20:22:39.000000Z
|
||||
f413ade50c4afbd2d267f310140b4019
|
||||
2008-07-25T16:52:12.448857Z
|
||||
105
|
||||
ncorbic
|
||||
2009-08-18T17:27:36.000000Z
|
||||
3d8959b1ec61651dde9581f2298c1d61
|
||||
2009-07-24T16:42:00.883153Z
|
||||
189
|
||||
davidy
|
||||
|
||||
Makefile
|
||||
file
|
||||
|
||||
|
||||
|
||||
|
||||
2009-08-18T17:27:36.000000Z
|
||||
f65c77a3e5f570fee7081286296d14ea
|
||||
2009-08-10T15:44:42.284278Z
|
||||
192
|
||||
davidy
|
||||
|
||||
sangoma_mgd_memdbg.h
|
||||
file
|
||||
|
@ -232,18 +244,6 @@ file
|
|||
62
|
||||
ncorbic
|
||||
|
||||
Makefile
|
||||
file
|
||||
|
||||
|
||||
|
||||
|
||||
2009-07-14T20:11:42.000000Z
|
||||
018b18fa2fdf19c1a302c2982eb3b869
|
||||
2009-07-13T22:25:11.834953Z
|
||||
184
|
||||
ncorbic
|
||||
|
||||
sound.raw
|
||||
file
|
||||
|
||||
|
@ -288,10 +288,22 @@ file
|
|||
|
||||
|
||||
|
||||
2009-07-17T14:59:38.000000Z
|
||||
d6c82ea9860174d0090e7f8dadd03ed9
|
||||
2009-07-16T21:35:39.883599Z
|
||||
186
|
||||
2009-08-18T17:27:36.000000Z
|
||||
e37c1c63f8594ae025098e6510327ee0
|
||||
2009-07-24T16:42:00.883153Z
|
||||
189
|
||||
davidy
|
||||
|
||||
sangoma_mgd.c
|
||||
file
|
||||
|
||||
|
||||
|
||||
|
||||
2009-08-18T17:27:36.000000Z
|
||||
96a2446359704f7ef0373f40439328be
|
||||
2009-08-17T22:04:54.377308Z
|
||||
193
|
||||
ncorbic
|
||||
|
||||
woomera.conf
|
||||
|
@ -306,18 +318,6 @@ file
|
|||
1
|
||||
root
|
||||
|
||||
sangoma_mgd.c
|
||||
file
|
||||
|
||||
|
||||
|
||||
|
||||
2009-07-17T14:59:38.000000Z
|
||||
40a0e89163a25c739af3beefe4cd2073
|
||||
2009-07-16T21:35:39.883599Z
|
||||
186
|
||||
ncorbic
|
||||
|
||||
list.h
|
||||
file
|
||||
|
||||
|
@ -336,11 +336,11 @@ file
|
|||
|
||||
|
||||
|
||||
2009-07-17T14:59:38.000000Z
|
||||
44395c5b5277ed48910036b82039958b
|
||||
2009-07-16T21:35:39.883599Z
|
||||
186
|
||||
ncorbic
|
||||
2009-08-18T17:27:36.000000Z
|
||||
adac2a08453aa9f2077dcb8abc5d7d5b
|
||||
2009-07-24T16:42:00.883153Z
|
||||
189
|
||||
davidy
|
||||
|
||||
q931_cause.h
|
||||
file
|
||||
|
|
|
@ -30,7 +30,14 @@ ifndef KINSTDIR
|
|||
endif
|
||||
|
||||
CC = gcc
|
||||
INSTALLPREFIX=
|
||||
|
||||
ifndef DESTDIR
|
||||
ifdef INSTALLPREFIX
|
||||
DESTDIR=$(INSTALL_PREFIX)
|
||||
else
|
||||
DESTDIR=
|
||||
endif
|
||||
endif
|
||||
|
||||
INCLUDES = -I ../../ssmg/libsangoma.trunk -I. -I ../../patches/kdrivers/include -I ../../patches/kdrivers/wanec/oct6100_api/include -I ../../patches/kdrivers/wanec -I/usr/local/include -I../../patches/kdrivers/include -I/usr/include/wanpipe -Ilib/libteletone/src
|
||||
|
||||
|
@ -69,7 +76,7 @@ endif
|
|||
all: sangoma_mgd
|
||||
|
||||
libs:
|
||||
$(shell cd lib/libteletone; ./configure --prefix=$(INSTALLPREFIX); cd ../../; )
|
||||
$(shell cd lib/libteletone; ./configure --prefix=$(DESTDIR); cd ../../; )
|
||||
$(MAKE) -C lib/libteletone all
|
||||
|
||||
switch_buffer.o: switch_buffer.c switch_buffer.h
|
||||
|
@ -104,13 +111,13 @@ distclean: clean
|
|||
install: all install_smg old_cleanup
|
||||
|
||||
install_smg: old_cleanup
|
||||
install -D -m 755 sangoma_mgd $(INSTALLPREFIX)/usr/sbin/sangoma_mgd
|
||||
@if [ ! -e $(INSTALLPREFIX)/etc/sangoma_mgd.conf ]; then \
|
||||
install -D -m 755 sangoma_mgd.conf.sample $(INSTALLPREFIX)/etc/sangoma_mgd.conf; \
|
||||
install -D -m 755 sangoma_mgd $(DESTDIR)/usr/sbin/sangoma_mgd
|
||||
@if [ ! -e $(DESTDIR)/etc/sangoma_mgd.conf ]; then \
|
||||
install -D -m 755 sangoma_mgd.conf.sample $(DESTDIR)/etc/sangoma_mgd.conf; \
|
||||
fi
|
||||
|
||||
install -D -m 755 ./safe_sangoma $(INSTALLPREFIX)/usr/sbin/safe_sangoma
|
||||
install -D -m 755 ./__smg_ctrl_common $(INSTALLPREFIX)/usr/sbin/__smg_ctrl_common
|
||||
install -D -m 755 ./safe_sangoma $(DESTDIR)/usr/sbin/safe_sangoma
|
||||
install -D -m 755 ./__smg_ctrl_common $(DESTDIR)/usr/sbin/__smg_ctrl_common
|
||||
|
||||
ifeq "${PRI}" "YES"
|
||||
@echo "PRI control scripts installed"
|
||||
|
@ -121,18 +128,18 @@ ifeq "${PRI}" "YES"
|
|||
else
|
||||
ifeq "${BRI}" "YES"
|
||||
@echo "BRI control scripts installed"
|
||||
@if [ ! -e $(INSTALLPREFIX)/etc/sangoma_mgd.conf ]; then \
|
||||
install -D -m 755 sangoma_mgd.conf.sample.bri $(INSTALLPREFIX)/etc/sangoma_mgd.conf; \
|
||||
@if [ ! -e $(DESTDIR)/etc/sangoma_mgd.conf ]; then \
|
||||
install -D -m 755 sangoma_mgd.conf.sample.bri $(DESTDIR)/etc/sangoma_mgd.conf; \
|
||||
fi
|
||||
install -D -m 755 smg_ctrl_bri $(INSTALLPREFIX)/usr/sbin/smg_ctrl
|
||||
install -D -m 755 smg_ctrl_bri $(DESTDIR)/usr/sbin/smg_ctrl
|
||||
else
|
||||
@echo "SS7 control scripts installed"
|
||||
@if [ ! -e $(INSTALLPREFIX)/etc/sangoma_mgd.conf ]; then \
|
||||
install -D -m 755 sangoma_mgd.conf.sample.ss7 $(INSTALLPREFIX)/etc/sangoma_mgd.conf; \
|
||||
@if [ ! -e $(DESTDIR)/etc/sangoma_mgd.conf ]; then \
|
||||
install -D -m 755 sangoma_mgd.conf.sample.ss7 $(DESTDIR)/etc/sangoma_mgd.conf; \
|
||||
fi
|
||||
install -D -m 755 smg_ctrl_ss7 $(INSTALLPREFIX)/usr/sbin/smg_ctrl
|
||||
install -D -m 755 scripts/init.d/smgss7_init_ctrl $(INSTALLPREFIX)/etc/init.d/smgss7_init_ctrl
|
||||
install -D -m 755 scripts/init.d/smgss7_init_ctrl $(INSTALLPREFIX)/usr/sbin/smgss7_init_ctrl
|
||||
install -D -m 755 smg_ctrl_ss7 $(DESTDIR)/usr/sbin/smg_ctrl
|
||||
install -D -m 755 scripts/init.d/smgss7_init_ctrl $(DESTDIR)/etc/init.d/smgss7_init_ctrl
|
||||
install -D -m 755 scripts/init.d/smgss7_init_ctrl $(DESTDIR)/usr/sbin/smgss7_init_ctrl
|
||||
|
||||
endif
|
||||
endif
|
||||
|
@ -145,7 +152,7 @@ old_cleanup:
|
|||
install_all: all install_smg
|
||||
|
||||
uninstall:
|
||||
/bin/rm $(INSTALLPREFIX)/usr/sbin/sangoma_mgd $(INSTALLPREFIX)/etc/sangoma_mgd.conf
|
||||
/bin/rm $(DESTDIR)/usr/sbin/sangoma_mgd $(DESTDIR)/etc/sangoma_mgd.conf
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -453,7 +453,7 @@ function show_calls()
|
|||
check_pid_sigd
|
||||
eval "kill -SIGRTMIN+3 $(pidof $sigd) "
|
||||
rc=$?
|
||||
if [ $rc-eq 0 ]; then
|
||||
if [ $rc -eq 0 ]; then
|
||||
echo "BRI: Show calls"
|
||||
else
|
||||
echo "BRI: Failed to send command"
|
||||
|
|
|
@ -9,6 +9,11 @@
|
|||
*
|
||||
* =============================================
|
||||
*
|
||||
*
|
||||
* v1.51 David Yat Sin <dyatsin@sangoma.com>
|
||||
* MAX_SPANS increased to 32.
|
||||
* Fix for server.process_table declared incorrectly
|
||||
*
|
||||
* v1.50 Nenad Corbic <ncorbic@sangoma.com>
|
||||
* Logic to support multiple woomera clients hanging up the
|
||||
* channel. This feature now supprorts woomera loadbalancing
|
||||
|
@ -291,7 +296,7 @@ struct woomera_server server;
|
|||
#endif
|
||||
|
||||
|
||||
#define SMG_VERSION "v1.50"
|
||||
#define SMG_VERSION "v1.51"
|
||||
|
||||
/* enable early media */
|
||||
#if 1
|
||||
|
@ -333,7 +338,7 @@ static int drop_seq=0;
|
|||
|
||||
const char WELCOME_TEXT[] =
|
||||
"================================================================================\n"
|
||||
"Sangoma Media Gateway Daemon v1.50 \n"
|
||||
"Sangoma Media Gateway Daemon v1.51 \n"
|
||||
"\n"
|
||||
"TDM Signal Media Gateway for Sangoma/Wanpipe Cards\n"
|
||||
"Copyright 2005, 2006, 2007 \n"
|
||||
|
@ -2137,7 +2142,7 @@ static struct woomera_interface * launch_woomera_loop_thread(short_signal_event_
|
|||
pthread_mutex_lock(&server.process_lock);
|
||||
server.process_table[event->span][event->chan].dev = NULL;
|
||||
memset(server.process_table[event->span][event->chan].session,0,SMG_SESSION_NAME_SZ);
|
||||
pthread_mutex_unlock(&server.process_lock);
|
||||
pthread_mutex_unlock(&server.process_lock);
|
||||
smg_free(woomera);
|
||||
log_printf(SMG_LOG_ALL, server.log, "Critical ERROR: memory/socket error\n");
|
||||
return NULL;
|
||||
|
@ -4071,11 +4076,12 @@ static void handle_remove_loop(short_signal_event_t *event)
|
|||
|
||||
static void handle_call_stop(short_signal_event_t *event)
|
||||
{
|
||||
struct woomera_interface *woomera;
|
||||
struct woomera_interface *woomera;
|
||||
int ack=0;
|
||||
|
||||
pthread_mutex_lock(&server.process_lock);
|
||||
woomera = server.process_table[event->span][event->chan].dev;
|
||||
woomera = NULL;
|
||||
pthread_mutex_lock(&server.process_lock);
|
||||
woomera = server.process_table[event->span][event->chan].dev;
|
||||
if (woomera) {
|
||||
|
||||
if (!woomera_test_flag(woomera, WFLAG_WAIT_FOR_NACK_ACK_SENT) &&
|
||||
|
@ -4094,7 +4100,7 @@ static void handle_call_stop(short_signal_event_t *event)
|
|||
memset(server.process_table[event->span][event->chan].session,0,SMG_SESSION_NAME_SZ);
|
||||
pthread_mutex_unlock(&server.process_lock);
|
||||
|
||||
if (woomera) {
|
||||
if (woomera) {
|
||||
|
||||
woomera_set_cause_topbx(woomera,event->release_cause);
|
||||
|
||||
|
@ -5740,8 +5746,13 @@ static int woomera_shutdown(void)
|
|||
int main(int argc, char *argv[])
|
||||
{
|
||||
int ret = 0;
|
||||
|
||||
memset(&server,0,sizeof(server));
|
||||
memset(&woomera_dead_dev,0,sizeof(woomera_dead_dev));
|
||||
|
||||
mlockall(MCL_FUTURE);
|
||||
memset(&server, 0, sizeof(server));
|
||||
memset(&woomera_dead_dev, 0, sizeof(woomera_dead_dev));
|
||||
|
||||
ret=nice(-5);
|
||||
|
||||
|
|
|
@ -298,7 +298,8 @@ struct woomera_session {
|
|||
#define CORE_TANK_LEN CORE_MAX_CHAN_PER_SPAN*CORE_MAX_SPANS
|
||||
|
||||
struct woomera_server {
|
||||
struct woomera_session process_table[CORE_MAX_CHAN_PER_SPAN][CORE_MAX_SPANS];
|
||||
// struct woomera_session process_table[CORE_MAX_CHAN_PER_SPAN][CORE_MAX_SPANS];
|
||||
struct woomera_session process_table[CORE_MAX_SPANS][CORE_MAX_CHAN_PER_SPAN];
|
||||
struct woomera_interface *holding_tank[CORE_TANK_LEN];
|
||||
int holding_tank_index;
|
||||
struct woomera_interface master_connection;
|
||||
|
|
|
@ -3,10 +3,10 @@
|
|||
#define __SMG_COMMON_H_
|
||||
|
||||
|
||||
#define WOOMERA_MAX_SPAN 24
|
||||
#define WOOMERA_MAX_SPAN 32
|
||||
#define WOOMERA_MAX_CHAN 31
|
||||
|
||||
#define WOOMERA_BRI_MAX_SPAN 24
|
||||
#define WOOMERA_BRI_MAX_SPAN 32
|
||||
#define WOOMERA_BRI_MAX_CHAN 2
|
||||
|
||||
extern int max_spans;
|
||||
|
|
|
@ -49,7 +49,7 @@ void __log_printf(int level, FILE *fp, char *file, const char *func, int line, c
|
|||
fp = server.log;
|
||||
}
|
||||
|
||||
if (level && level >= server.debug && level < 100) {
|
||||
if (level && level > server.debug && level < 100) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -30,7 +30,14 @@ ifndef KINSTDIR
|
|||
endif
|
||||
|
||||
CC = gcc
|
||||
INSTALLPREFIX=
|
||||
|
||||
ifndef DESTDIR
|
||||
ifdef INSTALLPREFIX
|
||||
DESTDIR=$(INSTALL_PREFIX)
|
||||
else
|
||||
DESTDIR=
|
||||
endif
|
||||
endif
|
||||
|
||||
INCLUDES = -I ../../ssmg/libsangoma.trunk -I. -I ../../patches/kdrivers/include -I ../../patches/kdrivers/wanec/oct6100_api/include -I ../../patches/kdrivers/wanec -I/usr/local/include -I../../patches/kdrivers/include -I/usr/include/wanpipe -Ilib/libteletone/src
|
||||
|
||||
|
@ -69,7 +76,7 @@ endif
|
|||
all: sangoma_mgd
|
||||
|
||||
libs:
|
||||
$(shell cd lib/libteletone; ./configure --prefix=$(INSTALLPREFIX); cd ../../; )
|
||||
$(shell cd lib/libteletone; ./configure --prefix=$(DESTDIR); cd ../../; )
|
||||
$(MAKE) -C lib/libteletone all
|
||||
|
||||
switch_buffer.o: switch_buffer.c switch_buffer.h
|
||||
|
@ -104,13 +111,13 @@ distclean: clean
|
|||
install: all install_smg old_cleanup
|
||||
|
||||
install_smg: old_cleanup
|
||||
install -D -m 755 sangoma_mgd $(INSTALLPREFIX)/usr/sbin/sangoma_mgd
|
||||
@if [ ! -e $(INSTALLPREFIX)/etc/sangoma_mgd.conf ]; then \
|
||||
install -D -m 755 sangoma_mgd.conf.sample $(INSTALLPREFIX)/etc/sangoma_mgd.conf; \
|
||||
install -D -m 755 sangoma_mgd $(DESTDIR)/usr/sbin/sangoma_mgd
|
||||
@if [ ! -e $(DESTDIR)/etc/sangoma_mgd.conf ]; then \
|
||||
install -D -m 755 sangoma_mgd.conf.sample $(DESTDIR)/etc/sangoma_mgd.conf; \
|
||||
fi
|
||||
|
||||
install -D -m 755 ./safe_sangoma $(INSTALLPREFIX)/usr/sbin/safe_sangoma
|
||||
install -D -m 755 ./__smg_ctrl_common $(INSTALLPREFIX)/usr/sbin/__smg_ctrl_common
|
||||
install -D -m 755 ./safe_sangoma $(DESTDIR)/usr/sbin/safe_sangoma
|
||||
install -D -m 755 ./__smg_ctrl_common $(DESTDIR)/usr/sbin/__smg_ctrl_common
|
||||
|
||||
ifeq "${PRI}" "YES"
|
||||
@echo "PRI control scripts installed"
|
||||
|
@ -121,18 +128,18 @@ ifeq "${PRI}" "YES"
|
|||
else
|
||||
ifeq "${BRI}" "YES"
|
||||
@echo "BRI control scripts installed"
|
||||
@if [ ! -e $(INSTALLPREFIX)/etc/sangoma_mgd.conf ]; then \
|
||||
install -D -m 755 sangoma_mgd.conf.sample.bri $(INSTALLPREFIX)/etc/sangoma_mgd.conf; \
|
||||
@if [ ! -e $(DESTDIR)/etc/sangoma_mgd.conf ]; then \
|
||||
install -D -m 755 sangoma_mgd.conf.sample.bri $(DESTDIR)/etc/sangoma_mgd.conf; \
|
||||
fi
|
||||
install -D -m 755 smg_ctrl_bri $(INSTALLPREFIX)/usr/sbin/smg_ctrl
|
||||
install -D -m 755 smg_ctrl_bri $(DESTDIR)/usr/sbin/smg_ctrl
|
||||
else
|
||||
@echo "SS7 control scripts installed"
|
||||
@if [ ! -e $(INSTALLPREFIX)/etc/sangoma_mgd.conf ]; then \
|
||||
install -D -m 755 sangoma_mgd.conf.sample.ss7 $(INSTALLPREFIX)/etc/sangoma_mgd.conf; \
|
||||
@if [ ! -e $(DESTDIR)/etc/sangoma_mgd.conf ]; then \
|
||||
install -D -m 755 sangoma_mgd.conf.sample.ss7 $(DESTDIR)/etc/sangoma_mgd.conf; \
|
||||
fi
|
||||
install -D -m 755 smg_ctrl_ss7 $(INSTALLPREFIX)/usr/sbin/smg_ctrl
|
||||
install -D -m 755 scripts/init.d/smgss7_init_ctrl $(INSTALLPREFIX)/etc/init.d/smgss7_init_ctrl
|
||||
install -D -m 755 scripts/init.d/smgss7_init_ctrl $(INSTALLPREFIX)/usr/sbin/smgss7_init_ctrl
|
||||
install -D -m 755 smg_ctrl_ss7 $(DESTDIR)/usr/sbin/smg_ctrl
|
||||
install -D -m 755 scripts/init.d/smgss7_init_ctrl $(DESTDIR)/etc/init.d/smgss7_init_ctrl
|
||||
install -D -m 755 scripts/init.d/smgss7_init_ctrl $(DESTDIR)/usr/sbin/smgss7_init_ctrl
|
||||
|
||||
endif
|
||||
endif
|
||||
|
@ -145,7 +152,7 @@ old_cleanup:
|
|||
install_all: all install_smg
|
||||
|
||||
uninstall:
|
||||
/bin/rm $(INSTALLPREFIX)/usr/sbin/sangoma_mgd $(INSTALLPREFIX)/etc/sangoma_mgd.conf
|
||||
/bin/rm $(DESTDIR)/usr/sbin/sangoma_mgd $(DESTDIR)/etc/sangoma_mgd.conf
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -453,7 +453,7 @@ function show_calls()
|
|||
check_pid_sigd
|
||||
eval "kill -SIGRTMIN+3 $(pidof $sigd) "
|
||||
rc=$?
|
||||
if [ $rc-eq 0 ]; then
|
||||
if [ $rc -eq 0 ]; then
|
||||
echo "BRI: Show calls"
|
||||
else
|
||||
echo "BRI: Failed to send command"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
8
|
||||
|
||||
dir
|
||||
187
|
||||
193
|
||||
https://www.sangomapbx.com/svn/sangoma_mgd/trunk/app
|
||||
https://www.sangomapbx.com/svn/sangoma_mgd
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
8
|
||||
|
||||
dir
|
||||
187
|
||||
193
|
||||
https://www.sangomapbx.com/svn/sangoma_mgd/trunk/conf
|
||||
https://www.sangomapbx.com/svn/sangoma_mgd
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
8
|
||||
|
||||
dir
|
||||
187
|
||||
193
|
||||
https://www.sangomapbx.com/svn/sangoma_mgd/trunk/conf_bri
|
||||
https://www.sangomapbx.com/svn/sangoma_mgd
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
K 25
|
||||
svn:wc:ra_dav:version-url
|
||||
V 39
|
||||
/svn/sangoma_mgd/!svn/ver/149/trunk/lib
|
||||
/svn/sangoma_mgd/!svn/ver/190/trunk/lib
|
||||
END
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
8
|
||||
|
||||
dir
|
||||
187
|
||||
193
|
||||
https://www.sangomapbx.com/svn/sangoma_mgd/trunk/lib
|
||||
https://www.sangomapbx.com/svn/sangoma_mgd
|
||||
|
||||
|
||||
|
||||
2009-03-03T20:17:37.440465Z
|
||||
149
|
||||
2009-07-27T20:06:20.593649Z
|
||||
190
|
||||
davidy
|
||||
|
||||
|
||||
|
|
|
@ -1,17 +0,0 @@
|
|||
K 25
|
||||
svn:wc:ra_dav:version-url
|
||||
V 57
|
||||
/svn/sangoma_mgd/!svn/ver/102/trunk/lib/libteletone/.deps
|
||||
END
|
||||
libteletone_la-libteletone_detect.Plo
|
||||
K 25
|
||||
svn:wc:ra_dav:version-url
|
||||
V 95
|
||||
/svn/sangoma_mgd/!svn/ver/102/trunk/lib/libteletone/.deps/libteletone_la-libteletone_detect.Plo
|
||||
END
|
||||
libteletone_la-libteletone_generate.Plo
|
||||
K 25
|
||||
svn:wc:ra_dav:version-url
|
||||
V 97
|
||||
/svn/sangoma_mgd/!svn/ver/102/trunk/lib/libteletone/.deps/libteletone_la-libteletone_generate.Plo
|
||||
END
|
|
@ -1,52 +0,0 @@
|
|||
8
|
||||
|
||||
dir
|
||||
187
|
||||
https://www.sangomapbx.com/svn/sangoma_mgd/trunk/lib/libteletone/.deps
|
||||
https://www.sangomapbx.com/svn/sangoma_mgd
|
||||
|
||||
|
||||
|
||||
2008-07-25T16:12:13.826864Z
|
||||
102
|
||||
ncorbic
|
||||
|
||||
|
||||
svn:special svn:externals svn:needs-lock
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
27f70977-ab3a-0410-9ff6-8a87bf49d3db
|
||||
|
||||
libteletone_la-libteletone_detect.Plo
|
||||
file
|
||||
|
||||
|
||||
|
||||
|
||||
2009-06-16T20:18:46.000000Z
|
||||
866ad37f0012aa596611f955bd7be8c2
|
||||
2008-07-25T16:12:13.826864Z
|
||||
102
|
||||
ncorbic
|
||||
|
||||
libteletone_la-libteletone_generate.Plo
|
||||
file
|
||||
|
||||
|
||||
|
||||
|
||||
2009-06-16T20:18:46.000000Z
|
||||
a4d2e5ac183ccde08b85bf8fe2eafcfe
|
||||
2008-07-25T16:12:13.826864Z
|
||||
102
|
||||
ncorbic
|
||||
|
|
@ -1 +0,0 @@
|
|||
8
|
|
@ -1,158 +0,0 @@
|
|||
libteletone_la-libteletone_detect.lo libteletone_la-libteletone_detect.o: \
|
||||
src/libteletone_detect.c ./src/libteletone_detect.h ./src/libteletone.h \
|
||||
./src/libteletone_generate.h /usr/include/stdio.h \
|
||||
/usr/include/features.h /usr/include/sys/cdefs.h \
|
||||
/usr/include/gnu/stubs.h \
|
||||
/usr/lib/gcc/i386-redhat-linux/3.4.6/include/stddef.h \
|
||||
/usr/include/bits/types.h /usr/include/bits/wordsize.h \
|
||||
/usr/include/bits/typesizes.h /usr/include/libio.h \
|
||||
/usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
|
||||
/usr/include/gconv.h \
|
||||
/usr/lib/gcc/i386-redhat-linux/3.4.6/include/stdarg.h \
|
||||
/usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
|
||||
/usr/include/bits/stdio.h /usr/include/stdlib.h \
|
||||
/usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
|
||||
/usr/include/endian.h /usr/include/bits/endian.h /usr/include/xlocale.h \
|
||||
/usr/include/sys/types.h /usr/include/time.h /usr/include/sys/select.h \
|
||||
/usr/include/bits/select.h /usr/include/bits/sigset.h \
|
||||
/usr/include/bits/time.h /usr/include/sys/sysmacros.h \
|
||||
/usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \
|
||||
/usr/include/alloca.h /usr/include/stdint.h /usr/include/sys/stat.h \
|
||||
/usr/include/bits/stat.h /usr/include/fcntl.h /usr/include/bits/fcntl.h \
|
||||
/usr/include/math.h /usr/include/bits/huge_val.h \
|
||||
/usr/include/bits/huge_valf.h /usr/include/bits/huge_vall.h \
|
||||
/usr/include/bits/inf.h /usr/include/bits/nan.h \
|
||||
/usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h \
|
||||
/usr/include/bits/mathinline.h /usr/include/string.h \
|
||||
/usr/include/bits/string.h /usr/include/bits/string2.h \
|
||||
/usr/include/errno.h /usr/include/bits/errno.h \
|
||||
/usr/include/linux/errno.h /usr/include/asm/errno.h \
|
||||
/usr/include/unistd.h /usr/include/bits/posix_opt.h \
|
||||
/usr/include/bits/environments.h /usr/include/bits/confname.h \
|
||||
/usr/include/getopt.h /usr/include/assert.h
|
||||
|
||||
./src/libteletone_detect.h:
|
||||
|
||||
./src/libteletone.h:
|
||||
|
||||
./src/libteletone_generate.h:
|
||||
|
||||
/usr/include/stdio.h:
|
||||
|
||||
/usr/include/features.h:
|
||||
|
||||
/usr/include/sys/cdefs.h:
|
||||
|
||||
/usr/include/gnu/stubs.h:
|
||||
|
||||
/usr/lib/gcc/i386-redhat-linux/3.4.6/include/stddef.h:
|
||||
|
||||
/usr/include/bits/types.h:
|
||||
|
||||
/usr/include/bits/wordsize.h:
|
||||
|
||||
/usr/include/bits/typesizes.h:
|
||||
|
||||
/usr/include/libio.h:
|
||||
|
||||
/usr/include/_G_config.h:
|
||||
|
||||
/usr/include/wchar.h:
|
||||
|
||||
/usr/include/bits/wchar.h:
|
||||
|
||||
/usr/include/gconv.h:
|
||||
|
||||
/usr/lib/gcc/i386-redhat-linux/3.4.6/include/stdarg.h:
|
||||
|
||||
/usr/include/bits/stdio_lim.h:
|
||||
|
||||
/usr/include/bits/sys_errlist.h:
|
||||
|
||||
/usr/include/bits/stdio.h:
|
||||
|
||||
/usr/include/stdlib.h:
|
||||
|
||||
/usr/include/bits/waitflags.h:
|
||||
|
||||
/usr/include/bits/waitstatus.h:
|
||||
|
||||
/usr/include/endian.h:
|
||||
|
||||
/usr/include/bits/endian.h:
|
||||
|
||||
/usr/include/xlocale.h:
|
||||
|
||||
/usr/include/sys/types.h:
|
||||
|
||||
/usr/include/time.h:
|
||||
|
||||
/usr/include/sys/select.h:
|
||||
|
||||
/usr/include/bits/select.h:
|
||||
|
||||
/usr/include/bits/sigset.h:
|
||||
|
||||
/usr/include/bits/time.h:
|
||||
|
||||
/usr/include/sys/sysmacros.h:
|
||||
|
||||
/usr/include/bits/pthreadtypes.h:
|
||||
|
||||
/usr/include/bits/sched.h:
|
||||
|
||||
/usr/include/alloca.h:
|
||||
|
||||
/usr/include/stdint.h:
|
||||
|
||||
/usr/include/sys/stat.h:
|
||||
|
||||
/usr/include/bits/stat.h:
|
||||
|
||||
/usr/include/fcntl.h:
|
||||
|
||||
/usr/include/bits/fcntl.h:
|
||||
|
||||
/usr/include/math.h:
|
||||
|
||||
/usr/include/bits/huge_val.h:
|
||||
|
||||
/usr/include/bits/huge_valf.h:
|
||||
|
||||
/usr/include/bits/huge_vall.h:
|
||||
|
||||
/usr/include/bits/inf.h:
|
||||
|
||||
/usr/include/bits/nan.h:
|
||||
|
||||
/usr/include/bits/mathdef.h:
|
||||
|
||||
/usr/include/bits/mathcalls.h:
|
||||
|
||||
/usr/include/bits/mathinline.h:
|
||||
|
||||
/usr/include/string.h:
|
||||
|
||||
/usr/include/bits/string.h:
|
||||
|
||||
/usr/include/bits/string2.h:
|
||||
|
||||
/usr/include/errno.h:
|
||||
|
||||
/usr/include/bits/errno.h:
|
||||
|
||||
/usr/include/linux/errno.h:
|
||||
|
||||
/usr/include/asm/errno.h:
|
||||
|
||||
/usr/include/unistd.h:
|
||||
|
||||
/usr/include/bits/posix_opt.h:
|
||||
|
||||
/usr/include/bits/environments.h:
|
||||
|
||||
/usr/include/bits/confname.h:
|
||||
|
||||
/usr/include/getopt.h:
|
||||
|
||||
/usr/include/assert.h:
|
|
@ -1,158 +0,0 @@
|
|||
libteletone_la-libteletone_generate.lo \
|
||||
libteletone_la-libteletone_generate.o: src/libteletone_generate.c \
|
||||
./src/libteletone.h ./src/libteletone_generate.h /usr/include/stdio.h \
|
||||
/usr/include/features.h /usr/include/sys/cdefs.h \
|
||||
/usr/include/gnu/stubs.h \
|
||||
/usr/lib/gcc/i386-redhat-linux/3.4.6/include/stddef.h \
|
||||
/usr/include/bits/types.h /usr/include/bits/wordsize.h \
|
||||
/usr/include/bits/typesizes.h /usr/include/libio.h \
|
||||
/usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
|
||||
/usr/include/gconv.h \
|
||||
/usr/lib/gcc/i386-redhat-linux/3.4.6/include/stdarg.h \
|
||||
/usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
|
||||
/usr/include/bits/stdio.h /usr/include/stdlib.h \
|
||||
/usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
|
||||
/usr/include/endian.h /usr/include/bits/endian.h /usr/include/xlocale.h \
|
||||
/usr/include/sys/types.h /usr/include/time.h /usr/include/sys/select.h \
|
||||
/usr/include/bits/select.h /usr/include/bits/sigset.h \
|
||||
/usr/include/bits/time.h /usr/include/sys/sysmacros.h \
|
||||
/usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \
|
||||
/usr/include/alloca.h /usr/include/stdint.h /usr/include/sys/stat.h \
|
||||
/usr/include/bits/stat.h /usr/include/fcntl.h /usr/include/bits/fcntl.h \
|
||||
/usr/include/math.h /usr/include/bits/huge_val.h \
|
||||
/usr/include/bits/huge_valf.h /usr/include/bits/huge_vall.h \
|
||||
/usr/include/bits/inf.h /usr/include/bits/nan.h \
|
||||
/usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h \
|
||||
/usr/include/bits/mathinline.h /usr/include/string.h \
|
||||
/usr/include/bits/string.h /usr/include/bits/string2.h \
|
||||
/usr/include/errno.h /usr/include/bits/errno.h \
|
||||
/usr/include/linux/errno.h /usr/include/asm/errno.h \
|
||||
/usr/include/unistd.h /usr/include/bits/posix_opt.h \
|
||||
/usr/include/bits/environments.h /usr/include/bits/confname.h \
|
||||
/usr/include/getopt.h /usr/include/assert.h ./src/libteletone_detect.h
|
||||
|
||||
./src/libteletone.h:
|
||||
|
||||
./src/libteletone_generate.h:
|
||||
|
||||
/usr/include/stdio.h:
|
||||
|
||||
/usr/include/features.h:
|
||||
|
||||
/usr/include/sys/cdefs.h:
|
||||
|
||||
/usr/include/gnu/stubs.h:
|
||||
|
||||
/usr/lib/gcc/i386-redhat-linux/3.4.6/include/stddef.h:
|
||||
|
||||
/usr/include/bits/types.h:
|
||||
|
||||
/usr/include/bits/wordsize.h:
|
||||
|
||||
/usr/include/bits/typesizes.h:
|
||||
|
||||
/usr/include/libio.h:
|
||||
|
||||
/usr/include/_G_config.h:
|
||||
|
||||
/usr/include/wchar.h:
|
||||
|
||||
/usr/include/bits/wchar.h:
|
||||
|
||||
/usr/include/gconv.h:
|
||||
|
||||
/usr/lib/gcc/i386-redhat-linux/3.4.6/include/stdarg.h:
|
||||
|
||||
/usr/include/bits/stdio_lim.h:
|
||||
|
||||
/usr/include/bits/sys_errlist.h:
|
||||
|
||||
/usr/include/bits/stdio.h:
|
||||
|
||||
/usr/include/stdlib.h:
|
||||
|
||||
/usr/include/bits/waitflags.h:
|
||||
|
||||
/usr/include/bits/waitstatus.h:
|
||||
|
||||
/usr/include/endian.h:
|
||||
|
||||
/usr/include/bits/endian.h:
|
||||
|
||||
/usr/include/xlocale.h:
|
||||
|
||||
/usr/include/sys/types.h:
|
||||
|
||||
/usr/include/time.h:
|
||||
|
||||
/usr/include/sys/select.h:
|
||||
|
||||
/usr/include/bits/select.h:
|
||||
|
||||
/usr/include/bits/sigset.h:
|
||||
|
||||
/usr/include/bits/time.h:
|
||||
|
||||
/usr/include/sys/sysmacros.h:
|
||||
|
||||
/usr/include/bits/pthreadtypes.h:
|
||||
|
||||
/usr/include/bits/sched.h:
|
||||
|
||||
/usr/include/alloca.h:
|
||||
|
||||
/usr/include/stdint.h:
|
||||
|
||||
/usr/include/sys/stat.h:
|
||||
|
||||
/usr/include/bits/stat.h:
|
||||
|
||||
/usr/include/fcntl.h:
|
||||
|
||||
/usr/include/bits/fcntl.h:
|
||||
|
||||
/usr/include/math.h:
|
||||
|
||||
/usr/include/bits/huge_val.h:
|
||||
|
||||
/usr/include/bits/huge_valf.h:
|
||||
|
||||
/usr/include/bits/huge_vall.h:
|
||||
|
||||
/usr/include/bits/inf.h:
|
||||
|
||||
/usr/include/bits/nan.h:
|
||||
|
||||
/usr/include/bits/mathdef.h:
|
||||
|
||||
/usr/include/bits/mathcalls.h:
|
||||
|
||||
/usr/include/bits/mathinline.h:
|
||||
|
||||
/usr/include/string.h:
|
||||
|
||||
/usr/include/bits/string.h:
|
||||
|
||||
/usr/include/bits/string2.h:
|
||||
|
||||
/usr/include/errno.h:
|
||||
|
||||
/usr/include/bits/errno.h:
|
||||
|
||||
/usr/include/linux/errno.h:
|
||||
|
||||
/usr/include/asm/errno.h:
|
||||
|
||||
/usr/include/unistd.h:
|
||||
|
||||
/usr/include/bits/posix_opt.h:
|
||||
|
||||
/usr/include/bits/environments.h:
|
||||
|
||||
/usr/include/bits/confname.h:
|
||||
|
||||
/usr/include/getopt.h:
|
||||
|
||||
/usr/include/assert.h:
|
||||
|
||||
./src/libteletone_detect.h:
|
|
@ -1,158 +0,0 @@
|
|||
libteletone_la-libteletone_detect.lo libteletone_la-libteletone_detect.o: \
|
||||
src/libteletone_detect.c ./src/libteletone_detect.h ./src/libteletone.h \
|
||||
./src/libteletone_generate.h /usr/include/stdio.h \
|
||||
/usr/include/features.h /usr/include/sys/cdefs.h \
|
||||
/usr/include/gnu/stubs.h \
|
||||
/usr/lib/gcc/i386-redhat-linux/3.4.6/include/stddef.h \
|
||||
/usr/include/bits/types.h /usr/include/bits/wordsize.h \
|
||||
/usr/include/bits/typesizes.h /usr/include/libio.h \
|
||||
/usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
|
||||
/usr/include/gconv.h \
|
||||
/usr/lib/gcc/i386-redhat-linux/3.4.6/include/stdarg.h \
|
||||
/usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
|
||||
/usr/include/bits/stdio.h /usr/include/stdlib.h \
|
||||
/usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
|
||||
/usr/include/endian.h /usr/include/bits/endian.h /usr/include/xlocale.h \
|
||||
/usr/include/sys/types.h /usr/include/time.h /usr/include/sys/select.h \
|
||||
/usr/include/bits/select.h /usr/include/bits/sigset.h \
|
||||
/usr/include/bits/time.h /usr/include/sys/sysmacros.h \
|
||||
/usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \
|
||||
/usr/include/alloca.h /usr/include/stdint.h /usr/include/sys/stat.h \
|
||||
/usr/include/bits/stat.h /usr/include/fcntl.h /usr/include/bits/fcntl.h \
|
||||
/usr/include/math.h /usr/include/bits/huge_val.h \
|
||||
/usr/include/bits/huge_valf.h /usr/include/bits/huge_vall.h \
|
||||
/usr/include/bits/inf.h /usr/include/bits/nan.h \
|
||||
/usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h \
|
||||
/usr/include/bits/mathinline.h /usr/include/string.h \
|
||||
/usr/include/bits/string.h /usr/include/bits/string2.h \
|
||||
/usr/include/errno.h /usr/include/bits/errno.h \
|
||||
/usr/include/linux/errno.h /usr/include/asm/errno.h \
|
||||
/usr/include/unistd.h /usr/include/bits/posix_opt.h \
|
||||
/usr/include/bits/environments.h /usr/include/bits/confname.h \
|
||||
/usr/include/getopt.h /usr/include/assert.h
|
||||
|
||||
./src/libteletone_detect.h:
|
||||
|
||||
./src/libteletone.h:
|
||||
|
||||
./src/libteletone_generate.h:
|
||||
|
||||
/usr/include/stdio.h:
|
||||
|
||||
/usr/include/features.h:
|
||||
|
||||
/usr/include/sys/cdefs.h:
|
||||
|
||||
/usr/include/gnu/stubs.h:
|
||||
|
||||
/usr/lib/gcc/i386-redhat-linux/3.4.6/include/stddef.h:
|
||||
|
||||
/usr/include/bits/types.h:
|
||||
|
||||
/usr/include/bits/wordsize.h:
|
||||
|
||||
/usr/include/bits/typesizes.h:
|
||||
|
||||
/usr/include/libio.h:
|
||||
|
||||
/usr/include/_G_config.h:
|
||||
|
||||
/usr/include/wchar.h:
|
||||
|
||||
/usr/include/bits/wchar.h:
|
||||
|
||||
/usr/include/gconv.h:
|
||||
|
||||
/usr/lib/gcc/i386-redhat-linux/3.4.6/include/stdarg.h:
|
||||
|
||||
/usr/include/bits/stdio_lim.h:
|
||||
|
||||
/usr/include/bits/sys_errlist.h:
|
||||
|
||||
/usr/include/bits/stdio.h:
|
||||
|
||||
/usr/include/stdlib.h:
|
||||
|
||||
/usr/include/bits/waitflags.h:
|
||||
|
||||
/usr/include/bits/waitstatus.h:
|
||||
|
||||
/usr/include/endian.h:
|
||||
|
||||
/usr/include/bits/endian.h:
|
||||
|
||||
/usr/include/xlocale.h:
|
||||
|
||||
/usr/include/sys/types.h:
|
||||
|
||||
/usr/include/time.h:
|
||||
|
||||
/usr/include/sys/select.h:
|
||||
|
||||
/usr/include/bits/select.h:
|
||||
|
||||
/usr/include/bits/sigset.h:
|
||||
|
||||
/usr/include/bits/time.h:
|
||||
|
||||
/usr/include/sys/sysmacros.h:
|
||||
|
||||
/usr/include/bits/pthreadtypes.h:
|
||||
|
||||
/usr/include/bits/sched.h:
|
||||
|
||||
/usr/include/alloca.h:
|
||||
|
||||
/usr/include/stdint.h:
|
||||
|
||||
/usr/include/sys/stat.h:
|
||||
|
||||
/usr/include/bits/stat.h:
|
||||
|
||||
/usr/include/fcntl.h:
|
||||
|
||||
/usr/include/bits/fcntl.h:
|
||||
|
||||
/usr/include/math.h:
|
||||
|
||||
/usr/include/bits/huge_val.h:
|
||||
|
||||
/usr/include/bits/huge_valf.h:
|
||||
|
||||
/usr/include/bits/huge_vall.h:
|
||||
|
||||
/usr/include/bits/inf.h:
|
||||
|
||||
/usr/include/bits/nan.h:
|
||||
|
||||
/usr/include/bits/mathdef.h:
|
||||
|
||||
/usr/include/bits/mathcalls.h:
|
||||
|
||||
/usr/include/bits/mathinline.h:
|
||||
|
||||
/usr/include/string.h:
|
||||
|
||||
/usr/include/bits/string.h:
|
||||
|
||||
/usr/include/bits/string2.h:
|
||||
|
||||
/usr/include/errno.h:
|
||||
|
||||
/usr/include/bits/errno.h:
|
||||
|
||||
/usr/include/linux/errno.h:
|
||||
|
||||
/usr/include/asm/errno.h:
|
||||
|
||||
/usr/include/unistd.h:
|
||||
|
||||
/usr/include/bits/posix_opt.h:
|
||||
|
||||
/usr/include/bits/environments.h:
|
||||
|
||||
/usr/include/bits/confname.h:
|
||||
|
||||
/usr/include/getopt.h:
|
||||
|
||||
/usr/include/assert.h:
|
|
@ -1,158 +0,0 @@
|
|||
libteletone_la-libteletone_generate.lo \
|
||||
libteletone_la-libteletone_generate.o: src/libteletone_generate.c \
|
||||
./src/libteletone.h ./src/libteletone_generate.h /usr/include/stdio.h \
|
||||
/usr/include/features.h /usr/include/sys/cdefs.h \
|
||||
/usr/include/gnu/stubs.h \
|
||||
/usr/lib/gcc/i386-redhat-linux/3.4.6/include/stddef.h \
|
||||
/usr/include/bits/types.h /usr/include/bits/wordsize.h \
|
||||
/usr/include/bits/typesizes.h /usr/include/libio.h \
|
||||
/usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
|
||||
/usr/include/gconv.h \
|
||||
/usr/lib/gcc/i386-redhat-linux/3.4.6/include/stdarg.h \
|
||||
/usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
|
||||
/usr/include/bits/stdio.h /usr/include/stdlib.h \
|
||||
/usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
|
||||
/usr/include/endian.h /usr/include/bits/endian.h /usr/include/xlocale.h \
|
||||
/usr/include/sys/types.h /usr/include/time.h /usr/include/sys/select.h \
|
||||
/usr/include/bits/select.h /usr/include/bits/sigset.h \
|
||||
/usr/include/bits/time.h /usr/include/sys/sysmacros.h \
|
||||
/usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \
|
||||
/usr/include/alloca.h /usr/include/stdint.h /usr/include/sys/stat.h \
|
||||
/usr/include/bits/stat.h /usr/include/fcntl.h /usr/include/bits/fcntl.h \
|
||||
/usr/include/math.h /usr/include/bits/huge_val.h \
|
||||
/usr/include/bits/huge_valf.h /usr/include/bits/huge_vall.h \
|
||||
/usr/include/bits/inf.h /usr/include/bits/nan.h \
|
||||
/usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h \
|
||||
/usr/include/bits/mathinline.h /usr/include/string.h \
|
||||
/usr/include/bits/string.h /usr/include/bits/string2.h \
|
||||
/usr/include/errno.h /usr/include/bits/errno.h \
|
||||
/usr/include/linux/errno.h /usr/include/asm/errno.h \
|
||||
/usr/include/unistd.h /usr/include/bits/posix_opt.h \
|
||||
/usr/include/bits/environments.h /usr/include/bits/confname.h \
|
||||
/usr/include/getopt.h /usr/include/assert.h ./src/libteletone_detect.h
|
||||
|
||||
./src/libteletone.h:
|
||||
|
||||
./src/libteletone_generate.h:
|
||||
|
||||
/usr/include/stdio.h:
|
||||
|
||||
/usr/include/features.h:
|
||||
|
||||
/usr/include/sys/cdefs.h:
|
||||
|
||||
/usr/include/gnu/stubs.h:
|
||||
|
||||
/usr/lib/gcc/i386-redhat-linux/3.4.6/include/stddef.h:
|
||||
|
||||
/usr/include/bits/types.h:
|
||||
|
||||
/usr/include/bits/wordsize.h:
|
||||
|
||||
/usr/include/bits/typesizes.h:
|
||||
|
||||
/usr/include/libio.h:
|
||||
|
||||
/usr/include/_G_config.h:
|
||||
|
||||
/usr/include/wchar.h:
|
||||
|
||||
/usr/include/bits/wchar.h:
|
||||
|
||||
/usr/include/gconv.h:
|
||||
|
||||
/usr/lib/gcc/i386-redhat-linux/3.4.6/include/stdarg.h:
|
||||
|
||||
/usr/include/bits/stdio_lim.h:
|
||||
|
||||
/usr/include/bits/sys_errlist.h:
|
||||
|
||||
/usr/include/bits/stdio.h:
|
||||
|
||||
/usr/include/stdlib.h:
|
||||
|
||||
/usr/include/bits/waitflags.h:
|
||||
|
||||
/usr/include/bits/waitstatus.h:
|
||||
|
||||
/usr/include/endian.h:
|
||||
|
||||
/usr/include/bits/endian.h:
|
||||
|
||||
/usr/include/xlocale.h:
|
||||
|
||||
/usr/include/sys/types.h:
|
||||
|
||||
/usr/include/time.h:
|
||||
|
||||
/usr/include/sys/select.h:
|
||||
|
||||
/usr/include/bits/select.h:
|
||||
|
||||
/usr/include/bits/sigset.h:
|
||||
|
||||
/usr/include/bits/time.h:
|
||||
|
||||
/usr/include/sys/sysmacros.h:
|
||||
|
||||
/usr/include/bits/pthreadtypes.h:
|
||||
|
||||
/usr/include/bits/sched.h:
|
||||
|
||||
/usr/include/alloca.h:
|
||||
|
||||
/usr/include/stdint.h:
|
||||
|
||||
/usr/include/sys/stat.h:
|
||||
|
||||
/usr/include/bits/stat.h:
|
||||
|
||||
/usr/include/fcntl.h:
|
||||
|
||||
/usr/include/bits/fcntl.h:
|
||||
|
||||
/usr/include/math.h:
|
||||
|
||||
/usr/include/bits/huge_val.h:
|
||||
|
||||
/usr/include/bits/huge_valf.h:
|
||||
|
||||
/usr/include/bits/huge_vall.h:
|
||||
|
||||
/usr/include/bits/inf.h:
|
||||
|
||||
/usr/include/bits/nan.h:
|
||||
|
||||
/usr/include/bits/mathdef.h:
|
||||
|
||||
/usr/include/bits/mathcalls.h:
|
||||
|
||||
/usr/include/bits/mathinline.h:
|
||||
|
||||
/usr/include/string.h:
|
||||
|
||||
/usr/include/bits/string.h:
|
||||
|
||||
/usr/include/bits/string2.h:
|
||||
|
||||
/usr/include/errno.h:
|
||||
|
||||
/usr/include/bits/errno.h:
|
||||
|
||||
/usr/include/linux/errno.h:
|
||||
|
||||
/usr/include/asm/errno.h:
|
||||
|
||||
/usr/include/unistd.h:
|
||||
|
||||
/usr/include/bits/posix_opt.h:
|
||||
|
||||
/usr/include/bits/environments.h:
|
||||
|
||||
/usr/include/bits/confname.h:
|
||||
|
||||
/usr/include/getopt.h:
|
||||
|
||||
/usr/include/assert.h:
|
||||
|
||||
./src/libteletone_detect.h:
|
|
@ -1,7 +1,7 @@
|
|||
K 25
|
||||
svn:wc:ra_dav:version-url
|
||||
V 51
|
||||
/svn/sangoma_mgd/!svn/ver/149/trunk/lib/libteletone
|
||||
/svn/sangoma_mgd/!svn/ver/190/trunk/lib/libteletone
|
||||
END
|
||||
mkinstalldirs
|
||||
K 25
|
||||
|
@ -33,18 +33,18 @@ svn:wc:ra_dav:version-url
|
|||
V 62
|
||||
/svn/sangoma_mgd/!svn/ver/1/trunk/lib/libteletone/configure.in
|
||||
END
|
||||
ChangeLog
|
||||
K 25
|
||||
svn:wc:ra_dav:version-url
|
||||
V 59
|
||||
/svn/sangoma_mgd/!svn/ver/1/trunk/lib/libteletone/ChangeLog
|
||||
END
|
||||
depcomp
|
||||
K 25
|
||||
svn:wc:ra_dav:version-url
|
||||
V 57
|
||||
/svn/sangoma_mgd/!svn/ver/1/trunk/lib/libteletone/depcomp
|
||||
END
|
||||
ChangeLog
|
||||
K 25
|
||||
svn:wc:ra_dav:version-url
|
||||
V 59
|
||||
/svn/sangoma_mgd/!svn/ver/1/trunk/lib/libteletone/ChangeLog
|
||||
END
|
||||
compile
|
||||
K 25
|
||||
svn:wc:ra_dav:version-url
|
||||
|
@ -63,11 +63,11 @@ svn:wc:ra_dav:version-url
|
|||
V 64
|
||||
/svn/sangoma_mgd/!svn/ver/1/trunk/lib/libteletone/svn-commit.tmp
|
||||
END
|
||||
config.sub
|
||||
README
|
||||
K 25
|
||||
svn:wc:ra_dav:version-url
|
||||
V 60
|
||||
/svn/sangoma_mgd/!svn/ver/1/trunk/lib/libteletone/config.sub
|
||||
V 56
|
||||
/svn/sangoma_mgd/!svn/ver/1/trunk/lib/libteletone/README
|
||||
END
|
||||
ltmain.sh
|
||||
K 25
|
||||
|
@ -75,11 +75,11 @@ svn:wc:ra_dav:version-url
|
|||
V 59
|
||||
/svn/sangoma_mgd/!svn/ver/1/trunk/lib/libteletone/ltmain.sh
|
||||
END
|
||||
README
|
||||
config.sub
|
||||
K 25
|
||||
svn:wc:ra_dav:version-url
|
||||
V 56
|
||||
/svn/sangoma_mgd/!svn/ver/1/trunk/lib/libteletone/README
|
||||
V 60
|
||||
/svn/sangoma_mgd/!svn/ver/1/trunk/lib/libteletone/config.sub
|
||||
END
|
||||
INSTALL
|
||||
K 25
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
8
|
||||
|
||||
dir
|
||||
187
|
||||
193
|
||||
https://www.sangomapbx.com/svn/sangoma_mgd/trunk/lib/libteletone
|
||||
https://www.sangomapbx.com/svn/sangoma_mgd
|
||||
|
||||
|
||||
|
||||
2009-03-03T20:17:37.440465Z
|
||||
149
|
||||
2009-07-27T20:06:20.593649Z
|
||||
190
|
||||
davidy
|
||||
|
||||
|
||||
|
@ -88,17 +88,8 @@ file
|
|||
root
|
||||
has-props
|
||||
|
||||
depcomp
|
||||
file
|
||||
|
||||
|
||||
|
||||
|
||||
2009-04-30T20:22:39.000000Z
|
||||
7e26ecc61d5c27c50d334ebe19d5ef06
|
||||
2007-09-21T20:53:51.260136Z
|
||||
1
|
||||
root
|
||||
src
|
||||
dir
|
||||
|
||||
ChangeLog
|
||||
file
|
||||
|
@ -112,8 +103,17 @@ d41d8cd98f00b204e9800998ecf8427e
|
|||
1
|
||||
root
|
||||
|
||||
src
|
||||
dir
|
||||
depcomp
|
||||
file
|
||||
|
||||
|
||||
|
||||
|
||||
2009-04-30T20:22:39.000000Z
|
||||
7e26ecc61d5c27c50d334ebe19d5ef06
|
||||
2007-09-21T20:53:51.260136Z
|
||||
1
|
||||
root
|
||||
|
||||
compile
|
||||
file
|
||||
|
@ -152,14 +152,14 @@ c2defdef8cd93c3d9e29628267699702
|
|||
1
|
||||
root
|
||||
|
||||
README
|
||||
config.sub
|
||||
file
|
||||
|
||||
|
||||
|
||||
|
||||
2009-04-30T20:22:39.000000Z
|
||||
234c8df99750448a5b1c4709304a38e5
|
||||
74587542264e2bb761ee931ddb7d69f1
|
||||
2007-09-21T20:53:51.260136Z
|
||||
1
|
||||
root
|
||||
|
@ -176,14 +176,14 @@ file
|
|||
1
|
||||
root
|
||||
|
||||
config.sub
|
||||
README
|
||||
file
|
||||
|
||||
|
||||
|
||||
|
||||
2009-04-30T20:22:39.000000Z
|
||||
74587542264e2bb761ee931ddb7d69f1
|
||||
234c8df99750448a5b1c4709304a38e5
|
||||
2007-09-21T20:53:51.260136Z
|
||||
1
|
||||
root
|
||||
|
@ -224,9 +224,6 @@ c878b7dac31225fc5b03ff92d985f147
|
|||
1
|
||||
root
|
||||
|
||||
.deps
|
||||
dir
|
||||
|
||||
Makefile.am
|
||||
file
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
8
|
||||
|
||||
dir
|
||||
187
|
||||
193
|
||||
https://www.sangomapbx.com/svn/sangoma_mgd/trunk/lib/libteletone/src
|
||||
https://www.sangomapbx.com/svn/sangoma_mgd
|
||||
|
||||
|
|
|
@ -9,6 +9,11 @@
|
|||
*
|
||||
* =============================================
|
||||
*
|
||||
*
|
||||
* v1.51 David Yat Sin <dyatsin@sangoma.com>
|
||||
* MAX_SPANS increased to 32.
|
||||
* Fix for server.process_table declared incorrectly
|
||||
*
|
||||
* v1.50 Nenad Corbic <ncorbic@sangoma.com>
|
||||
* Logic to support multiple woomera clients hanging up the
|
||||
* channel. This feature now supprorts woomera loadbalancing
|
||||
|
@ -291,7 +296,7 @@ struct woomera_server server;
|
|||
#endif
|
||||
|
||||
|
||||
#define SMG_VERSION "v1.50"
|
||||
#define SMG_VERSION "v1.51"
|
||||
|
||||
/* enable early media */
|
||||
#if 1
|
||||
|
@ -333,7 +338,7 @@ static int drop_seq=0;
|
|||
|
||||
const char WELCOME_TEXT[] =
|
||||
"================================================================================\n"
|
||||
"Sangoma Media Gateway Daemon v1.50 \n"
|
||||
"Sangoma Media Gateway Daemon v1.51 \n"
|
||||
"\n"
|
||||
"TDM Signal Media Gateway for Sangoma/Wanpipe Cards\n"
|
||||
"Copyright 2005, 2006, 2007 \n"
|
||||
|
@ -2137,7 +2142,7 @@ static struct woomera_interface * launch_woomera_loop_thread(short_signal_event_
|
|||
pthread_mutex_lock(&server.process_lock);
|
||||
server.process_table[event->span][event->chan].dev = NULL;
|
||||
memset(server.process_table[event->span][event->chan].session,0,SMG_SESSION_NAME_SZ);
|
||||
pthread_mutex_unlock(&server.process_lock);
|
||||
pthread_mutex_unlock(&server.process_lock);
|
||||
smg_free(woomera);
|
||||
log_printf(SMG_LOG_ALL, server.log, "Critical ERROR: memory/socket error\n");
|
||||
return NULL;
|
||||
|
@ -4071,11 +4076,12 @@ static void handle_remove_loop(short_signal_event_t *event)
|
|||
|
||||
static void handle_call_stop(short_signal_event_t *event)
|
||||
{
|
||||
struct woomera_interface *woomera;
|
||||
struct woomera_interface *woomera;
|
||||
int ack=0;
|
||||
|
||||
pthread_mutex_lock(&server.process_lock);
|
||||
woomera = server.process_table[event->span][event->chan].dev;
|
||||
woomera = NULL;
|
||||
pthread_mutex_lock(&server.process_lock);
|
||||
woomera = server.process_table[event->span][event->chan].dev;
|
||||
if (woomera) {
|
||||
|
||||
if (!woomera_test_flag(woomera, WFLAG_WAIT_FOR_NACK_ACK_SENT) &&
|
||||
|
@ -4094,7 +4100,7 @@ static void handle_call_stop(short_signal_event_t *event)
|
|||
memset(server.process_table[event->span][event->chan].session,0,SMG_SESSION_NAME_SZ);
|
||||
pthread_mutex_unlock(&server.process_lock);
|
||||
|
||||
if (woomera) {
|
||||
if (woomera) {
|
||||
|
||||
woomera_set_cause_topbx(woomera,event->release_cause);
|
||||
|
||||
|
@ -5740,8 +5746,13 @@ static int woomera_shutdown(void)
|
|||
int main(int argc, char *argv[])
|
||||
{
|
||||
int ret = 0;
|
||||
|
||||
memset(&server,0,sizeof(server));
|
||||
memset(&woomera_dead_dev,0,sizeof(woomera_dead_dev));
|
||||
|
||||
mlockall(MCL_FUTURE);
|
||||
memset(&server, 0, sizeof(server));
|
||||
memset(&woomera_dead_dev, 0, sizeof(woomera_dead_dev));
|
||||
|
||||
ret=nice(-5);
|
||||
|
||||
|
|
|
@ -298,7 +298,8 @@ struct woomera_session {
|
|||
#define CORE_TANK_LEN CORE_MAX_CHAN_PER_SPAN*CORE_MAX_SPANS
|
||||
|
||||
struct woomera_server {
|
||||
struct woomera_session process_table[CORE_MAX_CHAN_PER_SPAN][CORE_MAX_SPANS];
|
||||
// struct woomera_session process_table[CORE_MAX_CHAN_PER_SPAN][CORE_MAX_SPANS];
|
||||
struct woomera_session process_table[CORE_MAX_SPANS][CORE_MAX_CHAN_PER_SPAN];
|
||||
struct woomera_interface *holding_tank[CORE_TANK_LEN];
|
||||
int holding_tank_index;
|
||||
struct woomera_interface master_connection;
|
||||
|
|
|
@ -3,10 +3,10 @@
|
|||
#define __SMG_COMMON_H_
|
||||
|
||||
|
||||
#define WOOMERA_MAX_SPAN 24
|
||||
#define WOOMERA_MAX_SPAN 32
|
||||
#define WOOMERA_MAX_CHAN 31
|
||||
|
||||
#define WOOMERA_BRI_MAX_SPAN 24
|
||||
#define WOOMERA_BRI_MAX_SPAN 32
|
||||
#define WOOMERA_BRI_MAX_CHAN 2
|
||||
|
||||
extern int max_spans;
|
||||
|
|
|
@ -49,7 +49,7 @@ void __log_printf(int level, FILE *fp, char *file, const char *func, int line, c
|
|||
fp = server.log;
|
||||
}
|
||||
|
||||
if (level && level >= server.debug && level < 100) {
|
||||
if (level && level > server.debug && level < 100) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
8
|
||||
|
||||
dir
|
||||
187
|
||||
193
|
||||
https://www.sangomapbx.com/svn/sangoma_mgd/trunk/scripts
|
||||
https://www.sangomapbx.com/svn/sangoma_mgd
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
8
|
||||
|
||||
dir
|
||||
187
|
||||
193
|
||||
https://www.sangomapbx.com/svn/sangoma_mgd/trunk/scripts/callgen
|
||||
https://www.sangomapbx.com/svn/sangoma_mgd
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
8
|
||||
|
||||
dir
|
||||
187
|
||||
193
|
||||
https://www.sangomapbx.com/svn/sangoma_mgd/trunk/scripts/init.d
|
||||
https://www.sangomapbx.com/svn/sangoma_mgd
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
8
|
||||
|
||||
dir
|
||||
187
|
||||
193
|
||||
https://www.sangomapbx.com/svn/sangoma_mgd/trunk/scripts/ss7
|
||||
https://www.sangomapbx.com/svn/sangoma_mgd
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
8
|
||||
|
||||
dir
|
||||
187
|
||||
193
|
||||
https://www.sangomapbx.com/svn/sangoma_mgd/trunk/unit
|
||||
https://www.sangomapbx.com/svn/sangoma_mgd
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
8
|
||||
|
||||
dir
|
||||
187
|
||||
193
|
||||
https://www.sangomapbx.com/svn/sangoma_mgd/trunk/unit/core
|
||||
https://www.sangomapbx.com/svn/sangoma_mgd
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
8
|
||||
|
||||
dir
|
||||
187
|
||||
193
|
||||
https://www.sangomapbx.com/svn/sangoma_mgd/trunk/unit/tests
|
||||
https://www.sangomapbx.com/svn/sangoma_mgd
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
8
|
||||
|
||||
dir
|
||||
187
|
||||
193
|
||||
https://www.sangomapbx.com/svn/sangoma_mgd/trunk/unit/tests/1_loop
|
||||
https://www.sangomapbx.com/svn/sangoma_mgd
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
8
|
||||
|
||||
dir
|
||||
187
|
||||
193
|
||||
https://www.sangomapbx.com/svn/sangoma_mgd/trunk/unit/tests/1_loop/tmp
|
||||
https://www.sangomapbx.com/svn/sangoma_mgd
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
8
|
||||
|
||||
dir
|
||||
187
|
||||
193
|
||||
https://www.sangomapbx.com/svn/sangoma_mgd/trunk/unit/tests/2_loop_call
|
||||
https://www.sangomapbx.com/svn/sangoma_mgd
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
8
|
||||
|
||||
dir
|
||||
187
|
||||
193
|
||||
https://www.sangomapbx.com/svn/sangoma_mgd/trunk/unit/tests/2_loop_call/tmp
|
||||
https://www.sangomapbx.com/svn/sangoma_mgd
|
||||
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,6 +1,16 @@
|
|||
AFT A101dm Firmware Change Log
|
||||
=============================
|
||||
|
||||
Release V36
|
||||
-----------
|
||||
Aug 13 2009
|
||||
Type: Recommended A101dm Firmware
|
||||
New Feature: Added Free Running timer for Zapata/Dahdi
|
||||
|
||||
Changes: Firmware bug fix
|
||||
Fixes on potential pci parity errors on some systems.
|
||||
|
||||
|
||||
|
||||
Release V34
|
||||
-----------
|
||||
|
|
|
@ -1,5 +1,18 @@
|
|||
AFT A102dm Firmware Change Log
|
||||
=============================
|
||||
|
||||
|
||||
Release V36
|
||||
-----------
|
||||
Aug 13 2009
|
||||
Type: Recommended A102dm Firmware
|
||||
New Feature: Added Free Running timer for Zaptel/Dahdi
|
||||
|
||||
Changes: Firmware bug fix
|
||||
Fixes on potential pci parity errors on some systems.
|
||||
|
||||
|
||||
|
||||
Release V33
|
||||
-----------
|
||||
Sep 27 2007
|
||||
|
|
|
@ -1,5 +1,16 @@
|
|||
AFT A104dm Firmware Change Log
|
||||
=============================
|
||||
|
||||
Release V36
|
||||
-----------
|
||||
Aug 13 2009
|
||||
Type: Recommended A104dm Firmware
|
||||
New Feature: Added Free Running timer for Zaptel/Dahdi
|
||||
|
||||
Changes: Firmware bug fix
|
||||
Fixes on potential pci parity errors on some systems.
|
||||
|
||||
|
||||
Release V33
|
||||
-----------
|
||||
Sep 27 2007
|
||||
|
|
|
@ -1,6 +1,17 @@
|
|||
AFT A108dm Firmware Change Log
|
||||
===============================
|
||||
|
||||
Release V38
|
||||
-----------
|
||||
Aug 13 2009
|
||||
Type: Recommended A108dm Firmware
|
||||
New Feature: Added Free Running timer for Zaptel/Dahdi
|
||||
|
||||
Changes: Firmware bug fix
|
||||
Fixes on potential pci parity errors on some systems.
|
||||
Fixes echo canceller H100 Errors that can occour on some systems.
|
||||
|
||||
|
||||
Release V33
|
||||
-----------
|
||||
Sep 27 2007
|
||||
|
|
|
@ -605,6 +605,7 @@ key_word_t common_conftab[] = /* Common configuration parameters */
|
|||
{ "RM_PULSEDIALING", offsetof(wandev_conf_t, fe_cfg)+offsetof(sdla_fe_cfg_t, cfg) + smemof(sdla_remora_cfg_t, fxs_pulsedialing), DTYPE_UCHAR },
|
||||
{ "RM_RINGAMPL", offsetof(wandev_conf_t, fe_cfg)+offsetof(sdla_fe_cfg_t, cfg) + smemof(sdla_remora_cfg_t, fxs_ringampl), DTYPE_INT },
|
||||
{ "RM_RELAXCFG", offsetof(wandev_conf_t, fe_cfg)+offsetof(sdla_fe_cfg_t, cfg) + smemof(sdla_remora_cfg_t, relaxcfg), DTYPE_UCHAR },
|
||||
{ "RM_FAKE_POLARITY", offsetof(wandev_conf_t, fe_cfg)+offsetof(sdla_fe_cfg_t, cfg) + smemof(sdla_remora_cfg_t, fake_polarity), DTYPE_UCHAR },
|
||||
|
||||
/* TDMV parameters */
|
||||
{ "TDMV_SPAN", offsetof(wandev_conf_t, tdmv_conf)+smemof(wan_tdmv_conf_t, span_no), DTYPE_UINT},
|
||||
|
|
Loading…
Reference in New Issue