我正在使用twilio-csharp helper library。我有一个Twilio号码,当有人拨打该号码时,我想同时拨打多个电话或端点,如Twilio Client端点和几个电话号码。完成此任务的最佳方法是什么?
答案 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 URL
,timeout
限制或任何其他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秒内接听,则所有拨号都将被取消。