2013-02-25 6 views
2

У меня есть клиентская компания с простым веб-приложением (Python Flask), и мне нужно добавить функциональность уведомления по телефону.Самый простой способ сделать автоматические телефонные звонки SIP из веб-приложения?

Главное требование - призывать пользователей, воспроизводить определенный звуковой файл и принимать некоторые тональные сигналы («Привет! Это автоматическое сообщение из вашей учетной записи WebApp. У вас есть встреча с $John сегодня в $5pm. нажмите 1 для подтверждения "). Другое требование заключается в том, что решение должно быть относительно дешевым и быстрым на рынке.

Я сделал некоторые исследования уже и кажется, что есть несколько последовательных шагов для достижения этой цели:

  1. Настройки Asterisk или сервера FreeSwitch;
  2. Настройте учетную запись SIP;
  3. Напишите логику для сервера Asterisk, которая позволяет совершать звонки и воспроизводить звуки через учетную запись SIP;
  4. Напишите API на сервере Asterisk и выложите его в веб-приложение Python Flask.

Пропустить что-то здесь? Может ли какой-либо шаг быть опущен так или иначе? Могу ли я сделать это проще?

+1

Вы можете использовать один из существующих поставщиков голосовых приложений: anveo.com, tropo.com, twilio.com и т. Д. – sipwiz

ответ

6

Самый быстрый способ заставить его работать - использовать одну из облачных голосовых услуг с речевым синтезатором. Вот краткий список, чтобы проверить:

  • Twilio
  • Tropo
  • Plivo

Here я перечислил некоторые детали.

Эти услуги взимают плату за минуту, плюс вам, возможно, придется заплатить ежемесячную плату.

Если вы хотите запустить независимую и автономную службу, я бы рекомендовал FreeSWITCH вместо Asterisk. У этого есть возможности интеграции интеграции и API. Вам нужно будет прочитать книгу FreeSWITCH, чтобы понять, как она работает и как создать свой сервис.

0

Перечисленные вами сторонние решения - ваш простой выбор. Запуск вашей собственной звездочки также подходит для того, что вы хотите сделать, но я думаю, что только так много было бы излишним, с оперативной точки зрения.

В звездочке вы можете инициировать вызов с двумя переменными, которые вам нужны с HTTP-запросом (базовым). Вам также понадобятся некоторые настройки и крошечный диалплан. Настройка учетной записи SIP проще или сложнее, в зависимости от документации от поставщика. Большинство из них имеют подробную документацию по настройке звездочки (не столько для freeswitch). Держать проклятую вещь - это то, что вам нужно :)

1

Я согласен с Станиславом Синягиным в облачных решениях, но я бы добавил еще один, Voxeo Prophecy. Tropo от Voxeo, но они предложили Prophecy в качестве решения намного дольше и поддерживают открытые стандарты CCXML и VoiceXML. Преимущество CCXML для приложений исходящего уведомления заключается в том, что вы значительно контролируете процесс уведомления.

Платформа Prophecy имеет отличную call progress analysis (CPA), которая позволит вам определить, отвечает ли машина или человек и обрабатывает вызов соответствующим образом. Например, нет смысла просить машину «... нажать один для подтверждения». Вместо этого вы можете оставить сообщение, которое предоставляет номер обратного вызова для пользователя для подтверждения после того, как они прослушали голосовое сообщение. CPA может использоваться, чтобы оставить сообщение на машине в правильное время (когда сообщение приветствия остановлено), чтобы вы не получали обрезанные сообщения в голосовой почте. CPA также позволит вам предоставить подробные отчеты о том, кто был уведомлен, а также тем, кто не мог сказать вам, было ли это плохое число (получен сигнал SIT), модем или факс, или звонок без ответа (довольно редкий в эти дни). Данные типа могут повлиять на ваш процесс повторной попытки для отказавших уведомлений.

Другим преимуществом использования Prophecy и открытых стандартов является то, что ваше приложение будет переноситься на другие системы IVR, которые совместимы с VoiceXML/CCXML, если вы когда-либо захотите их перенести. Tropo, Twilio и Plivo используют проприетарные API, которые не позволяют переносить ваши приложения на другие сервисы. Пророчество также доступно как программное решение, так что, если вы хотите вытащить его из облака, вы можете запустить его в посылке. Вы можете получить версию двух портов бесплатно, чтобы попробовать.

Существует отличная документация по разработке исходящих систем уведомлений на сайте разработчиков Voxeo. Взгляните на CCXML documentation в разделе F по исходящему набору.

Не знаете, с какими языками разработки вы знакомы, но если вы используете ASP.NET MVC, есть open source project called VoiceModel, что упрощает разработку приложений VoiceXML. Другим преимуществом VoiceModel является то, что вы разрабатываете свое приложение один раз, и оно будет работать на любой платформе, совместимой с VoiceXML, и Tropo. В настоящее время они работают над добавлением поддержки исходящих уведомлений в этом проекте, который будет работать как для Tropo, так и для VoiceXML.