如何使用Twilio网络遍历服务在两个客户端之间发送或接收数据?

时间:2019-11-25 08:20:30

标签: json twilio webrtc twilio-api turn

我正在一个Android项目上,我必须使用NTS直接访问Twilio TURN服务,我已经编写了一个使用AWS Lambda的API,该API在每次匹配时都会获取新令牌。

这就是我对此的回应。

{
"statusCode":200,
"body":"["9dbdb5dd4fdd4a25b195b065ccd3b5055982b5a6b109fb537526c2e46c1dbea1", 
"g5kCYHHj0czvf3rmwr5nxteVUcoH7eeGiqAaxajzUyU=", 
[{"url": 
"stun:global.stun.twilio.com:3478?transport=udp", "urls": 
"stun:global.stun.twilio.com:3478?transport=udp"}, {"url": 
"turn:global.turn.twilio.com:3478?transport=udp", "username": 
"9dbdb5dd4fdd4a25b195b065ccd3b5055982b5a6b109fb537526c2e46c1dbea1", "urls": 
"turn:global.turn.twilio.com:3478?transport=udp", "credential": 
"g5kCYHHj0czvf3rmwr5nxteVUcoH7eeGiqAaxajzUyU="}, {"url": 
"turn:global.turn.twilio.com:3478?transport=tcp", "username": 
"9dbdb5dd4fdd4a25b195b065ccd3b5055982b5a6b109fb537526c2e46c1dbea1", "urls": 
"turn:global.turn.twilio.com:3478?transport=tcp", "credential": 
"g5kCYHHj0czvf3rmwr5nxteVUcoH7eeGiqAaxajzUyU="}, {"url": 
"turn:global.turn.twilio.com:443?transport=tcp", "username": 
"9dbdb5dd4fdd4a25b195b065ccd3b5055982b5a6b109fb537526c2e46c1dbea1", "urls": 
"turn:global.turn.twilio.com:443?transport=tcp", "credential": 
"g5kCYHHj0czvf3rmwr5nxteVUcoH7eeGiqAaxajzUyU="}]]"
 }

我刚刚使API返回了用户名和密码以及ice_servers列表。 如有必要,我可以输出SID。

但是此后,一切都消失了。 twilio均未提供任何参考或文档。我在堆栈溢出PhilNash's Answer on how to generate an NTS token上只看到了一个问题,这全都是关于服务令牌的生成的,但重点是


  • 如何在客户端使用NTS-Token?

  • 转弯网址需要哪些参数?

  • 如何与Twilio TURN服务器通信并传递凭据?

  • 我什至不知道是否需要user:password或其他任何细节?


我不想使用voice-quickstart-android git应用程序,因为我已经尝试过并且对我有用。

请帮助我,好像我可以生成NTS令牌一样,我应该能够基于各个Twilio凭据连接客户端,然后通过该凭据发送接收数据。

我需要适当的帮助,可以继续提供帮助。

更新

我遇到了WebRTC细流冰,它基本上测试了连接。

WebRTC Trickle ICE

我仅添加了一个转弯URI,并传递了从Twilio NTS api接收到的用户名和密码。但它总是返回以下内容:

WebRTC Tricke ICE

更新1.1

现在在Firefox中,我现在已经正确地收集了候选人,我想知道如何在客户端之间建立联系?我搜索并发现有一个RTCPeerConnection类,该类可以使用ice_servers列表帮助建立客户端之间的连接。

有人可以指导我吗?

谢谢

0 个答案:

没有答案