提交 d99c7f9e authored 作者: Anthony Minessale's avatar Anthony Minessale

add a local copy of libsangoma

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4740 d0543943-73ff-0310-b7d9-9358b9ac24b2
上级 5feaf19e
All TDM API Instructions located on Sangoma Wiki
http://wiki.sangoma.com
Wanpipe TDM API Section
AM_CFLAGS = -fPIC -Wall -Wstrict-prototypes -Wmissing-prototypes -g -I/usr/src/linux/include -I. \
-D__LINUX__ -D_REENTRANT -D_GNU_SOURCE -O2 -D_DEBUG_=2 -D_GNUC_ -DWANPIPE_TDM_API -I../lib -I/usr/src/linux/include
LIB_SOURCES = libsangoma.c libsangoma.h
if LIBPRI
LIB_SOURCES += sangoma_pri.c sangoma_pri.h
endif
library_includedir = $(includedir)
library_include_HEADERS = libsangoma.h
if LIBPRI
library_include_HEADERS += sangoma_pri.h
endif
lib_LTLIBRARIES = libsangoma.la
libsangoma_la_CFLAGS = $(AM_CFLAGS)
libsangoma_la_LDFLAGS = -version-info 1:0:0
if LIBPRI
libsangoma_la_CFLAGS += -I$(libpripath)
libsangoma_la_LDFLAGS += -L$(libpripath) -lpri
endif
libsangoma_la_SOURCES = $(LIB_SOURCES)
lib_LIBRARIES = libsangoma.a
libsangoma_a_CFLAGS = $(AM_CFLAGS)
libsangoma_a_SOURCES = $(LIB_SOUCES)
* Needs wanpipe beta2-2.3.4 or higher to compile.
It can be downloaded here. Its still in beta.
ftp.sangoma.com/linux/current_wanpipe/wanpipe-beta2-2.3.4.tgz
===============================================================
The TDM API is only supported from wanpipe release:
wanpipe-beta2-2.3.4.tgz
Pleaes refer to Install/Config Instructions on
Sangoma Wiki: http://sangoma.editme.com
===============================================================
Wanpipe TDM Voice API Solution contains the following:
1. Wanpipe Driver
TDM Voice API is only supported in BETA release.
2. Wanpipe API Library: libsangoma
Already included in above release.
Wanpipe TDM Voice API is currently supported on:
1. AFT A101/A102/A104
2. AFT A104D (Working without hw echo support)
3. AFT A200 Analog (Coming soon)
Wanpipe Package Installation
1. Untar BETA release or greater
2. Run ./Setup install
3. Choose all default parameters
4. Compilation Mode:
Choose DEFAULT (No zaptel drivers needed)
or
Choose TDM (If some spans bind to zaptel)
5. Proceed with default parameters.
Wanpipe Package Configuration
There is no wancfg support yet for TDM API. Please used attached samples.
1. Please copy the following wanpipe config file into
your /etc/wanpipe directory: wanpipe1.conf
2. If you have multiple AFT cards in your machine please edit the
wanpipe1.conf and set the appropriate PCISLOT, PCIBUS
values and disable AUTOPCI option.
3. To support multiple ports copy wanpipe1.conf into wanpipe2.conf and change:
string wanpipe1 to string wanpipe2
string w1 to string w2
TDMV_SPAN to next span.
FE_LINE to AFT port number.
Please refer to all comments inside the wanpipe#.conf file.
Wanpipe LibSangoma Installation
The LibSangoma is installed in /etc/wanpipe/api/libsangoma
1. cd /etc/wanpipe/api/libsangoma
2. ./configure
3. make
4. make install
5. Add library path /usr/local/include into /etc/ld.so.conf
6. Run ldconfig to accept /etc/ld.so.conf changes.
Wanpipe TDMAPI Sample Code
Sample code for tdm api is installed in /etc/wanpipe/api/tdm_api directory.
1. cd /etc/wanpipe/api/tdm_api
2. make
3. Read the README file on how to use sample applications
#! /bin/sh
# Wrapper for compilers which do not understand `-c -o'.
scriptversion=2004-10-12.08
# Copyright (C) 1999, 2000, 2003, 2004 Free Software Foundation, Inc.
# Written by Tom Tromey <tromey@cygnus.com>.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# This file is maintained in Automake, please report
# bugs to <bug-automake@gnu.org> or send patches to
# <automake-patches@gnu.org>.
case $1 in
'')
echo "$0: No command. Try \`$0 --help' for more information." 1>&2
exit 1;
;;
-h | --h*)
cat <<\EOF
Usage: compile [--help] [--version] PROGRAM [ARGS]
Wrapper for compilers which do not understand `-c -o'.
Remove `-o dest.o' from ARGS, run PROGRAM with the remaining
arguments, and rename the output as expected.
If you are trying to build a whole package this is not the
right script to run: please start by reading the file `INSTALL'.
Report bugs to <bug-automake@gnu.org>.
EOF
exit 0
;;
-v | --v*)
echo "compile $scriptversion"
exit 0
;;
esac
ofile=
cfile=
eat=
for arg
do
if test -n "$eat"; then
eat=
else
case $1 in
-o)
# configure might choose to run compile as `compile cc -o foo foo.c'.
# So we strip `-o arg' only if arg is an object.
eat=1
case $2 in
*.o | *.obj)
ofile=$2
;;
*)
set x "$@" -o "$2"
shift
;;
esac
;;
*.c)
cfile=$1
set x "$@" "$1"
shift
;;
*)
set x "$@" "$1"
shift
;;
esac
fi
shift
done
if test -z "$ofile" || test -z "$cfile"; then
# If no `-o' option was seen then we might have been invoked from a
# pattern rule where we don't need one. That is ok -- this is a
# normal compilation that the losing compiler can handle. If no
# `.c' file was seen then we are probably linking. That is also
# ok.
exec "$@"
fi
# Name of file we expect compiler to create.
cofile=`echo "$cfile" | sed -e 's|^.*/||' -e 's/\.c$/.o/'`
# Create the lock directory.
# Note: use `[/.-]' here to ensure that we don't use the same name
# that we are using for the .o file. Also, base the name on the expected
# object file name, since that is what matters with a parallel build.
lockdir=`echo "$cofile" | sed -e 's|[/.-]|_|g'`.d
while true; do
if mkdir "$lockdir" >/dev/null 2>&1; then
break
fi
sleep 1
done
# FIXME: race condition here if user kills between mkdir and trap.
trap "rmdir '$lockdir'; exit 1" 1 2 15
# Run the compile.
"$@"
ret=$?
if test -f "$cofile"; then
mv "$cofile" "$ofile"
elif test -f "${cofile}bj"; then
mv "${cofile}bj" "$ofile"
fi
rmdir "$lockdir"
exit $ret
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-end: "$"
# End:
/* config.h.in. Generated from configure.in by autoheader. */
/* Define to 1 if you have the <dlfcn.h> header file. */
#undef HAVE_DLFCN_H
/* Define to 1 if you have the <fcntl.h> header file. */
#undef HAVE_FCNTL_H
/* Define to 1 if you have the `gettimeofday' function. */
#undef HAVE_GETTIMEOFDAY
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
/* Define to 1 if you have the <libpri.h> header file. */
#undef HAVE_LIBPRI_H
/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
/* Define to 1 if you have the `memset' function. */
#undef HAVE_MEMSET
/* Define to 1 if you have the <netinet/in.h> header file. */
#undef HAVE_NETINET_IN_H
/* Define to 1 if you have the <pri_internal.h> header file. */
#undef HAVE_PRI_INTERNAL_H
/* Define to 1 if you have the `select' function. */
#undef HAVE_SELECT
/* Define to 1 if you have the `socket' function. */
#undef HAVE_SOCKET
/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H
/* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H
/* Define to 1 if you have the <strings.h> header file. */
#undef HAVE_STRINGS_H
/* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H
/* Define to 1 if you have the <sys/ioctl.h> header file. */
#undef HAVE_SYS_IOCTL_H
/* Define to 1 if you have the <sys/select.h> header file. */
#undef HAVE_SYS_SELECT_H
/* Define to 1 if you have the <sys/socket.h> header file. */
#undef HAVE_SYS_SOCKET_H
/* Define to 1 if you have the <sys/stat.h> header file. */
#undef HAVE_SYS_STAT_H
/* Define to 1 if you have the <sys/time.h> header file. */
#undef HAVE_SYS_TIME_H
/* Define to 1 if you have the <sys/types.h> header file. */
#undef HAVE_SYS_TYPES_H
/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
#undef HAVE_SYS_WAIT_H
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
/* Name of package */
#undef PACKAGE
/* Define to the address where bug reports for this package should be sent. */
#undef PACKAGE_BUGREPORT
/* Define to the full name of this package. */
#undef PACKAGE_NAME
/* Define to the full name and version of this package. */
#undef PACKAGE_STRING
/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME
/* Define to the version of this package. */
#undef PACKAGE_VERSION
/* Define to the type of arg 1 for `select'. */
#undef SELECT_TYPE_ARG1
/* Define to the type of args 2, 3 and 4 for `select'. */
#undef SELECT_TYPE_ARG234
/* Define to the type of arg 5 for `select'. */
#undef SELECT_TYPE_ARG5
/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#undef TIME_WITH_SYS_TIME
/* Version number of package */
#undef VERSION
# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.
AC_PREREQ(2.59)
AC_INIT(libsangoma, 1.0.0, anthmct@yahoo.com)
AM_INIT_AUTOMAKE(libsangoma,1.0.0)
# Checks for programs.
AC_PROG_CC
AC_PROG_LIBTOOL
AC_PROG_RANLIB
# Checks for libraries.
AC_CHECK_HEADERS(fcntl.h netinet/in.h stdlib.h string.h sys/ioctl.h sys/socket.h sys/time.h unistd.h math.h)
AC_ARG_WITH(libpri,
[ --with-libpri=<path> enable pri support],[libpripath="$withval"])
AM_CONDITIONAL([LIBPRI],[test -d "$libpripath" ])
AC_SUBST([libpripath])
# Checks for typedefs, structures, and compiler characteristics.
AC_HEADER_TIME
# Checks for library functions.
AC_FUNC_SELECT_ARGTYPES
AC_CHECK_FUNCS([gettimeofday memset select socket])
AC_CONFIG_FILES([Makefile])
AC_OUTPUT
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论