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.

Slides:



Advertisements
Similar presentations
Unmodified Device Driver Reuse and Improved System Dependability via Virtual Machines J. LeVasseur V. Uhlig J. Stoess S. G¨otz University of Karlsruhe,
Advertisements

PIKA Technologies Inc. PADS for the PIKA WARP Appliance March 2009.
Web Applications Development Using Coldbox Platform Eddie Johnston.
TotalETL:infoServer Chris Fournier Nathan Clark Scott Longley Cyril Shilnikov MQP Project 2005 Sponsored by TotalETL inc.
Operating System Structure. Announcements Make sure you are registered for CS 415 First CS 415 project is up –Initial design documents due next Friday,
Operating System Tracing the nachos code in Java
1/28/2004CSCI 315 Operating Systems Design1 Operating System Structures & Processes Notice: The slides for this lecture have been largely based on those.
BY MUKTADIUR RAHMAN DATE: JUNE 10, 2010 Introduction to iPhone SDK.
Sanzaru Capability-Based Interactions for Web Applications Raluca Sauciuc Shaunak Chatterjee University of California, Berkeley Motivation Limitations.
Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department.
Database Management Systems (DBMS)
05-Aug-09/ 1 FreeSWITCH modules for Asterisk developers. Moises Silva Software Developer Sangoma Technologies.
Leveraging Existing Application Processors in Mobile Devices to Implement VoIP Client.
MyVRM Architectural Review October Agenda myVRM Quick Review Overall Architectural Concepts Design Principals Implementation Detail Q&A.
PIKA Technologies Inc. Analog Logger Application Sample December 2009.
Woomera Accelerating access to VoIP Cluecon 2009, 7 August 2009 Craig Southeren.
Introduction to the Enterprise Library. Sounds familiar? Writing a component to encapsulate data access Building a component that allows you to log errors.

Framework for Automated Builds Natalia Ratnikova CHEP’03.
Meir Botner David Ben-David. Project Goal Build a messenger that allows a customer to communicate with a service provider for a fee.
Android Programming By Mohsen Biglari Android Programming, Part1: Introduction 1 Part1: Introduction By Mohsen Biglari.
1 GAIA VoIP traffic generator and analyzer Presentation by Amrut Bang Ashish Deshpande Vijay Gabale Santosh Patil Sponsored by GS Lab Pvt. Ltd Pune Institute.
IXC softswitch light edition overview. System Requirements: Apple Mac mini, iMac, MacBook Pro, Mac Pro, MacBook Air OS X 10.7 or above VNC (as client.
Searchlets Customer: Paul English Advisor: Prof. Ethan Bolker Team : Satish, Di, Quan
Three fundamental concepts in computer security: Reference Monitors: An access control concept that refers to an abstract machine that mediates all accesses.
Custom Reporting in Blackboard Learn. What happens between clicking run and getting the report? Connect to a data source Where is the information?
Embedded Software SKKU 17 1 Embedded Software Lab. Tizen v2.3 Input Service Framework.
A Comparative Study of the Linux and Windows Device Driver Architectures with a focus on IEEE1394 (high speed serial bus) drivers Melekam Tsegaye
Architecture of the web Client Server retrieved or generated web page.
Grid Chemistry System Architecture Overview Akylbek Zhumabayev.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
The design, comparison and current status of TWAREN voic systems 2007/08/27 Chia-Hung Hsu Li-Chi Ku Che-Nan Yang.
Operating System What is an Operating System? A program that acts as an intermediary between a user of a computer and the computer hardware. An operating.
© Drexel University Software Engineering Research Group (SERG) 1 A. E. Hassan and R. C. Holt A Reference Architecture for Web.
Real-time multimedia and communication in packet networks iLanga.
1 © 2003, Cisco Systems, Inc. All rights reserved. Proprietary and Confidential Unity Connection 2.0(1) Miu Architectural Overview TOI June 10, 2007 Mike.
802.11n Sniffer Design Overview Vladislav Mordohovich Igor Shtarev Luba Brouk.
3 Copyright © 2009, Oracle. All rights reserved. Accessing Non-Oracle Sources.
Media Handling in FreeSWITCH Moisés Silva Software Engineer / Manager
SOIS APP Working Group Overview. Presentation Overview Application Support Services Electronic Datasheets ESA Project History and Plans Standards Documentation.
ABone Architecture and Operation ABCd — ABone Control Daemon Server for remote EE management On-demand EE initiation and termination Automatic EE restart.
Operating Systems Structure what is the organizational principle?
PANA Implementation in Open Diameter Victor Fajardo.
SKYPIAX, how to add Skype capabilities to FreeSWITCH (and Asterisk) CHICAGO, USA, September 2009.
7/6/2004 CMS weekZhen Xie 1 POOL RDBMS abstraction layer status & plan Zhen Xie Princeton University.
Developing Applications with the CSI Framework A General Guide.
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
2.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition System Programs (p73) System programs provide a convenient environment.
Asterisk Architecture. Architecture APIs Defined for loadable modules Facilitates hardware and protocol abstraction The Asterisk core does not have to.
CS533 Concepts of Operating Systems Jonathan Walpole.
Business-logic Layer Presentation Layer Network Layer Digital Signal Processing Layer SmartHome API SmartHome Software Architecture SH mobile application.
PROJECT SECME Carthik A. Sharma Juan Carlos Vivanco Majid Khan Santhosh Kumar Grandai. Software Engineering Fall 2002.
VAR3 3.0 Platform and Project Orientation Analysis.
1 Creative Innovation – Customer Satisfaction – Continual Quality Improvement Session Communications API  SessionController - Interface used to control.
Introduction to Operating Systems Concepts
Computer System Structures
Operating System Structures
Kristian Kielhofner Chad Phillips
ASTERISK “Open Source Communications Platform”
CASE STUDY 1: Linux and Android
Components of Asterisk SCF
A Short Asterisk Overview
CMPE419 Mobile Application Development
Chapter 3: Windows7 Part 1.
Chapter 2: Operating-System Structures
PANA Implementation in Open Diameter
Chapter 2: System Structures
B.Ramamurthy Chapter 2 : Appendix
CMPE419 Mobile Application Development
Created by Atif Aziz. ELMAH means is "Error Logging Modules and Handlers". It is an application-wide error logging facility that is completely pluggable.
Presentation transcript:

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 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