Origin of freeswitch
Download
1 / 19

Origin of FreeSWITCH - PowerPoint PPT Presentation


  • 154 Views
  • Uploaded on

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.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Origin of FreeSWITCH' - jace


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
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
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
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
Event Sysyem

  • Philosophy

  • Core Events

  • Custom Events

  • Event Handlers


Logger system
Logger System

  • Concept

  • Logger Interface


XML

  • Reasoning

  • freeswitch.xml meta-document

  • XML hook interface


Loadable module interface
Loadable Module Interface

  • Overview

  • Endpoints

  • Codecs

  • Dialplans

  • Timers

  • Applications

  • API Interface

  • File Formats

  • Speech Interface

  • Directory Interface


State machine
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
Crash Protection

  • ./configure –enable-crash-protection

  • Explanation

  • Differences on various OS



Enpoint 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
Dialplan Modules

  • mod_dialplan_xml (XML)

  • mod_dialplan_directory (LDAP)


Application modules
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
Language Modules

  • mod_spidermonkey (javascript)

  • mod_perl (perl)

  • mod_mono *** (.NET C#)


Codec modules
Codec Modules

  • mod_g711 (G711 ulaw/alaw)

  • mod_ilbc (iLBC)

  • mod_gsm (GSM)

  • mod_l16 (Signed Linear)

  • mod_speex (Speex)


Event handler modules
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
Logger Modules

  • mod_syslog (UNIX Syslog)

  • mod_console (Console Logger)


File formats timers xml asr tts
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)



ad