【发布时间】:2019-02-25 12:29:17
【问题描述】:
我正在尝试使用 Sinch Voice Callback REST API 创建一个应用程序,以允许人们加入电话会议,从浏览器进行应用程序到应用程序的通话。我也想使用 PHP 后端。
我从 (https://www.sinch.com/docs/voice/rest/voice-callback-api.html) 了解到,我的应用程序的回调 URL 需要首先响应来自 Sinch 的“ICE”事件。这是“ICE”事件的样子https://www.sinch.com/docs/voice/rest/voice-callback-api.html#incomingcalleventcallback。
然后我需要使用“connectConf”操作来响应这个“ICE”。 (https://www.sinch.com/docs/voice/rest/voice-callback-api.html#connectconfaction)
当“ACE”事件到来时,我只需要以“继续”操作来响应。就像这个资源解释的那样 (https://www.sinch.com/docs/voice/rest/voice-callback-api.html#answeredcalleventcallback)
我对 PHP 有少量经验,但我觉得我可能过于简化了 Sinch 对我的回调 URL 的响应,因为我无法让它工作。任何建议或示例将不胜感激。
这是我目前在回调 URL 文件中的内容。
<?php
$event = $_POST['event'];
$to = $_POST['to'];
if ( $event === 'ice' ){
$response = '{
"name" : "connectConf",
"conferenceId" : "conftest14",
"moh" : "ring"
}';
echo json_encode($response);
} else if ( $event === 'ace' ){
$response = '{
"action":
{
"name" : "continue"
}
}';
echo json_encode($response);
};
?>
【问题讨论】:
-
在ice中你需要有action: 然后connectConf作为action
-
感谢 cjensen。我解决了这个问题,但仍然无法连接到电话会议
-
@cjensen 我做了一些更改,但仍未证明有效。你看到我做错了什么吗?
<?php header('Access-Control-Allow-Origin: *'); $event = $_POST['event']; $conferenceId = $_POST['to']['endpoint']; if ( $event === 'ice' ){ $response = '{ "action": { "name" : "connectConf", "conferenceId" : "'+$conferenceId+'" } }'; echo json_encode($response); } ?>