Call to Web


Telecom 2.0 mashup

Как это работает (FAQ)

Telecom 2.0 mashup, позволяющий принимать звонки от пользователей непосредственно в веб-приложении.

1. Как это вглядит практически? Прием звонка непосредственно в веб-приложении означает, с практической точки зрения, что непосредственно в веб-приложении мы определяем место, где будет приниматься звонок, а также собственный callback - метод, который будет отвечать за прием звонка. Поскольку мы говорим о веб, то callback здесь - это postback. То есть CGI скрипт, который будет отвечать за прием звонка. А указание места приема - это должен быть какой-то тег. Для разработчика веб-приложения это в итоге выливается в размещение в произвольном месте своего приложения JavaScript вызова, который и выставит соответствующую метку. Выглядит это таким образом:

AcceptCall('Голосовое сообщение',
     'http://myserver/my_cgi_script')

Здесь первый параметр - это заголовок для пользователя (как это будет видеть посетитель сайта), второй параметр - CGI скрипт (от _собственного_ веб приложения), который будет регистрировать звонок. Для посетителя сайта это выглядит в итоге как обычная ссылка:

Голосовое сообщение

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

После звонка на указанный номер и ввода кода (код находится перед глазами - он одноразовый и запоминать его не нужно :) голосовое сообщение будет записано. А далее - телекоммуникационная платформа просто выполнит HTTP POST запрос по URL, указанному в качестве второго параметра (см. JavaScript вызов выше). При этом записанный файл (mp3, например) будет просто передан (выгружен) в данном запросе. И, соответственно, скрипт в веб-приложении для приема звонка есть просто CGI-скрипт для обработки загрузки файла. Для веб-приложения это выглядит так, как будто есть некоторая страница с формой загрузки файла (<input type="file" ...) и нужно обработать загружаемый пользователем медиа-файл. Далее - уже целиком область ответственности веб-приложения: просто поместить у себя ссылку на полученный файл, вставить на страницу медиа-плейер для прослушивания etc.
Как веб-приложение различит, к чему относится полученный файл? Для этого указанный выше JavaScript вызов может использоваться в такой форме:

AcceptCall('Голосовое сообщение',
     'http://myserver/my_cgi_script',
     дополнительные параметры)

Например, для форума (блога) серверное приложение, которое выводит ветку дискуссии может добавить на генерируемую страницу такой JavaScript код, указав в дополнительных параметрах ID сообщения (топика в форуме). Дополнительные параметры будут просто передаваться вместе с медиа-файлом "как есть". Базируясь на их значениях, CGI скрипт, который будет обрабатывать прием медиа файлов сможет корректно адресовать полученный файл уже в рамках веб-приложения.

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

Отметим, что описанный подход будет работать и для мобильных веб-приложений.

2. Публикации по теме:

Звонок в приложение

P.S. и не забудьте проверить другие Mobile 2.0 сервисы. Например: Voice 2 Email или Mobile alert.

Еще 2.0:

  • Голос ЖЖ
  • Voice 2 Email
  • Voice 2 WAP
  • Click to Mobile
  • Voice SMS
  • Userpic 2 WAP