Запускайте обратные вызовы, когда пользователь повесил трубку из IVR

Я использовал эту библиотеку PHP Pagi создать приложение IVR с помощью Asterisk.
Для каждого звонка мне нужно сделать некоторые очистки и записать что-то в базу данных. Поэтому мне нужен какой-нибудь обратный вызов / обработчик после того, как пользователь повесил трубку

ASAIK, эта библиотека предоставляет некоторый способ обнаружения зависания от пользователя:

pcntl_signal(SIGHUP, $signalHandler);

Однако это не сработает после того, как я поднял трубку, отправив команду ANSWER, Если он используется без ANSWERвышеупомянутый обратный вызов работает после того, как вызов положен!

Итак, я хотел бы знать, как обойти эту ситуацию?

1

Решение

На самом деле у меня есть сервер с установленными Asterisk, картой Digium (FSX KS Signaling) и стационарными телефонами. Клиенты могут позвонить на наш общедоступный номер телефона, который подключен к моему серверу, чтобы получить услугу IVR.
Я обнаружил, что когда пользователь вешает трубку, звездочка не отправляется SIGHUP к моему сценарию AGI. Это делает работать, когда IVR вызывается из внутренней сети.

Я наконец решил это, настроив некоторые конфигурации в chan_dahdi.conf

busydetect=yes
busycount=3

Надеюсь, это поможет, если у вас похожая ситуация со мной!

0

Другие решения

Других решений пока нет …