Tuesday, June 03, 2008

Модель использования Asterisk

Мы продолжаем публикации интересных работ, выполненных под эгидой магистратуры ВМК МГУ (см., например, здесь).
На этот раз речь пойдет о работе А.Устинова, в которой рассмотрена очень интересная модель использования Asterisk.

Традиционно, вы можете прочесть об использовании Asterisk для VOIP телефонии, как программной PBX и т.д. Здесь же предлагается рассматривать Asterisk исключительно как платформу разработки приложений. Иными словами - сервис приложений Asterisk. Открытые API Asterisk позволяют писать обработку вызовов, используя достаточно высококоуровневые средства. Но и это еще не все. А что если мы добавим к Astwerisk компоненту, которая будет переводить телекоммуникационные события (читай - звонки) в HTTP запросы. Это даст возможность разрабатывать сервисы как обычные CGI-скрипты. Сервисы при этом вынесены с телекоммуникационной площадки и располагаются отдельно (на внешних хостингах). Информацию о событиях они получают в виде HTTP запросов. И реплики на эти запросы возвращают команды Asterisk на дальнейшие действия. Эта схема иллюстрируется следующим рисунком:





Предолженный подход интеграции телефонии и веб, на самом деле, уже проверялся ранее и доказал свою работоспособность. Впрвые это было сделано компанией AbavaNet для платформы Telsis в Audiotele. Там протокол INAP переводился в HTTP (с той же самой идеей - разрабатывать сервисы как обычные CGI скрипты). Далее, подобный подход был продемонстрирован на SI 2000 компании Искрател (для протокола CSTA). А теперь это практически проверено и для Asterisk. Модельный прокси переводит звонки в HTTP запросы и воспринимает в качестве ответов три типа реплик: терминировать звонок (например, для систем голосования - отметить факт звонка и завершить его), проигрывание медиа-файлов (информационные системы, автоответчики etc.) и переадресация звонка (услуги типа виртуальный номер, например).

Более детально это будет рассмотрено в готовящейся статье А.Устинова. Также, код предложенного прокси будет опубликован, так что можно будет попробовать этот подход, что называется "вживую". Очевидно, что подобного рода подход серьезно снижает входной барьер для разработки телекоммуникационных сервисов (не нужно изучать новые API, нет ограничений по средствам разработки - теперь сервис это обычный CGI скрипт). Заинтересованные лица приглашаются к обсуждению. Между прочим, представленная разработка являет собой прекрасную базу для телекоммуникационного или Open Source стартапа. Средства разработки для Asterisk - более чем востребованная тема.

3 comments:

Денис Радченко said...

Когда-то делал простой sms сервис по этому же принципу: человек отправлял sms на короткий номер, оператор транслировал его в HTTP запрос (с кешированием, данные не менялись) и отдавал ответ абоненту

Abava said...

>Когда-то делал простой sms сервис по >этому же принципу: человек отправлял >sms на короткий

есть и такое: SMS шлюз. Короткий номер не нужен

Anonymous said...

Ничо революционного. И какой-то очень ограниченный функционал. Можно использовать текст-ту-спич и строить гораздо более динамичные информаторы и голосовые меню.