【发布时间】:2017-08-24 23:08:39
【问题描述】:
我想开发一个系统,用户可以通过电话进行远程交互。就像您银行的电话银行系统一样。
这个系统将非常简单:当用户呼叫时,它只需要提示用户并接受纯粹通过键盘的输入。此外,它还需要能够接收和发送短信。
1- 是否有支持此功能的非专有框架?
2- 任何人都可以分享他们部署此类系统的基本经验吗?陷阱、注意事项等?
【问题讨论】:
标签: asterisk voip phone-call ivr
我想开发一个系统,用户可以通过电话进行远程交互。就像您银行的电话银行系统一样。
这个系统将非常简单:当用户呼叫时,它只需要提示用户并接受纯粹通过键盘的输入。此外,它还需要能够接收和发送短信。
1- 是否有支持此功能的非专有框架?
2- 任何人都可以分享他们部署此类系统的基本经验吗?陷阱、注意事项等?
【问题讨论】:
标签: asterisk voip phone-call ivr
有一个opensource project Asterisk 可以帮助您完成这项工作。
【讨论】:
我已经建立了其中一个,工作流程是“用户呼叫”(从他的手机,门外)、“等待 CLIP”、“如果未知号码拒绝呼叫”、“接听”、“提示:请输入PIN”、“等待 4 位 DTMF 数字”、“Check Phone nr/PIN against DB”、“如果 OK 通过串口打开门”、“else prompt 'F*** Off'”、“挂断”
这些是主要的陷阱:
【讨论】:
不确定非专有是否真的意味着开源。如果通过非专有您的意思是您没有被特定供应商所束缚来部署您的解决方案,那么您将希望使用W3C open standard like VoiceXML。使用此标准,您可以开发一个语音/电话应用程序,该应用程序可以使用与开发 Web 应用程序类似的技术在多个不同的 IVR 平台上运行。
Voxeo provides an excellent IVR platform,您可以在云中托管或在您的设施中运行基于前提的解决方案,或两者兼而有之。它完全符合 VoiceXML 标准,易于使用,您可以在其平台上免费开发和测试您的应用程序。只有当您决定在生产环境中部署应用程序时,您才需要付费。他们甚至会在开发过程中免费提供出色的支持。
主要缺陷是低估了用户体验 (UX) 和语音用户界面 (VUI) 设计。有许多设计不佳的 IVR 应用程序人们根本不会使用,这完全破坏了投资这些自助服务应用程序的理由。坏事太多,导致创建了 GetHuman.com 之类的网站,该网站为用户提供有关如何绕过各种 IVR 系统并尽快找到一个人的提示。如果用户绕过您的自助服务应用程序,那么您就浪费了您的投资。如果您没有内部经验,我会聘请具有 VUI 设计经验的人来帮助您完成第一个应用程序。
【讨论】:
我已经开发用于临床试验的 IVR 系统大约 20 年了。有一些非常好的用于 IVR 编码的 3rd 方库,可与 Visual Basic 和 C# 一起使用。 Pronexus 有软件,您可以在http://pronexus.com/ 下载和免费试用。我用得最多的是 Syntellect 的 CT ADE 软件。 http://www.syntellect.com/pages/products/ct_ade_eng.aspx 几年前他们以 VisualVoice 起家,然后经历了多次收购。这些公司中的任何一家都销售可与 Visual Basic 和 C#(也包括 C++)一起使用的软件。优点是使用您在编程中可能更熟悉的东西。有许多开源解决方案,但文档、支持和培训却不尽如人意。 CT ADE 有这样的语法。 . .
ADXVoice1.PlayFile("C:\project\MainMenu.WAV", SOUNDFILE_TYPE_WavePCM22K, "+")
ADXVoice1.ClearDigits()
choice = ADXVoice1.GetDigits(24, 15, 15, "#")
这会将文件 MainMenu.WAV 播放给呼叫者,清除数字缓冲区,然后等待最多 24 秒让呼叫者进入菜单选项。调用者输入的选项存储在字符串“choice”中。非常简单明了。我设置了这样的系统,它们也连接到 SQL 数据库来存储和检索我们需要的数据。
要自己托管这样的系统,您首先需要设置一个 IVR 服务器。您可以将普通电话线与 Dialogic 卡一起使用。您可以获得许多不同的对话卡。我建议您先购买一张 4 线卡。他们还根据您的需要制作 8、12、16 和 T1 卡。这些卡具有板载处理器,可以为您处理同时呼叫。
因此,当您开发 VB 或 C# 应用程序时,程序会“启动”到卡上的行。这些线路也应该设置在“搜索组”中,以便您可以将一个数字(免费电话)指向第一行。如果这很忙,那么它会“寻找”组中的空闲线路。
这是电话系统多年来一直使用的旧方式。较新的方法是使用 IP 语音 (VoIP) 通过 Internet。它有它自己的一系列问题。使用 Dialogic 硬件和实际电话线的主要优点是更容易调试。您可以在办公室托管 IVR 服务器并完全控制系统。
【讨论】: