yotaartist
@yotaartist
PHP Dev

Как выводить номер телефона без обновления страницы?

asterisk при съеме трубки оператором отправляет get запрос с данными на адрес laravel контроллера, после чего тот должен через response()->json() отправлять обработанные данные на открытую в браузере страницу (для этого на странице js fetch использовал, чтобы ловить ответ), однако, данные приходят обратно в телелефонию, что ли. Но сам факт, что ничего не ловится.
  • Вопрос задан
  • 92 просмотра
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Из браузера запрос приходит в один скрипт, а запрос из asterisk'а - в другой. Даже если это один файл, на каждый запрос запускается его отдельная копия. Каждый скрипт, соответственно, отвечает тому, кто послал запрос.
Вариантов решения несколько.
1. Websocket. Пишется отдельный сервер, который слушает события Asterisk (AMI/ARI) и рассылает сообщения подключенным клиентам.
2. LongPull. Клиент делает долгий запрос. Asterisk вызывает скрипт, меняющий состояние. Скрипт с запросом от клиента обнаруживает изменение состояния и отвечает клиенту.
3. Периодический опрос. Asterisk вызывает скрипт, меняющий состояние, клиент периодически вызывает скрипт, возвращающий текущее состояние.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы