2013-02-25 59 views
2

我有一个简单的Web应用程序(Python Flask)的客户端公司,我需要给它添加一个手机通知功能。从Web应用程序进行自动SIP电话呼叫的最简单方法是什么?

的主要要求是,应用程序应该调用用户来说,起到了一定的声音文件,并接受一些音输入(“你好!这是你的Web应用程序的帐户的自动讯息。你必须要在$5pm今天$John会议。请按1确认“)。 另一个要求是解决方案应该相对便宜并且快速上市。

我已经做了一些研究,似乎有一些后续步骤来实现的是:

  1. 搭建AsteriskFreeSwitch服务器;
  2. 设置一个SIP账号;
  3. 为Asterisk服务器编写一些业务逻辑,允许通过SIP帐户拨打电话和播放声音;
  4. 在Asterisk服务器上编写一个API并将其暴露给Python Flask Web应用程序。

我想念这里的东西吗?无论如何可以省略任何步骤?我可以做得更简单吗?

+1

您可以使用现有的语音应用程序提供商之一:anveo.com,tropo.com,twilio.com等。 – sipwiz 2013-02-25 23:17:08

回答

6

让它工作的最快方法是使用具有语音合成器的云语音服务之一。这里是一个短名单退房:

  • Twilio
  • 对流层
  • Plivo

Here我列出了一些细节。

这些服务每分钟收取一次费用,再加上您可能需要支付一些月费。

如果你想运行一个独立的独立服务,我会推荐FreeSWITCH而不是Asterisk。它具有覆盖整合的可能性和API。您需要阅读FreeSWITCH手册才能了解它的工作原理以及如何构建您的服务。

0

列出的第三方解决方案是您的简单选择。运行你自己的星号也适合你想要做的事情,但我认为只有这么多,从操作的角度来看,这将是过度杀伤。

在星号中,您可以通过(基本认证)HTTP请求发起具有所需2个变量的调用。您还需要一些设置和一个小拨号计划。根据提供商提供的文档,设置SIP帐户更容易或更困难。他们中的大多数都有配置星号的详细文档(对freeswitch来说不是那么重要)。保持该死的东西活着是什么会得到你:)

1

我同意Stanislav Sinyagin基于云的解决方案,但我会再添加一个,Voxeo Prophecy。 Tropo来自Voxeo,但他们已经将Prophecy作为解决方案提供了更长的时间,并支持开放标准CCXMLVoiceXML。 CCXML用于出站通知应用程序的优点是您可以更多地控制通知过程。

Prophecy平台具有出色的call progress analysis(CPA),可以让您确定机器或人员是否应答并处理相应的呼叫。例如,让一台机器“按一个确认”是没有意义的。相反,您可能希望留下一条消息,提供回拨号码供用户在收听语音留言后进行确认。可以使用CPA在正确的时间(当问候留言已停止时)在计算机上留言,以便您不会在语音邮件中收到剪辑留言。注册会计师还可以让你提供详细的报告,告诉谁通知了那些没有它可以告诉你它是否是一个错误的号码(收到一个SIT音),调制解调器或传真回答,或无环答复(漂亮这些天罕见)。这些类型的详细信息可能会导致您的重试过程失败的通知。

使用Prophecy和开放标准的另一个好处是,如果您想迁移,您的应用程序将可移植到与VoiceXML/CCXML兼容的其他IVR系统。 Tropo,Twilio和Plivo都使用专有API,不允许您将应用程序移动到其他服务。预言也可作为软件解决方案提供,因此如果您想将其从云端移出,您可以在本地运行。您可以免费试用两端口版本。

在Voxeo的开发者网站上有开发出站通知系统的优秀文档。请查看拨出部分F中的CCXML documentation

不知道你是哪个开发语言熟悉,但如果你使用ASP.NET MVC有一个open source project called VoiceModel,使得它更容易开发VoiceXML应用程序。 VoiceModel的另一个优势是您可以开发一次应用程序,并且可以在任何兼容VoiceXML的平台和Tropo上运行。他们目前正致力于在该项目中增加对Tropo和VoiceXML都有效的出站通知支持。

相关问题