VoIP Drupal How to build an SMS service using a local phone number Tamer Zoubi Technical Lead at TerraVoz tamerzg@terravoz.org 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 VoIP Drupal modules sms framework How things work VoIP script commands – – – – – – – – – Dial number Say text or audio file Record audio from phone GetInput from keypad JoinConference RejectCall Hangup SendText number, message RunIvrMenu options – Goto label – GotoIf label, condition – Gosub script name Hello world $script = new VoipScript('hello_world'); $script->addSay('hello world'); $script->addHangup(); $script = new VoipScript('voipscript_small_office_ivr'); $script->addSay(t('Welcome to our office hotline.’)); 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(); 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. VoIP Drupal and SMS Framework • Build an SMS service • Use a local phone number in ANY country in the world, including Croatia. • Send and receive text messages with your customers, employees, beneficiaries, or anyone else Requirements • Drupal 7 (http://drupal.org/download) • SMS Framework (http://drupal.org/project/smsframework) • Envaya SMS (http://drupal.org/project/sms_envaya) • VoIP Drupal (http://drupal.org/project/voipdrupal) • Envaya Android App (http://sms.envaya.org/install) Configuring EnvayaSMS Configuring Drupal side DEMO Careers • TerraVoz is looking for highly energetic parttime developers to join our team. • Telecommute from your home. • Apply at http://terravoz.org/careers Useful links • 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 Questions? Thank you!