Proven Stability with Mature Release History

Download Report

Transcript Proven Stability with Mature Release History

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