← Complete project index

Embedded & Devices / Built

Pocket Dial

A SIP registrar and PBX that runs on an ESP32-S3, with extension calling, peer-to-peer RTP, call features, web administration, optional LVGL UI and dual-OTA.

STATUSBuilt
AREAEmbedded & Devices
STACK6 documented technologies
INTEGRATIONS4 connected / bounded services
01

OVERVIEW

What I built.

A SIP registrar and PBX that runs on an ESP32-S3, with extension calling, peer-to-peer RTP, call features, web administration, optional LVGL UI and dual-OTA.

01

Built a SIP registrar and PBX engine that runs directly on an ESP32-S3-class device.

02

Implemented extension registration/calling plus call features including transfer, hold, parking, ring groups, paging, forwarding and DND.

03

Added web administration, optional LVGL display support, provisioning and dual-slot OTA.

02

SYSTEM ARCHITECTURE

How the system is divided.

01
Architecture boundary

Desk phones/softphones -> SIP signaling -> Pocket Dial registrar/PBX on ESP32.

02
Architecture boundary

RTP media remains peer-to-peer between endpoints so the MCU controls signaling without carrying the audio stream.

03
Architecture boundary

The same C++17 core also builds on desktop for faster testing and CI.

03

NETWORK / DATA FLOW

What talks to what.

04

TECHNOLOGY STACK

The technical surface.

01ESP32-S3
02C++17
03SIP
04RTP
05LVGL
06OTA
05

IMPLEMENTATION

How it works in practice.

  1. 01

    Desk phones/softphones -> SIP signaling -> Pocket Dial registrar/PBX on ESP32.

  2. 02

    RTP media remains peer-to-peer between endpoints so the MCU controls signaling without carrying the audio stream.

  3. 03

    The same C++17 core also builds on desktop for faster testing and CI.

06

TESTING & VALIDATION

How I know it works.

TEST 01

Desktop build of the same C++17 core

TEST 02

GoogleTest-covered behavior

TEST 03

CI-gated builds

TEST 04

Field-deployable ESP32 firmware path

TEST 05

Call-feature verification for registration, calls, transfer, hold and related state

07

EXTERNAL SERVICES & DEPENDENCIES

What sits outside the core.

COREPocket Dial
08

ENGINEERING EVIDENCE

Artifacts behind the claims.

01Actual web-dashboard screenshot
02Threat model
03Desktop build path
04Test suite
05Dual-OTA implementation
06Provisioning documentation
09

BOUNDARIES / CONSTRAINTS

What the project does not pretend to solve.

Designed as a local-link appliance

Registrar defaults must be explicitly hardened for secure deployments

RTP is intentionally endpoint-to-endpoint rather than MCU-relayed

10

RESULT / CURRENT STATE

What this produced.

A self-contained microcontroller phone exchange that can operate without a cloud PBX or conventional server.