Skip to main content

TelPro service operations

platform v0.9.11verified 2026-05-14

The TelPro service is the public-facing telephony gateway. It runs Kamailio (SIP proxy), RTPEngine (media proxy), Janus (WebRTC gateway), and coturn (TURN server). Inbound SIP calls and WebRTC sessions arrive here and route to Voice instances for AI processing. Single instance, static IP.

Containers

ContainerBasePort(s)Purpose
voiceai-telproKamailio 6.1.1-bookworm (ghcr.io/kamailio/kamailio)5060 UDP/TCP · 5061 TLSSIP signaling
voiceai-rtpengineRTPEngine 14.1 (dfx.at channel)22222/UDP ng · 20000–40000/UDP RTPMedia proxy
voiceai-webrtcJanus v1.3.3 (built from source)JANUS_WS_PORT (default 443) WSS · 10000–12000/UDP RTPWebRTC gateway
voiceai-turncoturn/coturn:4.6.23478 / 5349 · 49152–51152/UDP relayTURN server
log-to-spanalpine:3.19 + Go binaryStructured-log → OTLP spans for Kamailio / RTPEngine / Janus
voiceai-otel-collectorotel/opentelemetry-collector-contrib:0.150.1Telemetry collector
Where versions come from

The Kamailio, Janus, and RTPEngine versions are pinned in the image source under .docker/voiceai-{telpro,webrtc,rtpengine}/Dockerfile; coturn and the OTel collector are pinned in .infrastructure/services/telpro/docker-compose.yml. See Version sources.

WebRTC image notes

voiceai-webrtc is the Janus Gateway container that ships with the TelPro service when the webrtc flag is on:

  • Image — pulled from ECR as ${ECR_REGISTRY}/voiceai-webrtc:${ECR_TAG} like the rest of the Delphi images.
  • Runtime — Janus v1.3.3 built from source with the SIP plugin enabled.
  • TLS material — mounts /opt/services/telpro/tls/server.{crt,key}, shared with Kamailio.
  • Signaling path — exposes WSS on JANUS_WS_PORT and connects outbound to Kamailio through the Janus SIP plugin.

Firewall

The most permissive of any service: TCP 22/80/443/5060/5061/3478/5349, UDP 5060/3478/5349, and UDP ranges 10000–12000, 20000–40000, 49152–51152.

See also