Documentation
¶
Overview ¶
SIP signaling-only server — no local RTP socket.
RTP media servers register themselves via HTTP (POST /v1/nodes/register) and send heartbeats. On INVITE the least-loaded registered node is chosen; Call-ID is bound to that node for ACK/BYE.
Usage:
# Terminal A: SIP signaling (registry + SIP UDP) SIP_UDP_PORT=5060 SIP_LOCAL_IP=192.168.28.128 SIP_CONTROL_PORT=8080 \ go run ./examples/sip-signaling-server # Terminal B: RTP node (registers to signaling) RTP_NODE_ID=rtp-a RTP_MEDIA_IP=192.168.28.128 \ SIP_REGISTRY_URL=http://192.168.28.128:8080 \ go run ./examples/sip-rtp-server # Terminal C: another RTP node RTP_NODE_ID=rtp-b RTP_MEDIA_IP=192.168.28.129 \ SIP_REGISTRY_URL=http://192.168.28.128:8080 \ go run ./examples/sip-rtp-server
Env:
- SIP_UDP_HOST signaling bind host (default 0.0.0.0)
- SIP_UDP_PORT signaling UDP port (default 5060)
- SIP_LOCAL_IP advertised Contact / Via IP (auto if empty)
- SIP_CONTROL_HOST registry HTTP bind host (default 0.0.0.0)
- SIP_CONTROL_PORT registry HTTP port (default 8080)
- RTP_NODE_TTL_SEC drop nodes without heartbeat (default 45)
- RTP_CONTROL_URLS optional static seed URLs (dev only)
Click to show internal directories.
Click to hide internal directories.