I built a phone system because no one answers me
Based on NetworkChuck's video on YouTube. If you like this content, support the original creators by watching, liking and subscribing to their content.
Cloud 3CX still needs a local bridge (3CX SBC on a Raspberry Pi) so physical phones inside the network can register and communicate with the hosted system.
Briefing
A DIY phone system built around 3CX is turning “nobody answers” into instant, reliable communication—inside the house, across the business, and even into home automation and a local AI voice assistant. The core move is replacing scattered cell phones and silent Apple Watch notifications with a managed VoIP setup that can ring specific people, run menus (IVR), and bridge legacy analog wall phones into modern SIP calling.
The project starts with a practical frustration: calls to family members routinely go unanswered because phones are missing, muted, or ignored. Instead of relying on mobile carriers and individual devices, the setup installs 3CX so multiple family members can share a single phone system. For speed, the cloud route is used first: sign up for the 3CX SMB plan, get a hosted phone number, and register “soft phones” through the 3CX app using QR-code provisioning. User accounts are then created for the daughters, assigning them extensions and numbers so internal calls work immediately.
To connect physical phones to a cloud-hosted 3CX instance, the system needs a bridge inside the local network. The solution demonstrated is a Raspberry Pi running 3CX’s SBC (session border controller) software. The Pi is prepared by flashing Raspberry Pi OS Lite onto a microSD card, preconfiguring Wi‑Fi/credentials, enabling SSH, and then provisioning the SBC from the 3CX admin portal. Once the SBC is online and registered, local phones can authenticate through it and reach the cloud-hosted 3CX system.
The build then goes further than typical VoIP installs by supporting “retro” analog wall phones from TV-era aesthetics. Those phones use POTS (plain old telephone service) with RJ11 cabling and analog signaling, while modern 3CX calling uses SIP (session initiation protocol) over IP. The workaround is an analog telephone adapter (ATA) from Grandstream (HT801). The ATA translates between analog handset signaling and SIP, registers with 3CX via the Raspberry Pi SBC, and allows the old phones to place and receive calls as if they were modern extensions.
For calls outside the home or business, the system adds a SIP trunk—effectively a tunnel between 3CX and a phone-number provider. A DID number is purchased through VoIP.ms, then routing and trunk credentials are configured in 3CX so inbound calls reach the right internal destinations and outbound dialing works with the chosen prefix/strip rules. To avoid every call ringing every phone, a digital receptionist/IVR is configured: callers dial a virtual extension, hear a menu prompt (“press one,” “press two,” etc.), and are routed to specific extensions or ring groups.
The most distinctive payoff is calling a local AI and controlling smart home functions from an analog handset. Using Home Assistant, the setup integrates voice control so the ATA can auto-dial the Home Assistant endpoint (or route via an on-prem SIP trunk). After configuring the Grandstream HT801 codec settings (Opus) and Home Assistant’s VoIP integration to use a specific assistant (Terry), the phone becomes a voice interface for automation—turning lights on/off, querying server room temperature, and triggering other actions through webhooks. The result is a single, nerdy communication hub that finally makes family and business calls answerable—and programmable.
Cornell Notes
The build replaces unreliable mobile calling with a 3CX-based phone system that can ring specific people, handle menus, and integrate with smart home and AI voice control. Cloud 3CX is paired with a local Raspberry Pi running 3CX SBC so physical phones can register and communicate with the hosted system. Retro analog wall phones are supported using a Grandstream HT801 analog telephone adapter that translates POTS/RJ11 signaling into SIP. External calling is enabled through a SIP trunk to VoIP.ms using a purchased DID number, with routing rules and an IVR (“digital receptionist”) to avoid ringing everyone. The system can also place calls to Home Assistant so an analog phone can control a local AI assistant (Terry) and trigger automation actions.
Why does a cloud-hosted 3CX setup still require something on the local network?
How does the Raspberry Pi SBC get provisioned and what’s the key configuration idea?
What’s the technical mismatch between analog wall phones and modern 3CX calling?
Which device enables the retro analog phones to work, and how is it integrated?
How do inbound and outbound “outside world” calls work in this setup?
How does the phone become a control interface for Home Assistant and the local AI assistant Terry?
Review Questions
- What role does the 3CX SBC on the Raspberry Pi play when 3CX is hosted in the cloud?
- Why is an analog telephone adapter required to connect RJ11 wall phones to a SIP-based phone system?
- How do DID numbers and SIP trunks work together to route calls between the public phone network and 3CX?
Key Points
- 1
Cloud 3CX still needs a local bridge (3CX SBC on a Raspberry Pi) so physical phones inside the network can register and communicate with the hosted system.
- 2
Soft phones can be provisioned quickly via the 3CX app and QR-code registration, letting extensions work immediately without buying hardware.
- 3
Retro analog wall phones require translation from POTS/RJ11 analog signaling to SIP/IP, accomplished here with a Grandstream HT801 analog telephone adapter.
- 4
External calling is enabled by purchasing a DID from VoIP.ms and configuring a SIP trunk in 3CX for inbound routing and outbound dialing.
- 5
An IVR/digital receptionist menu prevents every incoming call from ringing every extension by routing callers based on keypad selections.
- 6
Home Assistant integration turns the phone system into a voice control interface, including calling a local AI assistant (Terry) and triggering automation actions.
- 7
Codec and security details matter when bridging phone hardware to automation platforms; the setup notes that some AI/automation routing bypasses 3CX and should be secured appropriately.