Quantcast
Channel: IP АТС Asterisk
Viewing all articles
Browse latest Browse all 1041

ARI - Asterisk REST Interface

$
0
0

ARI - Asterisk REST Interface

REST - Representational state transfer
REST - архитектура программного обеспечения для распределенных систем. REST очень простой интерфейс управления информацией без использования каких-то дополнительных уровней. Каждая единица информации однозначно определяется глобальным идентификатором, таким как URL. Каждый URLимеет строго заданный формат.

Краткая история Asterisk API

На момент создания Asterisk, в 1999 году, был локальной Private Branch Exchange (PBX) и настраивался при помощи статических файлов конфигурации.

Этого достаточно для реализации базовых задач, но требовался механизм для управления вызовами Asterisk внешними приложениями. Поэтому были добавлены два API: Asterisk Gateway Interface(AGI)и Asterisk Manager Interface (AMI).

Эти два интерфейса имеют разные задачи:

  • AGIпозволяет вызвать внешнее приложение (скрипт) из диаплана Asterisk и передать ему управление каналом. Интерфейс является синхронным - действия предпринятые через AGI не возвращаются, пока не будут завершены.
  • AMIинтерфейс позволяющий внешнему приложению отправлять Asterisk команды и/или считывать события, через TCP/IP протокол. В отличие от AGI, AMIявляется асинхронным интерфейсом управления событиями. По большей части, AMIиспользуется для получения информации о состоянии каналов и инициирования вызовов.

Используя оба API, вместе, могут быть разработаны сложные приложения, использующие Asterisk.

Тем не менее, в то время как AMIхорошо на контролирует вызовы, а AGI позволяет удаленному процессу выполнять план набора, ни один из этих интерфейсов не позволяет разработчику создавать свои собственные телекоммуникационные приложения. По сути, не было APIобращающегося напрямую к примитивам (channels, bridges) в Asterisk, необходимого для простого создания таких приложений.

Для приложений, полноценно взаимодействующих с Asterisk, был создан интерфейс ARI.

ARI: API для создания телекоммуникационных приложений.

ARIпозволяет разработчикам приложений создавать мощные, телекоммуникационные приложения на любом языке программирования. ARIпредоставляет доступ ресурсам Asterisk, обычно используемым для работы с ключевыми модулями - channels, bridges, endpoints, media и т.д. - через интуитивно понятный интерфейс REST (Representational state transfer).

  • Asterisk
  • Bridges
  • Channels
  • Endpoints
  • Events
  • Recordings
  • Sounds
  • Applications
  • Playbacks
  • Devicestates
  • Mailboxes

Являясь асинхронным интерфейсом, ARI передает состояние объектов и контролируется пользователем с помощью JSON событий через WebSocket.

Через контроль над фундаментальными ресурсами Asterisk, приложение написанное на любом языке, управляет логикой Asterisk.

ARIне замена для AMIили AGI. Скорее, он является дополнительным API:

  • AGIпозволяет контролировать выполнение плана набора канала
  • AMIвысокоуровневое управление вызовами.
  • ARIпозволяет заменить DialPlan Asterisk на диалплан вашего собственного приложения.

ari ami agi

Asterisk REST Interface (ARI)

Приступая к работе с ARI

Asterisk RESTful Interface (ARI) Swagger-UI


Viewing all articles
Browse latest Browse all 1041


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>