跟踪哪些 Twilio 用户拨打了哪些电话

Tracking Which Twilio Users Make Which Calls

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

我可以使用 Twilio 进行浏览器到浏览器的调用,并且可以像这样在调用 table 中存储 @call 对象:

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 应用程序 returns 在处理用户呼叫时在日志中的参数: 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?或者我可以通过其他方式将呼叫连接到用户?

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

谢谢!

这里是 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

如果有帮助请告诉我!