Как это работает (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.