freepbx turns five! astricon 2009 by philippe lindheimer freepbx.org / bandwidth.com
TRANSCRIPT
Project Introduction / BackgroundFreePBX Call Flows
Linking modules to customize solutions
Examples of Custom/Enterprise Solutions
FreePBX 3.0
Summary / Questions
FreePBX Turns Five
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
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 …
+ =
Who's Using FreePBX?Version 1.5
Linking Modules Together
extension, vmor featurecode
extension, vmor featurecode
From Previous Module
Destination Modules
Multi-Destination Modules(e.g. IVR, Time-Conditions, Day/Night Control)
From Previous Module
Destination Module(or extension, vm, featurecode)
Simple Module(e.g. Announcement)
extension, vmor featurecode
Destination Module(or extension, vm, featurecode)
From Previous Module
Common Module(e.g. Ring Group, Queues,
Follow-Me)
extensions
Time Condition8-5 M-F
extensions
DIDCompany DID
8004522233
Day/NightMode Control
IVR1-Sales2-Support3-Directions
Sales Msg Support Msg
SalesRinggroup
SupportQueue
After Hr Msg
John’s Voicemail
Inbound Call Flow
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
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…
Abundance of Features
Time Clock SolutionsEmergency Management SolutionsAutomated Outbound MessagingSpeech (Magic Button – Schmooze)Online Phone Payment
Customizing FreePBX
Reinventing ourselves with 3.0Three projects come togetherLanguage & FrameworkDesign GoalsScreenshots
FreePBX 3.0
TCAPI MVC, Web2.0, Engine Independent
Phonebooth hosted platform Phones Made Simple
FreePBX Defacto Asterisk Management Interface Modular Design
Three Great Projects in One
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
Design Goals
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
Language & Framework Selection
JavaScript(AJAX)Helpers
Menu & Frame Layout(a.k.a. skin)
Module Views(may load within frames)
TelephonyUI
Helpers
ErrorHandling
Core Edit/Save/LoadActions
DataValidation
Database Abstraction & Event Handlers(Connect / Save / Load)
Individual table/feature modules(Each feature acts as a database “table”)
DB storage engine Real-time APIs
MO
DE
L / O
RM
Data &
Co
nfig
sC
ON
TR
OL
LE
RB
usin
ess Lo
gic
VIE
WU
ser Interface
Controllers (FreePBX Application)
Web Browser
ExternalData
(LDAP,SQL, etc.)
TelephonySwitchConfig
XML,SOAP,
etc.
API
Plugins
Subviews
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
Summary