Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
portable and modular SIP User-Agent
Branch: master

This branch is 2 commits ahead of OSU-Android-PHP-Group:master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
debian
docs
include
mk
modules
share
src
.gitignore
LICENSE
Makefile
README.md

README.md

BARESIP

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:

Something went wrong with that request. Please try again.