updated on Wed Jan 25 16:08:47 UTC 2012
[aur-mirror.git] / freeswitch-git / README.freeswitch
blob2dfed86692c4f6786268d2a6c6ff6f1209ef6d59
1 == USAGE ==
3 Start the freeswitch daemon with /etc/rc.d/freeswitch.
4 Add 'freeswitch' to DAEMONS in /etc/rc.conf and it will start at boot time.
5 All configuration is done in /etc/freeswitch/.  
6 /usr/bin/fs_cli will bring up the console to freeswitch once it's running.
8 == SUPPORT ==
10 See http://wiki.freeswitch.org for up-to-date configuration documentation.
11 Official (paid) support available through http://freeswitch.org or 
12 consulting at freeswitch dot org.
13 #freeswitch on Freenode IRC network.
15 == DESCRIPTION ==
17 From http://freeswitch.org:
19 Welcome To FreeSWITCH
20 The World's First Cross-Platform Scalable FREE Multi-Protocol Soft Switch
22 FreeSWITCH is a scalable open source cross-platform telephony platform designed to route and
23 interconnect popular communication protocols using audio, video, text or any other form of media.
24 It was created in 2006 to fill the void left by proprietary commercial solutions. FreeSWITCH also
25 provides a stable telephony platform on which many telephony applications can be developed using
26 a wide range of free tools.
28 FreeSWITCH was originally designed and implemented by Anthony Minessale with the help of Brian West
29 and Michael Jerris. All 3 are former developers of the popular Asterisk open source PBX.  The project
30 was initiated to focus on several design goals including modularity, cross-platform support,
31 scalability and stability. Today, many more developers and users contribute to the project on a daily
32 basis.
34 We support various communication technologies such as Skype, SIP, H.323 and GoogleTalk making it easy
35 to interface with other open source PBX systems such as sipXecs, Call Weaver, Bayonne, YATE or
36 Asterisk.
38 FreeSWITCH supports many advanced SIP features such as presence/BLF/SLA as well as TCP TLS and sRTP.
39 It also can be used as a transparent proxy with and without media in the path to act as a SBC
40 (session border controller) and proxy T.38 and other end to end protocols. 
42 FreeSWITCH supports both wide and narrow band codecs making it an ideal solution to bridge legacy
43 devices to the future. The voice channels and the conference bridge module all can operate at 8, 12,
44 16, 24, 32 or 48 kilohertz and can bridge channels of different rates. The G.729 codec is also
45 available under a commercial license.
47 FreeSWITCH builds natively and runs standalone on several operating systems including Windows,
48 Mac OS X, Linux, BSD and Solaris on both 32 and 64 bit platforms.
50 FreeSWITCH supports FAX, both over audio and T.38, and can gateway between the two.
52 Our developers are heavily involved in open source and have donated code and other resources to other
53 telephony projects including openSER, sipXecs, The Asterisk Open Source PBX and Call Weaver. 
55 == FEATURES ==
57 From http://wiki.freeswitch.org/wiki/Specsheet:
59 Possible Uses
61  * Rating & Routing Server
62  * Transcoding B2BUA
63  * IVR & Announcement Server
64  * Conference Server
65  * Voicemail Server
66  * SBC (Session Border Controller)
67  * Basic Topology Hiding Session Border Controller
68  * Zaptel, Sangoma, Rhino, PIKA Hardware Support (Analog and PRI), and Khomp Brazilian telephony hardware manufacturer
69  * Fax server
70  * T.38 gateway, termination, and origination mode
71  * T.30 to T.38 and T.38 to T.30 gateway
72   See also: mod_spandsp
73   And, of course, a PBX
75 Features
77  * Centralized User/Domain Directory (directory.xml)
78  * Nano Second CDR granularity
79  * Call recording (In Stereo caller/callee left/right)
80  * High Performance Multi-Threaded Core engine
81  * Configuration via cURL to your HTTP server (mod_xml_curl).
82  * XML Config files for easy parsing.
83  * Protocol Agnostic
84  * ZRTP support for transparent RTP based key exchange and encryption
85  * Configurable RFC 2833 Payload type
86  * Inband DTMF generation and detection.
87  * Software based Conference (no hardware requirement)
88  * Wideband Conferencing
89  * Media / No Media modes
90  * Proper ENUM/ISN dialing built in
91  * Detailed CDR in XML
92  * Radius CDR
93  * Subscription server
94  * Shared Line Appearances
95  * Bridged Line Appearances
96  * Enterprise/Carrier grade Eventing Engine. (XML Events, Name Value Events, Multicast Events)
97  * Loadable File formats and streaming
98  * Stream to and play from Shoutcast and Icecast
99  * Multi-lingual Speech Phrase Interface
100  * ASR/TTS support (native and via MRCP)
101  * Basic IP/PBX features
102  * Automated Attendant
103  * Custom Ring Back Tones (early_media)
104  * XML-RPC support
105  * Multiple format CDRs supported
106  * SQL Engine provides session persistence
107  * Thread Isolation
108  * Parallel Hunting
109  * Serial Hunting
110  * Mozilla Public License
111  * Support
112  * Paid support available
113  * Free support via IRC & E-mail
114  * Many supported codecs
115  * CELT (32 kHz ahd 48 kHz)
116  * G.722.1 (wideband)
117  * G.722.1C (wideband 32 kHz)
118  * G.722 (wideband)
119  * G.711
120  * G.726 (16k, 24k, 32k, 48k) AAL2 and RFC 3551
121  * G.723.1 (passthrough)
122  * G.729AB (Requires a license unless using passthrough)
123  * AMR (passthrough)
124  * iLBC
125  * Speex (narrow and wideband)
126  * LPC-10
127  * DVI4 (ADPCM) 8 kHz and 16 kHz
128  * SILK
129  * Video Codecs (passthrough):
130  * Theora
131  * H.261
132  * H.263
133  * H.264
134  * MP4
135  * More Codec Information: http://wiki.freeswitch.org/wiki/Codecs
136  * Live Migration of calls from one FreeSWITCH box to another. See 
137    http://wiki.freeswitch.org/wiki/Freeswitch_HA
139 Applications
141  * Voicemail
142  * Multitenancy - Enterprise/Carrier configuration
143  * Time of Day Greetings
144  * Urgent Message Tagging
145  * E-mail Delivery
146  * Playback and Rerecord messages before delivery.
147  * Keys are templates so you can rearrange to fit your needs.
148  * Callback support from inside voicemail.
149  * Podcast of Voicemail (RSS)
150  * Message Waiting Indicator (MWI)
151  * Support for Queues (via mod_fifo or mod_callcenter)
152  * Parking (via mod_fifo)
153  * Conference
154  * Software based Conferencing without any hardware requirements.
155  * Wideband conferences.
156  * Multiple on-demand or scheduled conferences with entry/exit announcements
157  * Play files into the conference or a single member.
158  * Relationships
159  * TTS integration
160  * Transfers
161  * Outbound Calling
162  * Configurable Key Lay
163  * Volume, Gain and Energy level per call.
164  * Bridge to Conference transition
165  * Multi Party outbound dialing.
166  * Inbound Call Center Queues
167  * RSS Reader
168  * Fax endpoint, gateway and passthrough mode.
169  * T.30 (G.711) Audio Fax (via mod_spandsp) formerly known as mod_fax.
170  * T.38 faxing (gateway, endpoint and passthrough)
172 Protocols
174  * SIP
175  * UDP, TCP, SCTP and TLS transports for full SIP compliance.
176  * IPv6 Support
177  * SIP Session timers
178  * RTP Timers
179  * RFC 3263 (SRV and NAPTR)
180  * SRTP via SDES (Works with Polycom, Snom, Linksys and Grandstream)
181  * Blind SIP Registration
182  * STUN Support
183  * Jitter buffer
184  * NAT Support
185  * Distributed SIP registrations
186  * Late Codec Negotiation
187  * Multiple SIP registrations per user account.
188  * Multitenancy - Multiple SIP UAs
189  * SIP Reinvites.
190  * Can act as an SBC (Session Border Controller)
191  * Manage Presence
192  * SIP/SIMPLE (can gateway to other chat protocols)
193  * SIP Multicast Paging support for Linksys and Snom
194  * Intercom/AutoAnswer support.
195  * Call features like Call Hold (Re-INVITE), Blind Transfer (REFER), Call Forward (302), etc.
196  * Jingle
197  * Interop with Google Talk, Google Voice, and Telepathy
198  * H.323 with mod_opal (opalvoip.org)
199  * mod_h323 - H.323 Endpoint module based on the h323plus library.
200  * mod_skinny - Skinny Call Control Protocol (SCCP)
202 Languages
204  * JavaScript (Using the SpiderMonkey JavaScript engine.)
205  * ODBC Support from inside your JavaScript
206  * Extendable modules for JavaScript
207  * Tone Generation
208  * Python
209  * Perl
210  * Lua
212 Cross Platform
214  * Builds native on Windows in MSVC
215  * Builds on Mac OS X, Linux, Solaris and *BSD.
216  * Minimum/Recommended System Requirements
218  * 32-bit OS (64-bit recommended)
219  * 512MB RAM (1GB recommended)
220  * 50MB of Disk Space
221  * System requirements depend on your deployment needs. We recommend you plan for 50% duty cycle.
223 Performance
225  * Tested under load for over 100 hours
226  * 10,000,000+ calls
227  * At rates exceeding 50 CPS
228  * Performance will vary depending on application. You will need to test for your particular situation.