VoIP Drupal
How to build an SMS service
using a local phone number
Tamer Zoubi
Technical Lead at TerraVoz
[email protected]
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!