AF
Asterisk Forum
обсуждения телефонии, VoIP и IP-PBX
12разделов
5 423тем
34 385сообщений
← К списку тем

Выполнение AGI после завершения Dial

Asterisk IP PBX 2 сообщений -
#1

Привет всем!

Прошу помочь в решение вопроса.

Есть AGI скрип который заносит данные звонка в Mysql таблицу.
Если абонент Б завершает звонок раньше Абонента А, срипт отрабатывается как положено. Данные заносятся в Mysql. Если создать ситуацию когда Абонент А ложит трубку раньше, скрип завершает выполнения без внесения данных в Mysql.

Прошу помочь как обойти данную ситуацию. Google не смог помочь...

Ниже кусок срипта и Dialplan вызова срипта


Цитата:
$path = $argv[2];
$SIP_ID=$argv[4];
$agi -> exec("DIAL $SIP_ID,60,tTg");

while ($row = mysql_fetch_array($query)) // Если номер найден в базе
{
$cid=$row[0];
$dialstatus = $agi -> get_variable("DIALSTATUS");
$answeredtime = $agi->get_variable("ANSWEREDTIME");
if ($dialstatus['data'] == "ANSWER"){
$hour = ($answeredtime['data']/3600)%24;
$dur = date("i:s", $answeredtime['data']);
$sql = "INSERT ... '$argv[3]')";
mysql_query($sql,$link2) or die(mysql_error());
}}
if ($cid == "null") {
if ($cid == "ANSWER"){
$path = $argv[2];
$hour = ($answeredtime['data']/3600)%24;
$dur = date("i:s", $answeredtime['data']);
$sql = "INSERT ... '$argv[3]')";
mysql_query($sql,$link2) or die(mysql_error());
$agi -> exec('Set',"CID2=$cid");
}


Цитата:


exten => s,n,MixMonitor(/var/monitor/Office/${date}/${CALLFILENAME}.wav,b,${monopt});
exten => s,n,DeadAGI(/var/lib/asterisk/agi-bin/call-record.php,${ARG3},${HTTP},${ARG4},${ARG1})
exten => s,n,StopMixMonitor
exten => s,n,Hangup

#2

Разрыв звонка - это экстен h - в нем и ковыряйте
_________________
P4 3.0 + 1Gb CentOS 5.8 Aster 1.8.16
Не люблю gui-сборки: натуральный продукт вкуснее.
И еще: я ПРОФИ так как НЕ ЛЕНЮСЬ читать литературу.