Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
FreePBX Turns Five! Astricon 2009 By Philippe Lindheimer FreePBX.org / Bandwidth.com FreePBX Turns Five Project Introduction / Background FreePBX Call Flows Linking modules to customize solutions Examples of Custom/Enterprise Solutions FreePBX 3.0 Summary / Questions Project Overview Estimated: 5,000,000 Downloads 500,000 Installed Base Proven Stability 10/14/2004 – 1.1with Mature Release History 03/17/2006 – 2.0 05/16/2006 – 2.1 01/05/2007 – 2.2 08/25/2007 – 2.3 02/10/2008 – 2.4 09/19/2008 – 2.5 Astricon-09 – 2.6 08/04/2009 – 3.0DEV1 Astricon-09 – 3.0DEV2 Who's Using FreePBX? + = Many others (some have come and gone) Adminparadise Version 1.5 What Does FreePBX Bring? LAMPA Linux Apache MySQL PHP, (Perl, Python) Asterisk Asterisk Linking Modules Together From Previous Module From Previous Module Common Module (e.g. Ring Group, Queues, Follow-Me) extension, vm or featurecode Simple Module (e.g. Announcement) Destination Module (or extension, vm, featurecode) Destination Module (or extension, vm, featurecode) From Previous Module Multi-Destination Modules (e.g. IVR, Time-Conditions, Day/Night Control) extension, vm or featurecode extension, vm or featurecode Destination Modules Inbound Call Flow Company DID 8004522233 DID Day/Night Mode Control Time Condition 8-5 M-F IVR 1-Sales 2-Support 3-Directions extensions extensions Sales Ringgroup Support Queue Sales Msg Support Msg John’s Voicemail After Hr Msg Enterprise IVRs Abundance of Features Extension/User+Devices Config FreePBX System Status Feature Code Administration Module Admin Outbound Routes Asterisk Log Files Trunks Online Support Inbound Routes Asterisk API Zap Channel DIDs Asterisk CLI Announcements Asterisk Info CallerID Lookup Sources Backup & Restore Day/Night Control Custom Destinations Follow Me Custom Extensions IVR Java SSH Queues PHP Info Ring Groups PHP AGI Config Time Conditions Print Extensions Callback Phonebook Conferences Phonebook Directory Customizing FreePBX Time Clock Solutions Emergency Management Solutions Automated Outbound Messaging Speech (Magic Button – Schmooze) Online Phone Payment FreePBX 3.0 Reinventing ourselves with 3.0 Three projects come together Language & Framework Design Goals Screenshots Three Great Projects in One TCAPI Phonebooth hosted platform MVC, Web2.0, Engine Independent Phones Made Simple FreePBX Defacto Asterisk Management Interface Modular Design Design Goals Modular approach to allow customization Easily extendable UI DRY (write reusable code once) / widgets Easily skinnable / branding Web2.0 AJAX Links easily to outside programs and widgets (libraries, APIs, etc.) Language & Framework Selection PHP Kohana (for View/Controller) Extremely powerful TCAPI (for Telephony) Lightweight, flexible Doctrine (for ORM) Widely accepted, FreePBX 2.x developer base Switch-agnostic design jQuery (for Javascript goodness) API Web Browser User Interface VIEW Business Logic CONTROLLER Data & Configs MODEL / ORM Menu & Frame Layout XML, SOAP, etc. (a.k.a. skin) Module Views (may load within frames) Subviews JavaScript (AJAX) Helpers Telephony UI Helpers Controllers (FreePBX Application) Plugins Core Edit/Save/Load Actions Error Data Handling Validation Database Abstraction & Event Handlers (Connect / Save / Load) Individual table/feature modules (Each feature acts as a database “table”) DB storage engine Real-time APIs External Data (LDAP, SQL, etc.) Telephony Switch Config Summary FreePBX 2.x continues strong FreePBX 3.x Under Rapid Development Lots of new talent Present in many Enterprise and Government accounts Bandwidth.com committed to FreePBX continued success