1 / 19

Origin of FreeSWITCH

Origin of FreeSWITCH. Asterisk Developer Meeting (March, 2005) 5 days of coding (initial design of the core) 7 months of discussion. 3 months prep work in private. Open to the public January 1st 2006. 7 months of coding in the public eye. Design Fundamentals. Build a stable core.

jace
Download Presentation

Origin of FreeSWITCH

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Origin of FreeSWITCH • Asterisk Developer Meeting (March, 2005) • 5 days of coding (initial design of the core) • 7 months of discussion. • 3 months prep work in private. • Open to the public January 1st 2006. • 7 months of coding in the public eye.

  2. Design Fundamentals • Build a stable core. • Build up complexity in layers. • Leverage existing open source software. • Use of modular architecture to increase flexibility.

  3. Standard Features • APR: Memory Pools, Thread safe Queues, Hash Tables and Overall Abstraction. • SQLite: built-in SQL database. • TeleTone: Tone generation and detction. • Libresample: live audio resampling. • SRTP: Secure RTP.

  4. Event Sysyem • Philosophy • Core Events • Custom Events • Event Handlers

  5. Logger System • Concept • Logger Interface

  6. XML • Reasoning • freeswitch.xml meta-document • XML hook interface

  7. Loadable Module Interface • Overview • Endpoints • Codecs • Dialplans • Timers • Applications • API Interface • File Formats • Speech Interface • Directory Interface

  8. State Machine • Overview • Session Thread and Conditional Mutex • State Hooks • Read/Write Locks • States: CS_NEW | CS_INIT | CS_RING | CS_TRANSMIT | CS_EXECUTE | CS_LOOPBACK | CS_HOLD | CS_HANGUP | CS_DONE

  9. Crash Protection • ./configure –enable-crash-protection • Explanation • Differences on various OS

  10. Modules

  11. Enpoint Modules • mod_woomera (Woomera) • mod_wanpipe (Sangoma Cards) • mod_dingaling (Jingle/GoogleTalk) • mod_portaudio (Sound Card) • mod_exosip, mod_sipX mod_pjsip (SIP) • mod_iax (IAX2)

  12. Dialplan Modules • mod_dialplan_xml (XML) • mod_dialplan_directory (LDAP)

  13. Application Modules • mod_dptools (misc applications) • mod_commands (remote commands) • mod_conference (conference bridge) • mod_bridgecall (bridge) • mod_echo (loopback test) • mod_playback (stream audio) • mod_rss (RSS news reader) • mod_skel (reference)

  14. Language Modules • mod_spidermonkey (javascript) • mod_perl (perl) • mod_mono *** (.NET C#)

  15. Codec Modules • mod_g711 (G711 ulaw/alaw) • mod_ilbc (iLBC) • mod_gsm (GSM) • mod_l16 (Signed Linear) • mod_speex (Speex)

  16. Event Handler Modules • mod_cdr (Call Detail Log) • mod_event_multicast (Multicast UDP) • mod_xmpp_event (XMPP) • mod_zeroconf (Zeroconf) • mod_event_socket (Remote Client)

  17. Logger Modules • mod_syslog (UNIX Syslog) • mod_console (Console Logger)

  18. File Formats / Timers / XML / ASR TTS • mod_sndfile (Audio file formats) • mod_softtimer (Software Timer) • mod_xmlrpc (XML-RPC interface) • mod_cepstral (Text-To-Speech)

  19. Questions

More Related