0

我想编写一个响应呼叫的程序。在欢迎信息之后,它必须告诉客户:按 1 输入您的帐号,或按 2 与接线员交谈。如果客户按 1,则告诉他或她输入您的帐号,在他或她输入帐号后,该号码必须保存在数据库中。

这在c#中可能吗?如果是,我想要一个用于 c# 的 IVR 库。如果没有,我需要一个很棒的 C++ IVR 库。

4

3 回答 3

2

Microsoft 拥有Microsoft Speech API (SAPI),但是如果您想要简单的 IVR,最好不要重新发明轮子并自定义Asterisk实现(我猜它属于“用于 C++ 的出色 IVR 库”类别(它不是 C++,但如果你知道 c++,你应该能够理解 c)。)使用AsteriskNow,你甚至可能不需要编写任何自定义代码,它可能已经完成了你想要的。

于 2011-05-11T14:58:14.327 回答
1

我不知道用于 C# 的免费 IVR 库,但我知道有几个相当便宜的库:

http://www.voiceelements.com/

http://www.componentsource.com/products/velocity/index.html

于 2011-05-11T14:29:02.763 回答
0

来自 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();
    }

希望有帮助!

于 2016-04-06T14:49:02.107 回答