Recommended Free Tools
The most practical way to build a home phone exchange today is to run a small IP-PBX on your local network. Asterisk provides the telephone engine, while FreePBX adds a web interface for creating extensions, ring groups, voicemail and trunks. Use SIP phones or softphones for the simplest installation; connect conventional telephones through an FXS analog telephone adapter (ATA).
You can make internal calls without a telephone provider. Public incoming and outgoing calls require a SIP trunk or an analog telephone gateway. Emergency calling is a separate service that must be configured and verified with the provider.
As an Amazon Associate I earn from qualifying purchases.
What a home phone exchange does
A private branch exchange (PBX) routes calls between phones in a building. A home IP-PBX can give each room an extension, ring several phones together, provide voicemail and intercom features, and optionally connect to the public telephone network.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
- IP-PBX: A PBX that carries calls over Ethernet and IP.
- SIP endpoint: A SIP phone, softphone, ATA or gateway registered with the PBX.
- FXS: The port that supplies dial tone, battery voltage and ringing to an ordinary analog phone.
- FXO: The port that behaves like a telephone and connects to an analog outside line.
- SIP trunk: The service connecting the PBX to an outside voice provider.
For most homeowners and homelab users, the recommended layout is:
#1 Best Overall
- New - Individually Boxed
- Includes 12 foot Handset Curly Cord
- Cord length is 12 feet fully stretched and 22 inches coiled
- NOT compatible with models VVX 250 / 350 / 450
- NOT compatible with Polycom Soundpoint IP Phones 300 301 331 430 500 501 600 601
SIP phone or softphone ─┐
SIP phone or softphone ─┼── LAN ── Asterisk/FreePBX ── SIP trunk (optional)
Analog phone ── FXS ATA ┘
Choose the right build
| Requirement | Recommended solution | Important trade-off |
|---|---|---|
| Internal intercom only | FreePBX or Asterisk with SIP phones | No outside telephone service |
| Existing corded or cordless phones | PBX plus an FXS ATA | Analog wiring and ring-load limits apply |
| Several independently addressed analog phones | Multi-port FXS gateway | More hardware and configuration |
| Outside calling | PBX plus SIP trunk | Provider fees, security and emergency-service requirements |
| Rotary or vintage phones | ATA plus compatibility testing | Pulse dialing and ringing are model-dependent |
| Custom relay-based exchange | Electronics project | Much harder and less feature-rich than an IP-PBX |
FreePBX is the easier starting point because it manages Asterisk through a browser. Asterisk alone is better for readers who want to learn dialplans or build a very small programmable intercom. Asterisk’s current download information says FreePBX 17 can be installed on Debian and includes Asterisk and the required tools: official Asterisk downloads.
What you need
Minimum internal-only system
- A small always-on computer, virtual machine or home server.
- A Debian-compatible operating system.
- FreePBX or Asterisk.
- A wired Ethernet connection.
- Two SIP phones or softphones.
- A stable local IP address for the PBX.
- Configuration backups.
- A UPS if local calling should survive short power interruptions.
For ordinary analog phones
- An FXS ATA, such as a suitable single-port adapter, or a multi-port FXS gateway.
- RJ11 cables and a known-good analog phone.
- A wiring tester or multimeter.
- A clearly identified point where the old carrier or ISP telephone line can be disconnected.
For outside calls
- A SIP trunk account and, if required, a public telephone number.
- Outbound and inbound route configuration.
- Emergency-calling registration where available.
- Firewall and NAT configuration.
- A separate backup calling method, such as a mobile phone.
Build the internal exchange first
Do not begin by exposing the PBX to the internet or configuring a carrier. Prove that local extensions work on the LAN first.
1. Install and secure the PBX host
Install a supported Debian-based system, then install FreePBX or Asterisk using the current official documentation. Give the host a predictable address through a DHCP reservation or suitable static configuration. Keep the PBX, phones and ATA on the same trusted LAN during initial testing.
Quick wins for a faster PC:
Repair Windows errors before they cause bigger problemsFix Now →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Clear out junk files and repair common Windows errorsFree Scan →FreePBX is open-source software, not a complete free telephone service. Hardware, electricity, maintenance, optional commercial modules, support, telephone numbers and provider usage can all cost money.
2. Create extensions
In FreePBX, create extensions such as:
- 100: Kitchen
- 101: Office
- 102: Bedroom
Use a different long random secret for every endpoint. In the FreePBX web interface, the exact menu wording can vary by release, but extension creation is normally under the Applications or Extensions area. Save and apply the configuration after making changes.
Rank #2
- New - Individually Boxed
- NOT compatible with models VVX 250 / 350 / 450
- NOT compatible with Polycom Soundpoint IP Phones 300 301 331 430 500 501 600 601
- Compatible only with the models of business phones listed in the title and description. This is NOT a universal handset.
3. Register two SIP phones
On each phone or softphone, enter the extension number, authentication username, password and the PBX’s local IP address. Use the transport selected by the endpoint configuration; UDP is adequate for an isolated LAN test.
With raw Asterisk and PJSIP, current documentation uses res_pjsip rather than the older chan_sip. A minimal test endpoint looks like this:
[transport-udp]
type=transport
protocol=udp
bind=0.0.0.0
[6001]
type=endpoint
context=from-internal
disallow=all
allow=ulaw
auth=6001
aors=6001
[6001]
type=auth
auth_type=userpass
password=REPLACE_WITH_A_LONG_RANDOM_PASSWORD
username=6001
[6001]
type=aor
max_contacts=1
Do not use demonstration passwords such as unsecurepassword on a reachable system. Read the current Asterisk Hello World guide and adapt its example to the installed version.
4. Test registration and an extension
From the Asterisk console, useful checks include:
asterisk -rvvv
pjsip show endpoints
pjsip show contacts
dialplan show from-internal
Create a simple test extension if you are using raw Asterisk:
[from-internal]
exten = 100,1,Answer()
same = n,Wait(1)
same = n,Playback(hello-world)
same = n,Hangup()
Dial 100. The phone should answer, wait one second, play the Asterisk “hello-world” prompt and hang up. After changing a dialplan, use:
Rank #3
- Ooma has been rated the top phone service by Consumer Reports.
- Built-in wireless connectivity to place your Ooma Telo anywhere in your home. Works only in the US.
- Crystal-clear nationwide calling for free and low international rates. Pay only monthly applicable taxes and fees.
- Take your home phone on the go with the easy-to-use Ooma Home Phone mobile app
- Includes unlimited calling in the US, voicemail, caller-ID, call-waiting, 911 calling and text alerts.
dialplan reload
Asterisk documents contexts, extensions, priorities and applications such as Dial() in its dialplan reference.
5. Add extension-to-extension calling
In FreePBX, assign each extension to a phone, then dial 100 from 101 and 101 from 100. Add a ring group when several phones should ring together, and configure voicemail only after basic dialing works. The exact voicemail mailbox syntax depends on the installed Asterisk and FreePBX configuration, so use the GUI’s mailbox settings rather than inserting a partial production configuration.
Connect ordinary phones safely
An analog telephone cannot connect directly to Ethernet. It must connect to the FXS port of an ATA or analog gateway:
Ordinary telephone ── RJ11 ── FXS ATA ── Ethernet ── PBX
Never connect an FXS ATA to a live telephone-company or ISP telephone line. Both sides may supply electrical power and ringing voltage. This can damage equipment and create a hazardous condition.
Retrofitting existing house wiring
- Locate the carrier demarcation point or network interface box.
- Disconnect the incoming carrier or ISP telephone pair.
- Verify that the internal house wiring is isolated from the public line.
- Connect the ATA’s FXS output to the isolated internal wiring.
- Test one known-good phone first.
- Only then reconnect additional rooms or parallel phones.
A single ATA port can sometimes feed several parallel phones, but the wiring condition and combined ringing load must remain within the adapter’s limits. For several independently addressable analog extensions, use one ATA port per extension or a suitable multi-port gateway. Grandstream describes its HT series as adapters for extending VoIP to analog phones and its GXW products as gateways for larger legacy installations; see the manufacturer’s specifications.
Free tools Windows power users keep installed
One-click scans. No signup required.
Rank #4
- Brand New - Individually Boxed
- Black Color
- NOT compatible with Polycom Soundpoint IP Phones 300 301 331 430 500 501 600 601
- NOT compatible with VVX models 300 301 310 311 400 401 410 411 500 501 600 601 1500
Vintage and rotary phones
Dial tone, ringing, dialing and caller ID are separate compatibility questions. An ATA may ring a vintage phone without recognizing rotary pulses. Some adapters have pulse-dial options; others require a pulse-to-DTMF converter. Mechanical bells can also demand more ringing current than modern electronic phones. Test the receiver and ringer with one phone before attempting to support rotary dialing.
Add outside calling
Internal extensions do not require a provider. Public calling does. A SIP trunk supplies outbound service and may provide inbound numbers. Asterisk describes SIP trunks as virtual lines that connect PBXs to outside voice networks: Asterisk SIP trunking.
Configure the trunk and routes
- Create an account with a SIP provider and verify the countries, destinations and number types it supports.
- Configure the provider’s authentication, server and transport details in FreePBX or PJSIP.
- Create an outbound route using the number format required by the provider.
- Create an inbound route that sends your public number to an extension or ring group.
- Test one outbound and one inbound call before adding more routes.
- Restrict expensive international destinations unless they are genuinely needed.
A simple numbering plan might reserve 1xx for internal extensions and *xx for feature codes. Prefixing outside calls with 9 is optional; direct dialing can be less confusing if your route patterns are carefully defined.
Provider pricing changes by country, destination, number type, taxes and usage. As an August 2026 snapshot, Telnyx listed U.S. local outbound calls starting at $0.005 per minute and local inbound calls starting at $0.0032 per minute, while Twilio displayed U.S. local outbound calling at $0.0140 per minute and inbound calling at $0.0085 per minute. Treat these as historical examples, not quotations. Compare current terms directly with Telnyx pricing and Twilio pricing.
Emergency calling and outages
A self-hosted PBX is not automatically an emergency-service solution. Your provider may require a registered service address, additional fees and specific routing. A phone moved to another building, a VPN endpoint or an incorrect address record can send responders to the wrong location.
Best Value
- Brand New
- Charcoal Gray Color
- Individually Boxed
- NOT compatible with Cisco 9800 series IP phones.
Confirm local availability, address requirements, testing rules and outage behavior with the provider. Keep a mobile phone or another independent calling method. A UPS can keep the PBX, switch and ATA running through a short power failure, but it cannot preserve service when the internet connection or upstream provider is unavailable.
Secure and maintain the system
- Use long, unique passwords for every extension, administrator and trunk.
- Do not allow anonymous SIP registrations.
- Keep the PBX on a firewall-protected LAN.
- Use a VPN for remote phones rather than broadly exposing SIP ports.
- Update the operating system, Asterisk, FreePBX and phone firmware.
- Restrict international and premium-rate dialing.
- Monitor call records and provider usage for toll fraud.
- Back up configuration securely without exposing passwords.
- Use TLS and SRTP where compatible, while remembering that encryption features do not compensate for poor configuration.
- Keep local console or SSH access available so a configuration mistake can be reversed.
Troubleshooting
The phone will not register
- Confirm that the phone has an IP address.
- Confirm that the phone and PBX can reach each other.
- Check the extension, authentication username and password.
- Check the PBX address and selected transport.
- Run
pjsip show endpointsandpjsip show contacts. - Check local firewall rules and duplicate registrations.
For SIP diagnostics, use pjsip set logger on, then turn it off afterward with pjsip set logger off.
It registers but has no audio
Test both devices on the same LAN first. Then check RTP firewall ports, NAT settings, codec compatibility and SIP ALG in the router. For remote devices, configure local and external addresses correctly and prefer a VPN.
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Fix the driver behind crashes, sound loss and screen glitches3Clear out junk files and repair common Windows errorsThere is dial tone but calls fail
Check that the phone is connected to an FXS port, not FXO; that the ATA is registered; that the extension exists in the correct dialplan context; and that the number matches the outbound route. For outside calls, check trunk authentication and the provider’s required number format.
House wiring does not work
Recheck carrier isolation, then test one phone with one short cable. Hidden splits, corrosion, an old alarm or fax device, DSL equipment, a shorted pair or excessive ring load can prevent reliable operation. Reconnect room wiring only after the single-phone test succeeds.
When a home PBX is the wrong choice
Do not self-host if the household needs guaranteed telephone service during internet or power outages, cannot maintain a Linux-based system, or depends on emergency calling without the time to verify provider configuration. A provider-supplied voice adapter or hosted PBX may be the better engineering choice.
For a construction or renovation project, plan the network and telephone pathways early: provide Ethernet to locations likely to receive SIP phones, preserve accessible wiring junctions, label every pair, and leave a safe, documented demarcation point. That makes a future ATA or PBX installation far easier to diagnose.
Windows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallCrashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minuteQuick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




