我想在该流程中连接两个电话号码:
Person_1正在接听电话。播放语音消息并询问他是否愿意参加电话会议。只有当Person_1接受电话会议时才会启动:
这就是我想要做的事情:
Intro.chtml:
<Response>
<Gather numDigits="1" action="StartConferenceCall.chtml" method="GET">
<Say>Press 1 to start the conference call</Say>
</Gather>
</Response>
StartConferenceCall.chtml:
@{
var digits = Request["Digits"];
if(digits == "1")
{
<Response>
<Dial> // I would like to dial the second person
<Conference beep="false" record="record-from-start"
Room 1234
</Conference>
</Dial>
</Response>
}
else
{
<Hangup/>
}
}
是否可以在<Dial>
代码中添加第二个数字?
答案 0 :(得分:1)
Twilio开发者传道者在这里。
因为您已更改原始问题,我删除了之前的答案并为您准备了另一个示例。
因为您想自己开始通话并让用户按1
以防他们想要接受问题,您将会想要使用REST API。具体来说,您希望initiate a new call然后提示用户按下按钮。下面的代码是C#。
public void CallUser(){
var client = new TwilioRestClient(AccountSid,AuthToken);
client.InitiateOutboundCall("from", "to", "/Call");
client.InitiateOutboundCall("from", "to", "/Conference");
}
在上面的代码中,我发起了两个电话。一个是客户,另一个是应该在线的人。如果你愿意,你可以改变它的逻辑,但为了简化事情,我同时启动两个电话。
第一个电话会将用户放在菜单上,他们可以按1加入电话。
public IActionResult Call()
{
var twiml = new TwilioResponse();
return TwiML(twiml.BeginGather(new { action = "/Conference", numDigits = "1" }).Say("Press 1 to start the conference call").EndGather());
}
然后将这两个呼叫重定向到/conference
,其中会议室已创建或加入。您可以使用逻辑来检查用户是否在此处拨打1
。
public IActionResult Conference()
{
var twiml = new TwilioResponse();
return TwiML(twiml.DialConference("Room 1234"));
}
希望这有助于你