VoIP Drupal Framework DrupalCon Prague

Post on 14-Jun-2015

688 views 4 download

Tags:

description

Slides for VoIP Drupal BoF at https://prague2013.drupal.org/bof/voip-drupal

transcript

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 commandsaddSay() , to play audio from URL or read text-to-speech textaddRecord(), to record audio input from useraddGetInput(), to read input from the telephone keypadaddRunIvrMenu(), to execute interactive voice response menuaddBeep(), to play beep soundaddJoinConference(), to connect the current call to the specified

conference roomaddGoto(), addGotoIf(), addGoSub(), to control flow of scriptFurther 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!