0

我正在使用twilio-csharp 助手库。我有一个 Twilio 号码,当有人拨打该号码时,我想同时呼叫多个电话或端点,例如 Twilio 客户端端点和几个电话号码。实现这一目标的最佳方法是什么?

4

1 回答 1

6

此功能的工作流程如下所示:呼叫者呼叫 Twilio 电话号码,Twilio 查找与该电话号码关联的语音请求 URL,Twilio 向该 URL 处的资源发送 TwiML 请求,资源以 TwiML 进行响应,指示 Twilio<Dial>退出到几个电话号码,然后 Twilio 拨打电话号码并将呼叫者与第一个接听的人联系起来。请注意,如果您同时<Dial>拨打电话,当第一部电话接听时,其余电话将被取消。

有几种方法可以<Dial>使用 twilio-csharp 库同时拨打电话号码。第一种同时<Dial>使用的方法是使用DialNumbers方法。顾名思义,DialNumbers只会拨打电话号码,并且只会使用一个字符串数组。

第二种同时<Dial>编号的方法是使用Twilio.TwiML.TwilioResponse.Dial(params, Twilio.TwiML.IDialNoun[] dialTargets)方法。使用此方法的好处之一是可以呼叫电话号码、sip 地址和/或 Twilio 客户端实例。还可以修改呼叫属性、设置action URLtimeout限制或任何其他拨号属性。这是一个使用示例:

public ActionResult SimulDial()
{
    var response = new TwilioResponse();
    var dialAttributes = new { timeout = 10 };
    var dialTargets = new IDialNoun[]
    {
        new Number("8021111111"),
        new Number("8022222222"),
        new Client("clientName")
    };
    response.Dial(dialAttributes, dialTargets);

    return TwiML(response);
}

当 Twilio 收到此 TwiML 时,Twilio 将拨出到三个指定的端点(两个号码和一个客户端)。如果 10 秒内无人接听,将取消所有拨号。

于 2013-11-26T17:11:35.693 回答