我想编写一个响应呼叫的程序。在欢迎信息之后,它必须告诉客户:按 1 输入您的帐号,或按 2 与接线员交谈。如果客户按 1,则告诉他或她输入您的帐号,在他或她输入帐号后,该号码必须保存在数据库中。
这在c#中可能吗?如果是,我想要一个用于 c# 的 IVR 库。如果没有,我需要一个很棒的 C++ IVR 库。
Microsoft 拥有Microsoft Speech API (SAPI),但是如果您想要简单的 IVR,最好不要重新发明轮子并自定义Asterisk实现(我猜它属于“用于 C++ 的出色 IVR 库”类别(它不是 C++,但如果你知道 c++,你应该能够理解 c)。)使用AsteriskNow,你甚至可能不需要编写任何自定义代码,它可能已经完成了你想要的。
我不知道用于 C# 的免费 IVR 库,但我知道有几个相当便宜的库:
来自 Twilio 工作人员的 Ricky。
我们有一个关于使用 C# 构建 IVR 的教程,看看这可能有助于了解如何构建这种类型的应用程序。
每当有电话打入我们的电话号码时,都会向我们的服务器发出请求,我们可以在其中使用TwiML响应一些基本指令,说明如何处理该呼叫:
public TwiMLResult Welcome()
{
var response = new TwilioResponse();
response.BeginGather(new {action = Url.Action("Show", "Menu"), numDigits = "1"})
.Play("http://howtodocs.s3.amazonaws.com/et-phone.mp3", new {loop = 3})
.EndGather();
return TwiML(response);
}
由于我们使用动词,当用户按下一个数字时,将向我们服务器上的另一个路由发出一个新的 HTTP 请求,我们可以根据用户按下的数字采取行动:
public TwiMLResult Show(string digits)
{
var selectedOption = digits;
var optionActions = new Dictionary<string, Func<TwiMLResult>>()
{
{"1", ReturnInstructions},
{"2", Planets}
};
return optionActions.ContainsKey(selectedOption) ?
optionActions[selectedOption]() :
RedirectWelcome();
}
希望有帮助!