sip-signaling-server

command
v1.3.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 8, 2026 License: MIT Imports: 17 Imported by: 0

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)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL