我继承了一个Web应用程序,该Web应用程序当前在C#和JavaScript中使用TwilioRestClient。我需要能够保留整个通话记录以及通话期间进行的所有转接。
对于呼入电话,我们立即启动会议并通过所有转接保持同一会议-这样可以使录音保持在一起并且运行良好。
对于出站呼叫,现有逻辑首先呼叫该号码,呼叫者和呼叫接收者讲话,然后可能需要执行转接。转移过程将接收者放入会议中,然后呼叫者发起对第三个号码的呼叫,最后所有三个都加入会议。这将通过3种不同的录音为通话创建3条支路。
如何召开会议并立即拨出所需的号码?可以使用单个Twiml响应来完成此操作,还是在会议开始后使用statusCallback事件来执行拨出操作?
答案 0 :(得分:0)
这里是Twilio开发人员的传播者。
对于呼出电话,您可以为拨号程序返回会议的TwiML,然后再拨打另一个呼出电话,也将答录器插入会议。
您可以使用REST API中的会议参与者资源来执行此操作。使用一个REST API调用,您可以add a new participant to a conference。您可以进行此API调用,然后在同一请求中返回Conference TwiML。
在C#中看起来像这样:
const string accountSid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
const string authToken = "your_auth_token";
TwilioClient.Init(accountSid, authToken);
var participant = ParticipantResource.Create(
from: new Twilio.Types.PhoneNumber("+15017122661"),
to: new Twilio.Types.PhoneNumber("+15017122661"),
pathConferenceSid: CONFERENCE_FRIENDLY_NAME
);
您可以使用友好名称(您在TwiML中的<Conference>
标记之间放置的名称)来引用会议。