我正在使用twilio-csharp 助手库。我有一个 Twilio 号码,当有人拨打该号码时,我想同时呼叫多个电话或端点,例如 Twilio 客户端端点和几个电话号码。实现这一目标的最佳方法是什么?
1 回答
此功能的工作流程如下所示:呼叫者呼叫 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 URL
、timeout
限制或任何其他拨号属性。这是一个使用示例:
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 秒内无人接听,将取消所有拨号。