← Complete project index

Voice & Telecom / Built / deployed

Drachtio + FreeSWITCH SIP Edge

SIP edge and FreeSWITCH load-balancing layer with ESL health checks, REGISTER/INVITE proxying, round-robin routing, config reload and Prometheus health surfaces.

STATUSBuilt / deployed
AREAVoice & Telecom
STACK6 documented technologies
INTEGRATIONS3 connected / bounded services
01

OVERVIEW

What I built.

SIP edge and FreeSWITCH load-balancing layer with ESL health checks, REGISTER/INVITE proxying, round-robin routing, config reload and Prometheus health surfaces.

01

Built a modern Drachtio-based SIP edge around a pool of FreeSWITCH nodes.

02

Added ESL health monitoring, REGISTER/INVITE proxying, round-robin target ordering and runtime node reload.

03

Exposed local health and Prometheus surfaces while keeping the Drachtio control port private.

02

SYSTEM ARCHITECTURE

How the system is divided.

01
Architecture boundary

SIP clients -> Drachtio server -> Node.js routing application -> healthy FreeSWITCH node.

02
Architecture boundary

ESL health checks determine eligible FreeSWITCH destinations.

03
Architecture boundary

Operational metrics are local/private while SIP 5060 is the intentionally published service surface.

03

NETWORK / DATA FLOW

What talks to what.

04

TECHNOLOGY STACK

The technical surface.

01Drachtio
02FreeSWITCH
03Node.js
04ESL
05SIP
06Prometheus
05

IMPLEMENTATION

How it works in practice.

  1. 01

    SIP clients -> Drachtio server -> Node.js routing application -> healthy FreeSWITCH node.

  2. 02

    ESL health checks determine eligible FreeSWITCH destinations.

  3. 03

    Operational metrics are local/private while SIP 5060 is the intentionally published service surface.

06

TESTING & VALIDATION

How I know it works.

TEST 01

Docker Compose deployment check

TEST 02

Drachtio connectivity health

TEST 03

FreeSWITCH ESL health polling

TEST 04

Round-robin target ordering

TEST 05

Runtime node-config reconciliation

TEST 06

Prometheus/health endpoint validation

07

EXTERNAL SERVICES & DEPENDENCIES

What sits outside the core.

COREDrachtio + FreeSWITCH SIP Edge
08

ENGINEERING EVIDENCE

Artifacts behind the claims.

01Compose stack
02Health endpoint
03Metrics endpoint
04FreeSWITCH node config
05Bootstrap script
06Security surface documentation
09

BOUNDARIES / CONSTRAINTS

What the project does not pretend to solve.

FreeSWITCH ESL must stay private

Drachtio control port is not a public surface

Routing eligibility depends on health evidence

10

RESULT / CURRENT STATE

What this produced.

A health-aware SIP ingress/load-balancing layer that can route around unhealthy FreeSWITCH nodes.