wanpipe-3.1.3.tgz

This commit is contained in:
Harald Welte 2021-12-29 18:03:37 +01:00
parent 02b65ef843
commit 29b55a52c6
143 changed files with 3329 additions and 1163 deletions

View File

@ -7,6 +7,17 @@ Author: Nenad Corbic <ncorbic@sangoma.com>
Copyright (c) 1995-2007 Sangoma Technologies Inc.
------------------------------------------------------------------------------
* Mon Jun 30 2007 Nenad Corbic <ncorbic@sangoma.com> - Beta - 3.1.3
====================================================================
- Update to Ocatsic Hardware Echo Canceler Library
Turned of the NOISE suppression because it can interfere
with faxes. If you faxes did not work properly on 3.1.2
release they will work fine with this one.
- Cleaned up the Setup installation script.
* Mon Jun 16 2007 Nenad Corbic <ncorbic@sangoma.com> - Beta - 3.1.2
====================================================================

29
Setup
View File

@ -1672,14 +1672,17 @@ ENDOFTEXT
[ -d $RC_DIR/init.d ] && install -D -m 755 $WANROUTER_STARTUP_SMPL $ROOT/$RC_DIR/init.d/$PROD
fi
pause
if [ "$TDM_PROT" = "YES" ]; then
getyn "Would you like to auto-execute ztcfg after wanrouter start?" || return 0
cp $PROD_HOME/samples/wanpipe_zaptel_start /etc/wanpipe/scripts/start
if [ ! -d $WAN_CONF_DIR/scripts ]; then
eval "\mkdir -p $WAN_CONF_DIR/scripts >/dev/null 2>/dev/null"
fi
eval "\cp -f $PROD_HOME/samples/wanpipe_zaptel_start $WAN_CONF_DIR/scripts/start >/dev/null 2>/dev/null"
if [ ! -f $WAN_CONF_DIR/scripts/start ]; then
echo "Error: Could not copy auto-ztcfg script"
fi
fi
pause
return 0
}
@ -2635,7 +2638,7 @@ Custom Compilation:
protocols that you need. This way one can reduce
the size of the WANPIPE kernel drivers.
Refer to the WapipeIntallation.(pdf/txt) documentation.
Refer to the WanpipeIntallation.(pdf/txt) documentation.
ENDOFTEXT
fi
@ -2664,7 +2667,6 @@ ENDOFTEXT
fi
fi
ANNEXG_LOAD=NO
check_gcc
@ -2785,14 +2787,15 @@ ENDOFTEXT
#Copy the WANPIPE device drivers
#into a temporary directory
\cp -f $DRIVER_UPDATE_DIR/src/net/* .
\cp -f $DRIVER_UPDATE_DIR/src/wanrouter/* .
eval "\cp -f $DRIVER_UPDATE_DIR/src/net/* . >/dev/null 2>/dev/null"
eval "\cp -f $DRIVER_UPDATE_DIR/src/wanrouter/* .>/dev/null 2>/dev/null"
\cp -f $PROD_HOME/kbuild/Makefile .
eval "\cp -f $PROD_HOME/kbuild/Makefile . >/dev/null 2>/dev/null"
for file in $DRIVERS_MOD_LIST
do
\cp $DRIVER_UPDATE_DIR/src/net/$file .
eval "\cp $DRIVER_UPDATE_DIR/src/net/$file . >/dev/null 2>/dev/null"
done
update_redhat_as 0
@ -3099,7 +3102,7 @@ ENDOFTEXT
- TDM Voice Hardware Support for Asterisk PBX Software
Hardware Support for Asterisk PBX Software over
S514 T1/E1 Cards.
AFT T1/E1 Cards.
ENDOFTEXT
pause
@ -3122,6 +3125,12 @@ ENDOFTEXT
if test -z $NONINTERACTIVE; then
if [ -e $SOURCEDIR/include/config/kernel.release ]; then
KERNEL_VERSION=`cat $SOURCEDIR/include/config/kernel.release`
echo "Source kernel name:$KERNEL_VERSION"
fi
if [ $KERNEL_VERSION != $KERNEL_UNAME ]; then
echo
echo -e "WARNING: Module installation dir mismatch!"
@ -6127,7 +6136,7 @@ KERNEL_UNAME=`uname -r`
PKG_NAME=wanpipe
DISTR_NAME="WANPIPE"
PROD=wanrouter
PROD_VER=3.1.2
PROD_VER=3.1.3
PROD_HOME=`pwd`
META_CONF=$PROD_HOME/$PROD.rc
WAN_INTR_DIR=$PROD_HOME/interfaces

View File

@ -62,27 +62,27 @@ libsangoma_la-libsangoma.lo libsangoma_la-libsangoma.o: libsangoma.c \
/lib/modules/2.6.18-8.el5/build/include/linux/socket.h \
/lib/modules/2.6.18-8.el5/build/include/linux/hdlc/ioctl.h \
/usr/include/poll.h /usr/include/sys/poll.h /usr/include/bits/poll.h \
/lib/modules/2.6.18-8.el5/build/include/linux/wanpipe_defines.h \
/lib/modules/2.6.18-8.el5/build/include/linux/wanpipe_version.h \
/lib/modules/2.6.18-8.el5/build/include/linux/wanpipe_kernel.h \
../../patches/kdrivers/include/linux/wanpipe_defines.h \
../../patches/kdrivers/include/linux/wanpipe_version.h \
../../patches/kdrivers/include/linux/wanpipe_kernel.h \
/lib/modules/2.6.18-8.el5/build/include/linux/version.h \
/lib/modules/2.6.18-8.el5/build/include/linux/wanpipe_cfg.h \
/lib/modules/2.6.18-8.el5/build/include/linux/sdla_56k.h \
/lib/modules/2.6.18-8.el5/build/include/linux/sdla_te1.h \
/lib/modules/2.6.18-8.el5/build/include/linux/sdla_te3.h \
/lib/modules/2.6.18-8.el5/build/include/linux/sdla_remora.h \
/lib/modules/2.6.18-8.el5/build/include/linux/sdla_remora_proslic.h \
/lib/modules/2.6.18-8.el5/build/include/linux/sdla_front_end.h \
/lib/modules/2.6.18-8.el5/build/include/linux/wanpipe.h \
/lib/modules/2.6.18-8.el5/build/include/linux/wanpipe_debug.h \
/lib/modules/2.6.18-8.el5/build/include/linux/wanpipe_common.h \
/lib/modules/2.6.18-8.el5/build/include/linux/wanpipe_events.h \
/lib/modules/2.6.18-8.el5/build/include/linux/wanrouter.h \
/lib/modules/2.6.18-8.el5/build/include/linux/wanpipe_tdm_api.h \
/lib/modules/2.6.18-8.el5/build/include/linux/wanpipe_includes.h \
/lib/modules/2.6.18-8.el5/build/include/linux/if_wanpipe.h \
../../patches/kdrivers/include/linux/wanpipe_cfg.h \
../../patches/kdrivers/include/linux/sdla_56k.h \
../../patches/kdrivers/include/linux/sdla_te1.h \
../../patches/kdrivers/include/linux/sdla_te3.h \
../../patches/kdrivers/include/linux/sdla_remora.h \
../../patches/kdrivers/include/linux/sdla_remora_proslic.h \
../../patches/kdrivers/include/linux/sdla_front_end.h \
../../patches/kdrivers/include/linux/wanpipe.h \
../../patches/kdrivers/include/linux/wanpipe_debug.h \
../../patches/kdrivers/include/linux/wanpipe_common.h \
../../patches/kdrivers/include/linux/wanpipe_events.h \
../../patches/kdrivers/include/linux/wanrouter.h \
../../patches/kdrivers/include/linux/wanpipe_tdm_api.h \
../../patches/kdrivers/include/linux/wanpipe_includes.h \
../../patches/kdrivers/include/linux/if_wanpipe.h \
/lib/modules/2.6.18-8.el5/build/include/linux/sockios.h \
/lib/modules/2.6.18-8.el5/build/include/linux/wanpipe_codec_iface.h
../../patches/kdrivers/include/linux/wanpipe_codec_iface.h
libsangoma.h:
@ -294,44 +294,44 @@ libsangoma.h:
/usr/include/bits/poll.h:
/lib/modules/2.6.18-8.el5/build/include/linux/wanpipe_defines.h:
../../patches/kdrivers/include/linux/wanpipe_defines.h:
/lib/modules/2.6.18-8.el5/build/include/linux/wanpipe_version.h:
../../patches/kdrivers/include/linux/wanpipe_version.h:
/lib/modules/2.6.18-8.el5/build/include/linux/wanpipe_kernel.h:
../../patches/kdrivers/include/linux/wanpipe_kernel.h:
/lib/modules/2.6.18-8.el5/build/include/linux/version.h:
/lib/modules/2.6.18-8.el5/build/include/linux/wanpipe_cfg.h:
../../patches/kdrivers/include/linux/wanpipe_cfg.h:
/lib/modules/2.6.18-8.el5/build/include/linux/sdla_56k.h:
../../patches/kdrivers/include/linux/sdla_56k.h:
/lib/modules/2.6.18-8.el5/build/include/linux/sdla_te1.h:
../../patches/kdrivers/include/linux/sdla_te1.h:
/lib/modules/2.6.18-8.el5/build/include/linux/sdla_te3.h:
../../patches/kdrivers/include/linux/sdla_te3.h:
/lib/modules/2.6.18-8.el5/build/include/linux/sdla_remora.h:
../../patches/kdrivers/include/linux/sdla_remora.h:
/lib/modules/2.6.18-8.el5/build/include/linux/sdla_remora_proslic.h:
../../patches/kdrivers/include/linux/sdla_remora_proslic.h:
/lib/modules/2.6.18-8.el5/build/include/linux/sdla_front_end.h:
../../patches/kdrivers/include/linux/sdla_front_end.h:
/lib/modules/2.6.18-8.el5/build/include/linux/wanpipe.h:
../../patches/kdrivers/include/linux/wanpipe.h:
/lib/modules/2.6.18-8.el5/build/include/linux/wanpipe_debug.h:
../../patches/kdrivers/include/linux/wanpipe_debug.h:
/lib/modules/2.6.18-8.el5/build/include/linux/wanpipe_common.h:
../../patches/kdrivers/include/linux/wanpipe_common.h:
/lib/modules/2.6.18-8.el5/build/include/linux/wanpipe_events.h:
../../patches/kdrivers/include/linux/wanpipe_events.h:
/lib/modules/2.6.18-8.el5/build/include/linux/wanrouter.h:
../../patches/kdrivers/include/linux/wanrouter.h:
/lib/modules/2.6.18-8.el5/build/include/linux/wanpipe_tdm_api.h:
../../patches/kdrivers/include/linux/wanpipe_tdm_api.h:
/lib/modules/2.6.18-8.el5/build/include/linux/wanpipe_includes.h:
../../patches/kdrivers/include/linux/wanpipe_includes.h:
/lib/modules/2.6.18-8.el5/build/include/linux/if_wanpipe.h:
../../patches/kdrivers/include/linux/if_wanpipe.h:
/lib/modules/2.6.18-8.el5/build/include/linux/sockios.h:
/lib/modules/2.6.18-8.el5/build/include/linux/wanpipe_codec_iface.h:
../../patches/kdrivers/include/linux/wanpipe_codec_iface.h:

View File

@ -1,2 +0,0 @@
This is a Subversion working copy administrative directory.
Visit http://subversion.tigris.org/ for more information.

View File

@ -1,291 +1,398 @@
<?xml version="1.0" encoding="utf-8"?>
<wc-entries
xmlns="svn:">
<entry
committed-rev="167"
name=""
committed-date="2007-02-08T00:43:20.661018Z"
url="svn://sangoma.freeswitch.org/libsangoma/trunk"
last-author="ncorbic"
kind="dir"
uuid="2028fedf-720c-0410-83b8-d54a3e729fb0"
revision="198"/>
<entry
committed-rev="166"
name="configure"
text-time="2007-05-17T22:12:13.000000Z"
committed-date="2007-02-07T19:00:12.109961Z"
checksum="cdcb22cae8ad2d0de88542d1adf5b13d"
last-author="ncorbic"
kind="file"
prop-time="2007-05-17T22:11:17.000000Z"/>
<entry
committed-rev="199"
name="Makefile.in"
text-time="2007-05-17T22:12:12.000000Z"
committed-date="2007-05-17T21:15:01.613603Z"
checksum="4a762c5012094547c2be4df686a23356"
last-author="ncorbic"
kind="file"
prop-time="2007-05-17T22:11:17.000000Z"
revision="199"/>
<entry
committed-rev="1"
name="AUTHORS"
text-time="2007-03-21T22:07:06.000000Z"
committed-date="2006-02-10T16:20:41.709688Z"
checksum="d41d8cd98f00b204e9800998ecf8427e"
last-author="anthm"
kind="file"
prop-time="2006-02-13T15:57:48.000000Z"/>
<entry
committed-rev="1"
name="depcomp"
text-time="2007-03-21T22:07:06.000000Z"
committed-date="2006-02-10T16:20:41.709688Z"
checksum="e181e2c8720c60522c4c4c981108e367"
last-author="anthm"
kind="file"
prop-time="2007-03-21T22:07:06.000000Z"/>
<entry
committed-rev="1"
name="compile"
text-time="2007-03-21T22:07:06.000000Z"
committed-date="2006-02-10T16:20:41.709688Z"
checksum="a7ecc032b527a0d578545f19d3418073"
last-author="anthm"
kind="file"
prop-time="2007-03-21T22:07:06.000000Z"/>
<entry
committed-rev="1"
name="config.guess"
text-time="2007-03-21T22:07:06.000000Z"
committed-date="2006-02-10T16:20:41.709688Z"
checksum="9ae396244b8f138c76514a6b7531e696"
last-author="anthm"
kind="file"
prop-time="2007-03-21T22:07:06.000000Z"/>
<entry
committed-rev="201"
name="libsangoma.c"
text-time="2007-05-17T22:18:42.000000Z"
committed-date="2007-05-17T21:19:07.732396Z"
checksum="ba737500208af1da3b85e09bded0817d"
last-author="ncorbic"
kind="file"
prop-time="2007-05-17T22:11:17.000000Z"
revision="201"/>
<entry
committed-rev="1"
name="ltmain.sh"
text-time="2007-03-21T22:07:06.000000Z"
committed-date="2006-02-10T16:20:41.709688Z"
checksum="c8215e3aa0858d700783015614f53b79"
last-author="anthm"
kind="file"
prop-time="2006-02-13T15:57:50.000000Z"/>
<entry
committed-rev="1"
name="config.sub"
text-time="2007-03-21T22:07:06.000000Z"
committed-date="2006-02-10T16:20:41.709688Z"
checksum="3d36962d51070d30b7554203b0d7c01c"
last-author="anthm"
kind="file"
prop-time="2007-03-21T22:07:06.000000Z"/>
<entry
committed-rev="156"
name="libsangoma.dsp"
text-time="2007-05-17T22:12:40.000000Z"
committed-date="2006-12-04T20:48:10.874618Z"
checksum="f934aab66c529599725686f321d182e6"
last-author="anthm"
kind="file"
prop-time="2007-05-17T22:12:39.000000Z"/>
<entry
committed-rev="166"
name="libsangoma.h"
text-time="2007-05-17T22:11:22.000000Z"
committed-date="2007-02-07T19:00:12.109961Z"
checksum="a28f5ba57fefd87ff733f9f3ba745660"
last-author="ncorbic"
kind="file"
prop-time="2007-05-17T22:11:21.000000Z"/>
<entry
committed-rev="119"
name="g711.h"
text-time="2007-03-21T22:07:06.000000Z"
committed-date="2006-11-06T23:11:15.401413Z"
checksum="0f725f95ced42af15dcaef21f3a1722b"
last-author="ncorbic"
kind="file"
prop-time="2006-11-07T00:15:14.000000Z"/>
<entry
committed-rev="94"
name="INSTALL"
text-time="2007-03-21T22:07:06.000000Z"
committed-date="2006-08-08T19:52:23.727343Z"
checksum="40539bd3eff06e4b82f380103145415b"
last-author="ncorbic"
kind="file"
prop-time="2006-02-13T15:57:58.000000Z"/>
<entry
committed-rev="156"
name="libsangoma.dsw"
text-time="2007-05-17T22:12:47.000000Z"
committed-date="2006-12-04T20:48:10.874618Z"
checksum="f13496d2105bae2add104c36a1d656f6"
last-author="anthm"
kind="file"
prop-time="2007-05-17T22:12:46.000000Z"/>
<entry
committed-rev="1"
name="COPYING"
text-time="2007-03-21T22:07:06.000000Z"
committed-date="2006-02-10T16:20:41.709688Z"
checksum="d41d8cd98f00b204e9800998ecf8427e"
last-author="anthm"
kind="file"
prop-time="2006-02-13T15:57:58.000000Z"/>
<entry
committed-rev="1"
name="NEWS"
text-time="2007-03-21T22:07:06.000000Z"
committed-date="2006-02-10T16:20:41.709688Z"
checksum="d41d8cd98f00b204e9800998ecf8427e"
last-author="anthm"
kind="file"
prop-time="2006-02-13T15:57:58.000000Z"/>
<entry
committed-rev="155"
name="sangoma_pri.c"
text-time="2007-05-17T22:11:22.000000Z"
committed-date="2006-12-04T20:47:20.283144Z"
checksum="e2a6c68fadfefb2d2b16c52534e85675"
last-author="anthm"
kind="file"
prop-time="2007-05-17T22:11:21.000000Z"/>
<entry
committed-rev="101"
name="libsangoma.so.conf"
text-time="2007-03-21T22:07:06.000000Z"
committed-date="2006-10-19T19:27:09.335085Z"
checksum="bcdcb23c5d5fb460cee2ce315ef7bd32"
last-author="ncorbic"
kind="file"/>
<entry
name="include"
kind="dir"/>
<entry
committed-rev="157"
name="win_api_common.h"
text-time="2007-05-17T22:13:04.000000Z"
committed-date="2006-12-04T22:21:07.339224Z"
checksum="b6be170d18fa90b79f7264cf8b0f7348"
last-author="mikej"
kind="file"
prop-time="2007-05-17T22:13:03.000000Z"/>
<entry
committed-rev="28"
name="sangoma_pri.h"
text-time="2007-03-21T22:07:06.000000Z"
committed-date="2006-03-24T14:19:31.976520Z"
checksum="f24c6cf396aeaa6df2747f7f6b32969d"
last-author="anthm"
kind="file"
prop-time="2006-04-28T15:08:00.000000Z"/>
<entry
committed-rev="1"
name="version"
text-time="2007-03-21T22:07:06.000000Z"
committed-date="2006-02-10T16:20:41.709688Z"
checksum="35f672d1fb01b542f667952c9dbb26fe"
last-author="anthm"
kind="file"
prop-time="2006-02-13T15:57:48.000000Z"/>
<entry
committed-rev="166"
name="configure.in"
text-time="2007-05-17T22:11:22.000000Z"
committed-date="2007-02-07T19:00:12.109961Z"
checksum="5b9888fc365c4ebffdbb55656c091a2f"
last-author="ncorbic"
kind="file"
prop-time="2007-05-17T22:11:21.000000Z"/>
<entry
committed-rev="1"
name="ChangeLog"
text-time="2007-03-21T22:07:06.000000Z"
committed-date="2006-02-10T16:20:41.709688Z"
checksum="d41d8cd98f00b204e9800998ecf8427e"
last-author="anthm"
kind="file"
prop-time="2006-02-13T15:57:48.000000Z"/>
<entry
committed-rev="6"
name="README"
text-time="2007-03-21T22:07:06.000000Z"
committed-date="2006-02-14T19:06:52.853886Z"
checksum="e8a0abce86211364eb60bbe6e07d4b05"
last-author="nenad"
kind="file"
prop-time="2006-02-13T15:57:49.000000Z"/>
<entry
committed-rev="1"
name="config.h.in"
text-time="2007-03-21T22:07:06.000000Z"
committed-date="2006-02-10T16:20:41.709688Z"
checksum="5c51918deee8d041af37226bd4b4271e"
last-author="anthm"
kind="file"
prop-time="2006-02-13T15:57:50.000000Z"/>
<entry
committed-rev="1"
name="missing"
text-time="2007-03-21T22:07:06.000000Z"
committed-date="2006-02-10T16:20:41.709688Z"
checksum="fd5dd60aa8cefab9462677280ea74a61"
last-author="anthm"
kind="file"
prop-time="2007-03-21T22:07:06.000000Z"/>
<entry
committed-rev="199"
name="Makefile.am"
text-time="2007-05-17T22:12:09.000000Z"
committed-date="2007-05-17T21:15:01.613603Z"
checksum="ae7586e69e82a8d0e19473391c14cc5d"
last-author="ncorbic"
kind="file"
prop-time="2007-05-17T22:11:21.000000Z"
revision="199"/>
<entry
committed-rev="166"
name="aclocal.m4"
text-time="2007-05-17T22:11:31.000000Z"
committed-date="2007-02-07T19:00:12.109961Z"
checksum="dd02d76e53ac83f5112d68797e8f52e3"
last-author="ncorbic"
kind="file"
prop-time="2007-05-17T22:11:21.000000Z"/>
<entry
name="examples"
kind="dir"/>
<entry
committed-rev="1"
name="install-sh"
text-time="2007-03-21T22:07:06.000000Z"
committed-date="2006-02-10T16:20:41.709688Z"
checksum="92067666ddce97609bd0ec67d36460cd"
last-author="anthm"
kind="file"
prop-time="2007-03-21T22:07:06.000000Z"/>
<entry
committed-rev="158"
name="libsangoma.vcproj"
text-time="2007-05-17T22:13:09.000000Z"
committed-date="2006-12-04T22:24:41.715361Z"
checksum="a09711e3b6aac93dd48d8e9b3014955f"
last-author="mikej"
kind="file"
prop-time="2007-05-17T22:13:09.000000Z"/>
</wc-entries>
8
dir
230
svn://sangoma.freeswitch.org/libsangoma/trunk
svn://sangoma.freeswitch.org
2007-07-24T22:47:39.060265Z
230
ncorbic
svn:special svn:externals svn:needs-lock
2028fedf-720c-0410-83b8-d54a3e729fb0
configure
file
2007-05-17T23:49:20.000000Z
cdcb22cae8ad2d0de88542d1adf5b13d
2007-02-07T19:00:12.109961Z
166
ncorbic
has-props
Makefile.in
file
2007-07-24T22:45:02.000000Z
1c05e844314274f082a74abf3f446239
2007-05-29T18:03:36.038276Z
206
ncorbic
AUTHORS
file
2007-05-17T23:49:20.000000Z
d41d8cd98f00b204e9800998ecf8427e
2006-02-10T16:20:41.709688Z
1
anthm
depcomp
file
2007-05-17T23:49:20.000000Z
e181e2c8720c60522c4c4c981108e367
2006-02-10T16:20:41.709688Z
1
anthm
has-props
compile
file
2007-05-17T23:49:20.000000Z
a7ecc032b527a0d578545f19d3418073
2006-02-10T16:20:41.709688Z
1
anthm
has-props
config.guess
file
2007-05-17T23:49:20.000000Z
9ae396244b8f138c76514a6b7531e696
2006-02-10T16:20:41.709688Z
1
anthm
has-props
libsangoma.c
file
231
2007-07-24T23:09:55.000000Z
cb02ecd239d3d3d37cf6d5e704a0dc39
2007-07-24T23:10:36.931930Z
231
ncorbic
ltmain.sh
file
2007-05-17T23:49:20.000000Z
c8215e3aa0858d700783015614f53b79
2006-02-10T16:20:41.709688Z
1
anthm
config.sub
file
2007-05-17T23:49:20.000000Z
3d36962d51070d30b7554203b0d7c01c
2006-02-10T16:20:41.709688Z
1
anthm
has-props
libsangoma.dsp
file
2007-05-17T23:49:20.000000Z
f934aab66c529599725686f321d182e6
2006-12-04T20:48:10.874618Z
156
anthm
libsangoma.h
file
2007-07-24T22:47:49.000000Z
19c2545ffa4e1a11f2a1b5f4850a10bd
2007-07-24T22:47:39.060265Z
230
ncorbic
g711.h
file
2007-05-17T23:49:20.000000Z
0f725f95ced42af15dcaef21f3a1722b
2006-11-06T23:11:15.401413Z
119
ncorbic
INSTALL
file
2007-05-17T23:49:20.000000Z
40539bd3eff06e4b82f380103145415b
2006-08-08T19:52:23.727343Z
94
ncorbic
libsangoma.dsw
file
2007-05-17T23:49:20.000000Z
f13496d2105bae2add104c36a1d656f6
2006-12-04T20:48:10.874618Z
156
anthm
COPYING
file
2007-05-17T23:49:20.000000Z
d41d8cd98f00b204e9800998ecf8427e
2006-02-10T16:20:41.709688Z
1
anthm
NEWS
file
2007-05-17T23:49:20.000000Z
d41d8cd98f00b204e9800998ecf8427e
2006-02-10T16:20:41.709688Z
1
anthm
libsangoma.so.conf
file
2007-05-17T23:49:20.000000Z
bcdcb23c5d5fb460cee2ce315ef7bd32
2006-10-19T19:27:09.335085Z
101
ncorbic
sangoma_pri.c
file
2007-05-17T23:49:20.000000Z
e2a6c68fadfefb2d2b16c52534e85675
2006-12-04T20:47:20.283144Z
155
anthm
win_api_common.h
file
2007-05-17T23:49:20.000000Z
b6be170d18fa90b79f7264cf8b0f7348
2006-12-04T22:21:07.339224Z
157
mikej
version
file
2007-05-17T23:49:20.000000Z
35f672d1fb01b542f667952c9dbb26fe
2006-02-10T16:20:41.709688Z
1
anthm
sangoma_pri.h
file
2007-05-17T23:49:20.000000Z
f24c6cf396aeaa6df2747f7f6b32969d
2006-03-24T14:19:31.976520Z
28
anthm
configure.in
file
2007-05-17T23:49:20.000000Z
5b9888fc365c4ebffdbb55656c091a2f
2007-02-07T19:00:12.109961Z
166
ncorbic
ChangeLog
file
2007-05-17T23:49:20.000000Z
d41d8cd98f00b204e9800998ecf8427e
2006-02-10T16:20:41.709688Z
1
anthm
README
file
2007-05-17T23:49:20.000000Z
e8a0abce86211364eb60bbe6e07d4b05
2006-02-14T19:06:52.853886Z
6
nenad
config.h.in
file
2007-05-17T23:49:20.000000Z
5c51918deee8d041af37226bd4b4271e
2006-02-10T16:20:41.709688Z
1
anthm
Makefile.am
file
2007-07-24T22:45:02.000000Z
061d814c4cf9a1066e4ff2501fa0a100
2007-05-29T18:03:36.038276Z
206
ncorbic
missing
file
2007-05-17T23:49:20.000000Z
fd5dd60aa8cefab9462677280ea74a61
2006-02-10T16:20:41.709688Z
1
anthm
has-props
aclocal.m4
file
2007-05-17T23:49:20.000000Z
dd02d76e53ac83f5112d68797e8f52e3
2007-02-07T19:00:12.109961Z
166
ncorbic
install-sh
file
2007-05-17T23:49:20.000000Z
92067666ddce97609bd0ec67d36460cd
2006-02-10T16:20:41.709688Z
1
anthm
has-props
examples
dir
libsangoma.vcproj
file
2007-05-17T23:49:20.000000Z
a09711e3b6aac93dd48d8e9b3014955f
2006-12-04T22:24:41.715361Z
158
mikej

View File

@ -1 +1 @@
4
8

View File

@ -1 +0,0 @@
END

View File

@ -1 +0,0 @@
END

View File

@ -1 +0,0 @@
END

View File

@ -1 +0,0 @@
END

View File

@ -1 +0,0 @@
END

View File

@ -1 +0,0 @@
END

View File

@ -1 +0,0 @@
END

View File

@ -1 +0,0 @@
END

View File

@ -1 +0,0 @@
END

View File

@ -1 +0,0 @@
END

View File

@ -1 +0,0 @@
END

View File

@ -1 +0,0 @@
END

View File

@ -1 +0,0 @@
END

View File

@ -1 +0,0 @@
END

View File

@ -1 +0,0 @@
END

View File

@ -1 +0,0 @@
END

View File

@ -1 +0,0 @@
END

View File

@ -1 +0,0 @@
END

View File

@ -1 +0,0 @@
END

View File

@ -1,5 +0,0 @@
K 14
svn:executable
V 0
END

View File

@ -1,5 +0,0 @@
K 14
svn:executable
V 0
END

View File

@ -1 +0,0 @@
END

View File

@ -1,5 +0,0 @@
K 14
svn:executable
V 0
END

View File

@ -1 +0,0 @@
END

View File

@ -1,5 +0,0 @@
K 14
svn:executable
V 0
END

View File

@ -1,5 +0,0 @@
K 14
svn:executable
V 0
END

View File

@ -1 +0,0 @@
END

View File

@ -1,5 +0,0 @@
K 14
svn:executable
V 0
END

View File

@ -1 +0,0 @@
END

View File

@ -1 +0,0 @@
END

View File

@ -1 +0,0 @@
END

View File

@ -1,5 +0,0 @@
K 14
svn:executable
V 0
END

View File

@ -1 +0,0 @@
END

View File

@ -1 +0,0 @@
END

View File

@ -1 +0,0 @@
END

View File

@ -1,7 +1,8 @@
KINC=/lib/modules/$(shell uname -r)/build
WINC=../../patches/kdrivers/include
AM_CFLAGS = -fPIC -Wall -Wstrict-prototypes -Wmissing-prototypes -g -I$(KINC)/include -I. \
AM_CFLAGS = -fPIC -Wall -Wstrict-prototypes -Wmissing-prototypes -g -I$(WINC) -I$(KINC)/include -I. \
-D__LINUX__ -D_REENTRANT -D_GNU_SOURCE -O2 -D_DEBUG_=2 -D_GNUC_ -I../lib -I$(KINC)/include
LIB_SOURCES = libsangoma.c libsangoma.h

View File

@ -212,7 +212,8 @@ sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
KINC = /lib/modules/$(shell uname -r)/build
AM_CFLAGS = -fPIC -Wall -Wstrict-prototypes -Wmissing-prototypes -g -I$(KINC)/include -I. \
WINC = ../../patches/kdrivers/include
AM_CFLAGS = -fPIC -Wall -Wstrict-prototypes -Wmissing-prototypes -g -I$(WINC) -I$(KINC)/include -I. \
-D__LINUX__ -D_REENTRANT -D_GNU_SOURCE -O2 -D_DEBUG_=2 -D_GNUC_ -I../lib -I$(KINC)/include
LIB_SOURCES = libsangoma.c libsangoma.h $(am__append_1)

View File

@ -28,6 +28,12 @@
#endif
#ifndef WP_TDMAPI_EVENT_DTMF
#warning "Warning: TDM EVENTS not supported by driver"
#endif
#if defined(WIN32)
//extern int verbose;
@ -257,7 +263,7 @@ sng_fd_t sangoma_open_tdmapi_span(int span)
}//for()
#else
unsigned char fname[FNAME_LEN];
char fname[FNAME_LEN];
int fd=0;
for (i=1;i<32;i++){
sprintf(fname,"/dev/wptdm_s%dc%d",span,i);
@ -758,7 +764,10 @@ int sangoma_tdm_write_rbs(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api, unsigned char
int sangoma_tdm_read_event(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api)
{
wp_tdm_api_rx_hdr_t *rx_event;
#ifdef WP_TDM_EVENT_TDM_API_EVENTS
wp_tdm_api_event_t *rx_event;
#if defined(WIN32)
rx_event = &last_tdm_api_event_buffer;
@ -777,15 +786,15 @@ int sangoma_tdm_read_event(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api)
switch (rx_event->wp_tdm_api_event_type){
case WP_TDM_EVENT_RBS:
case WP_TDMAPI_EVENT_RBS:
printf("%d: GOT RBS EVENT %p\n",(int)fd,tdm_api->wp_tdm_event.wp_rbs_event);
if (tdm_api->wp_tdm_event.wp_rbs_event) {
tdm_api->wp_tdm_event.wp_rbs_event(fd,rx_event->wp_tdm_api_event_rbs_rx_bits);
tdm_api->wp_tdm_event.wp_rbs_event(fd,rx_event->wp_tdm_api_event_rbs_bits);
}
break;
case WP_TDM_EVENT_DTMF:
case WP_TDMAPI_EVENT_DTMF:
printf("%d: GOT DTMF EVENT\n",(int)fd);
if (tdm_api->wp_tdm_event.wp_dtmf_event) {
tdm_api->wp_tdm_event.wp_dtmf_event(fd,
@ -795,32 +804,32 @@ int sangoma_tdm_read_event(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api)
}
break;
case WP_TDM_EVENT_RXHOOK:
case WP_TDMAPI_EVENT_RXHOOK:
printf("%d: GOT RXHOOK EVENT\n",(int)fd);
if (tdm_api->wp_tdm_event.wp_rxhook_event) {
tdm_api->wp_tdm_event.wp_rxhook_event(fd,
rx_event->wp_tdm_api_event_rxhook_state);
rx_event->wp_tdm_api_event_hook_state);
}
break;
case WP_TDM_EVENT_RING_DETECT:
case WP_TDMAPI_EVENT_RING_DETECT:
printf("%d: GOT RXRING EVENT\n",(int)fd);
if (tdm_api->wp_tdm_event.wp_rxring_event) {
tdm_api->wp_tdm_event.wp_rxring_event(fd,
if (tdm_api->wp_tdm_event.wp_ring_detect_event) {
tdm_api->wp_tdm_event.wp_ring_detect_event(fd,
rx_event->wp_tdm_api_event_ring_state);
}
break;
case WP_TDM_EVENT_RING_TRIP:
case WP_TDMAPI_EVENT_RING_TRIP_DETECT:
printf("%d: GOT RING TRIP EVENT\n",(int)fd);
if (tdm_api->wp_tdm_event.wp_ringtrip_event) {
tdm_api->wp_tdm_event.wp_ringtrip_event(fd,
if (tdm_api->wp_tdm_event.wp_ring_trip_detect_event) {
tdm_api->wp_tdm_event.wp_ring_trip_detect_event(fd,
rx_event->wp_tdm_api_event_ring_state);
}
break;
#ifdef WP_TDM_EVENT_FE_ALARM
case WP_TDM_EVENT_FE_ALARM:
case WP_TDMAPI_EVENT_FE_ALARM:
printf("%d: GOT FE ALARMS EVENT %i\n",(int)fd,
rx_event->wp_tdm_api_event_fe_alarm);
if (tdm_api->wp_tdm_event.wp_fe_alarm_event) {
@ -835,13 +844,21 @@ int sangoma_tdm_read_event(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api)
}
return 0;
#else
return -EINVAL;
#endif
}
#ifdef WP_TDMAPI_EVENT_DTMF
int sangoma_tdm_enable_dtmf_events(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api)
{
int err;
tdm_api->wp_tdm_cmd.cmd = SIOC_WP_TDM_ENABLE_DTMF_EVENTS;
tdm_api->wp_tdm_cmd.cmd = SIOC_WP_TDM_SET_EVENT;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_type = WP_TDMAPI_EVENT_DTMF;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_mode = WP_TDMAPI_EVENT_ENABLE;
err=sangoma_tdm_cmd_exec(fd,tdm_api);
if (err){
return err;
@ -854,7 +871,9 @@ int sangoma_tdm_disable_dtmf_events(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api)
{
int err;
tdm_api->wp_tdm_cmd.cmd = SIOC_WP_TDM_DISABLE_DTMF_EVENTS;
tdm_api->wp_tdm_cmd.cmd = SIOC_WP_TDM_SET_EVENT;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_type = WP_TDMAPI_EVENT_DTMF;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_mode = WP_TDMAPI_EVENT_DISABLE;
err=sangoma_tdm_cmd_exec(fd,tdm_api);
if (err){
return err;
@ -867,7 +886,9 @@ int sangoma_tdm_enable_rm_dtmf_events(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api)
{
int err;
tdm_api->wp_tdm_cmd.cmd = SIOC_WP_TDM_ENABLE_RM_DTMF_EVENTS;
tdm_api->wp_tdm_cmd.cmd = SIOC_WP_TDM_SET_EVENT;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_type = WP_TDMAPI_EVENT_RM_DTMF;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_mode = WP_TDMAPI_EVENT_ENABLE;
err=sangoma_tdm_cmd_exec(fd,tdm_api);
if (err){
return err;
@ -880,7 +901,9 @@ int sangoma_tdm_disable_rm_dtmf_events(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api)
{
int err;
tdm_api->wp_tdm_cmd.cmd = SIOC_WP_TDM_DISABLE_RM_DTMF_EVENTS;
tdm_api->wp_tdm_cmd.cmd = SIOC_WP_TDM_SET_EVENT;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_type = WP_TDMAPI_EVENT_RM_DTMF;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_mode = WP_TDMAPI_EVENT_DISABLE;
err=sangoma_tdm_cmd_exec(fd,tdm_api);
if (err){
return err;
@ -893,7 +916,9 @@ int sangoma_tdm_enable_rxhook_events(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api)
{
int err;
tdm_api->wp_tdm_cmd.cmd = SIOC_WP_TDM_ENABLE_RXHOOK_EVENTS;
tdm_api->wp_tdm_cmd.cmd = SIOC_WP_TDM_SET_EVENT;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_type = WP_TDMAPI_EVENT_RXHOOK;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_mode = WP_TDMAPI_EVENT_ENABLE;
err=sangoma_tdm_cmd_exec(fd,tdm_api);
if (err){
return err;
@ -902,11 +927,40 @@ int sangoma_tdm_enable_rxhook_events(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api)
return 0;
}
int sangoma_tdm_enable_hwec(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api)
{
int err;
tdm_api->wp_tdm_cmd.cmd = SIOC_WP_TDM_ENABLE_HWEC;
err=sangoma_tdm_cmd_exec(fd,tdm_api);
if (err){
return err;
}
return 0;
}
int sangoma_tdm_disable_hwec(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api)
{
int err;
tdm_api->wp_tdm_cmd.cmd = SIOC_WP_TDM_DISABLE_HWEC;
err=sangoma_tdm_cmd_exec(fd,tdm_api);
if (err){
return err;
}
return 0;
}
int sangoma_tdm_disable_rxhook_events(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api)
{
int err;
tdm_api->wp_tdm_cmd.cmd = SIOC_WP_TDM_DISABLE_RXHOOK_EVENTS;
tdm_api->wp_tdm_cmd.cmd = SIOC_WP_TDM_SET_EVENT;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_type = WP_TDMAPI_EVENT_RXHOOK;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_mode = WP_TDMAPI_EVENT_DISABLE;
err=sangoma_tdm_cmd_exec(fd,tdm_api);
if (err){
return err;
@ -915,6 +969,195 @@ int sangoma_tdm_disable_rxhook_events(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api)
return 0;
}
int sangoma_tdm_enable_ring_events(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api) {
int err;
tdm_api->wp_tdm_cmd.cmd = SIOC_WP_TDM_SET_EVENT;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_type = WP_TDMAPI_EVENT_RING;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_mode = WP_TDMAPI_EVENT_ENABLE;
err=sangoma_tdm_cmd_exec(fd,tdm_api);
if (err){
return err;
}
return tdm_api->wp_tdm_cmd.rbs_poll;
}
int sangoma_tdm_disable_ring_events(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api) {
int err;
tdm_api->wp_tdm_cmd.cmd = SIOC_WP_TDM_SET_EVENT;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_type = WP_TDMAPI_EVENT_RING;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_mode = WP_TDMAPI_EVENT_DISABLE;
err=sangoma_tdm_cmd_exec(fd,tdm_api);
if (err){
return err;
}
return 0;
}
int sangoma_tdm_enable_ring_detect_events(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api) {
int err;
tdm_api->wp_tdm_cmd.cmd = SIOC_WP_TDM_SET_EVENT;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_type = WP_TDMAPI_EVENT_RING_DETECT;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_mode = WP_TDMAPI_EVENT_ENABLE;
err=sangoma_tdm_cmd_exec(fd,tdm_api);
if (err){
return err;
}
return tdm_api->wp_tdm_cmd.rbs_poll;
}
int sangoma_tdm_disable_ring_detect_events(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api) {
int err;
tdm_api->wp_tdm_cmd.cmd = SIOC_WP_TDM_SET_EVENT;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_type = WP_TDMAPI_EVENT_RING_DETECT;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_mode = WP_TDMAPI_EVENT_DISABLE;
err=sangoma_tdm_cmd_exec(fd,tdm_api);
if (err){
return err;
}
return 0;
}
int sangoma_tdm_enable_ring_trip_detect_events(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api) {
int err;
tdm_api->wp_tdm_cmd.cmd = SIOC_WP_TDM_SET_EVENT;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_type = WP_TDMAPI_EVENT_RING_TRIP_DETECT;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_mode = WP_TDMAPI_EVENT_ENABLE;
err=sangoma_tdm_cmd_exec(fd,tdm_api);
if (err){
return err;
}
return tdm_api->wp_tdm_cmd.rbs_poll;
}
int sangoma_tdm_disable_ring_trip_detect_events(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api) {
int err;
tdm_api->wp_tdm_cmd.cmd = SIOC_WP_TDM_SET_EVENT;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_type = WP_TDMAPI_EVENT_RING_DETECT;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_mode = WP_TDMAPI_EVENT_DISABLE;
err=sangoma_tdm_cmd_exec(fd,tdm_api);
if (err){
return err;
}
return 0;
}
int sangoma_tdm_txsig_kewl(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api) {
int err;
tdm_api->wp_tdm_cmd.cmd = SIOC_WP_TDM_SET_EVENT;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_type = WP_TDMAPI_EVENT_TXSIG_KEWL;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_mode = WP_TDMAPI_EVENT_ENABLE;
err=sangoma_tdm_cmd_exec(fd,tdm_api);
if (err){
return err;
}
return 0;
}
int sangoma_tdm_txsig_start(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api) {
int err;
tdm_api->wp_tdm_cmd.cmd = SIOC_WP_TDM_SET_EVENT;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_type = WP_TDMAPI_EVENT_TXSIG_START;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_mode = WP_TDMAPI_EVENT_ENABLE;
err=sangoma_tdm_cmd_exec(fd,tdm_api);
if (err){
return err;
}
return 0;
}
int sangoma_tdm_txsig_onhook(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api) {
int err;
tdm_api->wp_tdm_cmd.cmd = SIOC_WP_TDM_SET_EVENT;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_type = WP_TDMAPI_EVENT_TXSIG_ONHOOK;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_mode = WP_TDMAPI_EVENT_ENABLE;
err=sangoma_tdm_cmd_exec(fd,tdm_api);
if (err){
return err;
}
return 0;
}
int sangoma_tdm_txsig_offhook(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api) {
int err;
tdm_api->wp_tdm_cmd.cmd = SIOC_WP_TDM_SET_EVENT;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_type = WP_TDMAPI_EVENT_TXSIG_OFFHOOK;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_mode = WP_TDMAPI_EVENT_ENABLE;
err=sangoma_tdm_cmd_exec(fd,tdm_api);
if (err){
return err;
}
return 0;
}
int sangoma_tdm_enable_tone_events(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api, int tone_id) {
int err;
tdm_api->wp_tdm_cmd.cmd = SIOC_WP_TDM_SET_EVENT;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_type = WP_TDMAPI_EVENT_TONE;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_mode = WP_TDMAPI_EVENT_ENABLE;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_tone_type = tone_id;
err=sangoma_tdm_cmd_exec(fd,tdm_api);
if (err){
return err;
}
return tdm_api->wp_tdm_cmd.rbs_poll;
}
int sangoma_tdm_disable_tone_events(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api) {
int err;
tdm_api->wp_tdm_cmd.cmd = SIOC_WP_TDM_SET_EVENT;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_type = WP_TDMAPI_EVENT_TONE;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_mode = WP_TDMAPI_EVENT_DISABLE;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_tone_type = 0x00;
err=sangoma_tdm_cmd_exec(fd,tdm_api);
if (err){
return err;
}
return tdm_api->wp_tdm_cmd.rbs_poll;
}
#endif
/*========================================================
* GET Front End Alarms
*

View File

@ -26,7 +26,7 @@
#include <windows.h>
#include <winioctl.h>
#include <conio.h>
#include <stddef.h> //for offsetof()
iinclude <stddef.h> //for offsetof()
typedef unsigned __int16 u_int16_t;
typedef unsigned __int32 u_int32_t;
#include <wanpipe_defines.h> //for 'wan_udp_hdr_t'
@ -158,8 +158,33 @@ int sangoma_tdm_disable_rm_dtmf_events(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api);
int sangoma_tdm_enable_rxhook_events(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api);
int sangoma_tdm_disable_rxhook_events(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api);
/* Enable/Disable Ring events on A200 (Analog) card */
int sangoma_tdm_enable_ring_events(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api);
int sangoma_tdm_disable_ring_events(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api);
/* Enable/Disable Ring Detect events on A200 (Analog) card */
int sangoma_tdm_enable_ring_detect_events(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api);
int sangoma_tdm_disable_ring_detect_events(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api);
/* Enable/Disable Ring Trip events on A200 (Analog) card */
int sangoma_tdm_enable_ring_trip_detect_events(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api);
int sangoma_tdm_disable_ring_trip_detect_events(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api);
/* Enable/Disable tone events on A200 (Analog) card */
int sangoma_tdm_enable_tone_events(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api, int tone_id);
int sangoma_tdm_disable_tone_events(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api);
int sangoma_tdm_get_fe_alarms(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api);
int sangoma_tdm_enable_hwec(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api);
int sangoma_tdm_disable_hwec(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api);
int sangoma_tdm_txsig_onhook(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api);
int sangoma_tdm_txsig_offhook(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api);
int sangoma_tdm_txsig_start(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api);
int sangoma_tdm_txsig_kewl(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api);
#ifndef LIBSANGOMA_GET_HWCODING
#define LIBSANGOMA_GET_HWCODING 1
#endif

View File

@ -212,7 +212,8 @@ sharedstatedir = ${prefix}/com
sysconfdir = ${prefix}/etc
target_alias =
KINC = /lib/modules/$(shell uname -r)/build
AM_CFLAGS = -fPIC -Wall -Wstrict-prototypes -Wmissing-prototypes -g -I$(KINC)/include -I. \
WINC = ../../patches/kdrivers/include
AM_CFLAGS = -fPIC -Wall -Wstrict-prototypes -Wmissing-prototypes -g -I$(WINC) -I$(KINC)/include -I. \
-D__LINUX__ -D_REENTRANT -D_GNU_SOURCE -O2 -D_DEBUG_=2 -D_GNUC_ -I../lib -I$(KINC)/include
LIB_SOURCES = libsangoma.c libsangoma.h $(am__append_1)

View File

@ -1,7 +1,8 @@
KINC=/lib/modules/$(shell uname -r)/build
WINC=../../patches/kdrivers/include
AM_CFLAGS = -fPIC -Wall -Wstrict-prototypes -Wmissing-prototypes -g -I$(KINC)/include -I. \
AM_CFLAGS = -fPIC -Wall -Wstrict-prototypes -Wmissing-prototypes -g -I$(WINC) -I$(KINC)/include -I. \
-D__LINUX__ -D_REENTRANT -D_GNU_SOURCE -O2 -D_DEBUG_=2 -D_GNUC_ -I../lib -I$(KINC)/include
LIB_SOURCES = libsangoma.c libsangoma.h

View File

@ -212,7 +212,8 @@ sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
KINC = /lib/modules/$(shell uname -r)/build
AM_CFLAGS = -fPIC -Wall -Wstrict-prototypes -Wmissing-prototypes -g -I$(KINC)/include -I. \
WINC = ../../patches/kdrivers/include
AM_CFLAGS = -fPIC -Wall -Wstrict-prototypes -Wmissing-prototypes -g -I$(WINC) -I$(KINC)/include -I. \
-D__LINUX__ -D_REENTRANT -D_GNU_SOURCE -O2 -D_DEBUG_=2 -D_GNUC_ -I../lib -I$(KINC)/include
LIB_SOURCES = libsangoma.c libsangoma.h $(am__append_1)

View File

@ -1,2 +0,0 @@
This is a Subversion working copy administrative directory.
Visit http://subversion.tigris.org/ for more information.

View File

@ -1,59 +1,89 @@
<?xml version="1.0" encoding="utf-8"?>
<wc-entries
xmlns="svn:">
<entry
committed-rev="27"
name=""
committed-date="2006-03-23T23:54:12.054610Z"
url="svn://sangoma.freeswitch.org/libsangoma/trunk/examples"
last-author="ncorbic"
kind="dir"
uuid="2028fedf-720c-0410-83b8-d54a3e729fb0"
revision="198"/>
<entry
committed-rev="26"
name="sound.raw"
text-time="2007-03-21T22:07:06.000000Z"
committed-date="2006-03-23T23:03:41.659017Z"
checksum="da36acc78b83d5047481df0cca63d969"
last-author="mikej"
kind="file"
prop-time="2007-03-21T22:07:06.000000Z"/>
<entry
committed-rev="27"
name="priserver.c"
text-time="2007-04-18T19:53:48.000000Z"
committed-date="2006-03-23T23:54:12.054610Z"
checksum="9f83030c20158d91b7ec6bb7a9392dcb"
last-author="ncorbic"
kind="file"
prop-time="2006-04-28T15:08:01.000000Z"/>
<entry
committed-rev="26"
name="librc"
text-time="2007-03-21T22:07:06.000000Z"
committed-date="2006-03-23T23:03:41.659017Z"
checksum="5c222b74d68b1c7df3f937a9d6321d40"
last-author="mikej"
kind="file"
prop-time="2006-04-28T15:08:01.000000Z"/>
<entry
committed-rev="199"
name="Makefile"
text-time="2007-03-21T22:07:06.000000Z"
committed-date="2007-05-17T21:15:01.613603Z"
checksum="38ad501519c65cd3b60060dce1c9333e"
last-author="ncorbic"
kind="file"
prop-time="2006-04-28T15:08:01.000000Z"
revision="199"/>
<entry
committed-rev="26"
name="README"
text-time="2007-03-21T22:07:06.000000Z"
committed-date="2006-03-23T23:03:41.659017Z"
checksum="40538792592cd766e4941d9b37dbaf56"
last-author="mikej"
kind="file"
prop-time="2006-04-28T15:08:01.000000Z"/>
</wc-entries>
8
dir
230
svn://sangoma.freeswitch.org/libsangoma/trunk/examples
svn://sangoma.freeswitch.org
2007-05-29T18:03:36.038276Z
206
ncorbic
svn:special svn:externals svn:needs-lock
2028fedf-720c-0410-83b8-d54a3e729fb0
sound.raw
file
2007-05-17T23:49:20.000000Z
da36acc78b83d5047481df0cca63d969
2006-03-23T23:03:41.659017Z
26
mikej
has-props
priserver.c
file
2007-05-17T23:49:20.000000Z
9f83030c20158d91b7ec6bb7a9392dcb
2006-03-23T23:54:12.054610Z
27
ncorbic
librc
file
2007-05-17T23:49:20.000000Z
5c222b74d68b1c7df3f937a9d6321d40
2006-03-23T23:03:41.659017Z
26
mikej
Makefile
file
2007-07-24T22:45:02.000000Z
b58ee42eeb2d5e921bdab940a9fda738
2007-05-29T18:03:36.038276Z
206
ncorbic
README
file
2007-05-17T23:49:20.000000Z
40538792592cd766e4941d9b37dbaf56
2006-03-23T23:03:41.659017Z
26
mikej

View File

@ -1 +1 @@
4
8

View File

@ -1,5 +0,0 @@
K 13
svn:mime-type
V 24
application/octet-stream
END

View File

@ -1,5 +1,7 @@
CC=gcc
INCLUDES=-I/usr/include -I/usr/src/libpri -I/usr/src/linux/include -I. -I/usr/local/include
LINUXINC=/lib/modules/$(shell uname -r)/build/include
WANINC=../../../patches/kdrivers/include
INCLUDES=-I/usr/include -I/usr/src/libpri -I$(WANINC) -I. -I/usr/local/include
CFLAGS=-D__LINUX__ -D_REENTRANT -D_GNU_SOURCE -O6 -march=i686 -DAFT_A104
CCFLAGS=-Wall -Wstrict-prototypes -Wmissing-prototypes -g

View File

@ -1,5 +1,7 @@
CC=gcc
INCLUDES=-I/usr/include -I/usr/src/libpri -I/usr/src/linux/include -I. -I/usr/local/include
LINUXINC=/lib/modules/$(shell uname -r)/build/include
WANINC=../../../patches/kdrivers/include
INCLUDES=-I/usr/include -I/usr/src/libpri -I$(WANINC) -I. -I/usr/local/include
CFLAGS=-D__LINUX__ -D_REENTRANT -D_GNU_SOURCE -O6 -march=i686 -DAFT_A104
CCFLAGS=-Wall -Wstrict-prototypes -Wmissing-prototypes -g

View File

@ -28,6 +28,12 @@
#endif
#ifndef WP_TDMAPI_EVENT_DTMF
#warning "Warning: TDM EVENTS not supported by driver"
#endif
#if defined(WIN32)
//extern int verbose;
@ -257,7 +263,7 @@ sng_fd_t sangoma_open_tdmapi_span(int span)
}//for()
#else
unsigned char fname[FNAME_LEN];
char fname[FNAME_LEN];
int fd=0;
for (i=1;i<32;i++){
sprintf(fname,"/dev/wptdm_s%dc%d",span,i);
@ -758,7 +764,10 @@ int sangoma_tdm_write_rbs(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api, unsigned char
int sangoma_tdm_read_event(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api)
{
wp_tdm_api_rx_hdr_t *rx_event;
#ifdef WP_TDM_EVENT_TDM_API_EVENTS
wp_tdm_api_event_t *rx_event;
#if defined(WIN32)
rx_event = &last_tdm_api_event_buffer;
@ -777,15 +786,15 @@ int sangoma_tdm_read_event(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api)
switch (rx_event->wp_tdm_api_event_type){
case WP_TDM_EVENT_RBS:
case WP_TDMAPI_EVENT_RBS:
printf("%d: GOT RBS EVENT %p\n",(int)fd,tdm_api->wp_tdm_event.wp_rbs_event);
if (tdm_api->wp_tdm_event.wp_rbs_event) {
tdm_api->wp_tdm_event.wp_rbs_event(fd,rx_event->wp_tdm_api_event_rbs_rx_bits);
tdm_api->wp_tdm_event.wp_rbs_event(fd,rx_event->wp_tdm_api_event_rbs_bits);
}
break;
case WP_TDM_EVENT_DTMF:
case WP_TDMAPI_EVENT_DTMF:
printf("%d: GOT DTMF EVENT\n",(int)fd);
if (tdm_api->wp_tdm_event.wp_dtmf_event) {
tdm_api->wp_tdm_event.wp_dtmf_event(fd,
@ -795,32 +804,32 @@ int sangoma_tdm_read_event(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api)
}
break;
case WP_TDM_EVENT_RXHOOK:
case WP_TDMAPI_EVENT_RXHOOK:
printf("%d: GOT RXHOOK EVENT\n",(int)fd);
if (tdm_api->wp_tdm_event.wp_rxhook_event) {
tdm_api->wp_tdm_event.wp_rxhook_event(fd,
rx_event->wp_tdm_api_event_rxhook_state);
rx_event->wp_tdm_api_event_hook_state);
}
break;
case WP_TDM_EVENT_RING_DETECT:
case WP_TDMAPI_EVENT_RING_DETECT:
printf("%d: GOT RXRING EVENT\n",(int)fd);
if (tdm_api->wp_tdm_event.wp_rxring_event) {
tdm_api->wp_tdm_event.wp_rxring_event(fd,
if (tdm_api->wp_tdm_event.wp_ring_detect_event) {
tdm_api->wp_tdm_event.wp_ring_detect_event(fd,
rx_event->wp_tdm_api_event_ring_state);
}
break;
case WP_TDM_EVENT_RING_TRIP:
case WP_TDMAPI_EVENT_RING_TRIP_DETECT:
printf("%d: GOT RING TRIP EVENT\n",(int)fd);
if (tdm_api->wp_tdm_event.wp_ringtrip_event) {
tdm_api->wp_tdm_event.wp_ringtrip_event(fd,
if (tdm_api->wp_tdm_event.wp_ring_trip_detect_event) {
tdm_api->wp_tdm_event.wp_ring_trip_detect_event(fd,
rx_event->wp_tdm_api_event_ring_state);
}
break;
#ifdef WP_TDM_EVENT_FE_ALARM
case WP_TDM_EVENT_FE_ALARM:
case WP_TDMAPI_EVENT_FE_ALARM:
printf("%d: GOT FE ALARMS EVENT %i\n",(int)fd,
rx_event->wp_tdm_api_event_fe_alarm);
if (tdm_api->wp_tdm_event.wp_fe_alarm_event) {
@ -835,13 +844,21 @@ int sangoma_tdm_read_event(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api)
}
return 0;
#else
return -EINVAL;
#endif
}
#ifdef WP_TDMAPI_EVENT_DTMF
int sangoma_tdm_enable_dtmf_events(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api)
{
int err;
tdm_api->wp_tdm_cmd.cmd = SIOC_WP_TDM_ENABLE_DTMF_EVENTS;
tdm_api->wp_tdm_cmd.cmd = SIOC_WP_TDM_SET_EVENT;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_type = WP_TDMAPI_EVENT_DTMF;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_mode = WP_TDMAPI_EVENT_ENABLE;
err=sangoma_tdm_cmd_exec(fd,tdm_api);
if (err){
return err;
@ -854,7 +871,9 @@ int sangoma_tdm_disable_dtmf_events(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api)
{
int err;
tdm_api->wp_tdm_cmd.cmd = SIOC_WP_TDM_DISABLE_DTMF_EVENTS;
tdm_api->wp_tdm_cmd.cmd = SIOC_WP_TDM_SET_EVENT;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_type = WP_TDMAPI_EVENT_DTMF;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_mode = WP_TDMAPI_EVENT_DISABLE;
err=sangoma_tdm_cmd_exec(fd,tdm_api);
if (err){
return err;
@ -867,7 +886,9 @@ int sangoma_tdm_enable_rm_dtmf_events(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api)
{
int err;
tdm_api->wp_tdm_cmd.cmd = SIOC_WP_TDM_ENABLE_RM_DTMF_EVENTS;
tdm_api->wp_tdm_cmd.cmd = SIOC_WP_TDM_SET_EVENT;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_type = WP_TDMAPI_EVENT_RM_DTMF;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_mode = WP_TDMAPI_EVENT_ENABLE;
err=sangoma_tdm_cmd_exec(fd,tdm_api);
if (err){
return err;
@ -880,7 +901,9 @@ int sangoma_tdm_disable_rm_dtmf_events(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api)
{
int err;
tdm_api->wp_tdm_cmd.cmd = SIOC_WP_TDM_DISABLE_RM_DTMF_EVENTS;
tdm_api->wp_tdm_cmd.cmd = SIOC_WP_TDM_SET_EVENT;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_type = WP_TDMAPI_EVENT_RM_DTMF;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_mode = WP_TDMAPI_EVENT_DISABLE;
err=sangoma_tdm_cmd_exec(fd,tdm_api);
if (err){
return err;
@ -893,7 +916,26 @@ int sangoma_tdm_enable_rxhook_events(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api)
{
int err;
tdm_api->wp_tdm_cmd.cmd = SIOC_WP_TDM_ENABLE_RXHOOK_EVENTS;
tdm_api->wp_tdm_cmd.cmd = SIOC_WP_TDM_SET_EVENT;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_type = WP_TDMAPI_EVENT_RXHOOK;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_mode = WP_TDMAPI_EVENT_ENABLE;
err=sangoma_tdm_cmd_exec(fd,tdm_api);
if (err){
return err;
}
return 0;
}
NNN
int sangoma_tdm_disable_rxhook_events(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api)
{
int err;
tdm_api->wp_tdm_cmd.cmd = SIOC_WP_TDM_SET_EVENT;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_type = WP_TDMAPI_EVENT_RXHOOK;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_mode = WP_TDMAPI_EVENT_DISABLE;
err=sangoma_tdm_cmd_exec(fd,tdm_api);
if (err){
return err;
@ -902,11 +944,214 @@ int sangoma_tdm_enable_rxhook_events(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api)
return 0;
}
int sangoma_tdm_disable_rxhook_events(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api)
int sangoma_tdm_enable_ring_events(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api) {
int err;
tdm_api->wp_tdm_cmd.cmd = SIOC_WP_TDM_SET_EVENT;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_type = WP_TDMAPI_EVENT_RING;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_mode = WP_TDMAPI_EVENT_ENABLE;
err=sangoma_tdm_cmd_exec(fd,tdm_api);
if (err){
return err;
}
return tdm_api->wp_tdm_cmd.rbs_poll;
}
int sangoma_tdm_disable_ring_events(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api) {
int err;
tdm_api->wp_tdm_cmd.cmd = SIOC_WP_TDM_SET_EVENT;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_type = WP_TDMAPI_EVENT_RING;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_mode = WP_TDMAPI_EVENT_DISABLE;
err=sangoma_tdm_cmd_exec(fd,tdm_api);
if (err){
return err;
}
return 0;
}
int sangoma_tdm_enable_ring_detect_events(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api) {
int err;
tdm_api->wp_tdm_cmd.cmd = SIOC_WP_TDM_SET_EVENT;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_type = WP_TDMAPI_EVENT_RING_DETECT;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_mode = WP_TDMAPI_EVENT_ENABLE;
err=sangoma_tdm_cmd_exec(fd,tdm_api);
if (err){
return err;
}
return tdm_api->wp_tdm_cmd.rbs_poll;
}
int sangoma_tdm_disable_ring_detect_events(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api) {
int err;
tdm_api->wp_tdm_cmd.cmd = SIOC_WP_TDM_SET_EVENT;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_type = WP_TDMAPI_EVENT_RING_DETECT;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_mode = WP_TDMAPI_EVENT_DISABLE;
err=sangoma_tdm_cmd_exec(fd,tdm_api);
if (err){
return err;
}
return 0;
}
int sangoma_tdm_enable_ring_trip_detect_events(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api) {
int err;
tdm_api->wp_tdm_cmd.cmd = SIOC_WP_TDM_SET_EVENT;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_type = WP_TDMAPI_EVENT_RING_TRIP_DETECT;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_mode = WP_TDMAPI_EVENT_ENABLE;
err=sangoma_tdm_cmd_exec(fd,tdm_api);
if (err){
return err;
}
return tdm_api->wp_tdm_cmd.rbs_poll;
}
int sangoma_tdm_disable_ring_trip_detect_events(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api) {
int err;
tdm_api->wp_tdm_cmd.cmd = SIOC_WP_TDM_SET_EVENT;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_type = WP_TDMAPI_EVENT_RING_DETECT;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_mode = WP_TDMAPI_EVENT_DISABLE;
err=sangoma_tdm_cmd_exec(fd,tdm_api);
if (err){
return err;
}
return 0;
}
int sangoma_tdm_txsig_kewl(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api) {
int err;
tdm_api->wp_tdm_cmd.cmd = SIOC_WP_TDM_SET_EVENT;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_type = WP_TDMAPI_EVENT_TXSIG_KEWL;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_mode = WP_TDMAPI_EVENT_ENABLE;
err=sangoma_tdm_cmd_exec(fd,tdm_api);
if (err){
return err;
}
return 0;
}
int sangoma_tdm_txsig_start(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api) {
int err;
tdm_api->wp_tdm_cmd.cmd = SIOC_WP_TDM_SET_EVENT;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_type = WP_TDMAPI_EVENT_TXSIG_START;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_mode = WP_TDMAPI_EVENT_ENABLE;
err=sangoma_tdm_cmd_exec(fd,tdm_api);
if (err){
return err;
}
return 0;
}
int sangoma_tdm_txsig_onhook(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api) {
int err;
tdm_api->wp_tdm_cmd.cmd = SIOC_WP_TDM_SET_EVENT;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_type = WP_TDMAPI_EVENT_TXSIG_ONHOOK;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_mode = WP_TDMAPI_EVENT_ENABLE;
err=sangoma_tdm_cmd_exec(fd,tdm_api);
if (err){
return err;
}
return 0;
}
int sangoma_tdm_txsig_offhook(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api) {
int err;
tdm_api->wp_tdm_cmd.cmd = SIOC_WP_TDM_SET_EVENT;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_type = WP_TDMAPI_EVENT_TXSIG_OFFHOOK;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_mode = WP_TDMAPI_EVENT_ENABLE;
err=sangoma_tdm_cmd_exec(fd,tdm_api);
if (err){
return err;
}
return 0;
}
int sangoma_tdm_enable_tone_events(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api, int tone_id) {
int err;
tdm_api->wp_tdm_cmd.cmd = SIOC_WP_TDM_SET_EVENT;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_type = WP_TDMAPI_EVENT_TONE;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_mode = WP_TDMAPI_EVENT_ENABLE;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_tone_type = tone_id;
err=sangoma_tdm_cmd_exec(fd,tdm_api);
if (err){
return err;
}
return tdm_api->wp_tdm_cmd.rbs_poll;
}
int sangoma_tdm_disable_tone_events(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api) {
int err;
tdm_api->wp_tdm_cmd.cmd = SIOC_WP_TDM_SET_EVENT;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_type = WP_TDMAPI_EVENT_TONE;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_mode = WP_TDMAPI_EVENT_DISABLE;
tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_tone_type = 0x00;
err=sangoma_tdm_cmd_exec(fd,tdm_api);
if (err){
return err;
}
return tdm_api->wp_tdm_cmd.rbs_poll;
}
#endif
int sangoma_tdm_enable_hwec(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api)
{
int err;
tdm_api->wp_tdm_cmd.cmd = SIOC_WP_TDM_DISABLE_RXHOOK_EVENTS;
tdm_api->wp_tdm_cmd.cmd = SIOC_WP_TDM_ENABLE_HWEC;
err=sangoma_tdm_cmd_exec(fd,tdm_api);
if (err){
return err;
}
return 0;
}
int sangoma_tdm_disable_hwec(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api)
{
int err;
tdm_api->wp_tdm_cmd.cmd = SIOC_WP_TDM_DISABLE_HWEC;
err=sangoma_tdm_cmd_exec(fd,tdm_api);
if (err){
return err;

View File

@ -26,7 +26,7 @@
#include <windows.h>
#include <winioctl.h>
#include <conio.h>
#include <stddef.h> //for offsetof()
iinclude <stddef.h> //for offsetof()
typedef unsigned __int16 u_int16_t;
typedef unsigned __int32 u_int32_t;
#include <wanpipe_defines.h> //for 'wan_udp_hdr_t'
@ -158,8 +158,33 @@ int sangoma_tdm_disable_rm_dtmf_events(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api);
int sangoma_tdm_enable_rxhook_events(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api);
int sangoma_tdm_disable_rxhook_events(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api);
/* Enable/Disable Ring events on A200 (Analog) card */
int sangoma_tdm_enable_ring_events(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api);
int sangoma_tdm_disable_ring_events(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api);
/* Enable/Disable Ring Detect events on A200 (Analog) card */
int sangoma_tdm_enable_ring_detect_events(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api);
int sangoma_tdm_disable_ring_detect_events(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api);
/* Enable/Disable Ring Trip events on A200 (Analog) card */
int sangoma_tdm_enable_ring_trip_detect_events(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api);
int sangoma_tdm_disable_ring_trip_detect_events(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api);
/* Enable/Disable tone events on A200 (Analog) card */
int sangoma_tdm_enable_tone_events(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api, int tone_id);
int sangoma_tdm_disable_tone_events(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api);
int sangoma_tdm_get_fe_alarms(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api);
int sangoma_tdm_enable_hwec(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api);
int sangoma_tdm_disable_hwec(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api);
int sangoma_tdm_txsig_onhook(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api);
int sangoma_tdm_txsig_offhook(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api);
int sangoma_tdm_txsig_start(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api);
int sangoma_tdm_txsig_kewl(sng_fd_t fd, wanpipe_tdm_api_t *tdm_api);
#ifndef LIBSANGOMA_GET_HWCODING
#define LIBSANGOMA_GET_HWCODING 1
#endif

View File

@ -1,5 +1,5 @@
Package: wanpipe
Version: 3.1.2-0
Version: 3.1.3-0
Section: networking
Priority: optional
Architecture: all

360
diff
View File

@ -1,309 +1,81 @@
--- /root/2.3.4/wanpipe/Setup 2007-07-18 16:12:10.000000000 -0400
+++ Setup 2007-07-19 15:49:43.000000000 -0400
@@ -1593,7 +1593,6 @@
echo "WAN_LIB_DIR=/etc/wanpipe/lib" >> $META_CONF
echo "WAN_ADSL_LIST=/etc/wanpipe/wan_adsl.list" >> $META_CONF
echo "WAN_ANNEXG_LOAD=$ANNEXG_LOAD" >> $META_CONF
- echo "WAN_SCTP_LOAD=$SCTP_LOAD" >> $META_CONF
echo "WAN_LIP_LOAD=$LIP_LOAD" >> $META_CONF
echo "WAN_DYN_WANCONFIG=NO" >> $META_CONF
echo "WAN_SCRIPTS_DIR=/etc/wanpipe/scripts" >> $META_CONF
@@ -1815,14 +1814,14 @@
1) create WANPIPE configuration files.
(/usr/sbin/wancfg)
2) create configuration files for Zaptel and Asterisk
- (/usr/sbin/wancfg_zaptel)
- 3) start,stop,restart individual/all devices and interfaces.
+ (/usr/sbin/wancfg-zaptel)
+ 2) start,stop,restart individual/all devices and interfaces.
(/usr/sbin/wanrouter)
- 4) debug line, protocol and driver problems.
+ 3) debug line, protocol and driver problems.
(/usr/sbin/wanpipemon)
- 5) configure the optional onboard FT1 CSU/DSU (S508/S5143).
+ 4) configure the optional onboard FT1 CSU/DSU (S508/S5143).
(/usr/sbin/cfgft1)
- 6) aid in WANPIPE API development
+ 5) aid in WANPIPE API development
(/etc/wanpipe/api)
--- /root/3.1.X/wanpipe/Setup 2007-07-26 12:40:15.000000000 -0400
+++ /root/2.3.4/wanpipe/Setup 2007-07-30 19:40:01.000000000 -0400
@@ -1672,14 +1672,17 @@
[ -d $RC_DIR/init.d ] && install -D -m 755 $WANROUTER_STARTUP_SMPL $ROOT/$RC_DIR/init.d/$PROD
fi
Refer to the WanpipeInstallation.(pdf/txt) for more information.
@@ -3203,7 +3202,6 @@
CONFIG_SMP=NO;
- pause
if [ "$TDM_PROT" = "YES" ]; then
getyn "Would you like to auto-execute ztcfg after wanrouter start?" || return 0
- cp $PROD_HOME/samples/wanpipe_zaptel_start /etc/wanpipe/scripts/start
+ if [ ! -d $WAN_CONF_DIR/scripts ]; then
+ eval "\mkdir -p $WAN_CONF_DIR/scripts >/dev/null 2>/dev/null"
+ fi
+ eval "\cp -f $PROD_HOME/samples/wanpipe_zaptel_start $WAN_CONF_DIR/scripts/start >/dev/null 2>/dev/null"
if [ ! -f $WAN_CONF_DIR/scripts/start ]; then
echo "Error: Could not copy auto-ztcfg script"
fi
fi
+ pause
return 0
}
@@ -2635,7 +2638,7 @@
protocols that you need. This way one can reduce
the size of the WANPIPE kernel drivers.
-Refer to the WapipeIntallation.(pdf/txt) documentation.
+Refer to the WanpipeIntallation.(pdf/txt) documentation.
ENDOFTEXT
fi
@@ -2664,7 +2667,6 @@
fi
fi
-
#Find out our processor type. This is needed to properly
#compile our modules.
echo -n "Checking current processor type ..."
@@ -3303,10 +3301,6 @@
fi
fi
ANNEXG_LOAD=NO
check_gcc
@@ -2785,14 +2787,15 @@
#Copy the WANPIPE device drivers
#into a temporary directory
- \cp -f $DRIVER_UPDATE_DIR/src/net/* .
- \cp -f $DRIVER_UPDATE_DIR/src/wanrouter/* .
+ eval "\cp -f $DRIVER_UPDATE_DIR/src/net/* . >/dev/null 2>/dev/null"
+ eval "\cp -f $DRIVER_UPDATE_DIR/src/wanrouter/* .>/dev/null 2>/dev/null"
- \cp -f $PROD_HOME/kbuild/Makefile .
+
+ eval "\cp -f $PROD_HOME/kbuild/Makefile . >/dev/null 2>/dev/null"
for file in $DRIVERS_MOD_LIST
do
- \cp $DRIVER_UPDATE_DIR/src/net/$file .
+ eval "\cp $DRIVER_UPDATE_DIR/src/net/$file . >/dev/null 2>/dev/null"
done
update_redhat_as 0
@@ -3122,6 +3125,12 @@
-
-
-
-
echo -n "Compiling General ${DISTR_NAME} Driver for 2.6.X Kernel ."
@@ -3491,6 +3485,18 @@
EVALCMD=eval
WANPIPE_OBJS=
+
+ if [ 0 -eq 1 ]; then
+ echo
+ echo "ALLFLAGS"
+ echo "--------------------------------------------------"
+ echo "$CFLAGS"
+ echo "--------------------------------------------------"
+ echo
+ echo
if test -z $NONINTERACTIVE; then
+ if [ -e $SOURCEDIR/include/config/kernel.release ]; then
+ KERNEL_VERSION=`cat $SOURCEDIR/include/config/kernel.release`
+ echo "Source kernel name:$KERNEL_VERSION"
+ fi
+
+
rm -f sdladrv_src.c
ln -s sdladrv.c sdladrv_src.c
build_kernel_module sdladrv "sdladrv_src sdladrv_fe"
@@ -3757,10 +3763,8 @@
\cp -f $DRIVER_UPDATE_DIR/src/lip/*.c .
\cp -f $DRIVER_UPDATE_DIR/src/lip/bin/*.o .
- if [ -e $DRIVER_UPDATE_DIR/src/lip/lip_katm ]; then
- \cp -f $DRIVER_UPDATE_DIR/src/lip/lip_katm/*.c .
- \cp -f $DRIVER_UPDATE_DIR/src/lip/lip_katm/*.h .
- fi
+ \cp -f $DRIVER_UPDATE_DIR/src/lip/lip_katm/*.c .
+ \cp -f $DRIVER_UPDATE_DIR/src/lip/lip_katm/*.h .
LIP_LINKED_PROTOCOLS=
@@ -3868,9 +3872,6 @@
fi
if [ $XMTP2_PROT = "YES" ]; then
-
- SCTP_LOAD=YES
-
xmtp2_file=wanpipe_xmtp2.gcc$GCC_VER.$ARCH$REGPARM_OPT.o
if [ ! -e $xmtp2_file ]; then
echo "Warning: FR Binary $xmtp2_file not found!"
@@ -4389,39 +4390,34 @@
eval "ldconfig"
cd $PROD_HOME/$SSMG_DIR
+ cd sangoma_mgd.trunk
-# Let smg install script install SMG components
-#=======================================================
-
-# cd sangoma_mgd.trunk
-#
-# eval "make clean > /dev/null; make > /dev/null "
-# if [ $? -ne 0 ]; then
-# echo "FAILED"
-# return 1
-# fi
-# eval "make install > /dev/null "
-#
-# echo "Installing Sangoma Media Gateway Daemon...DONE"
+ eval "make clean > /dev/null; make > /dev/null "
+ if [ $? -ne 0 ]; then
+ echo "FAILED"
+ return 1
+ fi
+ eval "make install > /dev/null "
-# eval "type asterisk > /dev/null 2> /dev/null"
-# if [ $? -ne 0 ]; then
-# echo "Error: Asterisk not installed!"
-# echo "Please install Asterisk first then retry SSMG installation!"
-# return 1
-# fi
+ echo "Installing Sangoma Media Gateway Daemon...DONE"
+
+ eval "type asterisk > /dev/null 2> /dev/null"
+ if [ $? -ne 0 ]; then
+ echo "Error: Asterisk not installed!"
+ echo "Please install Asterisk first then retry SSMG installation!"
+ return 1
+ fi
-# echo
-# echo "Installing Chan Woomera into Asterisk..."
-# echo
-# install_chan_woomera
-# if [ $? -ne 0 ]; then
-# echo "Error: Failed to install chan_woomera into Asterisk!"
-# echo "Check that Asterisk is installed or Call Sangoma Tech Support"
-# echo
-# return 1
-# fi
-#=========================================================
+ echo
+ echo "Installing Chan Woomera into Asterisk..."
+ echo
+ install_chan_woomera
+ if [ $? -ne 0 ]; then
+ echo "Error: Failed to install chan_woomera into Asterisk!"
+ echo "Check that Asterisk is installed or Call Sangoma Tech Support"
+ echo
+ return 1
+ fi
cd $PROD_HOME/$SSMG_DIR
cd sangoma_mgd.trunk
@@ -4872,6 +4868,62 @@
return 0;
}
+function tdmv_apply_zaptel_dchan_patch ()
+{
+ lhome=`pwd`
+
+ cd $ZAPTEL_INSTALL_DIR
+
+ eval "grep \"DCHAN_TX\" $ZAPTEL_C_FILE > /dev/null 2> /dev/null"
+ if [ $? -eq 0 ]; then
+
+ eval "grep \"ZT_DCHAN_TX_V2\" $ZAPTEL_C_FILE > /dev/null 2> /dev/null"
+ if [ $? -eq 0 ]; then
+ echo " Zaptel DCHAN patch V.02 already installed"
+ cd $lhome
+ return 1
+ else
+ echo " ERROR: Old Zaptel DCHAN patch detected in $ZAPTEL_INSTALL_DIR"
+ echo
+ echo " Please install a fresh version of Zaptel source and"
+ echo " run ./Setup again."
+ echo
+ cd $lhome
+ exit 1
+ fi
+ fi
+
+ # patch zaptel.h
+ eval "search_and_replace zaptel.h zaptel.h \"$ZAPTEL_H_SEARCH_STR\" \"$ZAPTEL_H_PATCH\""
+
+ if [ $? -ne 0 ]; then
+ echo "search_and_replace(zaptel.h) failed"
+ cd $lhome
+ return 2
+ #else
+ # echo "search_and_replace($ZAPTEL_C_FILE) succeeded"
+ fi
+
+ # patch $ZAPTEL_C_FILE
+ eval "grep \"$ZAPTEL_C_SEARCH_STR\" $ZAPTEL_C_FILE > /dev/null 2> /dev/null"
+ if [ $? -eq 0 ]; then
+ eval "search_and_replace $ZAPTEL_C_FILE $ZAPTEL_C_FILE \"$ZAPTEL_C_SEARCH_STR\" \"$ZAPTEL_C_PATCH\""
+ else
+ eval "search_and_replace $ZAPTEL_C_FILE $ZAPTEL_C_FILE \"$ZAPTEL_C_SEARCH_STR_NEW\" \"$ZAPTEL_C_PATCH_NEW\""
+ fi
+
+ if [ $? -ne 0 ]; then
+ echo "search_and_replace($ZAPTEL_C_FILE) failed"
+ cd $lhome
+ return 2
+ else
+ #echo "search_and_replace($ZAPTEL_C_FILE) succeeded"
+ cd $lhome
+ zaptel_modified=1
+ return 0
+ fi
+}
+
function tdmv_apply_zaptel_dchan_patch_old ()
{
local rc
@@ -4981,6 +5033,20 @@
zaptel_modified=1
fi
fi
+
+ if [ -f Makefile.kernel26 ]; then
+ eval "cat Makefile.kernel26 | sed 's/^obj-m.*+=.*wct4xx.*//g'>$TEMP 2>/dev/null "
+ if [ $? -ne 0 ]; then
+ echo " Failed to remove wct4xxp from Makefile.kernel26"
+ exit 1
+
+ else
+ eval "\mv -f $TEMP Makefile.kernel26"
+ echo " wct4xxp module removed from Makefile.kernel26 successfully"
+ zaptel_modified=1
+ fi
+ fi
+
cd $lhome
return 0;
}
@@ -5695,15 +5761,13 @@
PROTOCOL_DEFINES="$PROTOCOL_DEFINES -DCONFIG_PRODUCT_WANPIPE_TDM_VOICE_DCHAN"
echo
- # tdmv_apply_zaptel_dchan_patch
- eval "$PROD_HOME/patches/sangoma-zaptel-patch.sh $ZAPTEL_INSTALL_DIR"
- result=$?
- if [ $result -eq 0 ]; then
+ tdmv_apply_zaptel_dchan_patch
+ if [ $? -eq 0 ]; then
TDM_DCHAN="(DCHAN)"
echo " Zaptel DCHAN Patch successful"
# getyn "Confirm Zaptel Patching: yes/no to continue!"
echo
- elif [ $result -eq 1 ]; then
+ elif [ $? -eq 1 ]; then
TDM_DCHAN="(DCHAN)"
echo
else
@@ -6113,7 +6177,7 @@
if [ $KERNEL_VERSION != $KERNEL_UNAME ]; then
echo
echo -e "WARNING: Module installation dir mismatch!"
@@ -6127,7 +6136,7 @@
PKG_NAME=wanpipe
DISTR_NAME="WANPIPE"
PROD=wanrouter
-PROD_VER=2.3.4-12.p1
+PROD_VER=3.1.2
-PROD_VER=3.1.2.4
+PROD_VER=2.3.4-13
PROD_HOME=`pwd`
META_CONF=$PROD_HOME/$PROD.rc
WAN_INTR_DIR=$PROD_HOME/interfaces
@@ -6192,7 +6256,6 @@
SS7_USER_ID="0"
ANNEXG_LOAD=NO
-SCTP_LOAD=NO
ZAPTEL_INSTALL_DIR="/usr/src/zaptel"
ZAPTEL_C_FILE="zaptel.c"
@@ -6384,7 +6447,6 @@
--no-gcc-debug*)
DISABLE_GCC_DEBUG=1;
;;
-
--usr-cc*)
USR_CC=`echo $arg | cut -d'=' -f2`;
eval "type $USR_CC";
@@ -6415,15 +6477,9 @@
--noautostart*)
NO_AUTO_START=1
;;
-
- --ignore-t1-yellow*)
- PROTOCOL_DEFINES="$PROTOCOL_DEFINES -DWANPIPE_IGNORE_T1_YELLOW "
- ;;
-
--64bit_4G*)
PROTOCOL_DEFINES="$PROTOCOL_DEFINES -DWANPIPE_64BIT_4G_DMA "
;;
-
--with-linux*)
SOURCEDIR=`echo $arg | cut -d'=' -f2`;
if [ "$SOURCEDIR" = "" ]; then
@@ -6559,7 +6615,7 @@
--zap-chunk*)
ZAP_CHUNK=`echo $arg | cut -d'=' -f2`;
- if [ $ZAP_CHUNK != "16" ] && [ $ZAP_CHUNK != "40" ] && [ $ZAP_CHUNK != "80" ]; then
+ if [ $ZAP_CHUNK != "8" ] && [ $ZAP_CHUNK != "16" ] && [ $ZAP_CHUNK != "40" ] && [ $ZAP_CHUNK != "80" ]; then
echo "Error: Invalid Zaptel Chunk size"
exit 1;
else

View File

@ -220,10 +220,9 @@ enum {
/* X25 specific */
#define WAN_PACKET_DATA 7
#define WAN_PACKET_CMD 8
#define WAN_PACKET_ASYNC 9
#define WAN_PACKET_ERR 10
#define WAN_PACKET_DATA 0
#define WAN_PACKET_CMD 1
#define WAN_PACKET_ERR 2
/* Packet socket options */

View File

@ -152,6 +152,7 @@
#define PCI_VENDOR_ID_GSI 0x14BC
#define PCI_DEVICE_ID_GSI_PULSAR 0xD002
#define PCI_DEVICE_ID_GSI_ADSL PCI_DEVICE_ID_GSI_PULSAR
#define PCI_DEVICE_ID_GSI_ADSL_OTHER 0xD001
#endif /* _SDLAPCI_H */

View File

@ -111,6 +111,8 @@ enum wanpipe_tdm_api_cmds {
SIOC_WP_TDM_CLEAR_TX_GAINS,
SIOC_WP_TDM_GET_FE_ALARMS,
SIOC_WP_TDM_ENABLE_HWEC,
SIOC_WP_TDM_DISABLE_HWEC,
SIOC_WP_TDM_NOTSUPP /* */

View File

@ -6,7 +6,7 @@
#define WANPIPE_COMPANY "Sangoma Technologies Inc"
/********** LINUX **********/
#define WANPIPE_VERSION "3.1.1"
#define WANPIPE_VERSION "3.1.3"
#define WANPIPE_SUB_VERSION "0"
#define WANPIPE_VERSION_BETA 1
#define WANPIPE_LITE_VERSION "1.1.1"

View File

@ -0,0 +1,547 @@
--- wanpipe_tdm_api.c 2007-04-24 19:14:40.000000000 -0400
+++ /root/2.3.4/wanpipe/patches/kdrivers/src/net/wanpipe_tdm_api.c 2007-07-11 17:37:54.000000000 -0400
@@ -5,7 +5,7 @@
*
* Authors: Nenad Corbic <ncorbic@sangoma.com>
*
-* Copyright: (c) 2003-2007 Sangoma Technologies Inc.
+* Copyright: (c) 2003-2005 Sangoma Technologies Inc.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -48,7 +48,6 @@
# include <linux/wanpipe_defines.h>
# include <linux/wanpipe.h>
# include <linux/if_wanpipe.h>
-# include <linux/wanpipe_cfg.h>
# include <linux/wanpipe_tdm_api.h>
#endif
@@ -62,6 +61,7 @@
#define WP_TDMAPI_MINOR_OFFSET 0
#define WP_TDMAPI_MAX_MINORS 1024
+
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) || defined(__WINDOWS__)
@@ -128,7 +128,6 @@
static int wp_tdmapi_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long data);
static void wanpipe_tdm_api_rbs_poll(wanpipe_tdm_api_dev_t *tdm_api);
-static void wanpipe_tdm_api_fe_alarm_event(wanpipe_tdm_api_dev_t *tdm_api, int state);
static void wp_tdmapi_rbsbits(void* card_id, int channel, unsigned char rbsbits);
static void wp_tdmapi_alarms(void* card_id, unsigned long alarams);
@@ -227,11 +226,10 @@
.owner = THIS_MODULE,
};
-
static int wp_tdmapi_reg_globals(void)
{
int err=0;
-
+
rx_gains=NULL;
tx_gains=NULL;
wan_spin_lock_init(&wp_tdmapi_hash_lock);
@@ -349,9 +347,9 @@
if (tdm_api->cfg.idle_flag == 0) {
tdm_api->cfg.idle_flag=0xFF;
- }
+ }
}
-
+
tdm_api->critical=0;
wan_clear_bit(0,&tdm_api->used);
@@ -441,15 +439,16 @@
return -ENODEV;
}
- tdm_api->state = (u8)state;
- tdm_api->cfg.fe_alarms = (state == WAN_CONNECTED ? 0 : 1);
+ if (tdm_api->state != state) {
+ tdm_api->state = (u8)state;
- if (wan_test_bit(0,&tdm_api->used)) {
- wanpipe_tdm_api_fe_alarm_event(tdm_api,state);
+ if (wan_test_bit(0,&tdm_api->used)) {
+ DEBUG_EVENT("%s: UPDATE STATE API\n",tdm_api->name);
#if !defined(__WINDOWS__)
- wp_wakeup_tdmapi(tdm_api);
+ wp_wakeup_tdmapi(tdm_api);
#endif
- }
+ }
+ }
return 0;
}
@@ -479,7 +478,6 @@
{
wanpipe_tdm_api_dev_t *tdm_api;
wan_smp_flag_t flags;
-
#if !defined(__WINDOWS__)
u32 tdm_span = WP_TDMAPI_GET_SPAN_FROM_MINOR(UNIT(file));
@@ -492,12 +490,12 @@
wan_spin_lock_irq(&wp_tdmapi_hash_lock,&flags);
tdm_api = wp_find_tdm_api_dev(wp_tdmapi_hash,
#if !defined(__WINDOWS__)
- UNIT(file),
+ UNIT(file),
#else
- (unsigned int)file,
+ (unsigned int)file,
#endif
- tdm_span,
- tdm_chan);
+ tdm_span,
+ tdm_chan);
if (!tdm_api){
wan_spin_unlock_irq(&wp_tdmapi_hash_lock,&flags);
@@ -1022,7 +1020,6 @@
/* Indicate an exception */
ret |= POLLPRI;
}
-
return ret;
}
@@ -1100,51 +1097,6 @@
#endif
}
-static void wanpipe_tdm_api_fe_alarm_event(wanpipe_tdm_api_dev_t *tdm_api, int state)
-{
- netskb_t *skb;
- wp_tdm_api_rx_hdr_t *rx_hdr = NULL;
-#if defined(__WINDOWS__)
- wp_tdm_api_rx_hdr_t tdm_api_hdr;
-#endif
-
- DEBUG_TEST("%s: TDM API State Event State=%i\n",
- tdm_api->name, tdm_api->state);
-
-#if defined(__WINDOWS__)
- rx_hdr = &tdm_api_hdr;
-#else
- if (wan_skb_queue_len(&tdm_api->wp_event_list) > WP_TDM_MAX_EVENT_Q_LEN) {
- return;
- }
- skb=wan_skb_alloc(sizeof(wp_tdm_api_rx_hdr_t));
- if (skb == NULL) {
- return;
- }
- rx_hdr=(wp_tdm_api_rx_hdr_t*)wan_skb_put(skb,sizeof(wp_tdm_api_rx_hdr_t));
-#endif/* #if !defined(__WINDOWS__) */
-
- memset(rx_hdr,0,sizeof(wp_tdm_api_rx_hdr_t));
- if (state == WAN_CONNECTED) {
- rx_hdr->wp_tdm_api_event_fe_alarm = 0;
- } else {
- rx_hdr->wp_tdm_api_event_fe_alarm = 1;
- }
- rx_hdr->wp_tdm_api_event_type = WP_TDM_EVENT_FE_ALARM;
-
-#if 0
- /* FIXME: NENAD TO ADD Timestamp */
- rx_hdr->event_time_stamp = gettimeofday();
-#endif
- rx_hdr->wp_tdm_api_event_channel = (u_int16_t)tdm_api->tdm_chan + 1;
-#if defined(__WINDOWS__)
- aft_te1_insert_tdm_api_event_in_to_rx_queue(tdm_api, rx_hdr);
- queue_tdm_api_rx_dpc(tdm_api);
-#else
- wan_skb_queue_tail(&tdm_api->wp_event_list,skb);
-#endif
-}
-
#if !defined(__WINDOWS__)
static
#endif
@@ -1156,6 +1108,7 @@
wanpipe_codec_ops_t *wp_codec_ops;
netskb_t *skb;
wan_event_ctrl_t event_ctrl;
+ sdla_t *card = (sdla_t*)tdm_api->card;
utdmapi = (wanpipe_tdm_api_cmd_t*)ifr->ifr_data;
@@ -1179,7 +1132,7 @@
#endif
cmd=usr_tdm_api.cmd;
- DEBUG_TDMAPI("%s: TDM API CMD: %i\n",tdm_api->name,cmd);
+ DEBUG_TEST("%s: TDM API CMD: %i\n",tdm_api->name,cmd);
wan_spin_lock(&tdm_api->lock);
@@ -1188,7 +1141,6 @@
case SIOC_WP_TDM_GET_USR_MTU_MRU:
case SIOC_WP_TDM_GET_STATS:
case SIOC_WP_TDM_GET_FULL_CFG:
- case SIOC_WP_TDM_READ_EVENT:
break;
default:
DEBUG_EVENT("%s: Invalid TDM API HDLC CMD %i\n", tdm_api->name,cmd);
@@ -1245,7 +1197,7 @@
goto tdm_api_exit;
}
- if (usr_tdm_api.tdm_codec >= WP_TDM_CODEC_MAX){
+ if ((int)usr_tdm_api.tdm_codec < 0 || usr_tdm_api.tdm_codec >= WP_TDM_CODEC_MAX){
err = -EINVAL;
goto tdm_api_exit;
}
@@ -1317,6 +1269,24 @@
}
break;
+ case SIOC_WP_TDM_ENABLE_HWEC:
+ if (card->wandev.ec_enable) {
+ wan_smp_flag_t smp_flags1;
+ card->hw_iface.hw_lock(card->hw,&smp_flags1);
+ card->wandev.ec_enable(card, 1, tdm_api->tdm_chan-1);
+ card->hw_iface.hw_unlock(card->hw,&smp_flags1);
+ }
+ break;
+
+ case SIOC_WP_TDM_DISABLE_HWEC:
+ if (card->wandev.ec_enable) {
+ wan_smp_flag_t smp_flags1;
+ card->hw_iface.hw_lock(card->hw,&smp_flags1);
+ card->wandev.ec_enable(card, 0, tdm_api->tdm_chan-1);
+ card->hw_iface.hw_unlock(card->hw,&smp_flags1);
+ }
+ break;
+
case SIOC_WP_TDM_GET_EC_TAP:
usr_tdm_api.ec_tap = tdm_api->cfg.ec_tap;
break;
@@ -1353,7 +1323,7 @@
event_ctrl.mode = WAN_EVENT_ENABLE;
event_ctrl.ts_map = tdm_api->active_ch;
if (tdm_api->event_ctrl){
- err = tdm_api->event_ctrl(tdm_api->chan, &event_ctrl);
+ tdm_api->event_ctrl(tdm_api->chan, &event_ctrl);
}
break;
@@ -1366,7 +1336,7 @@
event_ctrl.mode = WAN_EVENT_DISABLE;
event_ctrl.ts_map = tdm_api->active_ch;
if (tdm_api->event_ctrl){
- err = tdm_api->event_ctrl(tdm_api->chan, &event_ctrl);
+ tdm_api->event_ctrl(tdm_api->chan, &event_ctrl);
}
break;
@@ -1377,9 +1347,9 @@
memset(&event_ctrl, 0, sizeof(wan_event_ctrl_t));
event_ctrl.type = WAN_EVENT_RM_DTMF;
event_ctrl.mode = WAN_EVENT_ENABLE;
- event_ctrl.mod_no = tdm_api->tdm_chan-1;
+ event_ctrl.mod_no = tdm_api->tdm_chan;
if (tdm_api->event_ctrl){
- err = tdm_api->event_ctrl(tdm_api->chan, &event_ctrl);
+ tdm_api->event_ctrl(tdm_api->chan, &event_ctrl);
}
break;
case SIOC_WP_TDM_DISABLE_RM_DTMF_EVENTS:
@@ -1389,9 +1359,9 @@
memset(&event_ctrl, 0, sizeof(wan_event_ctrl_t));
event_ctrl.type = WAN_EVENT_RM_DTMF;
event_ctrl.mode = WAN_EVENT_DISABLE;
- event_ctrl.mod_no = tdm_api->tdm_chan-1;
+ event_ctrl.mod_no = tdm_api->tdm_chan;
if (tdm_api->event_ctrl){
- err = tdm_api->event_ctrl(tdm_api->chan, &event_ctrl);
+ tdm_api->event_ctrl(tdm_api->chan, &event_ctrl);
}
break;
@@ -1402,13 +1372,9 @@
memset(&event_ctrl, 0, sizeof(wan_event_ctrl_t));
event_ctrl.type = WAN_EVENT_RM_LC;
event_ctrl.mode = WAN_EVENT_ENABLE;
- event_ctrl.mod_no = tdm_api->tdm_chan-1;
+ event_ctrl.mod_no = tdm_api->tdm_chan;
if (tdm_api->event_ctrl){
- err = tdm_api->event_ctrl(tdm_api->chan, &event_ctrl);
- } else {
- DEBUG_EVENT("%s: Error: event_ctrl not supported!\n",
- tdm_api->name);
- err = -EINVAL;
+ tdm_api->event_ctrl(tdm_api->chan, &event_ctrl);
}
break;
@@ -1418,14 +1384,10 @@
memset(&event_ctrl, 0, sizeof(wan_event_ctrl_t));
event_ctrl.type = WAN_EVENT_RM_LC;
event_ctrl.mode = WAN_EVENT_DISABLE;
- event_ctrl.mod_no = tdm_api->tdm_chan-1;
+ event_ctrl.mod_no = tdm_api->tdm_chan;
if (tdm_api->event_ctrl){
- err = tdm_api->event_ctrl(tdm_api->chan, &event_ctrl);
- } else {
- DEBUG_EVENT("%s: Error: event_ctrl not supported!\n",
- tdm_api->name);
- err = -EINVAL;
- }
+ tdm_api->event_ctrl(tdm_api->chan, &event_ctrl);
+ }
break;
case SIOC_WP_TDM_ENABLE_RING_DETECT_EVENTS:
@@ -1435,14 +1397,10 @@
memset(&event_ctrl, 0, sizeof(wan_event_ctrl_t));
event_ctrl.type = WAN_EVENT_RM_RING_DETECT;
event_ctrl.mode = WAN_EVENT_ENABLE;
- event_ctrl.mod_no = tdm_api->tdm_chan-1;
+ event_ctrl.mod_no = tdm_api->tdm_chan;
if (tdm_api->event_ctrl){
- err = tdm_api->event_ctrl(tdm_api->chan, &event_ctrl);
- } else {
- DEBUG_EVENT("%s: Error: event_ctrl not supported!\n",
- tdm_api->name);
- err = -EINVAL;
- }
+ tdm_api->event_ctrl(tdm_api->chan, &event_ctrl);
+ }
break;
case SIOC_WP_TDM_DISABLE_RING_DETECT_EVENTS:
DEBUG_TDMAPI("%s: Disable Ring Detection Event on module %d!\n",
@@ -1451,14 +1409,10 @@
memset(&event_ctrl, 0, sizeof(wan_event_ctrl_t));
event_ctrl.type = WAN_EVENT_RM_RING_DETECT;
event_ctrl.mode = WAN_EVENT_DISABLE;
- event_ctrl.mod_no = tdm_api->tdm_chan-1;
+ event_ctrl.mod_no = tdm_api->tdm_chan;
if (tdm_api->event_ctrl){
- err = tdm_api->event_ctrl(tdm_api->chan, &event_ctrl);
- } else {
- DEBUG_EVENT("%s: Error: event_ctrl not supported!\n",
- tdm_api->name);
- err = -EINVAL;
- }
+ tdm_api->event_ctrl(tdm_api->chan, &event_ctrl);
+ }
break;
case SIOC_WP_TDM_ENABLE_RING_TRIP_DETECT_EVENTS:
@@ -1468,14 +1422,10 @@
memset(&event_ctrl, 0, sizeof(wan_event_ctrl_t));
event_ctrl.type = WAN_EVENT_RM_RING_TRIP;
event_ctrl.mode = WAN_EVENT_ENABLE;
- event_ctrl.mod_no = tdm_api->tdm_chan-1;
+ event_ctrl.mod_no = tdm_api->tdm_chan;
if (tdm_api->event_ctrl){
- err = tdm_api->event_ctrl(tdm_api->chan, &event_ctrl);
- } else {
- DEBUG_EVENT("%s: Error: event_ctrl not supported!\n",
- tdm_api->name);
- err = -EINVAL;
- }
+ tdm_api->event_ctrl(tdm_api->chan, &event_ctrl);
+ }
break;
case SIOC_WP_TDM_DISABLE_RING_TRIP_DETECT_EVENTS:
DEBUG_TDMAPI("%s: Disable Ring Trip Detection Event on module %d!\n",
@@ -1484,14 +1434,10 @@
memset(&event_ctrl, 0, sizeof(wan_event_ctrl_t));
event_ctrl.type = WAN_EVENT_RM_RING_TRIP;
event_ctrl.mode = WAN_EVENT_DISABLE;
- event_ctrl.mod_no = tdm_api->tdm_chan-1;
+ event_ctrl.mod_no = tdm_api->tdm_chan;
if (tdm_api->event_ctrl){
- err = tdm_api->event_ctrl(tdm_api->chan, &event_ctrl);
- } else {
- DEBUG_EVENT("%s: Error: event_ctrl not supported!\n",
- tdm_api->name);
- err = -EINVAL;
- }
+ tdm_api->event_ctrl(tdm_api->chan, &event_ctrl);
+ }
break;
case SIOC_WP_TDM_TXSIG_KEWL:
@@ -1500,14 +1446,10 @@
tdm_api->tdm_chan);
memset(&event_ctrl, 0, sizeof(wan_event_ctrl_t));
event_ctrl.type = WAN_EVENT_RM_TXSIG_KEWL;
- event_ctrl.mod_no = tdm_api->tdm_chan-1;
+ event_ctrl.mod_no = tdm_api->tdm_chan;
if (tdm_api->event_ctrl){
- err = tdm_api->event_ctrl(tdm_api->chan, &event_ctrl);
- } else {
- DEBUG_EVENT("%s: Error: event_ctrl not supported!\n",
- tdm_api->name);
- err = -EINVAL;
- }
+ tdm_api->event_ctrl(tdm_api->chan, &event_ctrl);
+ }
break;
case SIOC_WP_TDM_EVENT_TXSIG_START:
@@ -1516,14 +1458,10 @@
tdm_api->tdm_chan);
memset(&event_ctrl, 0, sizeof(wan_event_ctrl_t));
event_ctrl.type = WAN_EVENT_RM_TXSIG_START;
- event_ctrl.mod_no = tdm_api->tdm_chan-1;
+ event_ctrl.mod_no = tdm_api->tdm_chan;
if (tdm_api->event_ctrl){
- err = tdm_api->event_ctrl(tdm_api->chan, &event_ctrl);
- } else {
- DEBUG_EVENT("%s: Error: event_ctrl not supported!\n",
- tdm_api->name);
- err = -EINVAL;
- }
+ tdm_api->event_ctrl(tdm_api->chan, &event_ctrl);
+ }
break;
case SIOC_WP_TDM_EVENT_TXSIG_OFFHOOK:
DEBUG_TDMAPI("%s: TX Signalling OFFHOOK for module %d!\n",
@@ -1531,14 +1469,10 @@
tdm_api->tdm_chan);
memset(&event_ctrl, 0, sizeof(wan_event_ctrl_t));
event_ctrl.type = WAN_EVENT_RM_TXSIG_OFFHOOK;
- event_ctrl.mod_no = tdm_api->tdm_chan-1;
+ event_ctrl.mod_no = tdm_api->tdm_chan;
if (tdm_api->event_ctrl){
- err = tdm_api->event_ctrl(tdm_api->chan, &event_ctrl);
- } else {
- DEBUG_EVENT("%s: Error: event_ctrl not supported!\n",
- tdm_api->name);
- err = -EINVAL;
- }
+ tdm_api->event_ctrl(tdm_api->chan, &event_ctrl);
+ }
break;
case SIOC_WP_TDM_EVENT_TXSIG_ONHOOK:
DEBUG_TDMAPI("%s: TX Signalling ONHOOK for module %d!\n",
@@ -1546,14 +1480,10 @@
tdm_api->tdm_chan);
memset(&event_ctrl, 0, sizeof(wan_event_ctrl_t));
event_ctrl.type = WAN_EVENT_RM_TXSIG_ONHOOK;
- event_ctrl.mod_no = tdm_api->tdm_chan-1;
+ event_ctrl.mod_no = tdm_api->tdm_chan;
if (tdm_api->event_ctrl){
- err = tdm_api->event_ctrl(tdm_api->chan, &event_ctrl);
- } else {
- DEBUG_EVENT("%s: Error: event_ctrl not supported!\n",
- tdm_api->name);
- err = -EINVAL;
- }
+ tdm_api->event_ctrl(tdm_api->chan, &event_ctrl);
+ }
break;
case SIOC_WP_TDM_EVENT_ONHOOKTRANSFER:
DEBUG_TDMAPI("%s: RM ONHOOKTRANSFER for module %d!\n",
@@ -1561,30 +1491,22 @@
tdm_api->tdm_chan);
memset(&event_ctrl, 0, sizeof(wan_event_ctrl_t));
event_ctrl.type = WAN_EVENT_RM_ONHOOKTRANSFER;
- event_ctrl.mod_no = tdm_api->tdm_chan-1;
+ event_ctrl.mod_no = tdm_api->tdm_chan;
event_ctrl.ohttimer = usr_tdm_api.event.wp_tdm_api_event_ohttimer;
if (tdm_api->event_ctrl){
- err = tdm_api->event_ctrl(tdm_api->chan, &event_ctrl);
- } else {
- DEBUG_EVENT("%s: Error: event_ctrl not supported!\n",
- tdm_api->name);
- err = -EINVAL;
- }
+ tdm_api->event_ctrl(tdm_api->chan, &event_ctrl);
+ }
break;
case SIOC_WP_TDM_EVENT_SETPOLARITY:
DEBUG_EVENT("%s: RM SETPOLARITY for module %d!\n",
tdm_api->name,
tdm_api->tdm_chan);
event_ctrl.type = WAN_EVENT_RM_SETPOLARITY;
- event_ctrl.mod_no = tdm_api->tdm_chan-1;
+ event_ctrl.mod_no = tdm_api->tdm_chan;
event_ctrl.polarity = usr_tdm_api.event.wp_tdm_api_event_polarity;
if (tdm_api->event_ctrl){
- err = tdm_api->event_ctrl(tdm_api->chan, &event_ctrl);
- } else {
- DEBUG_EVENT("%s: Error: event_ctrl not supported!\n",
- tdm_api->name);
- err = -EINVAL;
- }
+ tdm_api->event_ctrl(tdm_api->chan, &event_ctrl);
+ }
break;
case SIOC_WP_TDM_WRITE_RBS_BITS:
@@ -1657,10 +1579,6 @@
break;
- case SIOC_WP_TDM_GET_FE_ALARMS:
- usr_tdm_api.fe_alarms = (tdm_api->state == WAN_CONNECTED ? 0 : 1);
- break;
-
case SIOC_WP_TDM_SET_TX_GAINS:
if (usr_tdm_api.data_len && utdmapi->data) {
@@ -1680,9 +1598,8 @@
}
#if defined(__WINDOWS__)
-//FIXME: implement
-//#error "FIX API CMD"
-// memcpy(&_api, ifr, sizeof(wanpipe_tdm_api_cmd_t));
+#error "FIX API CMD"
+ memcpy(&_api, ifr, sizeof(wanpipe_tdm_api_cmd_t));
#else
if (WAN_COPY_FROM_USER(tx_gains,
utdmapi->data,
@@ -1949,9 +1866,7 @@
for(i = 0; i < WP_TDMAPI_HASH_SZ; i++){
tdm_api = wp_tdmapi_hash[i];
- if (tdm_api == NULL || tdm_api->card != card){
- continue;
- }
+ if (tdm_api->card != card) continue;
if (wan_test_bit(fe_chan, &tdm_api->active_ch)){
return tdm_api;
}
@@ -1964,7 +1879,7 @@
{
sdla_t *card = (sdla_t*)card_id;
- DEBUG_EVENT("%s: Received RBS Event at TDM_API (not supported)!\n",
+ DEBUG_EVENT("ADBG> %s: Received RBS Event at TDM_API!\n",
card->devname);
return;
}
@@ -1973,7 +1888,7 @@
{
sdla_t *card = (sdla_t*)card_id;
- DEBUG_EVENT("%s: Received RBS Event at TDM_API (not supported)!\n",
+ DEBUG_EVENT("ADBG> %s: Received RBS Event at TDM_API!\n",
card->devname);
return;
}
@@ -2083,8 +1998,8 @@
#endif
memset(rx_hdr,0,sizeof(wp_tdm_api_rx_hdr_t));
- rx_hdr->wp_tdm_api_event_type = WP_TDM_EVENT_RXHOOK;
- rx_hdr->wp_tdm_api_event_channel = (u_int16_t)event->channel;
+ rx_hdr->wp_tdm_api_event_type = WP_TDM_EVENT_RXHOOK;
+ rx_hdr->wp_tdm_api_event_channel = (u_int16_t)event->channel;
rx_hdr->wp_tdm_api_event_rxhook_state = event->rxhook;
#if 0

View File

@ -1578,6 +1578,33 @@ static int sdla_pci_probe(sdlahw_t *hw)
}
/* Search for Pulsar PCI cards */
pci_dev = NULL;
while ((pci_dev = pci_get_device(PCI_VENDOR_ID_GSI, PCI_ANY_ID, pci_dev))
!= NULL) {
tmp_hwcard->pci_dev = pci_dev;
sdla_pci_read_config_word(hw, PCI_SUBSYS_ID_WORD, &pci_subsystem_id);
pci_subsystem_id=S518_ADPTR_1_CPU_ADSL;
hwcard = sdla_card_register(SDLA_PCI_CARD,
((pci_dev->devfn >> 3) & PCI_DEV_SLOT_MASK),
pci_dev->bus->number,
0);
if (hwcard == NULL){
continue;
}
hwcard->adptr_type = pci_subsystem_id & 0xFF;
hwcard->pci_dev = pci_dev;
number_pci_cards +=
sdla_adsl_hw_select(hwcard, SDLA_CPU_A, pci_dev->irq, NULL);
}
pci_dev=NULL;
while((pci_dev = pci_get_device(SANGOMA_PCI_VENDOR, PCI_ANY_ID, pci_dev)) != NULL){

View File

@ -1156,6 +1156,7 @@ int wanpipe_tdm_api_ioctl(wanpipe_tdm_api_dev_t *tdm_api, struct ifreq *ifr)
wanpipe_codec_ops_t *wp_codec_ops;
netskb_t *skb;
wan_event_ctrl_t event_ctrl;
sdla_t *card = (sdla_t*)tdm_api->card;
utdmapi = (wanpipe_tdm_api_cmd_t*)ifr->ifr_data;
@ -1299,6 +1300,24 @@ int wanpipe_tdm_api_ioctl(wanpipe_tdm_api_dev_t *tdm_api, struct ifreq *ifr)
}
break;
case SIOC_WP_TDM_ENABLE_HWEC:
if (card->wandev.ec_enable) {
wan_smp_flag_t smp_flags1;
card->hw_iface.hw_lock(card->hw,&smp_flags1);
card->wandev.ec_enable(card, 1, tdm_api->tdm_chan-1);
card->hw_iface.hw_unlock(card->hw,&smp_flags1);
}
break;
case SIOC_WP_TDM_DISABLE_HWEC:
if (card->wandev.ec_enable) {
wan_smp_flag_t smp_flags1;
card->hw_iface.hw_lock(card->hw,&smp_flags1);
card->wandev.ec_enable(card, 0, tdm_api->tdm_chan-1);
card->hw_iface.hw_unlock(card->hw,&smp_flags1);
}
break;
case SIOC_WP_TDM_SET_EC_TAP:
switch (usr_tdm_api.ec_tap){

View File

@ -1,2 +1,2 @@
/root/development/3.1.X/wanpipe-3.1.2/patches/kdrivers/wanec/wanec.ko
/root/development/3.1.X/wanpipe-3.1.2/patches/kdrivers/wanec/wanec_iface.o /root/development/3.1.X/wanpipe-3.1.2/patches/kdrivers/wanec/wanec_cmd.o /root/development/3.1.X/wanpipe-3.1.2/patches/kdrivers/wanec/wanec_utils.o /root/development/3.1.X/wanpipe-3.1.2/patches/kdrivers/wanec/wanec_dev.o /root/development/3.1.X/wanpipe-3.1.2/patches/kdrivers/wanec/oct6100_api/apilib/bt/octapi_bt0.o /root/development/3.1.X/wanpipe-3.1.2/patches/kdrivers/wanec/oct6100_api/apilib/largmath/octapi_largmath.o /root/development/3.1.X/wanpipe-3.1.2/patches/kdrivers/wanec/oct6100_api/apilib/llman/octapi_llman.o /root/development/3.1.X/wanpipe-3.1.2/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_apimi/oct6100_mask_interrupts.o /root/development/3.1.X/wanpipe-3.1.2/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_adpcm_chan.o /root/development/3.1.X/wanpipe-3.1.2/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_channel.o /root/development/3.1.X/wanpipe-3.1.2/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_chip_open.o /root/development/3.1.X/wanpipe-3.1.2/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_chip_stats.o /root/development/3.1.X/wanpipe-3.1.2/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_conf_bridge.o /root/development/3.1.X/wanpipe-3.1.2/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_debug.o /root/development/3.1.X/wanpipe-3.1.2/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_events.o /root/development/3.1.X/wanpipe-3.1.2/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_interrupts.o /root/development/3.1.X/wanpipe-3.1.2/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_memory.o /root/development/3.1.X/wanpipe-3.1.2/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_miscellaneous.o /root/development/3.1.X/wanpipe-3.1.2/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_mixer.o /root/development/3.1.X/wanpipe-3.1.2/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_phasing_tsst.o /root/development/3.1.X/wanpipe-3.1.2/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_playout_buf.o /root/development/3.1.X/wanpipe-3.1.2/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_remote_debug.o /root/development/3.1.X/wanpipe-3.1.2/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_tlv.o /root/development/3.1.X/wanpipe-3.1.2/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_tone_detection.o /root/development/3.1.X/wanpipe-3.1.2/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_tsi_cnct.o /root/development/3.1.X/wanpipe-3.1.2/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_tsst.o /root/development/3.1.X/wanpipe-3.1.2/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_user.o
/root/development/3.1.X/wanpipe-3.1.3/patches/kdrivers/wanec/wanec.ko
/root/development/3.1.X/wanpipe-3.1.3/patches/kdrivers/wanec/wanec_iface.o /root/development/3.1.X/wanpipe-3.1.3/patches/kdrivers/wanec/wanec_cmd.o /root/development/3.1.X/wanpipe-3.1.3/patches/kdrivers/wanec/wanec_utils.o /root/development/3.1.X/wanpipe-3.1.3/patches/kdrivers/wanec/wanec_dev.o /root/development/3.1.X/wanpipe-3.1.3/patches/kdrivers/wanec/oct6100_api/apilib/bt/octapi_bt0.o /root/development/3.1.X/wanpipe-3.1.3/patches/kdrivers/wanec/oct6100_api/apilib/largmath/octapi_largmath.o /root/development/3.1.X/wanpipe-3.1.3/patches/kdrivers/wanec/oct6100_api/apilib/llman/octapi_llman.o /root/development/3.1.X/wanpipe-3.1.3/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_apimi/oct6100_mask_interrupts.o /root/development/3.1.X/wanpipe-3.1.3/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_adpcm_chan.o /root/development/3.1.X/wanpipe-3.1.3/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_channel.o /root/development/3.1.X/wanpipe-3.1.3/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_chip_open.o /root/development/3.1.X/wanpipe-3.1.3/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_chip_stats.o /root/development/3.1.X/wanpipe-3.1.3/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_conf_bridge.o /root/development/3.1.X/wanpipe-3.1.3/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_debug.o /root/development/3.1.X/wanpipe-3.1.3/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_events.o /root/development/3.1.X/wanpipe-3.1.3/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_interrupts.o /root/development/3.1.X/wanpipe-3.1.3/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_memory.o /root/development/3.1.X/wanpipe-3.1.3/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_miscellaneous.o /root/development/3.1.X/wanpipe-3.1.3/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_mixer.o /root/development/3.1.X/wanpipe-3.1.3/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_phasing_tsst.o /root/development/3.1.X/wanpipe-3.1.3/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_playout_buf.o /root/development/3.1.X/wanpipe-3.1.3/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_remote_debug.o /root/development/3.1.X/wanpipe-3.1.3/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_tlv.o /root/development/3.1.X/wanpipe-3.1.3/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_tone_detection.o /root/development/3.1.X/wanpipe-3.1.3/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_tsi_cnct.o /root/development/3.1.X/wanpipe-3.1.3/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_tsst.o /root/development/3.1.X/wanpipe-3.1.3/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_user.o

View File

@ -51,4 +51,4 @@ __attribute__((section(".modinfo"))) =
"depends=";
MODULE_INFO(srcversion, "0676CCD0353D547AE63829B");
MODULE_INFO(srcversion, "3F518EE5B16E643E85FE299");

View File

@ -871,7 +871,7 @@ int wanec_ChannelOpen(wan_ec_dev_t *ec_dev, wan_ec_api_t *ec_api)
EchoChannelOpen.VqeConfig.fAcousticEcho = TRUE;
#endif
EchoChannelOpen.VqeConfig.fSoutAdaptiveNoiseReduction = TRUE;
EchoChannelOpen.VqeConfig.fSoutAdaptiveNoiseReduction = FALSE;
EchoChannelOpen.VqeConfig.ulComfortNoiseMode =
cOCT6100_COMFORT_NOISE_NORMAL;
/* cOCT6100_COMFORT_NOISE_NORMAL

View File

@ -1,6 +1,6 @@
%define WANPIPE_VER wanpipe-modules
%define name %{WANPIPE_VER}
%define version 3.1.2
%define version 3.1.3
%define release 0
%define serial 1
%define MODULES_DIR /lib/modules
@ -50,6 +50,17 @@ echo "Wanpipe Modules located in %{MODULES_DIR}/%{KVERSION}"
%changelog
* Mon Jun 30 2007 Nenad Corbic <ncorbic@sangoma.com> - Beta - 3.1.3
====================================================================
- Update to Ocatsic Hardware Echo Canceler Library
Turned of the NOISE suppression because it can interfere
with faxes. If you faxes did not work properly on 3.1.2
release they will work fine with this one.
- Cleaned up the Setup installation script.
* Mon Jun 16 2007 Nenad Corbic <ncorbic@sangoma.com> - Beta - 3.1.2
====================================================================

View File

@ -1,7 +1,7 @@
%define KERNEL_VERSION %{?kern_ver}
%define WANPIPE_VER wanpipe-util
%define name %{WANPIPE_VER}
%define version 3.1.2
%define version 3.1.3
%define release 0
%define serial 1
%define UTILS_DIR /usr/sbin
@ -244,6 +244,17 @@ install_init;
%changelog
* Mon Jun 30 2007 Nenad Corbic <ncorbic@sangoma.com> - Beta - 3.1.3
====================================================================
- Update to Ocatsic Hardware Echo Canceler Library
Turned of the NOISE suppression because it can interfere
with faxes. If you faxes did not work properly on 3.1.2
release they will work fine with this one.
- Cleaned up the Setup installation script.
* Mon Jun 16 2007 Nenad Corbic <ncorbic@sangoma.com> - Beta - 3.1.2
====================================================================

View File

@ -1,7 +1,7 @@
%define KERNEL_VERSION %{?kern_ver}
%define WANPIPE_VER wanpipe
%define name %{WANPIPE_VER}
%define version 3.1.2
%define version 3.1.3
%define release 0
%define serial 1
%define UTILS_DIR /usr/sbin
@ -252,6 +252,17 @@ install_init;
%changelog
* Mon Jun 30 2007 Nenad Corbic <ncorbic@sangoma.com> - Beta - 3.1.3
====================================================================
- Update to Ocatsic Hardware Echo Canceler Library
Turned of the NOISE suppression because it can interfere
with faxes. If you faxes did not work properly on 3.1.2
release they will work fine with this one.
- Cleaned up the Setup installation script.
* Mon Jun 16 2007 Nenad Corbic <ncorbic@sangoma.com> - Beta - 3.1.2
====================================================================

View File

@ -1883,7 +1883,7 @@ WANPIPE_IS_RUNNING=/var/run/wanpipe_is_running
RUGGEDCOM=No
if [ $OSYSTEM = "Linux" ]; then
ROUTER_VERSION=3.1.2
ROUTER_VERSION=3.1.3
IFCONFIG_LIST=ifconfig
MODULE_STAT=lsmod
WAN_DRIVERS="wanpipe"

View File

@ -1,14 +1,14 @@
8
dir
223
229
svn://sangoma.freeswitch.org/sangoma_mgd/trunk
svn://sangoma.freeswitch.org
2007-07-10T21:28:58.437367Z
223
2007-07-20T19:21:42.003810Z
229
ncorbic
@ -45,10 +45,10 @@ file
2007-07-10T21:31:04.000000Z
f60c7e21ea28daf62933e5fa55fac387
2007-06-14T04:08:55.484670Z
208
2007-07-23T23:25:16.000000Z
f0d1e64dfdd9aca476aeafd3b570c083
2007-07-17T15:22:17.602452Z
227
ncorbic
switch_buffer.h
@ -94,10 +94,10 @@ file
2007-07-10T21:31:14.000000Z
3693a07162575b55f4c9fcd4126b21d8
2007-07-10T21:28:58.437367Z
223
2007-07-23T23:25:16.000000Z
84567dd982c2bdb74af41df805eb268b
2007-07-17T15:19:15.442273Z
226
ncorbic
callgettest.sh
@ -137,10 +137,10 @@ file
2007-07-10T21:31:14.000000Z
9aa3a4dddd5f60be4c78e08d3e37c87c
2007-06-14T04:08:55.484670Z
208
2007-07-23T23:25:16.000000Z
d284fd9aab77a95945af9695cb6fd4ee
2007-07-20T19:21:42.003810Z
229
ncorbic
has-props
@ -187,10 +187,10 @@ file
2007-07-10T21:31:14.000000Z
c940a7db93c8066de876e98328747594
2007-07-10T21:28:10.949071Z
222
2007-07-23T23:25:16.000000Z
c166673b9c95cda1e0532604823bff15
2007-07-13T17:00:55.307391Z
225
ncorbic
call_signal.h
@ -263,9 +263,9 @@ file
2007-07-10T21:31:14.000000Z
afc38981b543b562f5262e9b1b16836a
2007-06-14T04:19:34.594824Z
212
2007-07-23T23:25:16.000000Z
7c7960df26248041751d427e62d7ba25
2007-07-17T15:22:31.637247Z
228
ncorbic

View File

@ -15,7 +15,7 @@
SMG_DTMF=YES
CC = gcc
INCLUDES = -I/lib/modules/$(shell uname -r)/build/include -I. -I/usr/local/include -I../../patches/kdrivers/include
INCLUDES = -I/lib/modules/$(shell uname -r)/build/include -I. -I/usr/local/include -I../../patches/kdrivers/include -I/usr/include/wanpipe
CFLAGS = -D__LINUX__ -D_REENTRANT -D_GNU_SOURCE -O6 -march=i686
CCFLAGS = -Wall -Wstrict-prototypes -Wmissing-prototypes -g
LDFLAGS=-L. -L/usr/local/lib -lpthread -lsangoma -lm

Some files were not shown because too many files have changed in this diff Show More