summaryrefslogtreecommitdiff
path: root/docs/README
diff options
context:
space:
mode:
Diffstat (limited to 'docs/README')
-rw-r--r--docs/README199
1 files changed, 199 insertions, 0 deletions
diff --git a/docs/README b/docs/README
new file mode 100644
index 0000000..7fe24bd
--- /dev/null
+++ b/docs/README
@@ -0,0 +1,199 @@
+README
+------
+
+Baresip is a portable and modular SIP User-Agent with audio and video support
+Copyright (c) 2010 - 2014 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:
+
+account Account loader
+alsa ALSA audio driver
+amr Adaptive Multi-Rate (AMR) audio codec
+aubridge Audio bridge module
+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 (obsolete, use opus instead)
+cons UDP/TCP console UI driver
+contact Contacts module
+coreaudio Apple Coreaudio driver
+directfb DirectFB video display module
+dshow Windows DirectShow video source
+dtls_srtp DTLS-SRTP end-to-end encryption
+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
+httpd HTTP webserver UI-module
+ice ICE protocol for NAT Traversal
+ilbc iLBC audio codec
+isac iSAC audio codec
+l16 L16 audio codec
+mda Symbian Mediaserver audio driver (now deprecated)
+menu Interactive menu
+mwi Message Waiting Indication
+natbd NAT Behavior Discovery Module
+natpmp NAT Port Mapping Protocol (NAT-PMP) 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
+sdl2 Simple DirectMedia Layer v2 (SDL2) 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
+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
+vidbridge Video bridge module
+vidloop Video-loop test module
+vpx VP8/VPX video codec
+vumeter Display audio levels in console
+wincons Console input driver for Windows
+winwave Audio driver for Windows
+x11 X11 video output driver
+x11grab X11 grabber video source
+zrtp ZRTP media encryption module
+
+
+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 3428 SIP Extension for Instant Messaging
+* 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 4145 TCP-Based Media Transport in SDP
+* RFC 4240 Basic Network Media Services with SIP (partly)
+* RFC 4298 Broadvoice Speech Codecs
+* RFC 4347 Datagram Transport Layer Security
+* RFC 4568 SDP Security Descriptions for Media Streams
+* RFC 4572 Connection-Oriented Media Transport over TLS Protocol in SDP
+* 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 5506 Support for Reduced-Size RTCP
+* RFC 5574 RTP Payload Format for the Speex Codec
+* RFC 5576 Source-Specific Media Attributes in SDP
+* 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 5763 Framework for Establishing a SRTP Security Context Using DTLS
+* RFC 5764 DTLS Extension to Establish Keys for SRTP
+* RFC 5780 NAT Behaviour Discovery Using STUN
+* RFC 6263 App. Mechanism for Keeping Alive NAT Associated with RTP / RTCP
+* RFC 6716 Definition of the Opus Audio Codec
+* RFC 6886 NAT Port Mapping Protocol (NAT-PMP)
+
+* draft-ietf-avt-rtp-isac-04
+* 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
+* llvm clang
+* ms vc2003 compiler
+* codewarrior
+
+
+External dependencies:
+
+libre
+librem
+
+
+Feedback:
+
+- Please send feedback to <libre@creytiv.com>