VoIP Drupal Framework DrupalCon Prague

19
VoIP Drupal building sites that answer calls, send SMS, and more Tamer Zoubi [email protected]

description

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

Transcript of VoIP Drupal Framework DrupalCon Prague

Page 1: VoIP Drupal Framework DrupalCon Prague

VoIP Drupal building sites that answer calls,

send SMS, and more

Tamer Zoubi

[email protected]

Page 2: VoIP Drupal Framework DrupalCon Prague

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

Page 3: VoIP Drupal Framework DrupalCon Prague

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

Page 4: VoIP Drupal Framework DrupalCon Prague

• 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.

Page 5: VoIP Drupal Framework DrupalCon Prague

VoIP Drupal modules

Page 6: VoIP Drupal Framework DrupalCon Prague

How things work

Page 7: VoIP Drupal Framework DrupalCon Prague

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.

Page 8: VoIP Drupal Framework DrupalCon Prague

$script = new VoipScript('hello_world');$script->addSay('hello world');$script->addHangup();

Hello world

Page 9: VoIP Drupal Framework DrupalCon Prague

$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

Page 10: VoIP Drupal Framework DrupalCon Prague

Visual VoIP Drupal

Page 11: VoIP Drupal Framework DrupalCon Prague

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

Page 12: VoIP Drupal Framework DrupalCon Prague

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)

Page 13: VoIP Drupal Framework DrupalCon Prague

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.

Page 14: VoIP Drupal Framework DrupalCon Prague

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

Page 15: VoIP Drupal Framework DrupalCon Prague

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!

Page 16: VoIP Drupal Framework DrupalCon Prague

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

Page 17: VoIP Drupal Framework DrupalCon Prague
Page 18: VoIP Drupal Framework DrupalCon Prague

• 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

Page 19: VoIP Drupal Framework DrupalCon Prague

Thank you for listening!