Making a Remote SIP Phone Boring Again

Joined
Nov 14, 2008
Messages
1,400
Reaction score
323
Put a small WireGuard-capable Wi-Fi router next to the remote IP phone. Let the phone join that router instead of the site's main network. Send everything through a WireGuard tunnel back to the home firewall. The phone no longer has to negotiate the public Internet, NAT, SIP ALG, changing routers, or unpredictable firewall behavior. It simply sees a local network.
 

Attachments

We usually do this with OpenVPN right on the phone and server (Yealink supports, so does others). One less piece of hardware to break.
 
We usually do this with OpenVPN right on the phone and server (Yealink supports, so does others). One less piece of hardware to break.
I’ve used OpenVPN in the past. That works too but I had switched to WireGuard for other reasons and since that was up and running on my firewall I went in this direction. Also I had multiple phones at the Remote location so it was easier to create a network that was piped to the home location. Also WireGuard seem to be a little more lightweight but of course any VPN could be set up this way
 
OpenVPN built into each phone is attractive for one or two isolated remote phones, but once several phones are at the same remote location, I strongly prefer the GL.iNet/WireGuard router approach we’ve been using.
Yealink supports OpenVPN directly on its phones. The big advantage is that you need no separate VPN router at the remote site. A phone can be placed on essentially any Internet connection, establish its tunnel back to the PBX network, and then behave much more like an internal phone.
The disadvantages become more apparent as you scale it. Each phone becomes an individual VPN endpoint. That means individual certificates/configuration, VPN troubleshooting, tunnel status, potentially separate addressing, and another configuration layer on every handset.
Compare that with what we’ve done with the MT3600:
OpenVPN in every phone

PH #1 ─ OpenVPN ─┐
PH #2 ─ OpenVPN ─┼── Internet → PBX
PH #3 ─ OpenVPN ─┘

versus:
WireGuard in one remote router

PH #1 ─┐
PH #2 ─┼─ MT3600 ── WireGuard ── Internet → PBX
PH #3 ─┘


The second architecture has some major operational advantages. The phones themselves don’t need to know that a VPN exists. They just receive ordinary LAN addresses such as 192.168.8.x and talk to the PBX. You configure and troubleshoot one tunnel instead of three, five or ten tunnels. You can also use phones that don’t have OpenVPN support at all—which is exactly what allowed a wired T46G to participate alongside the T54W.

And yes, WireGuard generally has substantially less computational/protocol overhead than OpenVPN. WireGuard was specifically designed to be small and fast, with a much simpler protocol and implementation.

For voice traffic, though, I wouldn’t exaggerate the bandwidth aspect. A few SIP calls consume so little bandwidth that the difference between OpenVPN and WireGuard isn’t likely to determine whether the call sounds good. Where WireGuard has the bigger advantage for this application is simplicity, latency consistency and processing load on small embedded devices.

There’s one potentially useful OpenVPN advantage: it is extremely mature and flexible, and it can operate in environments where WireGuard’s UDP-only nature may occasionally be problematic. OpenVPN can be configured in ways that traverse restrictive networks more readily, including TCP configurations. WireGuard deliberately remains much simpler and UDP-based.

There’s another benefit of the MT3600 approach that is particularly important: it separates telephony configuration from network/VPN configuration. The IP phone can contains nothing unusual—PBX address, extension credentials, codecs, buttons, etc. If you replace that phone tomorrow, you don’t have to recreate the VPN infrastructure on the replacement. Plug another phone into the 192.168.8.x network and the VPN path already exists.

And because that remote LAN is effectively routed toward the PBX through WireGuard, you can do other things with it besides SIP. Management interfaces, provisioning, paging or other PBX-related services can travel across that same path. With per-phone OpenVPN, you’ve essentially built several little independent VPN islands.
For this type of setup, the architecture I would choose is:

PBX site ← WireGuard → GL-MT3600 ← ordinary IP phones

rather than putting a VPN client into every handset.

The native phone OpenVPN capability is still quite useful, though. It would be an interesting experiment to configure one phone with OpenVPN and compare it directly with the same phone behind the MT3600/WireGuard tunnel—registration behavior, call establishment, audio latency and tunnel recovery after deliberately interrupting its Internet connection.
 
Works great with Tailscale on these GL-iNet routers as well.
I'm using TailScale on my RasPi, which in addition to running Pi-hole is configured as a TS "subnet router", and my all of my ATAs and soft phones point to the Pi. Allows TS to be used by devices that you cannot install TS on, such as my Obi200. Zero cost option for me...
 
I'm using TailScale on my RasPi, which in addition to running Pi-hole is configured as a TS "subnet router", and my all of my ATAs and soft phones point to the Pi. Allows TS to be used by devices that you cannot install TS on, such as my Obi200. Zero cost option for me...
Great idea to support printers as well.
 
TS subnet router also provides access to cameras, network shares or just about anything with an IP.
Using TS exit node at my office, I can access any of my Incredible PBX machines from my laptop as long as it has an internet connection.
 
I revisited the OpenVPN option. It seems more appealing than what I remember. For just a couple IP phones it’s a good solution. The only drawback I could say was that if he make it configuration change on your OpenVPN server he would have to re-export the clients in many cases.
The wire guard or tail scale implementation is great for simplicity and as everyone pointed out for connecting random devices that have no VPN capability
 
The only drawback I could say was that if he make it configuration change on your OpenVPN server he would have to re-export the clients in many cases.
The wire guard or tail scale implementation is great for simplicity
Well OpenVPN allows you to push config changes, Tailscale has their control plane to handle that. WireGuard, on the other hand, has no automation or push service for this. Changing the WireGuard config on one side requires the other side config to be updated as well in some fashion. Meaning the clients have to update their configs manually when using WireGuard. In that regards, WireGuard does not add simplicity vs OpenVPN or Tailscale.
 
Tailscale also has the unique advantage of being able to disable key expirations which is a major headache with OpenVPN and WireGuard.
 

Members online

No members online now.

Forum statistics

Threads
26,771
Messages
174,949
Members
20,331
Latest member
goomsgometh
Get 3CX - Absolutely Free!

Link up your team and customers Phone System Live Chat Video Conferencing

Hosted or Self-managed. Up to 10 users free forever. No credit card. Try risk free.

3CX
A 3CX Account with that email already exists. You will be redirected to the Customer Portal to sign in or reset your password if you've forgotten it.
Back
Top