我的客户公司有一个简单的Web应用程序(Python Flask),我需要为它添加一个电话通知功能。
主要要求是应用程序应该呼叫用户,播放某个声音文件并接受一些音调输入(“Hello!这是来自您的WebApp帐户的自动消息。您今天与$John
会面$5pm
。请按1确认“)。
另一个要求是解决方案应该相对便宜并且快速上市。
我已经做了一些研究,似乎有一些后续步骤可以实现这一目标:
我在这里想念一下吗?无论如何都可以省略任何步骤吗?我可以更简单吗?
答案 0 :(得分:6)
使其工作的最快方法是使用语音合成器之一的云语音服务。这是一个简短的清单:
Here我列出了一些细节。
这些服务每分钟向您收取费用,此外您可能需要支付一些月费。
如果您想运行独立的独立服务,我建议使用FreeSWITCH而不是Asterisk。它已达到集成的可能性和API。您需要阅读FreeSWITCH书籍,以了解它的工作原理以及如何构建您的服务。
答案 1 :(得分:1)
我同意Stanislav Sinyagin关于基于云的解决方案,但我还要再添加一个,Voxeo Prophecy。 Tropo来自Voxeo,但他们提供了预言作为更长时间的解决方案,它支持开放标准CCXML和VoiceXML。 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的出站通知支持。
答案 2 :(得分:0)
列出的第三方解决方案是您轻松的选择。运行你自己的星号也适合你想做的事情,但我认为只有这么多,从操作的角度来看,这将是过度的。
在星号中,您可以使用(基本身份验证的)HTTP请求发起包含所需的2个变量的调用。您还需要一些设置和一个小型拨号方案。根据提供商提供的文档,设置SIP帐户更容易或更困难。他们中的大多数都有配置星号的详细文档(对于freeswitch而言并非如此)。让那该死的东西活着就会有什么东西可以找到你:)。