2015-02-07 60 views
0

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

我能够让浏览器浏览器Twilio电话,我能够给@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应用的回报当它处理用户的呼叫时: TwilioController#start_conference as HTML 参数:{“AccountSid”=>“AC123”,“ApplicationSid”=>“AP234”,“Caller”=>“client:test”,“CallStatus”= >“呼叫”=>“”,“至”=>“”,“CallSid”=>“CAxyz”,“From”=>“client:test”,“Direction”=>“inbound” “ApiVersion”=>“2010-04-01”}

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

从此StackOverflow question,似乎有可能将参数附加到回调URL,但Twilio文档关于指定自定义回调URL的位置在哪里?

谢谢!

+0

您的Rails应用程序是启动两个外拨电话还是一个用户启动对第二个用户的呼叫? – 2015-02-07 13:58:17

+0

这是一个浏览器到浏览器的电话会议,其中多个人转到一个URL并相互连接。以下是Twilio的示例:https://www.twilio.com/docs/howto/twilio-client-browser-conference-call – user1515295 2015-02-08 02:09:43

+0

@DevinRader在该示例中,我看到会议的ID /名称被称为“客户端”。我猜测,在一个真实世界的例子中,我们用在服务器端创建的会议的唯一标识符替换该名称。在那个例子中的哪一步我们选择会议的唯一标识符?谢谢! – user1515295 2015-02-08 02:40:37

回答

1

Twilio开发人员传道这里。

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

当您拨打Twilio.Device.connect()进行呼叫时,您可以传递一个参数对象,该参数将获得POST ed到您的控制器。例如:

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

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

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

    @call.user_id = user_id 
    @call.save 
end 

让我知道,如果这有助于!

+0

谢谢!正是我在找的东西。 – user1515295 2015-02-10 03:14:24

+0

我提交了一个编辑。我想你的意思是“@ call.user_id = user_id” – user1515295 2015-02-10 06:32:52

+0

唉!你是对的,我在这段代码中来回回了一段时间。这一点绝对正确。感谢您指出我的错误,并很高兴我能帮上忙! – philnash 2015-02-10 09:45:51

相关问题