问题:我无法确定哪些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文档在哪里?
谢谢!
答案 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
请告诉我这是否有帮助!