Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
[call-back-mont]
exten => s,1,noop(trying to record call-back)
exten => s,2,DeadAGI,call-back-mont.php
;exten => s,2,AGI,call-back-mont.php
exten => s,3,Hangup()
require 'phpagi.php';
$agi = new AGI();
$agi->verbose("######### welcome to call-back-mont... #########");
$caller_id = $agi->request['agi_callerid'];
$agi->verbose("######### Call ID: ".$caller_id." #########");
if(is_numeric($caller_id))
{
$caller_id = '8'.$caller_id;
$agi->verbose("######### CALL #########");
$p = popen("/usr/bin/php /var/lib/asterisk/agi-bin/call-back.php $caller_id >> ./call-back.log &", 'r');
$agi->verbose("######### '.$p.' #########");
//sleep(1);
pclose($p);
}else
{
$agi->verbose("######### NOT NUMERIC #########");
}
$agi->hangup();
require_once("phpagi-asmanager.php");
sleep(15);
$f = fopen("/var/lib/asterisk/agi-bin/call-back.log","a");
$date = date("Y-m-d H:i:s");
$log = "\n".$date.' '.$argv[1];
fwrite($f,$log);
$asm = new AGI_AsteriskManager();
$asm->connect('localhost', '***', '***');
$call = $asm->send_request('Originate',
array('Channel'=>"SIP/***/".$argv[1],
'Context'=>'inbound-1',
'Priority'=>'1',
'Exten'=>'****',
'Callerid'=>'****',
'Timeout' => '30000',
'Async'=>true));
$asm->disconnect();
fclose($f);
exten => callback,1,Read(NUM,input-number,4,n,1,5)
Asterisk Обратный звонок, или как дешево звонить