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