meta data for this page
This is an old revision of the document!
Spreed standalone signaling server
It is composed from following services:
- Spreed backend (it is REST api service) which control everything
- NATS (Messaging server)
- Janus WebRTC server
- CoTURN server (act as STUN/TURN)
Notes for dockerized solution:
- It is using direct
host
network because large ranges of ports are needed (RTP/TURN) and Docker port forwarding proxy performance is poor. - Using one shared
host
network let detect already used ports when 2 services can opens ports with overlaping ranges:- Janus WebRTC opens listening ports 10000-60000
- TURN also opens listening ports 49152-65535
behind NAT
Port forwarding is needed:
- Spreed backend HTTP port 3080 (set in server.conf) neeeds to be rev proxied with SSL to external IP with attached domain
- STUN/TURN UDP/TCP port 3478
- RTP/TURN range: 10000-65535
- CoTURN UDP/TCP ports 49152-65535
- Janus WebRTC:
nice_agent_set_port_range(handle→agent, handle→stream_id, 1, rtp_range_min, rtp_range_max);
/* RTP/RTCP port range */ uint16_t rtp_range_min = 0; uint16_t rtp_range_max = 0;