belle-sip
belle-sip copied to clipboard
Linphone.org mirror for belle-sip (git://git.linphone.org/belle-sip.git)
Belle-sip
Overview
Belle-sip is a modern library implementing SIP (RFC3261) transport, transaction and dialog layers. It is written in C, with an object oriented API. It also comprises a simple HTTP/HTTPS client implementation.
License
Copyright © Belledonne Communications
Belle-sip is dual licensed, and is available either :
-
under a GNU/GPLv3 license, for free (open source). Please make sure that you understand and agree with the terms of this license before using it (see LICENSE.txt file for details).
-
under a proprietary license, for a fee, to be used in closed source applications. Contact Belledonne Communications for any question about costs and services.
Features
- RFC3261 compliant implementation of SIP parser, writer, transactions and dialog layers.
- SIP transaction state machines with lastest updates (RFC6026).
- fully asynchronous transport layer (UDP, TCP, TLS), comprising DNS resolver (SRV, A, AAAA).
- full dual-stack IPv6 support.
- automatic management of request refreshes with network disconnection resiliency thanks to the "refresher" object.
- supported platforms: Linux, Mac OSX, windows XP+, iOS, Android, Blackberry 10.
- HTTP/HTTPS client implementation.
Dependencies
Build-time dependencies
These are required to generate a C sourcefile from SIP grammar using antlr3 generator:
Runtime dependencies
- libantlr3c version 3.2 or 3.4 - but its source is included in belle-sip, no need to install it.
- bctoolbox (git://git.linphone.org/bctoolbox.git or https://gitlab.linphone.org/BC/public/bctoolbox)
Building belle-sip with CMake
cmake .
make
make install
Generating the grammar sources
If you edit the .g files in the grammars directory you'll need to regenerate the sources.
cd src/antlr3c
./generate_grammar_sources.py
Build options
CMAKE_INSTALL_PREFIX=<string>: install prefix.CMAKE_PREFIX_PATH=<string>: column-separated list of prefixes where to find dependencies.ENABLE_STRICT=NO: build without strict build options like-Wall -WerrorENABLE_UNIT_TESTS=NO: disable non-regression tests.
Note for packagers
Our CMake scripts may automatically add some paths into research paths of generated binaries.
To ensure that the installed binaries are striped of any rpath, use -DCMAKE_SKIP_INSTALL_RPATH=ON
while you invoke cmake.
Rpm packaging
belle-sip can be generated with cmake3 using the following command:
mkdir WORK
cd WORK
cmake3 ../
make package_source
rpmbuild -ta --clean --rmsource --rmspec belle-sip-