diff options
Diffstat (limited to 'docs/README')
-rw-r--r-- | docs/README | 199 |
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> |