Open Telephony The FreePBX ®  Way  Presented at Asterisk World, 2008 San Jose by Philippe Lindheimer FreePBX Project Leader http://freepbx.org
What is Open Telephony? +
A Revolutionary Telephony Platform is Born
The LAMP “Hall of Fame” Expands LAMP Linux Apache MySQL PHP, (Perl, Python) Asterisk A Asterisk
The FreePBX Project Open Source GPLv2 Installed Base Estimated 200,000 Installed Base Estimated growth of thousands per month ~3M Downloads 100,000 Visits/Month (400,000 Page Views) Proven Stability with Mature Release History 10/14/2004 – 1.1 (AMP) 03/17/2006 – 2.0 (FreePBX) 05/16/2006 – 2.1 01/05/2007 – 2.2 08/25/2007 – 2.3 02/10/2008 – 2.4
Who’s Using FreePBX? 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 … + =
Leader in Asterisk PBX Innovations Find-Me-Follow Application Across Asterisk 1.2, 1.4 and 1.6 since 2006 VmX™ Locater V oice m ail e X tension provides a “Personal IVR” option Integrates with Asterisk Voicemail and Follow-Me Telephone Hot Desking (Devices & Users – and multiple devices per user) Sophisticated and Unlimited Call-Flow Construction Online Modular Update System Easy and Flexible Custom Asterisk Dialplan Integration
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… Extensive Functionality
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Where to Learn More Open Telephony Training Seminar Open Telephony Training Seminar Where: Golden Nugget Las Vegas, NV When: May 20-23 rd  (Extended Class)   May 21-23 rd   (Standard Class) More Info: [email_address] 1-877-480-9533  http://freepbx.org/open-telephony-training-seminar Learn About: Components of Asterisk and FreePBX and how they fit together, and FreePBX Internal, troubleshooting and integration with custom Asterisk dialplans. PSTN Integration, Trunks, Troubleshooting with the PSTN, IP Phones and lots more. Successful Marketing, positioning, competition, selling, sales cycle and techniques to differentiate your offerings in the small and medium business PBX space. Past attendees are saying: “ Great seminar - worth the money and, more important, the time!"  – Calvin W.  “ Extremely well prepared and presented!”  – Ronald C.  “ The OTTS was a valuable injection of information regarding the vibrant and dynamic Asterisk ecosphere; it should be attended yearly by anyone trying to keep abreast of this area.”  Ron B.
The End Thank You for Listening http://freepbx.org
Our Mascot Red Eyed Tree Frog Symbol of Progress What’s with the Frog? Photo taken from  www.newint.org  (Klein)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Return from IVR Making complex IVR trees Day IVR Sales Support Billing 1 2 3 Night IVR Sales Support Billing Msg 1 2 3 Support IVR Residental Contractors Main Menu 1 2 9 Return to IVR Tip: Use “Return to IVR” with IVR’s and Announcements that will be called from multiple parents.
Manual/Automatic Day/Night Mode timeconditions day/night mode Linking multiple controls together See Write-up Inbound Call Flow Call Routing *280 (Receptionist Override) Timecondition (8:00 – 17:00 M-F) Inbound Route (Company DID) Receptionist After Hours IVR
Putting it all together Extensions/Mailboxes Recordings Announcements Ringgroups, Queues, Destinations IVRs Time Conditions Day/Night Controls Inbound Routes Zap Channel DIDs Inbound Call Flow Call Routing extensions Time Condition 8-5 M-F extensions Company DID 8004522233 Day/Night Mode Control IVR 1-Sales 2-Support 3-Directions Sales Msg Support Msg Sales Ringgroup Support Queue After Hr Msg John’s Voicemail
Outbound Route Patterns Pattern Chooses the route Route Choice is “final” Subsequent routes that also match the number will never be tried Pattern can only remove leading digits Common example, emulate old style PBX 9|1NXXNXXXXXX Outbound Call Flow Routes, Trunks, Dial Patterns Busy, Answer, No Answer Busy, Answer,  No Answer Congested, Channel Unavailable Congested, Channel Unavailable Strip digits If configured All Circuits Busy Bad Number Context Route 1 (Emergency) Match? Route 2 Match? Route 3 Match ? Next Trunk Next Trunk Tip: Always make your first route your Emergency Route to handle E911 and other related calls. This assures that numbers matching your emergency patterns will ALWAYS go down the Emergency Route.
CallerID Handling Originated Call From User or Forwarded Call (CF, Follow-Me, etc.) Emer- gency Route Emer- gency CID? Intra- Company Outbound CID Trunk CID Trunk CID Set Never Overide CID CID Set? Trunk CID? Use Emer- gency CID Use Internal CID Use Outboundcid Use Trunk CID Yes Yes Yes No Yes No No No Use Extension (Undefined Results) No Use Forwarded CID Use Trunk CID Use Trunk CID No CID Transmitted No No No Outbound Call Flow CallerID Yes No Yes Yes Yes If CallerID(name) == “hidden” (“hidden” <2124351234>) SetCallerPres(prohib_passed_screen) Internal Caller?
DUNDi 101 - Redundancy Outbound Call Flow DUNDi & Branch Offices Chicago Ann Arbor Cleveland Indianapolis Milwaukee Detroit Madison IAX Trunk Media Path
Advanced FreePBX Features VmX™ & Follow-Me Dial Attempt Aleternative Optional 0 or 2 VmX Locater™ Incoming Call Unavail Msg #home #cell Voice Mail System Confirmation Cell Voicemail ANSWER VmX Locater™ Busy Msg Busy # or No choice Press 1 No Answer
FreePBX Internals Architecture Module Plugin Logic LAMPA   Stack   (Linux – Apache – MySQL – PHP – Asterisk) FreePBX Core Application Libraries Module Plugin Libraries FreePBX Core Dialplan Objects Module Plugin Objects Authorization / Security FreePBX Framework and Core Logic FreePBX Core API Module Plugin API FreePBX GUI Module Plugin GUI FreePBX Config MySQL DB
FreePBX Internals Architecture FreePBX GUI Business Logic MySQL Config Storage Dialplan Generation & Business Logic Astdb Asterisk Environment page.dispname.php functions.inc.php retrieve_conf Dialplan & Configuration files voicemail.conf AGI & System Scripts
Inbound Call Flow Types of Modules extension, vm or featurecode extension, vm or 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, vm or featurecode Destination Module (or extension, vm, featurecode) From Previous Module Common Module (e.g. Ring Group, Queues,  Follow-Me)

Asterisk World2008

  • 1.
    Open Telephony TheFreePBX ® Way Presented at Asterisk World, 2008 San Jose by Philippe Lindheimer FreePBX Project Leader http://freepbx.org
  • 2.
    What is OpenTelephony? +
  • 3.
    A Revolutionary TelephonyPlatform is Born
  • 4.
    The LAMP “Hallof Fame” Expands LAMP Linux Apache MySQL PHP, (Perl, Python) Asterisk A Asterisk
  • 5.
    The FreePBX ProjectOpen Source GPLv2 Installed Base Estimated 200,000 Installed Base Estimated growth of thousands per month ~3M Downloads 100,000 Visits/Month (400,000 Page Views) Proven Stability with Mature Release History 10/14/2004 – 1.1 (AMP) 03/17/2006 – 2.0 (FreePBX) 05/16/2006 – 2.1 01/05/2007 – 2.2 08/25/2007 – 2.3 02/10/2008 – 2.4
  • 6.
    Who’s Using FreePBX?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 … + =
  • 7.
    Leader in AsteriskPBX Innovations Find-Me-Follow Application Across Asterisk 1.2, 1.4 and 1.6 since 2006 VmX™ Locater V oice m ail e X tension provides a “Personal IVR” option Integrates with Asterisk Voicemail and Follow-Me Telephone Hot Desking (Devices & Users – and multiple devices per user) Sophisticated and Unlimited Call-Flow Construction Online Modular Update System Easy and Flexible Custom Asterisk Dialplan Integration
  • 8.
    Extension/User+Devices Config FeatureCode 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… Extensive Functionality
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
    Where to LearnMore Open Telephony Training Seminar Open Telephony Training Seminar Where: Golden Nugget Las Vegas, NV When: May 20-23 rd (Extended Class) May 21-23 rd (Standard Class) More Info: [email_address] 1-877-480-9533 http://freepbx.org/open-telephony-training-seminar Learn About: Components of Asterisk and FreePBX and how they fit together, and FreePBX Internal, troubleshooting and integration with custom Asterisk dialplans. PSTN Integration, Trunks, Troubleshooting with the PSTN, IP Phones and lots more. Successful Marketing, positioning, competition, selling, sales cycle and techniques to differentiate your offerings in the small and medium business PBX space. Past attendees are saying: “ Great seminar - worth the money and, more important, the time!&quot; – Calvin W. “ Extremely well prepared and presented!” – Ronald C. “ The OTTS was a valuable injection of information regarding the vibrant and dynamic Asterisk ecosphere; it should be attended yearly by anyone trying to keep abreast of this area.” Ron B.
  • 25.
    The End ThankYou for Listening http://freepbx.org
  • 26.
    Our Mascot RedEyed Tree Frog Symbol of Progress What’s with the Frog? Photo taken from www.newint.org (Klein)
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
    Return from IVRMaking complex IVR trees Day IVR Sales Support Billing 1 2 3 Night IVR Sales Support Billing Msg 1 2 3 Support IVR Residental Contractors Main Menu 1 2 9 Return to IVR Tip: Use “Return to IVR” with IVR’s and Announcements that will be called from multiple parents.
  • 60.
    Manual/Automatic Day/Night Modetimeconditions day/night mode Linking multiple controls together See Write-up Inbound Call Flow Call Routing *280 (Receptionist Override) Timecondition (8:00 – 17:00 M-F) Inbound Route (Company DID) Receptionist After Hours IVR
  • 61.
    Putting it alltogether Extensions/Mailboxes Recordings Announcements Ringgroups, Queues, Destinations IVRs Time Conditions Day/Night Controls Inbound Routes Zap Channel DIDs Inbound Call Flow Call Routing extensions Time Condition 8-5 M-F extensions Company DID 8004522233 Day/Night Mode Control IVR 1-Sales 2-Support 3-Directions Sales Msg Support Msg Sales Ringgroup Support Queue After Hr Msg John’s Voicemail
  • 62.
    Outbound Route PatternsPattern Chooses the route Route Choice is “final” Subsequent routes that also match the number will never be tried Pattern can only remove leading digits Common example, emulate old style PBX 9|1NXXNXXXXXX Outbound Call Flow Routes, Trunks, Dial Patterns Busy, Answer, No Answer Busy, Answer, No Answer Congested, Channel Unavailable Congested, Channel Unavailable Strip digits If configured All Circuits Busy Bad Number Context Route 1 (Emergency) Match? Route 2 Match? Route 3 Match ? Next Trunk Next Trunk Tip: Always make your first route your Emergency Route to handle E911 and other related calls. This assures that numbers matching your emergency patterns will ALWAYS go down the Emergency Route.
  • 63.
    CallerID Handling OriginatedCall From User or Forwarded Call (CF, Follow-Me, etc.) Emer- gency Route Emer- gency CID? Intra- Company Outbound CID Trunk CID Trunk CID Set Never Overide CID CID Set? Trunk CID? Use Emer- gency CID Use Internal CID Use Outboundcid Use Trunk CID Yes Yes Yes No Yes No No No Use Extension (Undefined Results) No Use Forwarded CID Use Trunk CID Use Trunk CID No CID Transmitted No No No Outbound Call Flow CallerID Yes No Yes Yes Yes If CallerID(name) == “hidden” (“hidden” <2124351234>) SetCallerPres(prohib_passed_screen) Internal Caller?
  • 64.
    DUNDi 101 -Redundancy Outbound Call Flow DUNDi & Branch Offices Chicago Ann Arbor Cleveland Indianapolis Milwaukee Detroit Madison IAX Trunk Media Path
  • 65.
    Advanced FreePBX FeaturesVmX™ & Follow-Me Dial Attempt Aleternative Optional 0 or 2 VmX Locater™ Incoming Call Unavail Msg #home #cell Voice Mail System Confirmation Cell Voicemail ANSWER VmX Locater™ Busy Msg Busy # or No choice Press 1 No Answer
  • 66.
    FreePBX Internals ArchitectureModule Plugin Logic LAMPA Stack (Linux – Apache – MySQL – PHP – Asterisk) FreePBX Core Application Libraries Module Plugin Libraries FreePBX Core Dialplan Objects Module Plugin Objects Authorization / Security FreePBX Framework and Core Logic FreePBX Core API Module Plugin API FreePBX GUI Module Plugin GUI FreePBX Config MySQL DB
  • 67.
    FreePBX Internals ArchitectureFreePBX GUI Business Logic MySQL Config Storage Dialplan Generation & Business Logic Astdb Asterisk Environment page.dispname.php functions.inc.php retrieve_conf Dialplan & Configuration files voicemail.conf AGI & System Scripts
  • 68.
    Inbound Call FlowTypes of Modules extension, vm or featurecode extension, vm or 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, vm or featurecode Destination Module (or extension, vm, featurecode) From Previous Module Common Module (e.g. Ring Group, Queues, Follow-Me)