Size: a a a

2021 March 31

МИ

Михаил Иванов... in Asterisker-ы
ну тогда скорее всего curl (только не system) достаточно хороший выбор
источник

PZ

Pavel Z in Asterisker-ы
Михаил Иванов
ну тогда скорее всего curl (только не system) достаточно хороший выбор
а как без system вызвать curl из диалплана?)
источник

МИ

Михаил Иванов... in Asterisker-ы
источник

МИ

Михаил Иванов... in Asterisker-ы
как-то так
источник

МИ

Михаил Иванов... in Asterisker-ы
или, если все сложно, то lua может и не такое :))
источник

PZ

Pavel Z in Asterisker-ы
Михаил Иванов
или, если все сложно, то lua может и не такое :))
с самим луа всё сложно)) что-то и не знал, про курл из астера, но мне достаточно данные отправлять, а тут на получение в основном, скорее всего поэтому не обратил внимания
источник

RP

Roman Pertsev in Asterisker-ы
Михаил Иванов
ну тогда скорее всего curl (только не system) достаточно хороший выбор
а чего не так с System? лучше тогда уж System или SHELL чем встроенный нативный обрубок curl астера.

К тому же еще System или SHELL можно запустить в фоне, что бы не стопался диалплан.

В идеале я бы слушал АМИ на предмет нужных событий или сам в диалплане вставил UserEvent'ы что бы в ами при их наступлении делать GET/POST запрос или любую другую логику
источник

EG

Evgeniy Gostkov in Asterisker-ы
System/Shell слишком "кучеряво" создавать новый процесс чтобы просто отправить запрос http запрос. Если это нечастая операция, то ещё ок.
на lua вообще изи. можете сделать экстен, там отправка запроса, что-то в духе:
local http = require("socket.http")
local body, code, headers, status = http.request("http://somedomain")
print(code, status, #body)

из dialplan Делаете Gosub и всё
источник

RP

Roman Pertsev in Asterisker-ы
Evgeniy Gostkov
System/Shell слишком "кучеряво" создавать новый процесс чтобы просто отправить запрос http запрос. Если это нечастая операция, то ещё ок.
на lua вообще изи. можете сделать экстен, там отправка запроса, что-то в духе:
local http = require("socket.http")
local body, code, headers, status = http.request("http://somedomain")
print(code, status, #body)

из dialplan Делаете Gosub и всё
Я считаю слишком кучеряво отдавать драгоценное время ожидания клиента на ответ  запроса для которого он и не важен. Нам не важен ответ от того сервиса, а заблочить диалплан на пару секунд, даже с учетом настроенных таймаутов - такое себе.
источник

PZ

Pavel Z in Asterisker-ы
Ну корячить луа, с учетом его неиспользования не вижу смысла)
источник

PZ

Pavel Z in Asterisker-ы
Roman Pertsev
Я считаю слишком кучеряво отдавать драгоценное время ожидания клиента на ответ  запроса для которого он и не важен. Нам не важен ответ от того сервиса, а заблочить диалплан на пару секунд, даже с учетом настроенных таймаутов - такое себе.
Ну у меня обработка еще в обычном h экстеншене)Так что блокировка тоже не важна
источник

RP

Roman Pertsev in Asterisker-ы
Pavel Z
Ну у меня обработка еще в обычном h экстеншене)Так что блокировка тоже не важна
И да и нет, пока висит выполнение запроса, канал еще не умер. Этим тоже не стоит злоупотреблять.

А что если нужен запрос в момент прихода вызова или нажатия кнопки в меню? Тут систем в фоне или ами рулит.
источник

PZ

Pavel Z in Asterisker-ы
Roman Pertsev
И да и нет, пока висит выполнение запроса, канал еще не умер. Этим тоже не стоит злоупотреблять.

А что если нужен запрос в момент прихода вызова или нажатия кнопки в меню? Тут систем в фоне или ами рулит.
Да, не спорю, но я ищу подходящий инструмент под конкретную задачу и готовый диалплан, если и потребуется расширять спектр задач, то потом)
источник

PZ

Pavel Z in Asterisker-ы
Пока оставлю system curl, поскольку функция curl в астере ответы анализирует еще и кучу в лог вываливает)
источник

RP

Roman Pertsev in Asterisker-ы
Pavel Z
Пока оставлю system curl, поскольку функция curl в астере ответы анализирует еще и кучу в лог вываливает)
Делай выполнение в фоне
источник

RP

Roman Pertsev in Asterisker-ы
Через nohup или disown
источник

PZ

Pavel Z in Asterisker-ы
а зачем в фоне?
источник

RP

Roman Pertsev in Asterisker-ы
Что бы канал сразу завершался
источник

EG

Evgeniy Gostkov in Asterisker-ы
Pavel Z
Ну у меня обработка еще в обычном h экстеншене)Так что блокировка тоже не важна
в h экстене вечно не будет вистеть вечно :)
источник

RP

Roman Pertsev in Asterisker-ы
Ага, а потом зомби каналы появляются и цдр не пишется
источник