Smartswitch содержит несколько интерфейсов приложений.
Каждый из интерфейсов был создан для определенных целей.
При выборе интерфейса рекомендуем ознакомиться со всеми доступными интерфейсами, а также целями, которым они служат.
Интерфейсы перечислены в порядке возрастания сложности использования и порога входа для программиста.
Рекомендуем переходить к более сложному интерфейсу только в случае, если менее сложный интерфейс не позволяет Вам решить Вашу задачу.
Данный интерфейс позволяет сторонним приложениям общаться с Smartswitch c минимальным вовлечением в логику работы и структуру Smartswitch.
Цель создания интерфейса REST - дать возможность сторонним приложениям сопрягаться с Smartswitch, используя минималистичный API, с минимальным кол-вом функций и аргументов.
При этом сторонние системы теоретически могут подключаться к Smartswitch без дополнительной модификации их программного обеспечения (при наличии достаточного кол-ва опций на их стороне для выполнения сопряжения).
А значит, возможно обойтись без привлечения программистов для создания сопряжения.
Поэтому REST мы используем только для примитивных операций.
Для объектно-ориентированной модели Smartswitch мы используем интерфейс ICE (см. ниже), который элегантно решает вышеописанные проблемы.
Подробнее см. Интерфейс приложений REST
Данный интерфейс позволяет сторонним приложениям более тесно общаться с Smartswitch.
Интерфейс представляет собой объектно-ориентированную модель Smartswitch.
Целью создания интерфейса ICE было дать возможность сторонним приложениям общаться с Smartswitch, используя сложный API,
с большим кол-вом функций, аргументов, и взаимных зависимостей.
При подключении сторонних приложений через этот интерфейс, Вам не обойтись без привлечения программиста.
ICE интерфейс содержит в себе все API, присутствующие в REST интерфейсе.
Однако, кроме этого, ICE интерфейс содержит множество API, которых нет в REST интерфейсе.
Таким образом, ICE интерфейс всегда может быть использован вместо REST интерфейса.
Однако обратное утверждение неверно.
Подробнее см. Интерфейс приложений ICE
Это наиболее низко-уровневый интерфейс, который позволяет сторонним приложениям получать доступ к деталям совершения звонков через Smartswitch.
Он не является заменой REST или ICE интерфейса, а дополняет их в случаях, когда нужно получать больший контроль над звонком, и получать больше уведомлений о состоянии звонков.
При подключении стронних приложений через этот интерфейс, вам не обойтись без привлечения программиста.
Исключением является случай, если вы подключаете стороннее приложения, которое было создано для подключения к Asterisk.
В этом случае вы можете заменить Asterisk на Smartswitch, без модификации данного стороннего приложения.
Подробнее см. Интерфейс приложений AMI