Skip to content

Fork of baresip, modified for low latency and low bandwidth

Notifications You must be signed in to change notification settings

tjim/baresip-ll

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

README
------

Baresip is a portable and modular SIP User-Agent with audio and video support
Copyright (c) 2010 - 2013 Creytiv.com

Distributed under BSD license


Design goals:

* Minimalistic and modular VoIP client
* SIP, SDP, RTP/RTCP, STUN/TURN/ICE
* IPv4 and IPv6 support
* RFC-compliancy
* Robust, fast, low footprint
* Portable C89 and C99 source code


Modular Plugin Architecture:

alsa          ALSA audio driver
amr           Adaptive Multi-Rate (AMR) audio codec
audiounit     AudioUnit audio driver for MacOSX/iOS
auloop        Audio-loop test module
avcapture     Video source using iOS AVFoundation video capture
avcodec       Video codec using FFmpeg
avformat      Video source using FFmpeg libavformat
bv32          BroadVoice32 audio codec
cairo         Cairo video source
celt          CELT audio codec
cons          UDP console
contact       Contacts module
coreaudio     Apple Coreaudio driver
evdev         Linux input driver
g711          G.711 audio codec
g722          G.722 audio codec
g7221         G.722.1 audio codec
g726          G.726 audio codec
gsm           GSM audio codec
gst           Gstreamer audio source
ice           ICE protocol for NAT Traversal
ilbc          iLBC audio codec
isac          iSAC audio codec
l16           L16 audio codec
mda           Symbian Mediaserver audio driver
menu          Interactive menu
mwi           Message Waiting Indication
natbd         NAT Behavior Discovery Module
opengl        OpenGL video output
opengles      OpenGLES video output
opensles      OpenSLES audio driver
opus          OPUS Interactive audio codec
oss           Open Sound System (OSS) audio driver
plc           Packet Loss Concealment (PLC) using spandsp
portaudio     Portaudio driver
presence      Presence module
qtcapture     Apple QTCapture video source driver
quicktime     Apple Quicktime video source driver
rst           Radio streamer using mpg123
sdl           Simple DirectMedia Layer (SDL) video output driver
selfview      Video selfview module
silk          SILK audio codec
snapshot      Save video-stream as PNG images
sndfile       Audio dumper using libsndfile
speex         Speex audio codec
speex_aec     Acoustic Echo Cancellation (AEC) using libspeexdsp
speex_pp      Audio pre-processor using libspeexdsp
speex_resamp  Speex resampler (deprecated)
srtp          Secure RTP encryption
stdio         Standard input/output UI driver
stun          Session Traversal Utilities for NAT (STUN) module
syslog        Syslog module
turn          Obtaining Relay Addresses from STUN (TURN) module
uuid          UUID generator and loader
v4l           Video4Linux video source
v4l2          Video4Linux2 video source
vidloop       Video-loop test module
vpx           VP8/VPX video codec
vumeter       Display audio levels in console
winwave       Audio driver for Windows
x11           X11 video output driver
x11grab       X11 grabber video source


IETF RFC/I-Ds:

* RFC 2190  RTP Payload Format for H.263 Video Streams (Historic)
* RFC 2429  RTP Payload Format for 1998 ver of ITU-T Rec. H.263 Video (H.263+)
* RFC 3016  RTP Payload Format for MPEG-4 Audio/Visual Streams
* RFC 3711  The Secure Real-time Transport Protocol (SRTP)
* RFC 3856  A Presence Event Package for SIP
* RFC 3863  Presence Information Data Format (PIDF)
* RFC 3951  Internet Low Bit Rate Codec (iLBC)
* RFC 3952  RTP Payload Format for iLBC Speech
* RFC 3984  RTP Payload Format for H.264 Video
* RFC 4240  Basic Network Media Services with SIP (partly)
* RFC 4298  Broadvoice Speech Codecs
* RFC 4568  SDP Security Descriptions for Media Streams
* RFC 4574  The SDP Label Attribute
* RFC 4585  Extended RTP Profile for RTCP-Based Feedback (RTP/AVPF)
* RFC 4587  RTP Payload Format for H.261 Video Streams
* RFC 4629  RTP Payload Format for ITU-T Rec. H.263 Video
* RFC 4796  The SDP Content Attribute
* RFC 4867  RTP Payload Format for the AMR and AMR-WB Audio Codecs
* RFC 4961  Symmetric RTP / RTP Control Protocol (RTCP)
* RFC 5168  XML Schema for Media Control
* RFC 5574  RTP Payload Format for the Speex Codec
* RFC 5577  RTP Payload Format for ITU-T Recommendation G.722.1
* RFC 5626  Managing Client-Initiated Connections in SIP
* RFC 5761  Multiplexing RTP Data and Control Packets on a Single Port
* RFC 6263  App. Mechanism for Keeping Alive NAT Associated with RTP / RTCP
* RFC 6716  Definition of the Opus Audio Codec

* draft-valin-celt-rtp-profile-02
* draft-ietf-payload-vp8-08
* draft-spittka-payload-rtp-opus-00


Architecture:


                   .------.
                   |Video |
                 _ |Stream|\
                 /|'------' \ 1
                /            \
               /             _\|
 .--. N  .----. M  .------. 1  .-------. 1  .-----.
 |UA|--->|Call|--->|Audio |--->|Generic|--->|Media|
 '--'    '----'    |Stream|    |Stream |    | NAT |
            |1     '------'    '-------'    '-----'
            |         C|       1|   |
           \|/      .-----.  .----. |
        .-------.   |Codec|  |Jbuf| |1
        | SIP   |   '-----'  '----' |
        |Session|     1|       /|\  |
        '-------'    .---.      |  \|/
                     |DSP|    .--------.
                     '---'    |RTP/RTCP|
                              '--------'
                              |  SRTP  |
                              '--------'

   A User-Agent (UA) has 0-N SIP Calls
   A SIP Call has 0-M Media Streams


Supported platforms:

* Linux
* FreeBSD
* OpenBSD
* NetBSD
* Symbian OS
* Solaris
* Windows
* Apple Mac OS X and iOS
* Android


Supported compilers:

* gcc (v2.9x to v4.x)
* gcce
* ms vc2003 compiler
* codewarrior


External dependencies:

libre
librem


Feedback:

- Please send feedback to <[email protected]>

About

Fork of baresip, modified for low latency and low bandwidth

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published