SlideShare a Scribd company logo
1 of 19
VoIP Drupal
building sites that answer calls,
send SMS, and more
Tamer Zoubi
tamerzg@gmail.com
History
• The first beta version of VoIP Drupal was
launched in March 2011.
• 20+ contrib modules until now
• We are currently promoting the platform and
building more systems on top of it.
• Supported by TerraVoz, a spin-off from the
MIT Media Lab
VoIP Drupal is…
A software platform that enables Drupal sites to
•Make and answer phone calls
•Play and record audio messages
•Send and receive SMS
•Organize conference calls
•Implement voice menus and call routing
•Run polls, surveys, and many more things
• The goal of VoIP Drupal is to provide a
common API and scripting system that
interoperate with popular Internet-telephony
servers (Asterisk, FreeSwitch, Tropo, Twilio,
etc)
• Dramatically reduces the learning and
development costs associated with the
construction of unified communication
systems that combine voice and text
technologies together.
VoIP Drupal
modules
How things work
VoIP script commands
addSay() , to play audio from URL or read text-to-speech text
addRecord(), to record audio input from user
addGetInput(), to read input from the telephone keypad
addRunIvrMenu(), to execute interactive voice response menu
addBeep(), to play beep sound
addJoinConference(), to connect the current call to the specified
conference room
addGoto(), addGotoIf(), addGoSub(), to control flow of script
Further modules can easily extend script commands like Tropo’s
addGetVoiceInput() to read input using speech recognition.
$script = new VoipScript('hello_world');
$script->addSay('hello world');
$script->addHangup();
Hello world
$script = new VoipScript('voipscript_small_office_ivr');
$script->addSay(t('Welcome to our office hotline.’));
$script->addLabel(‘office_menu’);
$options_menu = t(‘For sales, dial 1. For customer support, dial 2. For hours of operation, dial 3. To hang up, dial
the star key.’);
$input_options = array(
‘1’ => ‘sales’,
‘2’ => ‘customer support’,
‘3’ => ‘hours’,
‘*’ => ‘hang up’,
‘I’ => ‘hang up’,
‘t’ => ‘hang up’
);
$invalid_msg = t(‘Invalid option selected.’);
$script->addRunIvrMenu($options_menu, $input_options, $invalid_msg);
$script->addGoto(‘%ivr_option_selected’);
$script->addLabel(‘sales’);
$script->addSay(‘Sales department’);
$script->addGoto(‘hang up’);
$script->addLabel(‘customer support’);
$script->addSay(t(‘Customer support department’));
$script->addGoto(‘hang up’);
$script->addLabel(‘hours’);
$script->addSay(t(‘Our office is open Monday to Friday from 9am to 5pm.’));
$script->addGoto(‘office_menu’);
$script->addLabel(‘hang up’);
$script->addSay(t(‘Thanks so much for calling our office. Bye bye.'));
$script->addHangup();
Office hotline
Visual VoIP Drupal
Key benefits of the platform
• Facilitates the construction of unified communications systems
integrating SMS, email, web, and voice
• Makes Drupal accessible from any phone – no data plan
required!
• Enables the expansion of “community plumbing” beyond the
web
• Is open source and free – you are in control
Benefits for administrators
• Easy installation and configuration – no programming required
• Fully customizable – enable only the features you need
• Run as part of the Drupal system itself
– Enable access to VoIP Drupal features using roles and permissions
– Assign Rules, Actions and Triggers
• Enhance user interaction with ready-to-use audio blogs, click-to-call fields,
phone recorders, audio announcements, etc.
• Visual programming language for non-coders.
(http://drupal.org/project/vvd)
Benefits for developers
• Well defined API that can be extended to other VoIP services
• 20+ sample scripts that can be customized
• 20+ modules that already implement common functionality –
no need to reinvent the wheel
• Simple, yet powerful PHP-like scripting language with a short
learning curve
• Easily switch to another VoIP provider without porting your
applications.
Demo
• How to configure VoIP Drupal with one of
VoIP providers (Twilio)
• How to write your first VoIP Script
• How to receive your first VoIP Drupal call
Ideas
• Go Out to Vote campaigns
• 2-1-1 and 3-1-1 community hotlines
• Call centers
• Phone- and SMS-based surveys
• Group communication
• Story recording / playback
• Audio speed dating services
• Language training
• Audio tours
• Adventure games
• Interactive community radio programs
• Emergency announcements
• And much more!
How to contribute
• Migrate VoIP Drupal to 8.x
• Many of contrib modules are still 6.x
https://drupal.org/node/1078790
• Come up with new out of box solutions
• Explore and spread the word
• Source code:
http://drupal.org/project/voipdrupal
• General documentation:
http://drupal.org/node/1078710
• API information:
http://drupal.org/node/1155572
• Sandbox: http://voipdrupal.org
• Discussion group:
http://groups.drupal.org/voip-drupal
Useful links
Thank you for listening!

More Related Content

Similar to VoIP Drupal Framework DrupalCon Prague

Real time voice call integration - Confoo 2012
Real time voice call integration - Confoo 2012Real time voice call integration - Confoo 2012
Real time voice call integration - Confoo 2012
Michael Peacock
 

Similar to VoIP Drupal Framework DrupalCon Prague (20)

Promo Voip Drupal Hands On Experience Webinar
Promo Voip Drupal Hands On Experience WebinarPromo Voip Drupal Hands On Experience Webinar
Promo Voip Drupal Hands On Experience Webinar
 
#1 Basic VoIP Drupal Hands On Experience Webinar
#1 Basic VoIP Drupal Hands On Experience Webinar#1 Basic VoIP Drupal Hands On Experience Webinar
#1 Basic VoIP Drupal Hands On Experience Webinar
 
Short VoIP Drupal Introduction - What is it?
Short VoIP Drupal Introduction - What is it?Short VoIP Drupal Introduction - What is it?
Short VoIP Drupal Introduction - What is it?
 
Getting Started with Twilio
Getting Started with TwilioGetting Started with Twilio
Getting Started with Twilio
 
Globe Labs - Voice API (Developer Preview)
Globe Labs - Voice API (Developer Preview)Globe Labs - Voice API (Developer Preview)
Globe Labs - Voice API (Developer Preview)
 
DevNet @TAG - Spark & Tropo APIs - Milan/Rome May 2016
DevNet @TAG - Spark & Tropo APIs - Milan/Rome May 2016DevNet @TAG - Spark & Tropo APIs - Milan/Rome May 2016
DevNet @TAG - Spark & Tropo APIs - Milan/Rome May 2016
 
Tropo Presentation
Tropo PresentationTropo Presentation
Tropo Presentation
 
Otra forma de hacer aplicaciones de telefonía
Otra forma de hacer aplicaciones de telefoníaOtra forma de hacer aplicaciones de telefonía
Otra forma de hacer aplicaciones de telefonía
 
UC Expo 2018 - Microsoft Theatre 17/05/18 - Cloud Video Interop for Microsoft...
UC Expo 2018 - Microsoft Theatre 17/05/18 - Cloud Video Interop for Microsoft...UC Expo 2018 - Microsoft Theatre 17/05/18 - Cloud Video Interop for Microsoft...
UC Expo 2018 - Microsoft Theatre 17/05/18 - Cloud Video Interop for Microsoft...
 
Greach 2011 - Building Telephony Apps with Groovy and Grails
Greach 2011 - Building Telephony Apps with Groovy and GrailsGreach 2011 - Building Telephony Apps with Groovy and Grails
Greach 2011 - Building Telephony Apps with Groovy and Grails
 
Pwning Your Phone with Adhearsion and Asterisk
Pwning Your Phone with Adhearsion and AsteriskPwning Your Phone with Adhearsion and Asterisk
Pwning Your Phone with Adhearsion and Asterisk
 
Call Center Software for Telesales & Customer Service
Call Center Software for Telesales & Customer ServiceCall Center Software for Telesales & Customer Service
Call Center Software for Telesales & Customer Service
 
Tropo Presentation at the Telecom API Workshop
Tropo Presentation at the Telecom API WorkshopTropo Presentation at the Telecom API Workshop
Tropo Presentation at the Telecom API Workshop
 
Real time voice call integration - Confoo 2012
Real time voice call integration - Confoo 2012Real time voice call integration - Confoo 2012
Real time voice call integration - Confoo 2012
 
[Carius] Skype Online, Teams, and PSTN
[Carius] Skype Online, Teams, and PSTN[Carius] Skype Online, Teams, and PSTN
[Carius] Skype Online, Teams, and PSTN
 
Internationalizing The New York Times
Internationalizing The New York TimesInternationalizing The New York Times
Internationalizing The New York Times
 
Benefits of VoIP
Benefits of VoIPBenefits of VoIP
Benefits of VoIP
 
Hackathon Poste Mobile 2016 Cisco Roma @TAG TalentGardenIT
Hackathon Poste Mobile 2016 Cisco Roma @TAG TalentGardenIT Hackathon Poste Mobile 2016 Cisco Roma @TAG TalentGardenIT
Hackathon Poste Mobile 2016 Cisco Roma @TAG TalentGardenIT
 
Twilio connector
Twilio connectorTwilio connector
Twilio connector
 
Twilio using Groovy Grails
Twilio using Groovy GrailsTwilio using Groovy Grails
Twilio using Groovy Grails
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 

VoIP Drupal Framework DrupalCon Prague

  • 1. VoIP Drupal building sites that answer calls, send SMS, and more Tamer Zoubi tamerzg@gmail.com
  • 2. History • The first beta version of VoIP Drupal was launched in March 2011. • 20+ contrib modules until now • We are currently promoting the platform and building more systems on top of it. • Supported by TerraVoz, a spin-off from the MIT Media Lab
  • 3. VoIP Drupal is… A software platform that enables Drupal sites to •Make and answer phone calls •Play and record audio messages •Send and receive SMS •Organize conference calls •Implement voice menus and call routing •Run polls, surveys, and many more things
  • 4. • The goal of VoIP Drupal is to provide a common API and scripting system that interoperate with popular Internet-telephony servers (Asterisk, FreeSwitch, Tropo, Twilio, etc) • Dramatically reduces the learning and development costs associated with the construction of unified communication systems that combine voice and text technologies together.
  • 7. VoIP script commands addSay() , to play audio from URL or read text-to-speech text addRecord(), to record audio input from user addGetInput(), to read input from the telephone keypad addRunIvrMenu(), to execute interactive voice response menu addBeep(), to play beep sound addJoinConference(), to connect the current call to the specified conference room addGoto(), addGotoIf(), addGoSub(), to control flow of script Further modules can easily extend script commands like Tropo’s addGetVoiceInput() to read input using speech recognition.
  • 8. $script = new VoipScript('hello_world'); $script->addSay('hello world'); $script->addHangup(); Hello world
  • 9. $script = new VoipScript('voipscript_small_office_ivr'); $script->addSay(t('Welcome to our office hotline.’)); $script->addLabel(‘office_menu’); $options_menu = t(‘For sales, dial 1. For customer support, dial 2. For hours of operation, dial 3. To hang up, dial the star key.’); $input_options = array( ‘1’ => ‘sales’, ‘2’ => ‘customer support’, ‘3’ => ‘hours’, ‘*’ => ‘hang up’, ‘I’ => ‘hang up’, ‘t’ => ‘hang up’ ); $invalid_msg = t(‘Invalid option selected.’); $script->addRunIvrMenu($options_menu, $input_options, $invalid_msg); $script->addGoto(‘%ivr_option_selected’); $script->addLabel(‘sales’); $script->addSay(‘Sales department’); $script->addGoto(‘hang up’); $script->addLabel(‘customer support’); $script->addSay(t(‘Customer support department’)); $script->addGoto(‘hang up’); $script->addLabel(‘hours’); $script->addSay(t(‘Our office is open Monday to Friday from 9am to 5pm.’)); $script->addGoto(‘office_menu’); $script->addLabel(‘hang up’); $script->addSay(t(‘Thanks so much for calling our office. Bye bye.')); $script->addHangup(); Office hotline
  • 11. Key benefits of the platform • Facilitates the construction of unified communications systems integrating SMS, email, web, and voice • Makes Drupal accessible from any phone – no data plan required! • Enables the expansion of “community plumbing” beyond the web • Is open source and free – you are in control
  • 12. Benefits for administrators • Easy installation and configuration – no programming required • Fully customizable – enable only the features you need • Run as part of the Drupal system itself – Enable access to VoIP Drupal features using roles and permissions – Assign Rules, Actions and Triggers • Enhance user interaction with ready-to-use audio blogs, click-to-call fields, phone recorders, audio announcements, etc. • Visual programming language for non-coders. (http://drupal.org/project/vvd)
  • 13. Benefits for developers • Well defined API that can be extended to other VoIP services • 20+ sample scripts that can be customized • 20+ modules that already implement common functionality – no need to reinvent the wheel • Simple, yet powerful PHP-like scripting language with a short learning curve • Easily switch to another VoIP provider without porting your applications.
  • 14. Demo • How to configure VoIP Drupal with one of VoIP providers (Twilio) • How to write your first VoIP Script • How to receive your first VoIP Drupal call
  • 15. Ideas • Go Out to Vote campaigns • 2-1-1 and 3-1-1 community hotlines • Call centers • Phone- and SMS-based surveys • Group communication • Story recording / playback • Audio speed dating services • Language training • Audio tours • Adventure games • Interactive community radio programs • Emergency announcements • And much more!
  • 16. How to contribute • Migrate VoIP Drupal to 8.x • Many of contrib modules are still 6.x https://drupal.org/node/1078790 • Come up with new out of box solutions • Explore and spread the word
  • 17.
  • 18. • Source code: http://drupal.org/project/voipdrupal • General documentation: http://drupal.org/node/1078710 • API information: http://drupal.org/node/1155572 • Sandbox: http://voipdrupal.org • Discussion group: http://groups.drupal.org/voip-drupal Useful links
  • 19. Thank you for listening!

Editor's Notes

  1. First of all let me introduce you a bit history behind Voip drupal framework. In march 2011. we issued first D6 beta version. Even if it is a beta its stable to use on production servers. 2012. Until now there are 20+ contrib modules that integrate with VoIP Drupal framework. Recently D7 version released. Voip drupal framework is sponsored by MIT media lab and since couple of months ago it got its own spin off company called TerraVoz.
  2. Here we can see Voip drupal modular structure. On the lowest levels there are implementations of different VoIP providers. Currently we support Twilio/Tropo /Plivo Cloud and recently we added support for KooKoo which gives you voip services in cloud. Calls starts from 1c/min, dedicated numbers from $1/month, and you can get local numbers in more than 30 countries. Fourth provider we support is Plivo Framework, which is open source framework between PHP and Freeswitch, which you install on your server. In the middle we have voip module which is the unified API between providers and contributed modules. At top we have contributed modules which is actual implementation of different use cases using the VoIP drupal framework. As a developer when you write a module, you don’t need to know individual specifications of different VoIP providers.
  3. Here we have our web server with Drupal + Voip drupal framework installed. Usually users access our server through web browser from their computer, tablet or smart phone. VoIP Drupal enables access to other users through regular telephone line or mobile phone without browser or internet. That happens through Voip provider like Twilio/Tropo,… which provides us with outbound/inbound voice calls, dedicated numbers and SMS. Voip drupal framework serves content to user via voip scripts. So that you know, some of these services cost $1/line/month  get a line in a couple of seconds For the countries that are not covered, there are several alternatives. One of them is Plivo/FreeSWITCH
  4. VoIP script is set of elements and commands which developer can use to decide what will user hear through the phone or see in text message. With 10-15 commands we can do all sorts of cool things.
  5. Example of simple script…Hello world Similar to PHP Developer needs just couple of hours to learn the syntax. Don’t expect developers to have to spend more than a couple of hours to get a good sense of how things work
  6. More advanced example of what we can do, such as this Voice menu. VoIP Drupal comes with about 20 sample scripts Inside those commands you can call any Drupal or PHP function…
  7. VVD module: http://drupal.org/project/vvd For beginners
  8. For programmers no need to know individual Voip provider APIs.
  9. Some of the ideas what we can build with VoIP Drupal framework Lets discuss some ideas for VoIP Drupal. How do you see VoIP Drupal helps you in your project? What features would you like to see in next version?
  10. We need your help
  11. I ask you to join voip drupal group, so you could get all latest news and invitations to many free webinars related to this framework. On voipdrupal.org you can try everything we talked about, without the need to install at your own server.