Как добавить прослушиватель событий для вызова зависания 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) проверить КАНАЛ (статус) после длительного действия.

Другие вопросы по тегам