iax-2
This commit is contained in:
Vendored
+154
@@ -0,0 +1,154 @@
|
||||
=======================================================================
|
||||
BUILDING THE LIBRARY: (tested on Gentoo/Ubuntu/Windows XP/Windows 7)
|
||||
|
||||
* Linux:
|
||||
first Install dev tools (gcc, cmake, make, ..)
|
||||
sudo apt-get install build-essential cmake libopenal-dev libopenal1
|
||||
mkdir build/
|
||||
cd build/
|
||||
cmake ../lib
|
||||
make
|
||||
|
||||
- Iaxclient:
|
||||
cd lib
|
||||
mkdir build && cd build
|
||||
cmake ..
|
||||
make
|
||||
|
||||
=======================================================================
|
||||
BUILDING THE CLIENT
|
||||
|
||||
cd ..
|
||||
cd simpleclient
|
||||
make
|
||||
|
||||
=======================================================================
|
||||
LICENSES
|
||||
|
||||
|
||||
The iaxclient library itself, is provided under the terms of the LGPL:
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2 of the License, or (at your option) any later version.
|
||||
|
||||
This library 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
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this library; if not, write to the Free
|
||||
Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
|
||||
MA 02111-1307, USA
|
||||
|
||||
The iaxclient library may also include, when compiled, works distributed
|
||||
under other licenses. See those directories and source files for
|
||||
specifics. These include:
|
||||
|
||||
libiax: (c) 2001 Mark Spencer under the LGPL.
|
||||
libiax2: (c) 2001 Mark Spencer under the LGPL.
|
||||
gsm encoder: Copyright 1992, 1993, 1994 by Jutta Degener
|
||||
and Carsten Bormann, Technische Universitaet Berlin
|
||||
(free license, terms in gsm/copyright)
|
||||
portaudio: Copyright (c) 1999-2000 Ross Bencina and Phil Burk
|
||||
Modified BSD style license, in portaudio/LICENSE.txt
|
||||
|
||||
sox tools: compand.c: Copyright 1999 Chris Bagwell And
|
||||
Nick Bailey
|
||||
resample.c: (not currently used) Copyright 1991
|
||||
Lance Norskog And Sundry Contributors,
|
||||
free licenses in source files.
|
||||
libspeex: (c) various authors
|
||||
BSD-like license.
|
||||
|
||||
|
||||
=======================================================================
|
||||
CONTRIBUTORS:
|
||||
|
||||
IAXCLIENT itself was contributed to by:
|
||||
|
||||
Steve Kann <stevek@stevek.com>
|
||||
Shawn Lawrence <shawn.lawrence@terracecomm.com>
|
||||
Faizan "Tili" Naqvi <faizan@tilizone.com> [Win32 VC++ build/client]
|
||||
Scott Lambert <lambert@lambertfam.org> [FreeBSD build changes]
|
||||
Michael Van Donselaar <mvand@vandonselaar.org> [Win32/MinGW build directions, UI changes, IAXComm phone ]
|
||||
Steven Sokol <ssokol@sokol-associates.com> [ Debugging, Blind Transfer ]
|
||||
Stephan Kauss <Stephan@kauss.org> [ 32-bit alignment for IAX2 ]
|
||||
Stephen Uhler <suhler@sun.com> [Solaris build, tkiaxphone]
|
||||
Steve Underwood <steveu@coppice.org> [PLC implementation from spandsp]
|
||||
Jean-Denis Girard <jd.girard@sysnux.pf> [URL Receive implementation]
|
||||
Panfilov Dmitry <dima@bdpu.org> [Basic ALSA-native audio driver]
|
||||
Mihai Balea <mihai at hates dot ms>
|
||||
Bill Welch <welch1820 at gmail dot com> [Project files for several MS development environments]
|
||||
|
||||
|
||||
In addition to including libiax, IAXCLIENT is also based in part on code
|
||||
included in test clients within libiax itself.
|
||||
|
||||
The included sub-libraries, including libiax, libiax2, gsm, portaudio,
|
||||
and the sox-derived filters, were developed by others, as noted in above
|
||||
and in their sources. We couldn't have built IAXCLIENT (or, it would
|
||||
have been much more difficult!) without the great work from these
|
||||
projects.
|
||||
|
||||
=======================================================================
|
||||
LIBRARY ORGANIZATION/DESIGN/CODING CONVENTION NOTES
|
||||
|
||||
The iaxclient library is designed to be a small, simple library that
|
||||
encapsulates all that you need in order to make IAX protocol telephony
|
||||
programs.
|
||||
|
||||
All exported symbols should be prefixed with "iaxc_", to avoid namespace
|
||||
collisions/pollution in programs using this library.
|
||||
|
||||
The header file "iaxclient.h" should contain those declarations needed
|
||||
by client programs, but not rely on other headers (i.e. those from
|
||||
included libraries). The "iaxclient-lib.h" header file is the main
|
||||
header file for the library's internal declarations.
|
||||
|
||||
|
||||
=========================================================================
|
||||
|
||||
CODECS
|
||||
|
||||
The codec API is pretty straightforward; just use any of the existing
|
||||
available codecs as a guide. The only place in the main code they
|
||||
interface is the switch in audio_encode.c:create_codec
|
||||
|
||||
ILBC
|
||||
|
||||
Lots of people are enamored with iLBC lately, so I put this together for
|
||||
them. Personally, I prefer speex, because it seems to sound just as
|
||||
good, but has no license restrictions. With proper compilation options
|
||||
(i.e. use it's SSE optimizations), it can be made even faster than the
|
||||
iLBC reference.
|
||||
|
||||
There is glue to build iaxclient with iLBC available in the source, but
|
||||
the source to iLBC itself is _not_ included. This is primarily because
|
||||
of the licensing issues.
|
||||
|
||||
I'm not a lawyer, but it appears that iLBC's license would make it
|
||||
impossible to build iaxclient and link it with a GPL front-end, meaning
|
||||
a library built this way is no longer something that could be considered
|
||||
LGPL. However, you could probably build a client using iLBC and
|
||||
distribute it legally, if you follow the rules in the LGPL. So, this is
|
||||
an issue for you and your legal counsel to figure out.
|
||||
|
||||
To actually build iaxclient with iLBC, though is very easy. Just make a
|
||||
directory under lib named iLBC, and drop the iLBC reference sources into
|
||||
it, then change CODEC_ILBC=0 to CODEC_ILBC=1 in the Makefile, and away
|
||||
you go.
|
||||
|
||||
The source presently is set up for the draft-5 version.
|
||||
|
||||
The iLBC license and software can be found here
|
||||
http://www.ilbcfreeware.org/software.html
|
||||
(sources are also in asterisk).
|
||||
|
||||
=========================================================================
|
||||
|
||||
AUDIO DRIVERS
|
||||
|
||||
Use alsa
|
||||
Reference in New Issue
Block a user