Upload
samson-hart
View
213
Download
0
Embed Size (px)
Citation preview
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.
• Build up complexity in layers.
• Leverage existing open source software.
• Use of modular architecture to increase flexibility.
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.
Event Sysyem
• Philosophy
• Core Events
• Custom Events
• Event Handlers
Logger System
• Concept
• Logger Interface
XML
• Reasoning
• freeswitch.xml meta-document
• XML hook interface
Loadable Module Interface
• Overview• Endpoints• Codecs• Dialplans• Timers• Applications• API Interface• File Formats• Speech Interface• Directory Interface
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
Crash Protection
• ./configure –enable-crash-protection
• Explanation
• Differences on various OS
Modules
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)
Dialplan Modules
• mod_dialplan_xml (XML)
• mod_dialplan_directory (LDAP)
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)
Language Modules
• mod_spidermonkey (javascript)
• mod_perl (perl)
• mod_mono *** (.NET C#)
Codec Modules
• mod_g711 (G711 ulaw/alaw)
• mod_ilbc (iLBC)
• mod_gsm (GSM)
• mod_l16 (Signed Linear)
• mod_speex (Speex)
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)
Logger Modules
• mod_syslog (UNIX Syslog)
• mod_console (Console Logger)
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)
Questions