Index: /freepbx/trunk/amp_conf/bin/callback =================================================================== --- /freepbx/trunk/amp_conf/bin/callback (revision 1637) +++ /freepbx/trunk/amp_conf/bin/callback (revision 1637) @@ -0,0 +1,135 @@ +#!/usr/bin/php -q + + +readPHPArgv(); +array_shift($args); +//system("echo \"".$args[0].substr($args[1],0,strpos($args[1],"@")).$args[2]."\" > on.txt"); ; +print_r($args); + +$callback_number = $args[0]; +$callback_destination = $args[1]; + +// figure out context, exten, priority +$dest = explode(".",$callback_destination); +$callback_context = $dest[0]; +$callback_exten = $dest[1]; +$callback_priority = $dest[2]; + +//define the args for Originate +$channel = "Local/".$callback_number."@from-internal"; +//$channel = "zap/g0/".$uservm[$vmcontext][$vmextension]['options']['callme']; +$exten = $callback_exten; +$context = $callback_context; +$priority = $callback_priority; +$timeout = "15000"; +$callerid = "Callback"; +$variable = ""; +$account = ""; +$application = ""; +$data = ""; + +//connect to manager and dial +$astman = new AGI_AsteriskManager(); +if ($res = $astman->connect("127.0.0.1", $amp_conf["AMPMGRUSER"] , $amp_conf["AMPMGRPASS"])) { + $astman->Originate($channel, $exten, $context, $priority, $timeout, $callerid, $variable, $account, $application, $data); +} else { + fatal("Cannot connect to Asterisk Manager with ".$amp_conf["AMPMGRUSER"]."/".$amp_conf["AMPMGRPASS"]); +} +$astman->disconnect(); + + + + + + + + + + +function parse_amportal_conf($filename) { + $file = file($filename); + foreach ($file as $line) { + if (preg_match("/^\s*([a-zA-Z0-9]+)\s*=\s*(.*)\s*([;#].*)?/",$line,$matches)) { + $conf[ $matches[1] ] = $matches[2]; + } + } + return $conf; +} + +function out($text) { + echo $text."\n"; +} + +function outn($text) { + echo $text; +} + +function error($text) { + echo "[ERROR] ".$text."\n"; +} + +function fatal($text) { + echo "[FATAL] ".$text."\n"; + exit(1); +} + +?>