Skip to content

Param-Cloudtelecom/telecom-stack-docker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

telecom-stack-docker

License Top Language Last Commit

A containerized telecom stack — Kamailio (SIP edge) + FreeSWITCH (call core) + PostgreSQL + HOMER (HEP-based call-flow capture and visualization) — wired together with Docker Compose for fast, repeatable local/staging environments.

This is the deployment/infra counterpart to kamailio-sbc-router and freeswitch-cloud-pbx — those repos are the routing logic and dialplan; this one is how you actually stand the whole thing up.

Stack

                    ┌─────────────┐       HEP/9060        ┌──────────────────┐
   SIP traffic ────►│  Kamailio   │───────────────────────►│ homer-heplify    │
   :5060/:5061      │ (SIP edge)  │                         │ (capture server) │
                    └──────┬──────┘                         └─────────┬────────┘
                           │ signaling                                │
                           ▼                                          ▼
                    ┌─────────────┐                         ┌──────────────────┐
                    │ FreeSWITCH  │                         │  homer-webapp    │
                    │ :5070       │                         │  :9080 (UI)      │
                    └──────┬──────┘                         └──────────────────┘
                           │
                           ▼
                    ┌─────────────┐
                    │ PostgreSQL  │  (CDRs, provisioning, HOMER schema)
                    └─────────────┘

Why HOMER is in here, not optional

Running Kamailio and FreeSWITCH without HEP-based capture means your only visibility into a production call-flow problem is grepping raw logs after the fact. HOMER gives a searchable SIP ladder UI across both Kamailio and FreeSWITCH in one place — the same kind of visibility sngrep gives you on a single box, but for a multi-node stack.

Image provenance

  • kamailio: ghcr.io/kamailio/kamailio — Kamailio's current official image (the project moved off Docker Hub to GitHub Container Registry).
  • freeswitch: built locally from signalwire/freeswitch-public-base (SignalWire's official base image) — there's no single ready-to-run upstream FreeSWITCH application image, so freeswitch/Dockerfile layers config on top of the base, same approach as deploying it anywhere else.
  • homer-heplify / homer-webapp: sipcapture/heplify-server and sipcapture/homer-app — HOMER 7's official images from the SIPCAPTURE project.

Running it

docker compose up -d
docker compose logs -f kamailio freeswitch
  • Kamailio SIP: 5060/udp+tcp, 5061/tcp (TLS)
  • FreeSWITCH SIP: 5070/udp+tcp (intentionally offset from Kamailio so both can run on one host without colliding)
  • HOMER web UI: http://localhost:9080
  • PostgreSQL: 5432 (CDRs + HOMER schema)

What's deliberately not included

Real TLS certificates, production-grade Kamailio/FreeSWITCH config (see the other two repos for that), and secrets management — changeme passwords here are for local/staging use only. A production rollout would pull config from a secrets manager and TLS certs from Let's Encrypt/ACM, not bake either into the compose file.

About

Containerized telecom stack: Kamailio + FreeSWITCH + PostgreSQL + Homer (HEP) monitoring

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages