Giter Club home page Giter Club logo

belle-sip's Introduction

pipeline status

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

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_TESTS=NO : disable non-regression tests.
  • ENABLE_STRICT=NO : build without strict build options like -Wall -Werror
  • ENABLE_SHARED=NO : do not build the shared library
  • ENABLE_STATIC=NO : do not build the static library

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--.tar.gz

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.