使用Twilio C#Library同时<拨打>多个电话号码的最佳方法是什么?</dial>

时间:2013-11-26 17:11:36

标签: c# .net twilio twiml

我正在使用twilio-csharp helper library。我有一个Twilio号码,当有人拨打该号码时,我想同时拨打多个电话或端点,如Twilio Client端点和几个电话号码。完成此任务的最佳方法是什么?

1 个答案:

答案 0 :(得分:6)

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

使用twilio-csharp库可以通过多种方式同时<Dial>个电话号码。同时<Dial>的第一种方法是使用DialNumbers方法。顾名思义,DialNumbers只会拨打电话号码,而且只会接收一串字符串。

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

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秒内接听,则所有拨号都将被取消。