EchoPBX GitHub
Beta

A PBX that is simple to set up.

EchoPBX is for people who want to host their own phone system without the hassle that usually comes with it. Manage extensions, trunks and queues from a clean web interface, with Asterisk doing the work underneath.

Run it with Docker

Terminal
$ sudo docker run -d --name echopbx --restart unless-stopped --network=host -v /opt/echopbx:/data ghcr.io/ljfloor/echopbx:main

Then open http://<server-ip>:8740 and the setup wizard walks you through creating an admin account.

pbx.office.lan:8740/admin/dashboard
The EchoPBX dashboard showing four live calls: two outgoing, one incoming call answered by Support and one incoming call still ringing

Features

Everything a small phone system needs

Extensions

Create an extension and connect a softphone like MicroSIP or Zoiper, or a physical IP phone. Connected devices show up right away.

Trunks

Connect to your SIP provider with a host, username and password. Decide per trunk what happens when a call comes in.

Queues

Ring all, round robin, fewest calls or random. Set timeouts, wrap-up time, an announcement and your own music on hold.

Call flows

Play messages, offer a phone menu and transfer callers to a queue. Build the flow visually and test it with a test call.

Dashboard

See ongoing calls live, along with active extensions, active trunks and system uptime.

One container

Asterisk and the web interface ship together in a single Docker image. All data lives in one volume.

Screenshots

A look inside

pbx.office.lan:8740/admin/call-flows/main-menu
Call flows: A welcome message, then a phone menu that sends callers to the right queue.

Call flows

A welcome message, then a phone menu that sends callers to the right queue.

pbx.office.lan:8740/admin/queues/2
Queues: Pick the extensions, the order they ring in and how long each one gets.

Queues

Pick the extensions, the order they ring in and how long each one gets.

pbx.office.lan:8740/admin/extensions
Extensions: A green dot means a phone is connected. The settings to enter are right next to the list.

Extensions

A green dot means a phone is connected. The settings to enter are right next to the list.

pbx.office.lan:8740/admin/trunks
Trunks: Connect your SIP provider for calls in and out.

Trunks

Connect your SIP provider for calls in and out.

Get started

Up and running in three steps

  1. 1

    Install Docker

    On Ubuntu-based systems: sudo apt install docker.io

  2. 2

    Start the container

    One docker run command. Your data is stored in /opt/echopbx.

  3. 3

    Open the web interface

    Go to port 8740 on your server, create an admin account and add your first extension.

Read the full install guide

Free and open source

EchoPBX is licensed under the GPL v2. Questions, bug reports and pull requests are welcome.