330 likes | 734 Views
Astricon 2009 By Philippe Lindheimer FreePBX.org / Bandwidth.com. FreePBX Turns Five!. FreePBX Turns Five. Project Introduction / Background FreePBX Call Flows Linking modules to customize solutions Examples of Custom/Enterprise Solutions FreePBX 3.0 Summary / Questions.
E N D
Astricon 2009 By Philippe Lindheimer FreePBX.org / Bandwidth.com FreePBX Turns Five!
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 with Mature Release History • 10/14/2004 – 1.1 • 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? Version 1.5 + = • Many others (some have come and gone) • Adminparadise • Asterisk Suite • Centris • CentPBX • Converged Interaction • EasyVoxBox • ESCAUX net. PBX • Generic User Management System • kasterx • Miruna Asterisk System • Pound Team PBX • ST-PBX Live • VoizEdge • More …
Asterisk What Does FreePBX Bring? A • LAMP • Linux • Apache • MySQL • PHP, (Perl, Python) • Asterisk
From Previous Module From Previous Module Common Module (e.g. Ring Group, Queues, Follow-Me) Simple Module (e.g. Announcement) extension, vm or featurecode Destination Module (or extension, vm, featurecode) Destination Module (or extension, vm, featurecode) From Previous Module extension, vm or featurecode Multi-Destination Modules (e.g. IVR, Time-Conditions, Day/Night Control) extension, vm or featurecode Destination Modules Linking Modules Together
Company DID 8004522233 Day/Night Mode Control Time Condition 8-5 M-F IVR 1-Sales 2-Support 3-Directions extensions extensions Sales Ringgroup Support Queue After Hr Msg Sales Msg Support Msg John’s Voicemail Inbound Call Flow
Abundance of Features • FreePBX System Status • Module Admin • Asterisk Log Files • Online Support • Asterisk API • Asterisk CLI • Asterisk Info • Backup & Restore • Custom Destinations • Custom Extensions • Java SSH • PHP Info • PHP AGI Config • Print Extensions • Phonebook • Phonebook Directory • Speeddial Functions • Gabcast • Print Extensions • Call Forward (CF, CFB, CFU) • Call Waiting • Do-Not-Disturb • Info Services • Voicemail • VoiceMail Blasting • More… • Extension/User+Devices Config • Feature Code Administration • Outbound Routes • Trunks • Inbound Routes • Zap Channel DIDs • Announcements • CallerID Lookup Sources • Day/Night Control • Follow Me • IVR • Queues • Ring Groups • Time Conditions • Callback • Conferences • DISA • Languages • Misc Applications • Msic Destinations • Music on Hold Administration • PIN Sets • Paging and Intercom • Parking Lot • System Recordings • Dictation
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 • MVC, Web2.0, Engine Independent • Phonebooth hosted platform • 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.) • Support Multiple Softswitches
Language & Framework Selection • PHP • Widely accepted, FreePBX 2.x developer base • Kohana (for View/Controller) • Lightweight, flexible • Doctrine (for ORM) • Extremely powerful • TCAPI (for Telephony) • Switch-agnostic design • jQuery (for Javascript goodness) • Best-known Javascript library
Web Browser API XML, SOAP, etc. Menu & Frame Layout (a.k.a. skin) JavaScript (AJAX)Helpers VIEW User Interface Module Views (may load within frames) Telephony UI Helpers Subviews Controllers (FreePBX Application) External Data(LDAP, SQL, etc.) CONTROLLER Business Logic Plugins Core Edit/Save/Load Actions Error Handling Data Validation Telephony Switch Config Database Abstraction & Event Handlers (Connect / Save / Load) MODEL / ORM Data & Configs Individual table/feature modules(Each feature acts as a database “table”) DB storage engine Real-time APIs
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