Pull to refresh
69.03
Voximplant
Облачная платформа голосовой и видеотелефонии

VoxImplant — облачная платформа для разработчиков коммуникационных сервисов и приложений

Reading time 5 min
Views 40K
Доброго времени суток, %USERNAME%! Мы хотим поделится со всем сообществом разработчиков отличной новостью — мы (в лице компании Zingaya) запустили облачную платформу для разработчиков коммуникационных сервисов и приложений, благодаря которой вы теперь можете легко добавить поддержку аудио и видео коммуникаций, а также телефонии в свое веб или мобильное приложение. Итак, встречайте VoxImplant!



VoxImplant обладает рядом уникальных особенностей, которые вы не встретите в других коммуникационных платформах. Мы подробнее расскажем о них и о том какие возможности вам предоставляет платформа под катом.

Начать стоит с более подробного описания, что же это все-таки такое и зачем оно нужно. VoxImplant — это облачная платформа, которая предлагает ряд API, с которыми непосредственно взаимодействует разработчик: Web SDK, Mobile SDK, VoxEngine и HTTP API. Все SDK и HTTP API позволяют взаимодействовать с платформой удаленно, а VoxEngine позволяет запускать в облаке приложения, которые описывают логику обработки звонков, проходящих через VoxImplant Cloud, на Javascript. В дополнение на платформе может быть зарегистрирован любой SIP-клиент, а также можно совершать и принимать звонки через SIP. Например, если у вас уже есть номер телефона с переадресацией на SIP, то вы можете легко направить звонок на VoxImplant и обработать его в соответствии с логикой вашего приложения, а потом прокинуть на какой-нибудь SIP-клиент, подключенный к вашему приложению. Таким образом можно быстро написать функционал простой IP PBX и подстроить логику обработки звонков под свои требования или интегрировать все это с какими-то вашими веб-сервисами, например, CRM.



VoxImplant Web SDK


VoxImplant Web SDK представляет собой Javascript библиотеку с рядом функций по взаимодействию с облаком VoxImplant, а точнее с вашими приложениями, которые вы там развернули. В зависимости от возможностей браузера Web SDK может работать в WebRTC-режиме, или же использовать Flash. Существует возможность жестко задать режим работы, но если ваш браузер не поддерживает его, что особенно актуально для WebRTC (который пока доступен только в Chrome и Firefox + в Yandex-браузере, но там он глючит пока еще), то SDK выкинет exception и работать не будет, поэтому мы рекомендуем дать SDK возможность самому определять технологию, которая будет использоваться, чтобы избежать лишних проблем, за исключением случаев когда вы хотите заставить пользователя работать с вашим приложением в конкретном браузере или какая-то функция доступна только в определенном режиме работы SDK (например, пока видео-звонки работают только во Flash-режиме). Подробное описание функций и возможностей Web SDK доступно по адресу.

VoxImplant Mobile SDK


То же самое, что и Web SDK, только в виде нативных библиотек для iOS/Android. На текущий момент библиотеки доводятся до ума, а также пишется документация, поэтому они станут доступны чуть позже.

VoxEngine


Одна из самых интересных частей платформы — VoxEngine (cloud application engine), который выполняет сценарии, написанные на Javascript. По сути, сценарии — это полноценные Javascript-приложения, которые VoxEngine запускает и выполняет, когда звонок проходит через VoxImplant Cloud. Для написания приложений доступны все функции ECMA5 + дополнительные функции, которые дают доступ к возможностям VoxImplant и позволяют взаимодействовать со внешним миром, например, делать HTTP-запросы или отправлять email. Подробно со списком доступных функций можно ознакомиться по ссылке. При создании новой сессии VoxEngine запускает именно те скрипты (Scenarios), которые разработчик описал в правилах (Rules) приложения, то есть в зависимости от типа звонка могут выполнятся совершенно разные скрипты. После завершения сессии (когда в сессии больше нет звонков или разработчик сам вызвал метод уничтожения сессии в скрипте) VoxEngine дает сессии еще какое-то время для освобождения ресурсов (например, для завершения последних нескольких HTTP-запросов), потом сессия уничтожается. Внутри одной сессии может быть сразу несколько разных звонков, которые можно соединять/разъединять друг с другом и делать с ними самые разные вещи, типа проигрывания звукового файла звонящему или записи разговора, но существуют ограничения по количеству звонков, количеству одновременно выполняемых HTTP запросов и использованию других ресурсов платформы на одну сессию. Подробнее об этом можно ознакомиться в документации. Если читатели Хабра сочтут нашу платформу достаточно интересной, то мы займемся циклом туториалов и статей в стиле «How To», чтобы подробнее рассказать что и как можно делать с использованием платформы. Ниже пример самого простого сценария — проброс вызова при звонке с Web SDK на телефон:

VoxEngine.forwardCallToPSTN();

на самом деле функция forwardCallToPSTN — это хелпер, написанный для упрощения и сокращения кода, если бы этого хелпера не было, то код выглядел бы следующим образом:

VoxEngine.addEventListener(AppEvents.CallAlerting, function(e) {
  // В качестве второго аргумента нужно указать номер, подтвержденный через верхнее меню панели управления Voximplant
  var pstnCall = VoxEngine.callPSTN(e.destination, "+1234567890");
  VoxEngine.easyProcess(e.call, pstnCall);
});

Кстати, для вашего удобства мы встроили в панель управления VoxImplant редактор скриптов на базе CodeMirror с автокомплитом, поэтому необязательно наизусть помнить все названия функций. См. скриншот ниже:


HTTP API


VoxImplant HTTP API предоставляет возможность удаленного создания/редактирования/удаления всех сущностей, с которыми работает VoxImplant, таких как приложения (Applications), пользователи (Identitites), скрипты (Scenarios), правила (Rules), а также дает возможность работать с некоторыми функциями биллинга для распределения средств между аккаунтами пользователей. HTTP API очень полезно для интеграции с уже существующими приложениями и сервисами, иначе все пришлось бы делать в панели управления VoxImplant, что не очень удобно (попробуйте, например, создать вручную 1000 пользователей). Описание HTTP API доступно на этой странице. Мы называем эту часть HTTP API Provisioning API, существует еще одна часть HTTP API, которая сейчас находится в разработке — Control API, она позволит удаленно создавать сессию и вызывать функции, описанные в сценарии для VoxEngine. Такой тип API необходим в случае, когда не используется клиентское приложение, например, если нужно сделать два звонка с платформы и соединить их между собой — стандартный callback-сценарий.

VoxImplant Phone Numbers


Мы будем предлагать телефонные номера, подключенные к платформе, которые можно будет арендовать, чтобы принимать на стороне платформы входящие звонки из обычной телефонной сети. В самое ближайшее время можно будет арендовать номера в США и в России (включая toll free). Если у вас уже есть номер телефона, с переадресацией на SIP, то вы сможете легко настроить его так, чтобы входящие на него звонки шли на VoxImplant для дальнейшей обработки.

Используя все эти компоненты платформы, можно создавать самые разнообразные сервисы и приложения. Это короткая обзорная статья и основная ее задача — сообщить про запуск платформы и совсем коротко описать возможности. На voximplant.com мы создали специальный раздел сайта, в котором можно почитать о том как начать разрабатывать приложения. Мы активно работаем над документацией, поэтому если чего-то еще не хватает или описано не самым понятным образом — пишите, будем рады добавить/поправить/улучшить.
Tags:
Hubs:
+25
Comments 36
Comments Comments 36

Articles

Information

Website
www.voximplant.com
Registered
Founded
Employees
101–200 employees
Location
Россия