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
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.
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.
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
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.
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
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…
VVD module: http://drupal.org/project/vvd For beginners
For programmers no need to know individual Voip provider APIs.
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?
We need your help
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.