【问题标题】:Tracking Which Twilio Users Make Which Calls跟踪哪些 Twilio 用户拨打了哪些电话
【发布时间】:2015-02-07 04:26:23
【问题描述】:

问题:我无法确定我的 Rails 应用程序的哪些用户正在使用 Twilio 进行浏览器到浏览器的调用。

我可以使用 Twilio 进行浏览器到浏览器的调用,并且可以将 @call 对象存储在 Calls 表中,如下所示:

def start_conference
  @call = Call.create_from_twilio_params(params)

  @call.user_id = current_user.id #current_user doesn't work in this Twilio request even when the user is signed into the Rails app
  @call.save
end

以下是 Twilo 应用程序在处理用户呼叫时在日志中返回的参数: TwilioController#start_conference 作为 HTML 参数:{"AccountSid"=>"AC123", "ApplicationSid"=>"AP234", "Caller"=>"client:test", "CallStatus"=>"ringing", "Called"=>"", " To"=>"", "CallSid"=>"CAxyz", "From"=>"client:test", "Direction"=>"inbound", "ApiVersion"=>"2010-04-01"}

是否可以添加我自己的参数,例如 user_id?或者也许我还有其他方法可以将呼叫连接到用户?

StackOverflow question 看来,似乎可以将参数附加到回调 URL,但是关于指定自定义回调 URL 的 Twilio 文档在哪里?

谢谢!

【问题讨论】:

  • 您的 Rails 应用程序是发起了两个出站呼叫,还是一个用户开始呼叫另一个用户?
  • 这是一个浏览器到浏览器的电话会议,多人访问一个 URL 并相互连接。这是 Twilio 的示例:twilio.com/docs/howto/twilio-client-browser-conference-call
  • @DevinRader 我看到会议的 ID/名称在该示例中称为“客户端”。我猜想在一个真实的例子中,我们用我们在服务器端创建的会议的唯一标识符替换该名称。在该示例中的哪一步,我们选择会议的唯一标识符?谢谢!

标签: ruby-on-rails twilio twilio-click-to-call


【解决方案1】:

这里是 Twilio 开发者宣传员。

在使用 Twilio Client 进行调用时,您确实可以传递更多参数。

当您调用Twilio.Device.connect() 进行调用时,您可以传递一个带有参数的对象,该对象将获得POSTed 到您的控制器。例如:

// In your front end code
Twilio.Device.connect({ userId: '<%= current_user.id %>' });

然后,在您的控制器代码中,您将在params 中收到userId,您可以像这样使用它:

def start_conference
  user_id = params.delete('userId')
  @call = Call.create_from_twilio_params(params)

  @call.user_id = user_id
  @call.save
end

如果这有帮助,请告诉我!

【讨论】:

  • 谢谢!正是我想要的。
  • 我提交了修改。我认为您的意思是“@call.user_id = user_id”
  • 啊!你是对的,我在这段代码中反复讨论了一段时间。这在某一时刻绝对是正确的。感谢您指出我的错误,很高兴我能提供帮助!
猜你喜欢
  • 1970-01-01
  • 2012-04-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-13
  • 1970-01-01
相关资源
最近更新 更多