Licensing
The SOFTWARE
PJSIP software ("The SOFTWARE") consists of:
| pjlib |
A cross-platforms portability and framework library, |
| pjlib-util |
An adjunct library to pjlib which provides various utility functions, |
| pjnath |
A NAT traversal helper library, |
| pjmedia |
A multimedia communications library, |
| pjmedia-codec |
A placeholder library to support various multimedia codecs, |
| pjsip |
A SIP protocol stack collections. |
and any and all build scripts, makefiles, tools, samples, and/or applications available and/or
required to use or modify such software.
The SOFTWARE may provide links to third party libraries or code (collectively "Third Party Software") to implement various functions, and access to Third Party Software may be included along with the SOFTWARE delivery as a convenience. Third Party Software does not comprise part of the SOFTWARE.
License
The SOFTWARE is released under dual license, open source (GPL) or alternative license.
The SOFTWARE may be used according to Free Software GNU General Public License (GPL) version 2, or (at your option) any later version, with special exception to permit linking with some Open Source Third Party libraries set out below.
The GPL allows you to compile, modify, link, or combine the SOFTWARE with other software, commercial or non-commercial, as long as the resulting program complies with GPL. Copy of GNU General Public License is available on the http://www.gnu.org. More information about GPL can be found in GPL FAQ.
Alternative License
If you can't comply with GPL, an alternative licensing scheme may be arranged.
Special Exception
As a special exception to GPL, the author of the SOFTWARE gives permission to link the SOFTWARE with Open Source Third Party Software below, and distribute the linked combinations. GNU General Public License must be obeyed in all respects for all of the code used other than those Third Party Software.
Third Party Licensing Requirements
In addition to the licensing requirements of the SOFTWARE, you must make sure that your software meets the licensing requirements of the third party libraries below. Some third party libraries may require attributions to be placed in the software, significant portion of the software, and/or in the accompanying documentation.
Older Version
Older PJSIP (the 0.2.9.x series) was released under GNU Lesser
General Public License (LGPL), and it would
stay this way.
Third Party Software
The SOFTWARE may provide links to third party libraries or code (collectively "Third Party Software") to implement various functions, and access to Third Party Software may be included along with the SOFTWARE delivery as a convenience. Third Party Software does not comprise part of the SOFTWARE.
The use of Third Party Software may or may not be made optional (depending on the nature of the software).
Contributed and Public Domain Third Party Software
Contributed and Public Domain Third Party Software below can be used according to the SOFTWARE licenses, without no further restrictions.
ACE Timer Heap
- Software
Timer heap management of Adaptive Communication Framework (ACE) Library
- Author
Douglas C. Schmidt and his research group at Washington University, University of California, Irvine, and Vanderbilt University, Copyright (c) 1993-2006, all rights reserved
- Location
pjlib/timer.[hc]
- Description
The timer heap in PJLIB was based on ACE's Timer_Heap
- License
Permissions have been obtained from the copyright holder/original author (Douglas C. Schmidt) to use and redistribute this code according to the SOFTWARE licenses. You may, at your option, opt to use ACE license for this particular software.
- Using the Software
This code is integral part of the library and can not be disabled.
Alaw/Ulaw Converter
- Software
Alaw/ulaw conversion algorithm
- Author
Sun Microsystems, Inc
- Location
pjmedia/alaw_ulaw.c
- Description
-
PJMEDIA uses G.711 algorithm from Sun Microsystems, Inc.
- License
-
This source code is a product of Sun Microsystems, Inc. and is provided
for unrestricted use. Users may copy or modify this source code without
charge.
SUN SOURCE CODE IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING
THE WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
Sun source code is provided with no support and without any obligation on
the part of Sun Microsystems, Inc. to assist in its use, correction,
modification or enhancement.
SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY THIS SOFTWARE
OR ANY PART THEREOF.
In no event will Sun Microsystems, Inc. be liable for any lost revenue
or profits or other special, indirect and consequential damages, even if
Sun has been advised of the possibility of such damages.
Sun Microsystems, Inc.
2550 Garcia Avenue
Mountain View, California 94043
- Using the Software
This software is not used by default unless PJMEDIA_HAS_ALAW_ULAW_TABLE is disabled. When PJMEDIA_HAS_ALAW_ULAW_TABLE is enabled (the default setting), a table based alaw/ulaw conversion will be used instead.
CRC32 Algorithm
- Software
CRC32 algorithm
- Author
-
- Location
pjlib-util/crc32.c
- License
This software is put in public domain, and can be used for any purpose with no warranty:
This is an implementation of CRC32. See ISO 3309 and ITU-T V.42
for a formal specification
This file is partly taken from Crypto++ library (http://www.cryptopp.com)
and http://www.di-mgt.com.au/crypto.html#CRC.
Since the original version of the code is put in public domain,
this file is put on public domain as well.
- Using the Software
This code is needed by the STUN implementation in PJNATH and can not be disabled.
MD5 Hashing Algorithm
- Software
MD5 hashing implementation
- Author
Written by Colin Plumb in 1993 based on MD5 algorithm by Ron Rivest, no copyright is claimed.
- Location
pjlib-util/md5.c
- Description
MD5 hashing for digest authentication.
- License
This software is put in public domain, and can be used for any purpose with no warranty:
This code implements the MD5 message-digest algorithm.
The algorithm is due to Ron Rivest. This code was
written by Colin Plumb in 1993, no copyright is claimed.
This code is in the public domain; do with it what you wish.
Equivalent code is available from RSA Data Security, Inc.
This code has been tested against that, and is equivalent,
except that you don't need to include two pages of legalese
with every copy.
To compute the message digest of a chunk of bytes, declare an
MD5Context structure, pass it to MD5Init, call MD5Update as
needed on buffers full of bytes, and then call MD5Final, which
will fill a supplied 16-byte array with the digest.
- Using the Software
This code is needed by SIP digest authentication procedure, and can not be disabled.
SHA1 Encryption
- Software
SHA1 encryption
- Authors
Steve Reid, James H. Brown, Saul Kravitz, Ralph Giles
- Location
pjlib-util/sha1.c
- License
This software is put in public domain, and can be used for any purpose with no warranty:
SHA-1 in C
By Steve Reid
100% Public Domain
-----------------
Modified 7/98
By James H. Brown
Still 100% Public Domain
-----------------
Modified 4/01
By Saul Kravitz
Still 100% PD
Modified to run on Compaq Alpha hardware.
-----------------
Modified 07/2002
By Ralph Giles
Still 100% public domain
- Using the Software
This code is needed by the STUN implementation in PJNATH and can not be disabled.
Third Party Software with Licensing Requirements
The use of Third Party Software below will require compliance of the licensing requirements of the Third Party Software. You must make sure that your software meets the licensing requirements of the third party libraries below. Some third party libraries may require attributions to be placed in the software, significant portion of the software, and/or in the accompanying documentation.
GNU Getopt
- Software
Command line parsing library, part of GNU LIBC
- Author
Copyright (C) 1987,88,89,90,91,92,93,94,96,97 Free Software Foundation, Inc.
- Location
pjlib-util/getopt.[hc]
- Description
Optional command line parsing library, included in pjlib-util. This normally is only used by console programs.
- License
Distributed under opensource GNU LGPL.
- Using the Software
This code will only be linked if applications explicitly call pj_getopt() or pj_getopt_long(). Normally application doesn't need to use this, since this functionality is useful for command line/console types of applications only.
PortAudio
- Software
Cross platform audio device abstraction (http://www.portaudio.com)
- Author
Based on the Open Source API proposed by Ross Bencina,
Copyright (c) 1999-2000 Phil Burk
- Location
third_party/portaudio/
- Description
PortAudio is used as default sound device backend on Windows, Linux/Unix and MacOS X target.
- License
-
PortAudio is an open source project distributed under the following terms:
Based on the Open Source API proposed by Ross Bencina
Copyright (c) 1999-2000 Phil Burk
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files
(the "Software"), to deal in the Software without restriction,
including without limitation the rights to use, copy, modify, merge,
publish, distribute, sublicense, and/or sell copies of the Software,
and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
- Using the Software
The use of this software is controlled by PJMEDIA_SOUND_IMPLEMENTATION macro setting in pjmedia/config.h, and can be overriden by application.
Resample
- Software
High Quality Sample Rate Conversion
- Location
third_party/resample/
- Description
-
PJMEDIA uses resample-1.7.tar.gz from
Digital Audio Resampling Home Page.
Some excerpts from the original source codes:
HISTORY
The first version of this software was written by Julius O. Smith III
<jos@ccrma.stanford.edu> at CCRMA <http://www-ccrma.stanford.edu> in
1981. It was called SRCONV and was written in SAIL for PDP-10
compatible machines. The algorithm was first published in
Smith, Julius O. and Phil Gossett. ``A Flexible Sampling-Rate
Conversion Method,'' Proceedings (2): 19.4.1-19.4.4, IEEE Conference
on Acoustics, Speech, and Signal Processing, San Diego, March 1984.
An expanded tutorial based on this paper is available at the Digital
Audio Resampling Home Page given above.
Circa 1988, the SRCONV program was translated from SAIL to C by
Christopher Lee Fraley working with Roger Dannenberg at CMU.
Since then, the C version has been maintained by jos.
Sndlib support was added 6/99 by John Gibson <jgg9c@virginia.edu>.
The resample program is free software distributed in accordance
with the Lesser GNU Public License (LGPL). There is NO warranty; not
even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- License
This software is distibuted under opensource GNU LGPL terms.
- Using the Software
The resampling software is enabled by default is used by the conference bridge. Define PJMEDIA_HAS_SMALL_FILTER=0 and PJMEDIA_HAS_LARGE_FILTER=0 to disable this software.
Adaptive Silence Detection
- Software
Adaptive Silence Detection
- Author
OpenH323 Project
- Location
pjmedia/silencedet.[hc]
- Description
-
The adaptive silence detector was based on adaptive silence detector implementation in Open H423 project.
- License
This software is distributed under opensource Mozilla MPL terms:
Open H423 Library
Copyright (c) 1998-2000 Equivalence Pty. Ltd.
The contents of this file are subject to the Mozilla Public License
Version 1.0 (the "License"); you may not use this file except in
compliance with the License. You may obtain a copy of the License at
http://www.mozilla.org/MPL/
Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
the License for the specific language governing rights and limitations
under the License.
The Original Code is Open H423 Library.
The Initial Developer of the Original Code is Equivalence Pty. Ltd.
Portions of this code were written with the assisance of funding from
Vovida Networks, Inc. http://www.vovida.com.
- Using the Software
This software is used by various codecs and also by the conference bridge, and can not be disabled.
GSM Codec 06.10
- Software
GSM 06.10 Software Library.
- Author
Copyright 1992, 1993, 1994 by Jutta Degener and Carsten Bormann, Technische Universitaet Berlin
- Location
third_party/gsm/
- Description
-
PJMEDIA includes uses GSM 06.10 version 1.0 at patchlevel 12
- License
Free to use with no warranty:
Copyright 1992, 1993, 1994 by Jutta Degener and Carsten Bormann,
Technische Universitaet Berlin
Any use of this software is permitted provided that this notice is not
removed and that neither the authors nor the Technische Universitaet Berlin
are deemed to have made any representations as to the suitability of this
software for any purpose nor are held responsible for any defects of
this software. THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE.
As a matter of courtesy, the authors request to be informed about uses
this software has found, about bugs in this software, and about any
improvements that may be of general interest.
Berlin, 28.11.1994
Jutta Degener
Carsten Bormann
- Using the Software
This software will only be linked if application explicitly initialize the GSM library by calling pjmedia_codec_gsm_init(). Furthermore, it can be explicitly disabled from the link process by defining PJMEDIA_HAS_GSM_CODEC to zero.
Speex
- Software
- Speex Codec
- Speex accoustic echo cancellation
- Speex sampling rate conversion
- Author
http://www.speex.org
- Location
third_party/speex/
- Description
-
PJMEDIA uses Speex codec version 1.1.12. Speex is a high quality, Open source, patent free codec implementation developed by open source community.
- License
Speex is distributed under the following free license:
Copyright 2002-2005
Xiph.org Foundation
Jean-Marc Valin
David Rowe
EpicGames
Analog Devices
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
- Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
- Neither the name of the Xiph.org Foundation nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- Using the Software
Speex codec: this software will only be linked if application explicitly initialize the Speex library by calling pjmedia_codec_speex_init(). Furthermore, it can be explicitly disabled from the link process by defining PJMEDIA_HAS_SPEEX_CODEC to zero.
Speex AEC: Speex accoustic echo cancellation is enabled by default for the sound device. Application can disable this by setting PJMEDIA_HAS_SPEEX_AEC to zero.
Speex sample rate converter: Speex sample rate converter is only used when PJMEDIA_HAS_SPEEX_RESAMPLE macro is set to non-zero. The default is disabled.
iLBC Codec
- Software
iLBC Audio Codec
- Author
Global IP Sound, http://www.ilbcfreeware.org
- Location
third_party/ilbc/
- Description
PJMEDIA supports iLBC codec, and iLBC codec implementation is included in PJMEDIA source distribution.
- License
The use of iLBC requires permission from Global IP Sound, http://www.ilbcfreeware.org. Please see http://www.ilbcfreeware.org/documentation/gips_iLBClicense.pdf for iLBC licensing details.
- Using the Software
This software will only be linked if application explicitly initialize the iLBC library by calling pjmedia_codec_ilbc_init(). Furthermore, it can be explicitly disabled from the link process by defining PJMEDIA_HAS_ILBC_CODEC to zero.
OpenSSL
- Software
SSL/TLS encryption and transport
- Author
http://www.openssl.org
- Location
external
- Description
-
PJSIP may be linked with OpenSSL to enable SIP TLS transport.
- License
Please see OpenSSL License
- Using the Software
SIP TLS transport is disabled by default, and application must enable SIP TLS transport manually by declaring PJSIP_HAS_TLS_TRANSPORT to 1 in config_site.h. OpenSSL library must be installed in order to build SIP TLS transport.
The OpenSSL library itself is not included in PJSIP distribution. With the GNU build system, the configure script will detect the presence of OpenSSL library automatically. On Windows, application must add OpenSSL include and lib paths in Visual Studio directory search paths.
Milenage and Rijndael
- Software
Milenage
- Author
The implementation was taken from 3GPP TS 35.206 V7.0.0 document.
- Location
third_party/milenage/
- Description
Milenage algorithm is used for AKAv1-MD5 and AKAv2 SIP digest authentication.
- License
Please consult 3GPP TS documents.
- Using the Software
The Milenage and Rijndael implementation will only be linked with application if AKA authentication is used and application explicitly calls or makes reference to pjsip_auth_create_aka_response() function.
libSRTP
- Software
libSRTP
- Author
David A. McGrew, Cisco Systems, Inc.
- Location
third_party/srtp/
- Description
libSRTP implements Secure RTP/RTCP (SRTP and SRTCP).
- License
libSRTPis distributed under the following free license:
/*
*
* Copyright (c) 2001-2006 Cisco Systems, Inc.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the following
* disclaimer in the documentation and/or other materials provided
* with the distribution.
*
* Neither the name of the Cisco Systems, Inc. nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
* OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
Please consult 3GPP TS documents.
- Using the Software
Copy of libSRTP is included in PJSIP distribution, and it is built by default on all supported platforms. SRTP functionality is also enabled by default. If you wish to disable SRTP, declare PJMEDIA_HAS_SRTP macro to zero.
|
|