Post on 16-Apr-2017
VoIP Drupal building sites that answer calls, send SMS, and more
VoIP Drupal Experience
Presented by: Michele (Micky) Metts of Agaric
We want to hear your ideas for future VoIP Drupal Use Case Experiences!
VoIP Drupal is an initiative of the MIT Center for Civic Media - civic.mit.edu
Date of Event: August 23rd 2014DCCT - Drupal Camp Connecticut Luce Hall, Yale University New Haven, CT
VoIP Drupal Experience
Setup and Configuration of VoIP Drupal Modules
Acknowledgments
Many thanks to all the Drupal users and developers who have taken the time to contribute to this incredible project that will change the world for the better.
VoIP Drupal is a project created by Dr. Leo Burd and the MIT Center for Civic Media civic.mit.edu
5.5 Billion regular cell phone users
1.5 Billion Smart phone users
Potential VoIP Drupal Applications
Call centers
2-1-1 and 3-1-1 community hotlines
Phone - and SMS - based surveys
Group communications
Story recording / playback
Audio speed dating services
Language training
Audio tours
Adventure games
Interactive community radio programs
Emergency announcements
Get Out the Vote campaigns
VoIP Drupal is a PLATFORM that many applications can be built upon
Drupal 6x or 7x installed and running and accessible on the Internet. Drupal Administrative permissions to enable modules
Server access to upload and install modules Tropo.com account - the account is FREE until you are finished developing!
cURL must be installed on your server (most web hosts have Curl installed as part of their PHP package, if unsure please check with your web host)
13245Requirements:
VoIP Drupal
Modules
These are the modules that work together as the VoIP Drupal Platform
Core ModulesUseful Modules
VoIP Drupal Modules in List
VoIP Drupal Modules in List
Enable these 4 modules
What about those README.TXT files?
README.TXT voiptropo.module
== Introduction ==
The VoIP Tropo module makes it possible for the VoIP Drupal platform to make and receive text and voice calls via the Tropo Cloud API service (http://www.tropo.com/).
In particular, the VoIP Tropo module enables the creation of Drupal sites that:* Are accessible via SIP connections and phone numbers in over 40 countries* Provide SMS capabilities to and from U.S. numbers* Can use a combination of 16 voices (8 male, 8 female) in 6 different languages for text to speech generation
In addition to that, the VoIP Tropo module extends the standard VoIP Drupal API with support to voice recognition via the new addGetVoiceInputCommand(). Check the 'voiptropo_speech_recognition_demo' script for an example of that functionality in action.
== Requirements ==
In order to install the voiptropo.module, you will need:
1. A Tropo account
2. The VoIP Drupal module (http://drupal.org/project/voipdrupal)
3. The PHP Curl extension in your system. For Debian systems, just run $ sudo apt-get install php5-curl $ sudo /etc/init.d/apache2 restart
== Installation ==
Installing voiptropo.module is very simple. It requires a few configuration steps on your Drupal site to let it know how to reach your Tropo account. It also requires a few settings in your Tropo account to make sure it knows which Drupal site to use.
Tropo configuration:
1. Login into your Tropo account
How Things Work
Setup an Account at Tropo.com it's free
Next
Create a New Application
Create a New Application using Tropo WebAPI
http://your_site.com/voip/tropo/callhandler
any_name
Create a New Application
Give your new application a name and fill in the URL to your VoIP Tropo module
Add a phone number
Add a New Tropo VoIP Phone Number
*Tropo's SMS configuration field only shows up after you choose a US phone number for your WebAPI app.
*Tropo's SMS configuration field only shows up after you choose a US phone number for your WebAPI app.
These are your Tokens, issued by Tropo. You must now launch your Tokens. Click on each one and select: LaunchIn the pop up window.
Launch Your Outbound Tokens
pop up window
Choose Tropo as your Default Server here.
Default Server Configuration
Default Server Configuration
Add your outbound token numbers from your Tropo.com account here.
Do not share your token numbers. They are issued by Tropo and are connected to your personal account information.
Choose the voice and language settings here. You can set a Default Voice that will be used in all scripts, and set options for individual voices to be chosen for each script.
Default Call Configuration
Location of VoIP Drupal Scripts
There are several script examples that are included in the voipdrupal downloaded module. You can *view the scripts in a list by going to this URL within your Drupal site:
http://your_site.com/voip/voipscripts
or, for those not using Clean URLs:http://your_site.com/?q=voip/voipscripts
Today we will enable the Conference Call script:http://your_site.com/voip/voipscripts/view/voipscript_join_conference
or, for those not using Clean URLs:http://your_site.com/?q=voip/voipscripts/view/voipscript_join_conference
* To view the sample scripts, you will need to have the Views module installed and enabled - http://drupal.org/project/views
http://your_site.com/voip/voipscripts
$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
In the Default Call Configuration settings - /admin/voip/call/settings,Set the Default Inbound Call Script to: voipscript_join_conference and save.
Call the VoIP Drupal Phone NumberUS 617-229-6844New York City: 516-519-3168Boston: 617-939-9835Bratislava: +421 233002667Burbank: 818-861-6742Enter a 3-digit conference extension number to join
Test your own setup by calling the Tropo VoIP phone number listed in the settings for your WebAPI application within your Tropo.com account. You can have multiple numbers within one account or one WebAPI.
Testing the System
Tips, Hints and Help
What to do when things go wrong...
Here are some things you can do to troubleshoot your configuration:
When you setup a phone number with Tropo it can take time for it to be propagated throughout the system. Please be patient.
Make sure that Tropo is selected as the default server in your Default Server Configuration within the VoIP Drupal Administrative settings
Check your server's call log, everything is recorded there and it will give you some good information. Call logs are found in the VoIP Drupal Administration menu:http://your_site.com/admin/voip/call/log
Tropo.com offers a real time debugger so you can see what is happening on their server when a call is initiated. You will find this on your Tropo account page. Go to that page and then try calling your VoIP Drupal number.
Check for typos in your Inbound and Outbound Tokens issued by Tropo.
Some issues you may run into include: busy signal, call hangups, no answer.
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
Works with Drupal modules Actions, Triggers, Rules etc.
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.
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
DialPlan scripting - Simple, yet powerful PHP-like scripting language with a short learning curve
Integrated with Rules, Triggers, Actions and Scheduling
Who is this for?Site Administrators
Click2Call - Enable your Website to make outgoing phone callsAudioField - Add an Audio field to content typesAudioRecorder - Leave voice message recordingsPhoneRecorder - Enable users to call your Website and interact in several ways.Small Office IVR Script - Dial 2 for support, 3 for billing etc.AudioBlog - Enable posting of Audio and Text content from regular phonesExtensions - Enable phone extensions for users, or for pieces of content
Some of the Modules we did not configure:
Let's go create and edit a script in the sandbox!
Open a browser and go to http://voipdrupal.org
Log in on the left:User name: voiptestPassword: voiptest
On the right, click on Create VoIP Scriptshttp://voipdrupal.org/node/add/voipscriptui Edit the text that says your message here and save the script.
On the right, click on Listen to your own VoIP Scriptshttp://voipdrupal.org/node/add/scripts-demo
Fill in a Title, then select the script you just created from the Click2Call list.
Save, and click on the Title link that appears and type in your phone number.
132456
Review:
We created and enabled an application in Tropo
We enabled the VoIP Drupal modules
We setup the VoIP Drupal Server Configurations
We setup the VoIP Drupal Default Call Configuration
We selected Scripts, Voices and Languages for Messages
We edited a sample script
We did not do any programming
We visited the VoIP Drupal Sandbox to play with scripts
Ways to Get Involved
Join http://groups.drupal.org/voip-drupal
Play with script samples in the sandbox at http://voipdrupal.org
Post in the Issue queue - http://bit.ly/1pN6W27
Create new modules; new sites using VoIP Drupal
Contribute code and documentationGitHub ---
http://bit.ly/Ui8svS
Organize meetups in your area (meetup.com)
Help us spread the word, using social media!
Support goes both ways in the Drupal Community Give some- Get some!
Always look at the resource options before seeking help in the forums!
Stay tuned to groups.drupal.org/voip-drupal for updates on VoIP DrupalUpcoming VoIP Drupal Events
Office Hours: Every Wednesday at noon EST. We will be answering questions and discussing VoIP Drupal-related topics. To participate, meet us in the VoIP Drupal IRC chat room: http://voipdrupal.org/node/1296
drupal.org/voipdrupalgroups.drupal.org/voip-drupalvoipdrupal.org
Presented by: Michele (Micky) Metts of Agaric
Special Thanks to:
For additional information on the VoIP Drupal Project:
Dr. Leo Burd and the MIT Center for Civic Media - civic.mit.edu
Drupal is a registered trademark of Dries Buytaert - http://buytaert.net