如何开始使用“电话服务” (如电话银行)发展?
我想开发一个用户可以通过电话远程交互的系统。就像银行的电话银行系统一样。
这个系统将非常简单:当用户呼叫时,它只需要提示用户并纯粹通过键盘接受输入。此外,它还需要能够接收和发送短信。
1-是否有非专有框架支持这一点?
2-任何人都可以分享他们部署此类系统的基本经验吗?有哪些陷阱、需要注意什么等?
I want to develop a system that users remotely interact with over a phone call. Like your bank's phone banking system.
This system will be very simple: when a user calls, it merely needs to prompt the user and accept input purely through the keypad. Additionally it will need to be able to receive and send text messages.
1- Are there non-proprietary frameworks out there that support this?
2- Can anyone share the basics of their experiences in deploying this kind of system? Pitfalls, what to watch out for, etc?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
有一个开源项目 Asterisk 可以帮助您实现这一目标。
There is an opensource project Asterisk that will help you accomplishing this.
我已经构建了其中一个,工作流程是“用户呼叫”(从他的手机,在门外),“等待 CLIP”,“如果未知号码拒绝呼叫”,“应答”,“提示:请输入 PIN”, “等待 4 个 DTMF 数字”、“根据 DB 检查电话号码/PIN”、“如果正常则通过串口打开网关”、“否则提示‘F*** Off’”、“挂断”
这些是主要的陷阱:
I already built one of those, the workflow being "User calls" (From his cellphone, outside the door), "Wait for CLIP", "If unknown number reject call", "Answer", "Prompt: Please enter PIN", "Wait for 4 DTMF digits", "Check Phone nr/PIN against DB", "If OK open gate via serial port", "else prompt 'F*** Off'", "hang up"
These were the main pitfalls:
不确定非专有是否真的意味着开源。如果您所说的非专有意味着您在部署解决方案时不受特定供应商的限制,那么您将需要使用 W3C 开放标准,例如 VoiceXML。通过此标准,您可以使用与开发 Web 应用程序类似的技术来开发可在许多不同 IVR 平台上运行的语音/电话应用程序。
Voxeo 提供了一个出色的 IVR 平台,您可以将其托管在云端,也可以在您的设施中运行基于前提的解决方案,或两者的混合。它完全符合 VoiceXML 标准,易于使用,您可以在其平台上免费开发和测试您的应用程序。仅当您决定在生产环境中部署应用程序时才需要付费。他们甚至会在开发过程中免费提供出色的支持。
主要陷阱是低估用户体验(UX)和语音用户界面(VUI)设计。有许多设计糟糕的 IVR 应用程序人们不会使用,这完全破坏了投资这些自助服务应用程序的理由。由于存在如此多的不良信息,因此出现了 GetHuman.com 等网站,该网站向用户提供有关如何绕过各种 IVR 系统并尽快联系某人的提示。如果用户绕过您的自助服务应用程序,那么您就浪费了对其的投资。如果您没有内部经验,我会聘请具有 VUI 设计经验的人员来至少帮助您完成第一个应用程序。
Not sure if non-proprietary actually means open source. If by non-proprietary you mean that you are not stuck with a particular vendor for deploying your solution then you will want to go with a W3C open standard like VoiceXML. With this standard you can develop a voice/telephony application that can be run on a number of different IVR platforms using similar technologies as you would for developing a web application.
Voxeo provides an excellent IVR platform that you can either host in the cloud or run a premise based solution in your facility, or a mix of both. It is fully compliant with the VoiceXML standards, is easy to use, and you can develop and test your applications on their platform for free. You only pay if you decide to deploy the application in a production environment. And they will even provide excellent support at no cost during the development process.
The main pitfall is to underestimate the user experience (UX) and voice user interface (VUI) design. There are many poorly designed IVR applications out there that people just will not use, which totally undermines the reason for investing in these self service applications. There are so many bad ones that it caused the creation of websites like GetHuman.com, which gives users tips on how to bypass various IVR systems and get to a person as fast as possible. If users are bypassing your self service application then you have wasted your investment in it. If you do not have the experience in-house I would hire someone with VUI design experience to at least help you through your first application.
我开发用于临床试验的 IVR 系统已有大约 20 年的时间。有一些非常好的用于 IVR 编码的第 3 方库,可以与 Visual Basic 和 C# 配合使用。您可以在 http://pronexus.com/ 下载并免费试用 Pronexus 软件。我用得最多的是 Syntellect 的 CT ADE 软件。 http://www.syntellect.com/pages/products/ct_ade_eng.aspx他们几年前以 VisualVoice 起家,然后经历了多次收购和收购。这些公司中的任何一家都销售可与 Visual Basic 和 C#(以及 C++)一起使用的软件。优点是可以使用您在编程中可能更熟悉的东西。有许多开源解决方案,但文档、支持和培训都不够好。 CT ADE 的语法如下。 。 。
这将向呼叫者播放文件 MainMenu.WAV,清除数字缓冲区,然后等待呼叫者长达 24 秒以输入菜单选项。调用者输入的选择存储在字符串“choice”中。非常简单明了。我设置了这样的系统,它还连接到 SQL 数据库来存储和检索我们需要的数据。
要自己托管这样的系统,您首先需要设置 IVR 服务器。您可以使用带有 Dialogic 卡的普通电话线。您可以获得许多不同的对话卡。我建议您先购买一张 4 线卡。他们还根据您的需要制作 8、12、16 和 T1 卡。这些卡具有板载处理器,可以为您处理并发呼叫。
因此,当您开发 VB 或 C# 应用程序时,该程序将“启动”到卡上的线路。这些线路还应该设置在“寻线组”中,以便您可以将单个号码(免费电话)指向第一条线路。如果忙,那么它会在组中“寻找”空闲线路。
这是电话系统多年来的旧工作方式。较新的方式是通过互联网使用 IP 语音 (VoIP)。它有自己的一系列问题。使用Dialogic硬件和实际电话线的主要优点是更容易调试。您可以在办公室托管 IVR 服务器并完全控制系统。
I have been developing IVR systems for clinical trials for about 20 years now. There are some very good 3rd party libraries for IVR coding that work with Visual Basic and C#. Pronexus has software you can download and try for free at http://pronexus.com/. The one I have used the most is the CT ADE software from Syntellect. http://www.syntellect.com/pages/products/ct_ade_eng.aspx They started out years ago as VisualVoice, and then went through many buyouts and purchases. Either of these companies sells software that can be used with Visual Basic and C# - also C++. The advantage is in using something you may be more familiar with in programming. There are many open source solutions, but the documentation, support, and training are not nearly as good. CT ADE has syntax like this . . .
This plays the file MainMenu.WAV to the caller, clears the digit buffer, and then waits up to 24 seconds for the caller to enter a menu choice. The choice entered by the caller is stored in the string "choice". Very simple and straightforward. I set up systems like this that also connect to a SQL database to store and retrieve the data we needed.
To host such a system yourself, you would first set up an IVR server. You can use regular phone lines with Dialogic cards. There are many different Dialogic cards you can get. I would recommend that you get a 4-line card to start. They also make 8, 12, 16, and T1 cards depending on what you need. The cards have processors on-board that handle simultaneous calls for you.
So, when you develop a VB or C# application, the program is "launched" to the lines on the card. The lines should also be set up in a "hunt group" so that you can point a single number (toll free) to the first line. If that's busy, then it "hunts" for an open line in the group.
This is the old way telephone systems have worked for many years. The newer way is over the Internet using Voice over IP (VoIP). It has it's own set of problems. The main advantage of using Dialogic hardware and actual phone lines is that it will be easier to debug. You can host the IVR server at your office and have complete control over the system.