Basic VoIP Drupal Intro - for BioRAFT

Embed Size (px)

Citation preview

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