【问题标题】:Twilio trying to have a unique name for conference nameTwilio 试图为会议名称设置一个唯一名称
【发布时间】:2017-02-15 03:49:40
【问题描述】:

大家好,我想为我的会议取一个独特的名称。我尝试过的是使用会话并将用户 ID 放入会议中,但不幸的是我失败了。该函数不会读取我的会话 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"
    ));
}

这是我创建会议名称的代码,这是我的问题,因为我正在使用会话。

    public function forward_queue_conference()
{     
    $roomName = $this->session->userdata('user_id');
    $this->twilio->CallerToQueue($roomName);
}

在我的调试器中的 twilio 控制台中,它说会议无效。

【问题讨论】:

  • 这里没有足够的信息让您获得任何帮助...我完全不知道您的描述中的“会议”是什么,并且您正在调用一种未显示的方法。正确提出问题会让您得到及时的答复。

标签: php codeigniter twilio twilio-api


【解决方案1】:

这里是 Twilio 开发者宣传员。

看起来你是forwarding a user's call 变成了conference。我可以在您的 forward_queue_conference 方法中看到两件事,这会导致它不起作用。

首先,Twilio 正在向您的服务器发出 HTTP 请求,因此不太可能登录并拥有user_id

其次,据我所知,您不会返回 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 所以我会留给你。

从请求中获得 roomName 后,您需要将其作为 TwiML 返回。同样,我不确定您使用的是什么库,但如果我使用的是官方的Twilio PHP library,它看起来有点像这样:

    public function forward_queue_conference()
{     
    $roomName = getRoomNameFromQueryStringSomehow();
    $response = new Twiml;
    $dial = $response->dial();
    $dial->conference($roomName);
    $response;
}

让我知道这是否有帮助。

【讨论】:

  • 这行得通,但我仍然对 twilio 中的 CALLBACK URL 有问题,我也需要在该 URL 中发送 id。
  • 您能详细说明一下吗?这里的整个呼叫流程是什么?
  • 因为下面的代码会将呼叫者转移到由于您的帮助而正常工作的会议。我现在需要的是将工作人员也转移到会议,并使用工作人员 ID 使用唯一的会议名称。
  • 您不能使用相同的代码将其他呼叫者也转移到会议中吗?这样您就可以共享该操作的 ID?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-05
  • 1970-01-01
  • 1970-01-01
  • 2011-07-02
相关资源
最近更新 更多