====== Asterisk Manager Interface(AMI) ====== ===== AGI AMI ARI ===== В Астериск есть несколько програмных интерфейсов для связи с внешними программами: * AGI (Asterisk Gateway Interface) позволяет Asterisk запустить внешнюю программу, написанную на любом языке, для контроля над каналами связи, воспроизведением аудио, чтения DTMF сигналов и др., связываясь с Asterisk через стандартный потоковый ввод/вывод. * AMI (Asterisk Manager Interface) - это асинхронный интерфейс, позволяющий контролировать внутреннее состояние объектов в Asterisk, и получать информацию о происходящих событиях. * ARI (Asterisk REST Interface) предоставляет RESTful-интерфейс для получения информации от Астериск и управления его объектами. Какие из этих технологий подойдут для получения информации и управления Астериском? AGI предназначен в основном для расширения возможностей диалплана. ARI - перспективно выглядит: удобна для вызова из веб-ориентированых программ, но к сожалению видимо пока еще недостаточно развита. Слишком мало действий, которые можно через ARI совершить. При всем многообразии объектов Астериск, слишком мало что можно с ними сделать через REST-интерфейс. ARI среди всех рассматриваемых интерфейсов самый молодой и надеюсь еще разовьется. AMI - имеет немного странный способ обмена информацией между внешней программой и Астериск (думаю по этому и родилась идея создать REST-интерфейс), но по возможностям пока что эта технология наиболее развита. Исходя из вышесказанного я рассмотрю в своих примерах программ только AMI (до момента, когда, я надеюсь, ARI будет уметь больше) Использованные источники: - [[https://habr.com/ru/post/308652/|https://habr.com/ru/post/308652/]] - [[https://asterisk-pbx.ru/wiki/asterisk/ari|https://asterisk-pbx.ru/wiki/asterisk/ari]] [[notes:asterisk:sozdanie_xelpa_po_komandam_ami|Создание хелпа по командам AMI]] [[notes:asterisk:Средства обращения к AMI]] [[notes:asterisk:Разбор системы запросов и ответов AMI]] {{tag>asterisk}}