turms-im / turms

🕊️ The world's most advanced open source instant messaging engine for 100K~10M concurrent users https://turms-im.github.io/docs
Apache License 2.0
1.76k stars 275 forks source link

Draft: Integrating mediasoup + Support the signal communications (backed by Turms server) #244

Open JamesChenX opened 4 years ago

JamesChenX commented 4 years ago

https://mp.weixin.qq.com/s/PhKOzA60eXI7LJpqgA5O_w SRS is developing the functions for WebRTC, we may wait for it.

JamesChenX commented 4 years ago

Principle:

  1. For clients, they need to communicate with both turms server and the signaling servers (they're also media servers).
  2. For turms servers, they focus on authentication (reuse the logic) and provide plugins (for developers to extend if they want) to direct the signaling servers. e.g. turms servers can give a token to the signal servers (via HTTP/2? or WebSocket?) to tell them if a user takes the token to join a room (via WebSocket), they should approve and let him/her join the room.

Note that ICE has been integrated in mediasoup, so we don't need dedicated ICE servers