跟踪哪些Twilio用户进行哪些呼叫

时间:2015-02-07 04:26:24

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

问题:我无法确定哪些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 app在处理用户通话时在日志中返回的参数: TwilioController#start_conference as HTML   参数:{" AccountSid" =>" AC123"," ApplicationSid" =>" AP234","来电&#34 ; =>"客户:测试"," CallStatus" =>"响铃","被叫" =>" "," To" =>""," CallSid" =>" CAxyz","来自& #34; =>"客户:测试","方向" =>"入站"," ApiVersion" =>&# 34; 2010-04-01"}

是否可以添加自己的参数,例如user_id?或者我可以通过另一种方式将呼叫连接到用户?

从这个StackOverflow question开始,似乎可以将参数附加到回调网址,但是有关指定自定义回调网址的Twilio文档在哪里?

谢谢!

1 个答案:

答案 0 :(得分:1)

Twilio开发者传道者在这里。

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

当您拨打Twilio.Device.connect()拨打电话时,您可以传递一个带有参数的对象,该对象将POST发送给您的控制器。例如:

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

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

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

  @call.user_id = user_id
  @call.save
end

请告诉我这是否有帮助!