Skip to content

Instantly share code, notes, and snippets.

@cloudvoxcode
cloudvoxcode / cloudvox-example-call-in.pl
Created August 6, 2009 21:42
Receive phone call with Perl
#!/usr/bin/perl
use Cloudvox;
# start Asterisk Gateway Interface (AGI) server on port 4573
Cloudvox->run(port => 4573);
@cloudvoxcode
cloudvoxcode / cloudvox-example-call-out.pl
Created August 6, 2009 21:44
Place phone call with Perl
#!/usr/bin/perl
# Cloudvox - place an outgoing call using Perl
# Place and receive phone calls via open API: http://cloudvox.com/
# Learn about call scripting, Asterisk/AGI, voice apps: http://help.cloudvox.com/
use Asterisk::Manager;
# Number to call (10 digits, no leading 1 or 9)
my $call = '12065551234';
# Cloudvox outgoing settings. If you don't have these, create a free account
@cloudvoxcode
cloudvoxcode / ExampleCallIn.java
Created August 6, 2009 21:45
Receive phone call with Java
/* Cloudvox - answer and control a phone call with Java
Place and receive phone calls via open API: http://cloudvox.com/
Learn about call scripting, Asterisk/AGI, voice apps: http://help.cloudvox.com/ */
import org.asteriskjava.fastagi.AgiChannel;
import org.asteriskjava.fastagi.AgiException;
import org.asteriskjava.fastagi.AgiRequest;
import org.asteriskjava.fastagi.BaseAgiScript;
/* Example incoming call handler
@cloudvoxcode
cloudvoxcode / ExampleCallOut.java
Created August 6, 2009 21:46
Place phone call with Java
/* Cloudvox - place an outgoing call with Java
Place and receive phone calls via open API: http://cloudvox.com/
Learn about call scripting, Asterisk/AGI, voice apps: http://help.cloudvox.com/ */
import java.io.IOException;
import org.asteriskjava.manager.AuthenticationFailedException;
import org.asteriskjava.manager.ManagerConnection;
import org.asteriskjava.manager.ManagerConnectionFactory;
import org.asteriskjava.manager.TimeoutException;
import org.asteriskjava.manager.action.OriginateAction;
@cloudvoxcode
cloudvoxcode / cloudvox-example-call-in.php
Created August 6, 2009 21:47
Receive phone call with PHP
#!/usr/bin/php -q
<?php
# Cloudvox - answer and control a phone call using PHP
# Place and receive phone calls via open API: http://cloudvox.com/
# Learn about call scripting, Asterisk/AGI, voice apps: http://help.cloudvox.com/
require('phpagi.php');
set_time_limit(30);
$AGI = new AGI();
@cloudvoxcode
cloudvoxcode / cloudvox-example-call-out.php
Created August 6, 2009 21:48
Place phone call with PHP
#!/usr/bin/php -q
<?php
# Cloudvox - place an outgoing call using PHP
# Place and receive phone calls via open API: http://cloudvox.com/
# Learn about call scripting, Asterisk/AGI, voice apps: http://help.cloudvox.com/
require_once('/path/to/phpagi-asmanager.php');
# Number to call (10 digits, no leading 1 or 9)
$call = "2065554141";
@cloudvoxcode
cloudvoxcode / phone_call_bookmarklet.php
Created August 6, 2009 21:56
Handler for highlight number & call bookmarklet (PHP)
<?php
# Example handler for "call selected number" phone call bookmarklet.
# Browser hits CGI with 2 phone numbers (action=dial). Triggers outbound call
# via cloudvox.com phone API. When call connects, Cloudvox hits CGI for call
# steps (action=answer). CGI serves JSON to call 2nd number.
#
# Browser bookmarklet example dial params:
# action=dial&local_number=1234567890&remote_number=4567890123
# Cloudvox example answer params:
# action=answer&phone_number=1234567890&remote_number=4567890123
@cloudvoxcode
cloudvoxcode / cloudvox-inbound-simple-perl.pl
Created October 6, 2009 00:50
Answer call with Perl & Asterisk (more at help.cloudvox.com)
$call->exec("Swift", "Thank you for calling Cloudvox. Enter a 6 digit number.");
$call->exec("Read", 'pin||6|2|10');
$pin = $call->get_variable("pin");
$call->exec("Swift", "You entered ");
if (length($pin) > 0) {
$call->exec("SayDigits", $pin);
else {
$call->exec("Playback", "nothing-at-all");
@cloudvoxcode
cloudvoxcode / cloudvox-inbound-simple-php.php
Created October 6, 2009 01:11
Answer call with PHP & Asterisk (more at help.cloudvox.com)
<?php
$call->answer();
$call->exec("Swift", "Thank you for calling Cloudvox. Enter a 6 digit number.");
$call->exec("Read", 'pin||6|skip|2|10');
$pin = $call->get_variable("pin");
$call->exec("Swift", "You entered ");
if (strlen($pin) > 0) {
$call->exec("SayDigits", $pin);
} else {
@cloudvoxcode
cloudvoxcode / cloudvox-inbound-simple-java.java
Created October 6, 2009 01:35
Answer call with Java & Asterisk (more at help.cloudvox.com)
public class ExampleCallIn extends BaseAgiScript {
public void service(AgiRequest request, AgiChannel channel) throws AgiException {
answer();
exec("Swift", "Thank you for calling Cloudvox. Enter a 6 digit number.");
exec("Read", "pin||6|2|10");
String pin = get_variable("pin");
exec("Swift", "You entered ");
if (pin.length > 0) {
sayDigits(pin);