voip drupal intro (2011.02.14)
DESCRIPTION
Brief introduction to the Voip Drupal platform.TRANSCRIPT
Brief introduction to the Voip Drupal framework
Leo BurdMIT Center for Future Civic Media
2011.02.14
Voip Drupal is…
A software platform that facilitates the construction of Drupal sites that literally pick-up the phone, make calls, record messages, broadcast audio, run voice polls, and more.
Voip Drupal modules
voip.module
voipdir.module
voipext.module
voiplogin.module
messaging_voip.module clicktocall.module
voipcall.module
callblast.module
vote_registration.module
callrecorderfield.module
core
useful
specific voip_crm.module
voicemail.module voipcalendar.module
voip_group.modulevoip_geocall.module
voip_asterisk.module voiptwilio.module
voip_freeswitch.modulevoip_skype.module
voipcloudvox.modulevoiptropo.module
The VoipServer class
• Defines the API to a generic VoIP server, including
– Dial <voip_call>
– Hangup <voip_call>
– Ping <server>
– Set Default Voice <voice, language>
– Add Phone Line <>
– Get Phone Bill <number>
The VoipCall class
• Defines the basic elements of a VoIP call, including
– Caller id
– Destination number
– Check machine
– Status
– Duration
– Answered by
– Script
– Hangup script
The dialplan scripting system
• Dialplan scripts are like “audio pages”• Each module defines its own scripts
• Basic commands include
– Dial <number>– Say <text, voice, language>– Play <audio>– Record– GetInput– ConferenceCall– Reject– Hangup– SendSms <number, message>
– Goto <label>– GotoIf <condition, label>– Load <script name>– SetVar<var name, expression>
$script = new VoipScript(‘weather report); $script. addLabel('start'); $text = 'Local weather by phone. Please type your 5-digit zip code.';$script->addGetInput($text, 5, 5, ‘’);$script->addSet("zip_code", "%input_digits"); $script->addGotoIf('invalid_zip', ‘^%input_digits == '" . VOIPCALL_NO_INPUT . "'"); $script->addSet("forecast_result", "^_voiptest_get_forecast(%zip_code)"); $script->addGotoIf('invalid_zip'), “^%forecast_result == NULL"); $script->addLabel('forecast');$script->addSay("%forecast_result"); $script->addLabel('options');$text = 'To repeat this report, press the star key. To restart, press the pound key.';$script->addGetInput($text, 1, “”);
$script->addGotoIf('forecast', "^%input_digits == '*'");$script->addGotoIf('start', “^%input_digits == '#'");$script->addSay("Invalid option selected. Please try again.");$script->addGoto('options'); $script->addLabel('invalid_zip');$script->addSay("Invalid zip code received. Please try again.");$script->addGoto('start'); $script->addLabel('end call');$script->addHangup();
(617) 652.0978
Voip Drupal applications
• Go Out to Vote campaigns
• 2-1-1 and 3-1-1 lines
• Phone-based community surveys
• PTA reminders
• Story recording / playback
• Group voicemail
• And much more