Как добавить прослушиватель событий для вызова зависания PHP AGI?
Я работаю над проектом, который записывает, как долго абонент находится на линии.
Мой вопрос, как вы добавляете прослушиватель событий для зависания с AMI или AGI?
В настоящее время я пытаюсь использовать класс Manager AGI, однако событие не запускается, когда вызов завершается.
$Log_File = "/var/www/html/admin/modules/timetracker/agi-bin/Log.txt";
function CallHungUp($e,$ch=NULL,$u=NULL,$ca=NULL)
{
file_put_contents( $Log_File,"HANGUP E - " . implode(' ',$e),FILE_APPEND);
}
$asm = new AGI_AsteriskManager();
if($asm->connect("localhost","Secret","Info"))
{
$asm->add_event_handler('Hangup','CallHungUp');
}
else
{
file_put_contents( $Log_File,"UNABLE TO CONNECT TO ASM",FILE_APPEND);
}
1 ответ
Есть 3 возможных способа
1) использовать h-extension
2) проверить событие SIGKILL
3) проверить КАНАЛ (статус) после длительного действия.