我运行了以下系统,但随后它停止了,我们无法找出原因。
我们经营一个twilio会议室:“演示室”
然后我们分别从twilio client:user_1到某个号码555-555-5555发起语音呼叫。通话正在进行中。现在,我们希望将555-555-5555合并到Twilio会议室的“ Demo会议室”中。
当我们运行下面的功能mergeCallToRoom时,我们得到200状态,并且呼叫被标记为已完成,但用户未合并到会议室中。如果我想重定向它或其他任何东西,它都可以正常工作。 48小时前,它也运行良好。我们甚至回滚到它在工作,测试或本地环境中都可以正常工作时所拥有的代码。
public function mergeCallToRoom($roomName,$parentCallSid,$participantID)
{
$twilio = $this->twilioConnect();
$calls = $twilio->calls->read(array(
"parentCallSid" => $parentCallSid
));
/** @var CallInstance $call */
foreach($calls as $call){
$call->update([
"twiml" => "<Response><Connect><Room participantIdentity='$participantID'>".$roomName."</Room></Connect></Response>"
]
);
}
}
更多信息:
有趣的是,几周前我们实际上从下面的代码开始,我们喜欢它,除了我们意识到我们听不到振铃或无法绕过电话树。因此,以下代码仍可用于合并调用。
public function dialIntoRoom(Request $request)
{
$phoneNumberToDial = $request->input('number');
$roomName = $request->input('roomName');
$verifiedNumber = null;
$from = config('services.twilio.number');
$twilio = $this->twilioConnect();
$call = $twilio->calls
->create($phoneNumberToDial, // to
$from, // from
[
"twiml" => "<Response><Connect><Room participantIdentity=\"$phoneNumberToDial\">$roomName</Room></Connect></Response>"
]
);
return response()->json(['status' => 'ok']);
}