我想写一个响应调用的程序。在一条欢迎信息之后,它必须告诉客户:按1输入您的账号,或按2与接线员通话。如果客户按1,则告诉他或她输入您的帐号,在他或她输入帐号后,该号码必须保存在数据库中。
这在c#中是可能的吗?如果是的话,我想要一个c#的IVR库。如果没有,我需要一个用于c++的强大的IVR库。
发布于 2011-05-11 22:58:14
微软有Microsoft Speech API (SAPI),但是如果你想要简单的IVR,最好不要重复发明轮子和定制一个Asterisk实现(我猜它属于“用于c++的伟大的IVR库”类别(它是c而不是c++,但如果你了解c++,你应该能够理解c)。使用AsteriskNow,你可能甚至不需要编写任何自定义代码,它可能已经做了你想要的事情。
发布于 2011-05-11 22:29:03
我不知道C#上有没有免费的IVR库,但我确实知道有几个相当便宜的:
http://www.voiceelements.com/
http://www.componentsource.com/products/velocity/index.html
发布于 2016-04-06 22:49:02
我是Twilio剧组的里奇。
我们有一个tutorial on building an IVR with C#,看看这个可能会对如何构建这种类型的应用程序有所帮助。
无论何时有电话打进我们的电话号码,都会向我们的服务器发出一个请求,我们可以在服务器上使用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);
}由于我们使用的是 verb,当用户按下一个数字时,一个新的超文本传输协议请求将被发送到我们服务器上的另一个路由,我们可以根据用户按下的数字采取行动:
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();
}希望这能有所帮助!
https://stackoverflow.com/questions/5965818
复制相似问题