"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
#1 Basic VoIP Drupal Hands On Experience Webinar
1. #1
#1
VoIP Drupal
VoIP Drupal
Hands On
Introduction
Introduction
Experience A Series of Episodes
Series of Episodes
VoIP Drupal is an initiative of the MIT Center for Civic Media - civic.mit.edu
Setup and Configuration of VoIP Drupal Modules
Presented by: Michele (Micky) Metts of DrupalConnection.com
Date of Event: TBD
While you are waiting for the conference to start, go to my test site at
http://MickyMetts.com and post an AUDIO BLOG.
We want to hear your ideas for future VoIP Drupal Hands On Experiences!
2. 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
3. This Webinar will walk you through enabling VoIP Drupal modules and basic
configuration of Tropo (VoIP provider). We will go step-by-step through the
Administration screens and show each configuration.
Requirements:
1 Drupal 6x installed and running and accessible on the Internet.
2 Drupal Administrative permissions to enable modules
3 Server access to upload and install modules (for those that do not have the
VoIP Drupal or Click2Call modules installed already)
4 Tropo.com account - the account is FREE until you are finished developing!
5 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)
4. Potential VoIP Drupal Applications
VoIP Drupal is a PLATFORM that many applications can be built upon
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
5. Goals for Today
Making a VoIP Drupal Script Interact with a Phone.
Setup a Tropo account and create a WebAPI
Setup VoIP Drupal Server Configurations
Setup the VoIP Drupal Default Call Configuration
Select Scripts, Voices and Languages
Editing a Sample Script (No Programming)
Take a Peek at Visual VoIP Drupal to Inspire You!
Call the VoIP Drupal Phone # and Join a Conference.
Get started editing scripts and making them your own!
6. Basic Server Requirements
Our Test Server is: Linux - CENT OS 5, Apache, MySQL-5.0.95, PHP-5.2.17
Your host should have these basic services in place.
Drupal 6x
Installed and hosted on a Web server that is accessible on the Internet.
PHP-cURL
Both Tropo and Twilio require PHP-cURL to be installed, check your Status Report
page /admin/reports/status to see if cURL is installed. If not, please check with your
host, or if you have access, install the cURL PHP extension.
Clean URLs
You should use the Apache 'mod_rewrite' extension to allow for clean URLs.
/admin/settings/clean-urls
You will need an FTP account and administrative access
to your Drupal site to upload and install modules.
7. Clean URLs
The test site for this Webinar is setup to display clean URLs.
If your site is not configured for clean URLs, then any dynamic
URLs will be displayed with /?= after your domain name.
Clean URLs:
http://your_site.com/Drupal_Dynamic_Page
No Clean URLs:
http://your_site.com/?=Drupal_Dynamic_Page
8. VoIP Drupal
Modules
These are the modules
that work together as the
VoIP Drupal Platform
In this hands on
Webinar, we will
walk you through
installation and
configuration of the
basic VoIP Drupal
modules.
9. Required VoIP Drupal Modules
These are the required modules to be enabled for today's experience:
MODULES (listed under the VoIP Drupal category on the Modules page at /admin/build/modules):
VoIP Drupal (modules listed below are all included in the voipdrupal package)
VoIP Drupal Core – http://drupal.org/project/voipdrupal
VoIP Tropo
VoIP Call
VoIP Script Samples
In addition to VoIP Drupal's required modules, some examples in this
Webinar use 2 more. Please install them in order to follow along with me.
http://drupal.org/project/cck http://drupal.org/project/views
10. OPTIONAL Drupal Modules
(listed by the section they appear in on the Modules page located at /admin/build/modules):
CCK
CCK - http://drupal.org/project/cck
Text
Click2Call Field
Views
Views - http://drupal.org/project/views
VoIP Drupal
VoIP Script UI (included in VoIP Drupal Core – you will need Views to enable this)
Click2Call
Click2Call - http://drupal.org/project/click2call
Click2Call Block
14. 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
18. Create a New Application
Give your new application a name and fill in the URL to your VoIP Tropo module
any_name
http://your_site.com/voip/tropo/callhandler
19. Add a New Tropo VoIP Phone Number
Add a phone number
22. Launch Your Outbound Tokens
pop up window
These are your
Tokens, issued by
Tropo. You must now
launch your Tokens.
Click on each one and
select: Launch
In the pop up window.
24. 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.
26. Tips, Hints and Help
What to do when things go wrong...
Some issues you may run into include: busy signal, call hangups, no answer.
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.
27. 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
29. Hello World
$script = new VoipScript('hello_world');
$script->addSay('hello world');
$script->addHangup();
30. Office Hotline
$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();
31. Testing the System
In the Default Call Configuration settings - /admin/voip/call/settings,
Set the Default Inbound Call Script to: voipscript_join_conference and save.
Call our VoIP Drupal Phone Number
US 617-981-4636
CAN 604-800-9161
Enter the 3-digit conference extension number to join
(The extension number will be given during the Webinar)
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.
32. 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
33. 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.
34. 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.
35. 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
Visual programming language for novice developers and fast
prototyping
36. Next
Learn what you can do with VoIP Drupal without any
programming skills. Easily install and configure several features
using only your browser
The VoIP Drupal core module includes scripts that can be used
as they are, or modified to suit your needs.
Learn about the visual programming language for novice
developers to create fast prototypes
38. Who is this for?
Site Administrators
#2
Setup and Configuration of VoIP Drupal Modules without Programming
Walk through the setup and configuration of VoIP Drupal modules that are very user
friendly. No programming skills are needed to setup advanced interaction of the phone
system with your Drupal Website.
More than twenty sample scripts are included with the core VoIP Drupal module.
Many of these scripts can be used without editing. This will allow you to have
immediate functionality of some very advanced features.
"VoIP Drupal with little or no programming" -- explore what VoIP Drupal can do
out of the box.
These are just a few of the modules we will cover
***This topic will be comprised of several short Webinars that cover a few modules at a time.
39. Who is this for?
Site Administrators
#2
Some of the Modules we will setup and configure:
Click2Call - Enable your Website to make outgoing phone calls
AudioField - Using CCK to add an Audio field to content types
AudioRecorder - Enable users to post audio messages on your Website
PhoneRecorder - Enable users to call your Website and interact in several ways.
Small Office Script - Dial 2 for support, 3 for billing etc.
AudioBlog - Enable posting of Audio and Text content from phones
Extensions - Enable phone extensions for users, or for pieces of content
Let's take a quick peek at Click2Call...
40. Click2Call has 2
#2 Admin screens,
one for general
settings and
one for blocks.
There is also a
CCK field for
Click2Call.
Click2Call This is one
style of a Block
enabled with
Click2Call
Click2Call will appear as Blocks – On the
administrative screen, choose how many
blocks you would like for Click2Call and enable
them on the Blocks Administration page.
42. Who is this for?
Developers + Site Admins
#3
Setup and Configuration of Visual VoIP Drupal Workspace
This Webinar will show you how to create scripts using the visual editor
components. Drag and drop scripts elements into the workspace to arrange events
for user interaction or routing calls.
43. Let's go create and edit a script in the sandbox!
1 Open a browser and go to http://voipdrupal.org
2 Log in on the left:
User name: voiptest
Password: voiptest
3 On the right, click on “Create VoIP Scripts”
http://voipdrupal.org/node/add/voipscriptui
Edit the text that says “your message here” and save the script.
4 On the right, click on “Listen to your own VoIP Scripts”
http://voipdrupal.org/node/add/scripts-demo
5 Fill in a Title, then select the script you just created from the Click2Call list.
6 Save, then click on the Title link that appears and type in your phone number.
44.
45. Things We Accomplished Today:
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 took a peek at Visual VoIP Drupal to inspire you!
We visited the VoIP Drupal Sandbox to play with scripts
46. Ways to Get Involved
Join http://groups.drupal.org/voip-drupal
Play with script samples in the sandbox at
http://voipdrupal.org
Create new modules; new sites using VoIP Drupal
Contribute code and documentation
Organize meetups in your area (meetup.com)
Help us spread the word, using social media!
47. Support goes both ways in the Drupal Community – Give some- Get some!
Always look at the resource options before seeking help in the forums!
48. Upcoming VoIP Drupal Events
List of Future Webinars, Meetups and Events
Stay tuned to
groups.drupal.org/voip-drupal
for dates of future Webinars
Office Hours: Every Wednesday at noon EST.
We will be answering questions and discussing VoIP Drupal-related
topics. To participate, meet us at the newly created VoIP Drupal chat
room: http://voipdrupal.org/node/1296
49. Presented by: Michele (Micky) Metts
For additional information on the VoIP Drupal Project:
drupal.org/voipdrupal
groups.drupal.org/voip-drupal
voipdrupal.org
Special Thanks to:
Dr. Leo Burd and the MIT Center for Civic Media - civic.mit.edu
Drupal is a registered trademark of Dries Buytaert - http://buytaert.net