Twilio 试图为会议名称取一个唯一的名称
Twilio trying to have a unique name for conference name
大家好,我正在尝试为我的会议起一个独特的名称。我尝试过的是使用 session 并将用户 ID 放入会议中,但不幸的是我失败了。该函数不会读取我的 session id。这是我下面用于将呼叫者转移到会议的代码。顺便说一句,我正在使用 codeigniter 作为我的框架。
public function redirect_queue_conference()
{
$client = $this->init_client();
$call = $client->account->calls->get($_POST["CallSid"]);
$call->update(array(
"Url" => HTTP_BASE_URL."agent/call_controls/forward_queue_conference",
"Method" => "POST"
));
}
这是我创建会议名称的代码,这是我的问题,因为我正在使用 session。
public function forward_queue_conference()
{
$roomName = $this->session->userdata('user_id');
$this->twilio->CallerToQueue($roomName);
}
在调试器的我的 twilio 控制台中,它说会议无效。
这里是 Twilio 开发人员布道者。
看起来你是 forwarding a user's call into a conference。我在您的 forward_queue_conference
方法中看到有两件事会导致它不起作用。
首先,Twilio 正在向您的服务器发出 HTTP 请求,因此不太可能登录并获得 user_id
。
其次,据我所知,您没有return使用 TwiML 参加会议。您正在使用一个函数 CallerToQueue
,我不知道它似乎不属于 Twilio 文档的一部分。
要修复第一部分,如果是您的用户触发了会议转移,那么您可以将用户 ID 添加到重定向呼叫所用的 URL 中。
public function redirect_queue_conference()
{
$roomName = $this->session->userdata('user_id');
$client = $this->init_client();
$call = $client->account->calls->get($_POST["CallSid"]);
$call->update(array(
"Url" => HTTP_BASE_URL."agent/call_controls/forward_queue_conference?room=".$roomName,
"Method" => "POST"
));
}
您稍后可以从请求中获取它。我会为此编写代码,但我看到你已经标记了问题 Codeigniter 和我 just read that getting query string parameters from requests is a pain 所以我会把那个留给你。
从请求中获得房间名称后,您需要return将其作为 TwiML。同样,我不确定你为此使用的是哪个库,但如果我使用的是官方 Twilio PHP library,它看起来有点像这样:
public function forward_queue_conference()
{
$roomName = getRoomNameFromQueryStringSomehow();
$response = new Twiml;
$dial = $response->dial();
$dial->conference($roomName);
$response;
}
如果有帮助请告诉我。
大家好,我正在尝试为我的会议起一个独特的名称。我尝试过的是使用 session 并将用户 ID 放入会议中,但不幸的是我失败了。该函数不会读取我的 session id。这是我下面用于将呼叫者转移到会议的代码。顺便说一句,我正在使用 codeigniter 作为我的框架。
public function redirect_queue_conference()
{
$client = $this->init_client();
$call = $client->account->calls->get($_POST["CallSid"]);
$call->update(array(
"Url" => HTTP_BASE_URL."agent/call_controls/forward_queue_conference",
"Method" => "POST"
));
}
这是我创建会议名称的代码,这是我的问题,因为我正在使用 session。
public function forward_queue_conference()
{
$roomName = $this->session->userdata('user_id');
$this->twilio->CallerToQueue($roomName);
}
在调试器的我的 twilio 控制台中,它说会议无效。
这里是 Twilio 开发人员布道者。
看起来你是 forwarding a user's call into a conference。我在您的 forward_queue_conference
方法中看到有两件事会导致它不起作用。
首先,Twilio 正在向您的服务器发出 HTTP 请求,因此不太可能登录并获得 user_id
。
其次,据我所知,您没有return使用 TwiML 参加会议。您正在使用一个函数 CallerToQueue
,我不知道它似乎不属于 Twilio 文档的一部分。
要修复第一部分,如果是您的用户触发了会议转移,那么您可以将用户 ID 添加到重定向呼叫所用的 URL 中。
public function redirect_queue_conference()
{
$roomName = $this->session->userdata('user_id');
$client = $this->init_client();
$call = $client->account->calls->get($_POST["CallSid"]);
$call->update(array(
"Url" => HTTP_BASE_URL."agent/call_controls/forward_queue_conference?room=".$roomName,
"Method" => "POST"
));
}
您稍后可以从请求中获取它。我会为此编写代码,但我看到你已经标记了问题 Codeigniter 和我 just read that getting query string parameters from requests is a pain 所以我会把那个留给你。
从请求中获得房间名称后,您需要return将其作为 TwiML。同样,我不确定你为此使用的是哪个库,但如果我使用的是官方 Twilio PHP library,它看起来有点像这样:
public function forward_queue_conference()
{
$roomName = getRoomNameFromQueryStringSomehow();
$response = new Twiml;
$dial = $response->dial();
$dial->conference($roomName);
$response;
}
如果有帮助请告诉我。