Home » Posts tagged 'virtualization'

Tag Archives: virtualization

The Most Versatile VoIP Provider: FREE PORTING

5 Minute PBX With Any Virtual Machine

For those with an existing virtual machine platform either at home or at the office, today is your lucky day. We have an Incredible PBX image for VirtualBox, VMware, Proxmox, Windows WSL, Mac UTM, and Linux Containers LXC that will have an Asterisk® PBX with FreePBX® up and running in less than 5 minutes. If you’ve ever wanted to kick the tires on a fully-loaded, secure PBX that offers virtually every telephony feature on the planet, now’s your chance. And it’s FREE!

If you’d prefer to let someone else worry about hardware maintenance, networking, and power outages, we’ve even got an Incredible PBX offering in the Cloud that will only set you back $25 a year in your choice of locations: Los Angeles, Atlanta, Miami, Germany, or The Netherlands. And that includes a free backup for a rainy day. Start here.

For those that are new to the open source community, finding free software is pretty easy. Finding good documentation to accompany it is more of a challenge. With Incredible PBX, you get both. My previous employer spent well over $150,000 for a PBX with less than half the features you’ll find in Incredible PBX out of the box. And you’ll never have to worry about upcharges every time you add a feature or an additional user or extension. Pick your free virtual machine platform below and enjoy the ride.

Incredible PBX 2027 for VirtualBox

For VirtualBox platforms, start by downloading the latest Incredible PBX 2027 .ova image from the Incredible PBX repository. You have a choice of operating systems: Ubuntu 22.04 or Debian 11. Then read our VirtualBox tutorial for setup and usage tips.

Incredible PBX 2027 for VMware

For VMware, start by downloading the latest VMware image for Incredible PBX 2027 and Ubuntu 22.04. Then read our VMware tutorial for setup and usage tips.

Incredible PBX 2027 for Proxmox 7

Our Incredible PBX 2027-U for Proxmox 7 tutorial will walk you through setting up a Proxmox server and building Incredible PBX 2027 virtual machines with Ubuntu® 22.04, Asterisk® 20, and FreePBX® 16 in minutes using a powerful little MiniPC.

Incredible PBX 2027 for Windows 11 WSL

If you’re strapped for cash and simply want to use an existing Windows 11 computer as the virtual machine host for Incredible PBX, you have a couple of options. First, you can install VirtualBox on your machine and follow the VirtualBox tutorial above. Another options is to deploy Microsoft’s own virtual machine platform for Windows 11. It’s called Windows 11 Subsystem for Linux (WSL). You’ll find step-by-step install instructions in this Nerd Vittles tutorial.

Incredible PBX 2027 for Mac UTM

With Apple’s new, proprietary processors, the days of using VirtualBox on a Mac are over. But, fear not. Apple has introduced their own virtualization platform: Mac UTM. You’ll find step-by-step instructions to deploy both UTM and Incredible PBX in this Nerd Vittles tutorial. For older Intel-based Macs, you still can deploy Incredible PBX with VirtualBox.

Incredible PBX 2027 for Linux Containers LXC

For those of you that have kissed Windows and Mac desktops goodbye, there’s now a virtualization platform for Linux desktop computers as well. You’ll find our tutorial for Linux LXC Containers here. You won’t be disappointed.

Adding a $1 a Month Phone Number with Free Incoming Calls

Last, but not least, let us point you to two of the best deals on the planet when it comes to acquiring a telephone number for your PBX with free incoming calls. CallCentric offers $1 a month residential DID with free incoming SIP calls. And a similar deal is available from LocalPhone with up to 100 free incoming calls of unlimited duration every day. We use both services and have never experienced an outage in over 10 years.

Originally published: Wednesday, January 24, 2024



Need help with Asterisk? Visit the VoIP-info Forum.


 

Special Thanks to Our Generous Sponsors


FULL DISCLOSURE: ClearlyIP, Skyetel, Vitelity, DigitalOcean, Vultr, VoIP.ms, 3CX, Sangoma, TelecomsXchange and VitalPBX have provided financial support to Nerd Vittles and our open source projects through advertising, referral revenue, and/or merchandise. As an Amazon Associate and Best Buy Affiliate, we also earn from qualifying purchases. We’ve chosen these providers not the other way around. Our decisions are based upon their corporate reputation and the quality of their offerings and pricing. Our recommendations regarding technology are reached without regard to financial compensation except in situations in which comparable products at comparable pricing are available from multiple sources. In this limited case, we support our sponsors because our sponsors support us.

BOGO Bonaza: Enjoy state-of-the-art VoIP service with a $10 credit and half-price SIP service on up to $500 of Skyetel trunking with free number porting when you fund your Skyetel account. No limits on number of simultaneous calls. Quadruple data center redundancy. $25 monthly minimum spend required. Tutorial and sign up details are here.

The lynchpin of Incredible PBX 2020 and beyond is ClearlyIP components which bring management of FreePBX modules and SIP phone integration to a level never before available with any other Asterisk distribution. And now you can configure and reconfigure your new Incredible PBX phones from the convenience of the Incredible PBX GUI.

VitalPBX is perhaps the fastest-growing PBX offering based upon Asterisk with an installed presence in more than 100 countries worldwide. VitalPBX has generously provided a customized White Label version of Incredible PBX tailored for use with all Incredible PBX and VitalPBX custom applications. Follow this link for a free test drive!
 

Special Thanks to Vitelity. Vitelity is now Voyant Communications and has halted new registrations for the time being. Our special thanks to Vitelity for their unwavering financial support over many years and to the many Nerd Vittles readers who continue to enjoy the benefits of their service offerings. We will keep everyone posted on further developments.
 



Deploying a Free Turnkey Phone System



To say the New Year is ushering in a scaled back constituency for self-managed telephony systems would be an understatement. Much of this migration from Asterisk® can be traced directly to the proliferation of cell phones coupled with the expansion of Zoom and Microsoft Teams deployments thanks to the COVID nightmare.

Despite Sangoma’s best efforts to commercialize Asterisk and FreePBX®, we think there’s still a place for free systems especially turnkey Asterisk PBX deployments that can coexist on Windows, Mac, and Linux desktops. For today, we’ll point you to tutorials that will let you download and then install a turnkey platform of your choice in just a couple minutes.

For Windows 11 and Zorin desktops, you can deploy Incredible PBX 2027 for Debian 11 and run it under VirtualBox. If you prefer an Ubuntu platform for Incredible PBX 2027, a tutorial is available here as well. If you’re using a Zorin desktop, keep in mind that VirtualBox must be reinstalled before use:

apt remove virtualbox-dkms
apt install virtualbox-dkms

Another turnkey Asterisk PBX option for Windows 11 desktops is WSL. Complete instructions for deployment and use are available here.

For Mac users, the available turnkey option of Incredible PBX depends upon whether you’re using an older Intel-based machine or a newer machine with Apple silicon.For Intel platforms, VirtualBox is an ideal platform for Incredible PBX 2027. For newer Macs with M1, M2, or M3 processors, simply deploy Incredible PBX with the UTM application.

Finally, for Linux desktops (and we prefer Zorin), you have two options. As noted above, you can deploy Incredible PBX with VirtualBox. For real-time performance, we prefer deployments using LXC Containers.

We’ll close with a few tips for the new year as you begin your new journey into the world of free Asterisk PBX telephony. Unlike some of the commercial offerings, the Incredible PBX platform offers a variety of support options. You can get first-hand support and hand-holding on the VoIP-Info.org Forum. Second, the Incredible PBX Wiki offers literally hundreds of tutorials and recommendations on every subject imaginable. Finally, the Incredible PBX Repository has download links for every platform and every script that has ever been produced.

Enjoy and Happy New Year!

Originally published: Sunday, December 31, 2023



Need help with Asterisk? Visit the VoIP-info Forum.


 

Special Thanks to Our Generous Sponsors


FULL DISCLOSURE: ClearlyIP, Skyetel, Vitelity, DigitalOcean, Vultr, VoIP.ms, 3CX, Sangoma, TelecomsXchange and VitalPBX have provided financial support to Nerd Vittles and our open source projects through advertising, referral revenue, and/or merchandise. As an Amazon Associate and Best Buy Affiliate, we also earn from qualifying purchases. We’ve chosen these providers not the other way around. Our decisions are based upon their corporate reputation and the quality of their offerings and pricing. Our recommendations regarding technology are reached without regard to financial compensation except in situations in which comparable products at comparable pricing are available from multiple sources. In this limited case, we support our sponsors because our sponsors support us.

BOGO Bonaza: Enjoy state-of-the-art VoIP service with a $10 credit and half-price SIP service on up to $500 of Skyetel trunking with free number porting when you fund your Skyetel account. No limits on number of simultaneous calls. Quadruple data center redundancy. $25 monthly minimum spend required. Tutorial and sign up details are here.

The lynchpin of Incredible PBX 2020 and beyond is ClearlyIP components which bring management of FreePBX modules and SIP phone integration to a level never before available with any other Asterisk distribution. And now you can configure and reconfigure your new Incredible PBX phones from the convenience of the Incredible PBX GUI.

VitalPBX is perhaps the fastest-growing PBX offering based upon Asterisk with an installed presence in more than 100 countries worldwide. VitalPBX has generously provided a customized White Label version of Incredible PBX tailored for use with all Incredible PBX and VitalPBX custom applications. Follow this link for a free test drive!
 

Special Thanks to Vitelity. Vitelity is now Voyant Communications and has halted new registrations for the time being. Our special thanks to Vitelity for their unwavering financial support over many years and to the many Nerd Vittles readers who continue to enjoy the benefits of their service offerings. We will keep everyone posted on further developments.
 



Virtualization Trifecta: $500 Buys a Perfect Hosting Platform



We’ve been raving about Zorin OS 16 last month as the best desktop operating system available. And today we combine it with a $500 MiniPC to provide not one, but three, virtualization platforms with a single machine. You get LXC Linux Containers, VirtualBox, and the Windows 11 WSL platform all rolled into one dual-boot desktop PC. On the Linux side with Zorin OS 16, you can run multiple LXC containers (shown above) and VirtualBox virtual machines simultaneously. And on the Windows 11 platform, you get the Windows Subsystem for Linux in addition to VirtualBox. For those clamoring for a multi-tenant Asterisk®, our question is why when you can securely run standalone platforms for each tenant on one PC.

Because UEFI protections have complicated deployment of Linux on Windows 11 platforms, the secret sauce to make this magic happen is finding a hardware supplier who has elected not to cripple Linux deployment. There may be others and feel free to post a comment sharing your successes, but our favorite supplier is MINISFORUM with their Venus Series of MiniPCs. We obviously haven’t tested all of their offerings, but we are actively using the NAB6 Mini PC featuring a 12th Gen Core i7-12650H processor, 32GB of DDR4 RAM, and a 1TB PCIe4.0 SSD. It’s available on Amazon today for $440. If you’re in the market for a gaming platform as well, the UM690 has gotten rave reviews and looks like a good fit for under $600.

As frequent visitors to our site know, referral revenue from Amazon helps keep the lights on at Nerd Vittles, but we also eat our own dog food. We recommend products we actually use.

Installing Incredible PBX 2027 with Windows 11 WSL

Let’s start with an easy virtualization platform, the Windows 11 Subsystem for Linux. To save you having to jump around behind tutorials, here’s a quick refresher on the process.

To get started, you’ll need Windows 11 (build 22000.*) or Windows 11 Insider Preview (builds 21362+) using any hardware platform that supports Windows 11. To begin, from the Windows 11 Start Menu, Search for powershell. Right click on the app and choose Run As Administrator.

Here are some wsl commands you’ll want to keep handy:

List Available Linux Offerings  : wsl --list --online
Show Installed Linux Platforms  : wsl -l -v
Install a Linux Virtual Machine : wsl --install -d {distro}
Startup a Linux Virtual Machine : wsl -d {distro}
Shutdown Running Virtual Machine: wsl --terminate {distro}
Remove any Linux Virtual Machine: wsl --unregister {distro}
Backup any Linux Virtual Machine: wsl --export {distro} {filename.tar}
Restore a Linux Virtual Machine : wsl --import {distro} {filename.tar}

Let’s begin by installing an Ubuntu Virtual Machine: wsl --install -d Ubuntu-22.04. You’ll be prompted to create a user account and password, e.g. nerd and password. If you’re not prompted to create a user account, reboot your Windows machine and reopen the Ubuntu-22.04 app from the Start menu. That will straighten things out. Once the Ubuntu CLI window appears, enter the following commands to set up the root user account and begin your Incredible PBX install. Then go have a very long cup of coffee.

sudo passwd root
su root
# enter password you created for root
cd ~
apt install wget -y
wget http://incrediblepbx.com/IncrediblePBX2027-U-Win11.sh
chmod +x IncrediblePBX2027-U-Win11.sh
./IncrediblePBX2027-U-Win11.sh

While you’re waiting, notice that the Windows Start Menu now includes a new Ubuntu app which you will use to launch the Incredible PBX 2027-U virtual machine down the road.

When the install finishes, reboot.

Keep in mind that Incredible PBX will be running as an Ubuntu-22.04 virtual machine under Windows 11. So it’s important to know how to start things up and shut things down. As with any operating system, you don’t want to simply pull the plug and risk damaging both the file system and your MySQL databases.


To start the Ubuntu-22.04 virtual machine, you can do it in either of two ways. From the Windows Start Menu, double-click on the Ubuntu-22.04 app. Or from the PowerShell running as Administrator, type: wsl -d Ubuntu-22.04. Verify it’s running like this: wsl -l -v

Once the Ubuntu CLI appears, issue the following commands to activate all of the Linux components upon which Incredible PBX depends:

su root
# enter root password
cd ~
./update-IncrediblePBX
pbxstatus
# if pbxstatus shows non-fax apps down 
# then run startup below
./startup
pbxstatus

The LAN IP address is only accessible from your Windows machine. To run the Automatic Update Utility, you’ll need to SSH into this LAN address from the PowerShell running as Administrator where 172.19.180.143 is the LAN address shown in pbxstatus:

ssh root@172.19.180.143

To shutdown the Ubuntu-22.04 virtual machine, first open the Ubuntu-22.04 app and switch to the root user. Issue the halt command. This gracefully shuts down Asterisk, MySQL, and Apache. When the script completes, return to the PowerShell and issue this command to halt the virtual machine: wsl --terminate Ubuntu-22.04

Deploying OpenVPN with Incredible PBX. We strongly recommend deploying an OpenVPN client as part of your WSLg install and also on the Windows 11 desktop. It will simplify access to the server both from within Windows and also from any external source without having to wrestle with your firewall settings. This Incredible PBX Wiki article will walk you through creation of an OpenVPN Server platform, and this Incredible PBX Wiki article will walk you through the OpenVPN Client setup process. Simply name your Ubuntu .ovpn config file incrediblepbx.ovpn and save it in the /etc directory for automatic startup.

CAUTION: Be sure to create and use a separate .ovpn configuration file for your Windows desktop including these additional settings documented in the Wiki:

pull-filter ignore redirect-gateway
route-nopull
route 10.8.0.0 255.255.255.0

Installing Incredible PBX with VirtualBox & Windows 11

Oracle’s virtual machine platform inherited from Sun is amazing. It’s not only free, but it’s pure GPL2 code. VirtualBox gives you a virtual machine platform that runs on top of many desktop operating systems including Linux, Windows, and Intel-based Macs. In terms of limitations, we haven’t found any. We even tested this on an Atom-based Windows 7 machine with 2GB of RAM, and it worked without a hiccup. So step #1 today is to download one or more of the VirtualBox 6.1 installers. Our recommendation is to put all of these 100MB installers on a USB thumb drive.1 Then you’ll have everything in one place whenever and wherever you happen to need it. Once you’ve downloaded the software, install it onto your Windows 11 desktop. Accept all of the default settings, and you’ll be good to go. For more details, here’s a link to the Oracle VM VirtualBox User Manual.

NOTE: A VirtualBox 6.1 platform is required with Windows 11. Adjust screen size in View -> Virtual Screen.

To install Incredible PBX, download the Incredible PBX 2027-D image with Debian 11 (3.7 GB) or the Incredible PBX 2027-U image with Ubuntu 22.04 onto your desktop.

Next, double-click on the Incredible PBX .ova image on your desktop. Be sure to check the box to initialize the MAC address of the image if you’re using an older version of VirtualBox. Then click Import. Once the import is finished, you’ll see a new Incredible PBX 2027 virtual machine in the VM List of the VirtualBox Manager Window. Let’s make a couple of one-time adjustments to the Incredible PBX configuration to account for possible differences in sound and network cards on different host machines.

(1) Click once on the Incredible PBX 2027 virtual machine in the VM List. Then (2) click the Settings button. In System tab, check Hardware Clock in UTC Time. In the Audio tab, check the Enable Audio option and choose your sound card. In the Network tab for Adapter 1, check the Enable Network Adapter option. From the Attached to pull-down menu, choose Bridged Adapter. Then select your network card from the Name list. Then click OK. That’s all the configuration that is necessary for Incredible PBX.

Once you’ve imported and configured the Incredible PBX Virtual Machine, you’re ready to go. Highlight the Incredible PBX 2027 virtual machine in the VM List on the VirtualBox Manager Window and click the Start button. The standard Linux boot procedure will begin and, within a few seconds, you’ll get the familiar Linux login prompt. During the bootstrap procedure, you may see a couple of dialogue boxes pop up that explain the keystrokes to move back and forth between your host operating system desktop and your virtual machine. Remember, you still have full access to your desktop computer. Incredible PBX 2027 is merely running as a task in a VM window. Always gracefully halt Incredible PBX just as you would on any computer.

Here’s what you need to know. To work in the Incredible PBX virtual machine, just left-click your mouse while it is positioned inside the VM window. To return to your host operating system desktop, press the right Option key on Windows machines or the left Command key on any Mac. On Linux desktops, press the right Ctrl key. For other operating systems, read the dialogue boxes for instructions on moving around. To access the Linux CLI, login as root with the default password: password.

Deploying Incredible PBX with VirtualBox on Zorin

Now let’s reboot your machine and choose Zorin as the platform to load. The Incredible PBX setup is similar to the process used with Windows 11, but UEFI machines are temperamental about which non-Windows apps can run. To enable VirtualBox on the Zorin platform, here are the steps. First, run the Terminal app and reinstall VirtualBox:

apt remove virtualbox-dkms
apt install virtualbox-dkms

You’ll be prompted to set up a password for your new VirtualBox UEFI key (8 characters). Then reboot and register the new key when prompted. Enter the password when prompted. Now run VirtualBox from the Applications menu, and you should be good to go.

Once you have VirtualBox running successfully, you can install Incredible PBX 2027. Using the Firefox browser, download the IncrediblePBX2027-U with Ubuntu 22.04 image or the IncrediblePBX2027-D with Debian 11 image to your Downloads folder. From the File Manager, double-click on the .ova image to install it into VirtualBox. Click RUN to start up Incredible PBX 2027. The rest of the setup process is the same as what we described for Windows 11.

Deploying Linux Containers Using Static Routes

The beauty of Linux Containers is they run natively sharing the Linux kernel. So performance is outstanding. But, unlike VirtualBox, there is no simple way to create a Linux Container that obtains a DHCP address from the LAN’s DHCP server, so called bridge mode. This is especially true if your Zorin host is connected wirelessly. Read both of those sentences again to make sure you understand the network limitation of Linux Containers. Simply stated, networking with Linux Containers functions much like the NAT (as opposed to Bridge) option in VirtualBox. Here’s what that means.

Linux Containers are created on their own private subnet. If you wish to access them from a different device on the same LAN shared with your Zorin desktop hosting your Linux Containers, the simplest method is to create a static route to the private LXC subnet either on your LAN’s router or ON EVERY LAN DEVICE that needs to connect to your Linux Containers.

Here are the Mac and Linux commands to create, delete, and list static routes on the other LAN devices where 10.0.3.0 is the LXC subnet hosting the Linux Containers and 192.168.0.167 is the LAN address of the Zorin host PC:

sudo route add -net 10.0.3.0/24 192.168.0.167
sudo route -n delete 10.0.3.0
netstat -rn

Here are the Windows commands to create, delete, and list the same:

route add 10.0.3.0 MASK 255.255.255.0 192.168.0.167
route delete 10.0.3.0
route print

Deploying Linux Containers on the Primary LAN

If you are dead set in wanting to configure your Linux Containers to use IP addresses on the same subnet as your primary LAN, keep in mind that DHCP will not work for Linux Containers on a secured wireless network. For a tutorial on setting this up using static IP addresses, go here. It’s the only alternative that works.

Deploying Linux Containers with OpenVPN

A less painful way to accomplish the same thing is to install OpenVPN clients in your Linux Containers. To do this, you first must enable tun for Linux Containers. On your Zorin host machine, create a new 00-openvpn.conf file in /usr/share/lxc/config/common.conf.d:

lxc.cgroup.devices.allow = c 10:200 rwm
lxc.mount.entry = /dev/net dev/net none bind,create=dir 0 0
lxc.mount.entry = /dev/net/tun dev/net/tun none bind,create=file

Next, create an OpenVPN client config file for your Linux Container on your OpenVPN server. Now start up the Linux Container, switch to the root user, and copy the new config file (.ovpn) into the /etc folder naming it openvpn2027.ovpn. Then restart the Linux Container and wait for about 10 seconds for the OpenVPN client to load. Running pbxstatus now will show the OpenVPN IP address in your LAN listing, and the Linux Container is accessible from any device on your OpenVPN virtual private network.


Originally published: Monday, October 2, 2023



Need help with Asterisk? Visit the VoIP-info Forum.


 

Special Thanks to Our Generous Sponsors


FULL DISCLOSURE: ClearlyIP, Skyetel, Vitelity, DigitalOcean, Vultr, VoIP.ms, 3CX, Sangoma, TelecomsXchange and VitalPBX have provided financial support to Nerd Vittles and our open source projects through advertising, referral revenue, and/or merchandise. As an Amazon Associate and Best Buy Affiliate, we also earn from qualifying purchases. We’ve chosen these providers not the other way around. Our decisions are based upon their corporate reputation and the quality of their offerings and pricing. Our recommendations regarding technology are reached without regard to financial compensation except in situations in which comparable products at comparable pricing are available from multiple sources. In this limited case, we support our sponsors because our sponsors support us.

BOGO Bonaza: Enjoy state-of-the-art VoIP service with a $10 credit and half-price SIP service on up to $500 of Skyetel trunking with free number porting when you fund your Skyetel account. No limits on number of simultaneous calls. Quadruple data center redundancy. $25 monthly minimum spend required. Tutorial and sign up details are here.

The lynchpin of Incredible PBX 2020 and beyond is ClearlyIP components which bring management of FreePBX modules and SIP phone integration to a level never before available with any other Asterisk distribution. And now you can configure and reconfigure your new Incredible PBX phones from the convenience of the Incredible PBX GUI.

VitalPBX is perhaps the fastest-growing PBX offering based upon Asterisk with an installed presence in more than 100 countries worldwide. VitalPBX has generously provided a customized White Label version of Incredible PBX tailored for use with all Incredible PBX and VitalPBX custom applications. Follow this link for a free test drive!
 

Special Thanks to Vitelity. Vitelity is now Voyant Communications and has halted new registrations for the time being. Our special thanks to Vitelity for their unwavering financial support over many years and to the many Nerd Vittles readers who continue to enjoy the benefits of their service offerings. We will keep everyone posted on further developments.
 



  1. Many of our purchase links refer users to Amazon when we find their prices are competitive for the recommended products. Nerd Vittles receives a small referral fee from Amazon to help cover the costs of our blog. We never recommend particular products solely to generate Amazon commissions. However, when pricing is comparable or availability is favorable, we support Amazon because Amazon supports us. []

Zero-Day Vulnerabilities Compromise All FreePBX Systems



If you’re a user of Asterisk® and FreePBX®, the DEFCON 31 Conference in Las Vegas did not disappoint this year. It exposed not one but three critical, unpatched vulnerabilities in affected FreePBX-based platforms that can compromise your servers in under a minute. I would hasten to add that all of these vulnerabilities were disclosed to Sangoma® months ago and remain unaddressed for months. What this meant was a hacker could easily get administrator privileges on your server with a blank check to make free calls on your nickel or further infect your server with additional hidden components.




 

How Vulnerable Are You? Here’s a quick summary of the bugs documented in the presentation above. If you expose a port on your server to configure SIP phones, you’re compromised. If your users have public IP access to the User Control Panel (UCP), you’re compromised. Any user can delete any asterisk-owned file from your server. Use a Digium® or Sangoma® VoIP phone? You’re compromised. Actually, all you need is the MAC address of one of these phones and its password login and the User-Agent header of any Digium Phone (Digium D60 2_7_0), and you’re compromised if the dphone API RestApp is running on your server. Are you running the API module in FreePBX with public IP address access to your server? You’re compromised because of a bug in the generateDocumentation function. These are classic command injection and authentication bypass issues in FreePBX that can even be triggered from the bad guys’ servers using generated access tokens.


Sangoma, Sangoma. Wherefore Art Thou? You can read all about Sangoma’s Bug Bounty Program here. It was conveniently deleted immediately after this zero-day vulnerability was reported. We’ve reproduced the page from the Wayback Machine. So what happened? According to the good pseudonym researcher, not much. Aside from an initial response indicating that the bugs had been addressed, there was never a follow-up response when the researcher advised that the patches did not work.




 

What Can You Do? Your safest bet is to switch to a security model that does not expose your server or its assets to the public Internet. Incredible PBX is an out-of-the-box platform that provides this security. It’s available for Rocky 8 (not recommended), Debian 11, Ubuntu 22.04 as well as virtualization platforms including VirtualBox, VMware, Proxmox, Windows WSLg, LXC Linux Containers, and Apple’s UTM platform. OpenVPN is also strongly recommended.

At the very minimum, put your server behind a hardware-based firewall with no public Internet exposure until these bugs are properly resolved. You’ve been warned!

Follow updated comments on this issue on the FreePBX Forum and the VoIP-info.org Forum.

Originally published: Sunday, September 17, 2023    Updated: October 13, 2023



Need help with Asterisk? Visit the VoIP-info Forum.


 

Special Thanks to Our Generous Sponsors


FULL DISCLOSURE: ClearlyIP, Skyetel, Vitelity, DigitalOcean, Vultr, VoIP.ms, 3CX, Sangoma, TelecomsXchange and VitalPBX have provided financial support to Nerd Vittles and our open source projects through advertising, referral revenue, and/or merchandise. As an Amazon Associate and Best Buy Affiliate, we also earn from qualifying purchases. We’ve chosen these providers not the other way around. Our decisions are based upon their corporate reputation and the quality of their offerings and pricing. Our recommendations regarding technology are reached without regard to financial compensation except in situations in which comparable products at comparable pricing are available from multiple sources. In this limited case, we support our sponsors because our sponsors support us.

BOGO Bonaza: Enjoy state-of-the-art VoIP service with a $10 credit and half-price SIP service on up to $500 of Skyetel trunking with free number porting when you fund your Skyetel account. No limits on number of simultaneous calls. Quadruple data center redundancy. $25 monthly minimum spend required. Tutorial and sign up details are here.

The lynchpin of Incredible PBX 2020 and beyond is ClearlyIP components which bring management of FreePBX modules and SIP phone integration to a level never before available with any other Asterisk distribution. And now you can configure and reconfigure your new Incredible PBX phones from the convenience of the Incredible PBX GUI.

VitalPBX is perhaps the fastest-growing PBX offering based upon Asterisk with an installed presence in more than 100 countries worldwide. VitalPBX has generously provided a customized White Label version of Incredible PBX tailored for use with all Incredible PBX and VitalPBX custom applications. Follow this link for a free test drive!
 

Special Thanks to Vitelity. Vitelity is now Voyant Communications and has halted new registrations for the time being. Our special thanks to Vitelity for their unwavering financial support over many years and to the many Nerd Vittles readers who continue to enjoy the benefits of their service offerings. We will keep everyone posted on further developments.
 



Introducing Incredible PBX 2027 for LXC Linux Containers



We introduced Zorin OS in our recent review of the latest Acer Aspire 5 notebook PC. If you’ve never heard of Zorin, it’s probably the best desktop operating system available. While it is Linux-based, it can look like any desktop you’re already familiar with including Windows 11 and even a Mac if you spring for the $39 Pro version. It can be installed on as many PCs as you personally own, and Zorin Pro provides an incredible assortment of apps including the full LibreOffice suite, VirtualBox, music apps including Clementine, video streaming with VLC Media Player, Gnome’s Gmail, Firefox, and a number of free photo editing tools. In short, any app that will run under Ubuntu will run under Zorin. If you’re a diehard OpenVPN fan like us, it works swimmingly under Zorin and is a breeze to install.


After walking you through a Zorin install, we want to introduce you to a new Linux virtualization solution called LXC Linux Containers. It offers many of the same features you’d find in the OpenVZ cloud platform including shared kernel access and almost instantaneous startups. On the Zorin platform, it’s a one-minute setup procedure. We’ve even built Incredible PBX 2027 LXC images for both Debian 11 and Ubuntu 22.04 servers so you can bring up one or more full-featured unified communications platforms in a matter of minutes.

Preparing Zorin 16 Installation Media

Prepare a USB stick after downloading the Zorin 16 ISO of your choice. The easiest method is to download and install balenaEtcher on your desktop machine. It’s available for Windows, Mac, and Linux. Insert your USB stick into your desktop computer and then run the balenaEtcher app. Choose your Zorin ISO after clicking Flash from File. Choose your USB stick from Select Target. Be sure you don’t accidentally choose your desktop’s main drive! Click the Flash button to begin. Once the ISO is transferred, gracefully eject your USB stick from your desktop machine.

Configuring Windows 11 for Dual-Boot

We won’t bore you with a tutorial on setting up Windows 11. It works much the same way on almost any modern computer. Once you get Windows 11 installed, the only change we need to make is to shrink the main Windows partition so that there is some room to install and use Zorin. For Lenovo and HP machines, don’t waste your time trying to get Zorin installed. It won’t. For other machines, from the Windows desktop, tap the Windows key and Search for “Create and format hard disk partitions”. Highlight your main Windows drive, usually called “OS (C:)”. Control-tap on the Touchpad or Right-Click your mouse in that partition and select “Shrink Volume”. Choose the amount of space to shrink the Windows partition and allocate to Zorin. We chose 250GB, but that’s your call. Reboot your machine for the changes to take effect. When the boot logo appears, press F2 repeatedly to enter the BIOS setup. Click on the Security tab and set a Supervisor Password. No other changes are necessary. If you can disable UEFI do so, but it’s not required. In the boot options, specify your USB drive as the primary boot source so we can install Zorin from a USB stick. Move to the Exit tab and choose Exit and Save Changes to initiate a reboot.

Installing Zorin 16 on a Desktop PC

Now we’re ready to install Zorin on your desktop machine. Insert the USB stick and turn on or reboot the computer. If the machine doesn’t boot Zorin from the USB stick, you may need to make the USB port your primary boot device in the BIOS settings. Choose the LIVE Session option to make sure Zorin will start on your machine. Also make sure you can configure WiFi in the Settings -> Network tab. If all goes well, click the Install Zorin link on the desktop to install Zorin onto your empty partition when prompted. Upon reboot, if UEFI is enabled, be sure to register Zorin in the UEFI whitelist when prompted. In some BIOS configurations, you may need to set NVME:ubuntu as Primary in the Boot setup’s Drive Priorities after installing Zorin. This was the case on our favorite MiniPC desktop, the MINISFORUM Venus Series NAB6 Mini PC (shown below). Now reboot and choose Zorin from the dual-boot menu.


One final tip. If you’ve activated OpenVPN on your Zorin 16 machine, all of the LXC Containers can connect to other OpenVPN servers without the need to install an OpenVPN client on each of the LXC Containers.

Setting Up LXC Containers on a Linux Desktop

1. After loading Zorin, drop down to the Terminal window from the desktop. If you haven’t previously configured the root user account, issue the following commands:

#Set up a very secure root password
sudo passwd root
# Login as root with your root password
su root

2. Install the LXC Linux Container components:

su root
apt install lxc lxc-templates lxctl
lxc-checkconfig

3. Download, install, and configure an IncrediblePBX2027-U LXC container (3GB):

su root
cd /
wget https://filedn.com/lBgbGypMOdDm8PWOoOiBR7j/IncrediblePBX2027-LinuxContainers/iPBX2027U.tar.gz
tar zxvf iPBX2027U.tar.gz
lxc-start -n IncrediblePBX2027-U
lxc-attach -n IncrediblePBX2027-U
/etc/profile.d/helloworld.sh
reboot
su root
cd ~
pbxstatus
./update-IncrediblePBX
passwd root
./admin-pw-change
./apache-pw-change
./timezone-setup

4. Download, install, and configure an IncrediblePBX2027-D LXC container (3GB):

su root
cd /
wget https://filedn.com/lBgbGypMOdDm8PWOoOiBR7j/IncrediblePBX2027-LinuxContainers/iPBX2027D.tar.gz
tar zxvf iPBX2027D.tar.gz
lxc-start -n IncrediblePBX2027-D
lxc-attach -n IncrediblePBX2027-D
/etc/profile.d/helloworld.sh
reboot
su root
cd ~
pbxstatus
./update-IncrediblePBX
passwd root
./admin-pw-change
./apache-pw-change
./timezone-setup

5. Every time you start or restart the container, be sure to issue these commands:

iptables-restart
fwconsole restart
/root/update-IncrediblePBX
pbxstatus

Mastering LXC Container Commands

Here’s a quick list of the main LXC Container commands together with examples:

Switch to root user to begin or add sudo prefix to every command!

1. List LXC Containers: lxc-ls
2. Start LXC Container: lxc-start -n IncrediblePBX2027-D
3. Information about LXC Container: lxc-info -n IncrediblePBX2027-D
4. Activate Console for LXC Container: lxc-attach -n IncrediblePBX2027-D
5. Duplicate/clone an LXC Container: lxc-copy OrigContainer -N NewContainer
6. Stop an LXC Container: halt | lxc-stop -n IncrediblePBX2027-U
7. Create Debian 11 image: lxc-create -t download -n DEBIAN11 — -d debian -r bullseye -a amd64
8. Delete/Destroy an LXC Container: lxc-destroy -n IncrediblePBX2027-D

Originally published: Monday, September 11, 2023



Need help with Asterisk? Visit the VoIP-info Forum.


 

Special Thanks to Our Generous Sponsors


FULL DISCLOSURE: ClearlyIP, Skyetel, Vitelity, DigitalOcean, Vultr, VoIP.ms, 3CX, Sangoma, TelecomsXchange and VitalPBX have provided financial support to Nerd Vittles and our open source projects through advertising, referral revenue, and/or merchandise. As an Amazon Associate and Best Buy Affiliate, we also earn from qualifying purchases. We’ve chosen these providers not the other way around. Our decisions are based upon their corporate reputation and the quality of their offerings and pricing. Our recommendations regarding technology are reached without regard to financial compensation except in situations in which comparable products at comparable pricing are available from multiple sources. In this limited case, we support our sponsors because our sponsors support us.

BOGO Bonaza: Enjoy state-of-the-art VoIP service with a $10 credit and half-price SIP service on up to $500 of Skyetel trunking with free number porting when you fund your Skyetel account. No limits on number of simultaneous calls. Quadruple data center redundancy. $25 monthly minimum spend required. Tutorial and sign up details are here.

The lynchpin of Incredible PBX 2020 and beyond is ClearlyIP components which bring management of FreePBX modules and SIP phone integration to a level never before available with any other Asterisk distribution. And now you can configure and reconfigure your new Incredible PBX phones from the convenience of the Incredible PBX GUI.

VitalPBX is perhaps the fastest-growing PBX offering based upon Asterisk with an installed presence in more than 100 countries worldwide. VitalPBX has generously provided a customized White Label version of Incredible PBX tailored for use with all Incredible PBX and VitalPBX custom applications. Follow this link for a free test drive!
 

Special Thanks to Vitelity. Vitelity is now Voyant Communications and has halted new registrations for the time being. Our special thanks to Vitelity for their unwavering financial support over many years and to the many Nerd Vittles readers who continue to enjoy the benefits of their service offerings. We will keep everyone posted on further developments.
 



VirtualBox Wonder: It’s Incredible PBX 2027-D for Debian 11




If you’re new to the VoIP world and want to kick the tires to see what you’re missing, then today’s one minute setup is for you. You can purchase a $1 a month phone number in your choice of area codes from CallCentric. Setup instructions here. If you decide VoIP is not for you, you don’t have to buy anything else ever. And you can use almost any desktop computer you already own to bring up the VirtualBox® edition of Incredible PBX® with Debian 11. Apple’s new ARM-based Macs unfortunately do not support VirtualBox. Here’s a great alternative for you.

If you’ve followed Nerd Vittles over the years, you already know that VirtualBox from Oracle® is one of our favorite platforms. Once VirtualBox is installed on your desktop computer, adding Incredible PBX is a snap. Download the latest Incredible PBX 2027-D image for Debian 11, double-click on the downloaded image and boom. In less than a minute, your PBX is ready to use with the very latest components of Asterisk® 20 and FreePBX® 16. There are no hidden fees or crippleware to hinder your use of Incredible PBX for as long as you like. Of course, the Incredible PBX feature set is included as well which brings you nearly three dozen applications for Asterisk that will revolutionize your communications platform. Speech-to-text, voice recognition, and a Siri-like telephony interface are as close as your phone.

Installing Oracle VM VirtualBox

Oracle’s virtual machine platform inherited from Sun is amazing. It’s not only free, but it’s pure GPL2 code. VirtualBox gives you a virtual machine platform that runs on top of many desktop operating systems including Linux, Windows, and Intel-based Macs. In terms of limitations, we haven’t found any. We even tested this on an Atom-based Windows 7 machine with 2GB of RAM, and it worked without a hiccup. So step #1 today is to download one or more of the VirtualBox 6.1 installers. Our recommendation is to put all of these 100MB installers on a USB thumb drive.1 Then you’ll have everything in one place whenever and wherever you happen to need it. Once you’ve downloaded the software, simply install it onto your favorite desktop machine. Accept all of the default settings, and you’ll be good to go. For more details, here’s a link to the Oracle VM VirtualBox User Manual.

NOTE: A VirtualBox 6.1 platform is required. Adjust screen size in View -> Virtual Screen.

Installing the Incredible PBX for Debian 11 Image

To begin, download the Incredible PBX 2027-D image with Debian 11 (3.7 GB) onto your desktop.

Next, double-click on the Incredible PBX .ova image on your desktop. Be sure to check the box to initialize the MAC address of the image if you’re using an older version of VirtualBox. Then click Import. Once the import is finished, you’ll see a new Incredible PBX 2027-D virtual machine in the VM List of the VirtualBox Manager Window. Let’s make a couple of one-time adjustments to the Incredible PBX configuration to account for possible differences in sound and network cards on different host machines.

(1) Click once on the Incredible PBX 2027-D virtual machine in the VM List. Then (2) click the Settings button. In System tab, check Hardware Clock in UTC Time. In the Audio tab, check the Enable Audio option and choose your sound card. In the Network tab for Adapter 1, check the Enable Network Adapter option. From the Attached to pull-down menu, choose Bridged Adapter. Then select your network card from the Name list. Then click OK. That’s all the configuration that is necessary for Incredible PBX.

Running Incredible PBX 2027-D in VirtualBox

Once you’ve imported and configured the Incredible PBX Virtual Machine, you’re ready to go. Highlight the Incredible PBX 2-27-D virtual machine in the VM List on the VirtualBox Manager Window and click the Start button. The standard Linux boot procedure will begin and, within a few seconds, you’ll get the familiar Linux login prompt. During the bootstrap procedure, you may see a couple of dialogue boxes pop up that explain the keystrokes to move back and forth between your host operating system desktop and your virtual machine. Remember, you still have full access to your desktop computer. Incredible PBX 2027-D is merely running as a task in a VM window. Always gracefully halt Incredible PBX just as you would on any computer.

Here’s what you need to know. To work in the Incredible PBX virtual machine, just left-click your mouse while it is positioned inside the VM window. To return to your host operating system desktop, press the right Option key on Windows machines or the left Command key on any Mac. On Linux desktops, press the right Ctrl key. For other operating systems, read the dialogue boxes for instructions on moving around. To access the Linux CLI, login as root with the default password: password.

Setting Your Incredible PBX Passwords

When the base install finishes and the VM restarts, log back in as root. Change your root password by issuing the command: passwd. Then update your admin password for web access: ./admin-pw-change. Also update your admin password for web applications: ./apache-pw-change. You’ll need these admin passwords to access the web GUI to manage your PBX as well as to use the AsteriDex and Reminders web apps.

Setting the Date and Time with VirtualBox

On some platforms, VirtualBox has a nasty habit of mangling the date and time of your virtual machine. Verify that you have enabled the Hardware Clock in UTC Time option for your virtual machine as documented above. If pbxstatus still shows an incorrect time, manually set the date and time and then update the hardware clock. Here’s how assuming 08130709 is the month (August), day (13), and correct time (7:09 a.m.) of your server:

date 08130709
clock -w

Configuring VoIP.ms for Incredible PBX

To sign up for VoIP.ms service, may we suggest you use our signup link so that Nerd Vittles gets a referral credit for your signup. Once your account is set up, you’ll need to set up a SIP SubAccount and, for Authentication Type, choose User/Password Authentication. Create a username and password for your subaccount. For Transport, choose UDP. For Device Type, choose Asterisk. Order a DID in their web panel, and then point the DID to the SubAccount you just created. Be sure to specify atlanta1.voip.ms as the POP from which to receive incoming calls.

Configuring Anveo Direct for Incredible PBX

To sign up for Anveo Direct service, sign up on their web site and then login. After adding funds to your account, purchase a DID under Inbound Service -> Order DID. Next, choose Configure Destination SIP Trunk. Give the Trunk a name. For the Primary SIP URI, enter $[E164]$@server-IP-address. For Call Options, select your new DID from the list. You also must whitelist your public IP address under Outbound Service -> Configure. Create a new Call Termination Trunk and name it to match your server. For Dialing Prefix, choose six alphanumeric characters beginning with a zero. In Authorized IP Addresses, enter the public IP address of your server. Set an appropriate rate cap. We like $0.01 per minute to be safe. Set a concurrent calls limit. We like 2. For the Call Routing Method, choose Least Cost unless you’re feeling extravagant. For Routes/Carriers, choose Standard Routes. Write down your Dialing Prefix and then click the Save button.

Before you can make outbound calls through Anveo Direct from your PBX, you first must configure the Dialing Prefix that you wrote down in the previous step. Log into the GUI as admin using a web browser and edit the Anveo-Out trunk in Connectivity -> Trunks. Click on the custom-Settings tab and replace anveo-pin with your actual Dialing Prefix. Click Submit and Apply Config to complete the setup.

By default, incoming Anveo Direct calls will be processed by the Default inbound route on your PBX. If you wish to redirect incoming Anveo Direct calls using DID-specific inbound routes, then you’ve got a bit more work to do. In addition to creating the inbound route using the 11-digit Anveo Direct DID, enter the following commands after logging into your server as root using SSH/Putty:

cd /etc/asterisk
echo "[from-anveo]" >> extensions_custom.conf
echo "exten => _.,1,Ringing" >> extensions_custom.conf
echo "exten => _.,n,Goto(from-trunk,\\${SIP_HEADER(X-anveo-e164)},1)" >> extensions_custom.conf
asterisk -rx "dialplan reload"

Configuring a Desktop Softphone for Incredible PBX

We’re in the home stretch now. You can connect virtually any kind of telephone to your new PBX. Plain Old Phones require an analog telephone adapter (ATA) which can be a separate board in your computer from a company such as Digium. Or it can be a standalone SIP device such as ObiHai’s OBi100 or OBi110 (if you have a phone line from Ma Bell to hook up as well). SIP phones can be connected directly so long as they have an IP address. These could be hardware devices or software devices such as a softphone. We’ll start with a free one today so you can begin making calls. You can find dozens of recommendations for hardware-based SIP phones both on Nerd Vittles and the PIAF Forum when you’re ready to get serious about VoIP telephony.


The easiest way to get started is to download a free softphone onto your desktop. We recommend Zoiper 5 for personal use. You can download and install it from here. Once installed, you’ll first need to decipher your extension password for an extension you wish to use to connect to Zoiper. Log into your Linux CLI and switch to the root user as documented above. Then run: /root/show-passwords. Specify 701 and 705 as the starting and ending extensions. Make note of the 701 extension password. Run pbxstatus and make note of your LAN IP address, e.g. 179.xx.yy.zz. Next, start up Zoiper from your desktop and choose the free version. For the desired account enter: 701@179.xx.yy.zz:5061 where 179.xx.yy.zz is the local IP address of your virtual machine. For the password, enter the 701 extension password you deciphered above. Press ENTER twice to complete the connection. When the dialer appears, try out some of the free Incredible PBX applications below.

NOTE: You must use the Keypad option shown in the right window of Zoiper after your call is connected for any app that prompts for keyboard input.

Here are some numbers to try:

123 - Reminders
222 - Timeclock for Employees (try 12345)
223 - AsteriDex Lookup & Dialer (try 335 for Delta Airlines)
947 - Weather by ZIP Code (requires keyboard entry of ZIP code)
951 - Yahoo News
TODAY - Today in History
LENNY - The Telemarketer's Worst Nightmare

If you are a Mac user, another great no-frills softphone is Telephone. Just download and install it from the Mac App Store. For Android users, check out the terrific new VitalPBX Communicator. Works flawlessly with Incredible PBX.

Configuring a Softphone Extension on a Smartphone

Adding an Incredible PBX extension to your smartphone gets a little trickier. Whether you’re an iPhone or Android lover, all smartphones use batteries, and you don’t want to drain your battery by running a softphone as a foreground app all the time. Fortunately, you now have some choices in softphones engineered to work without draining your battery. While they all cost money, it’s not much money. We’ve written about all the choices, and you’ll find the links in our Softphone Provider Recommendations on the new Incredible PBX Wiki.

With PJsip extensions, you’re not limited to a single phone connection at a time, and we’ve preconfigured extension 701 to support ten simultaneous connections. The setup on the softphone side is simple. For the server, enter the actual IP address of your PBX in the following format: 22.33.44.55:5061. Then enter 701 for the username and enter the password assigned to the 701 extension on your PBX. When an incoming call arrives, all the phones registered to extension 701 will ring simultaneously. Simply answer the call on the phone that is most convenient. For extension 702, you can change the number of simultaneous connections by clicking the Advanced tab and setting the number in Max Contacts.

Configuring Incredible PBX for VirtualBox

In order to take advantage of all the Incredible PBX applications, you’ll need to obtain IBM text-to-speech (TTS) and speech-to-text (STT) credentials as well as a (free) Application ID for Wolfram Alpha.

This Nerd Vittles tutorial will walk you through getting your IBM account set up and obtaining both your TTS and STT credentials. Be sure to write down BOTH sets of credentials which you’ll need in a minute. For home and SOHO use, IBM access and services are mostly FREE even though you must provide a credit card when signing up. The IBM signup process explains their pricing plans.

To use Wolfram Alpha, sign up for a free Wolfram Alpha API account. Just provide your email address and set up a password. It takes less than a minute. Log into your account and click on Get An App ID. Make up a name for your application and write down (and keep secret) your APP-ID code. That’s all there is to getting set up with Wolfram Alpha. If you want to explore costs for commercial use, there are links to let you get more information.

In addition to your Wolfram Alpha APPID, there are two sets of IBM credentials to plug into the Asterisk AGI scripts. Keep in mind that there are different usernames and passwords for the IBM Watson TTS and STT services. The TTS credentials will look like the following: $IBM_username and $IBM_password. The STT credentials look like this: $API_USERNAME and $API_PASSWORD. Don’t mix them up. 🙂

All of the scripts requiring credentials are located in /var/lib/asterisk/agi-bin so switch to that directory after logging into your server as root. Edit each of the following files and insert your TTS credentials in the variables already provided: nv-today2.php, ibmtts.php, and ibmtts2.php. Edit each of the following files and insert your STT credentials in the variables already provided: getquery.sh, getnumber.sh, and getnumber2.sh. Finally, edit 4747 and insert your Wolfram Alpha APPID.

Using AsteriDex with Incredible PBX

AsteriDex is a web-based dialer and address book application for Asterisk and Incredible PBX. It lets you store and manage phone numbers of all your friends and business associates in an easy-to-use SQLite3 database. You simply call up the application with your favorite web browser: http://pbx-ip-address/asteridex4/. When you click on a contact that you wish to call, AsteriDex first calls you at extension 701, and then AsteriDex connects you to your contact through another outbound call made using your default outbound trunk that supports numbers in the 1NXXNXXXXXX format.

Keeping FreePBX 16 Modules Current

We strongly recommend that you periodically update all of your FreePBX modules to eliminate bugs and to reduce security vulnerabilities. From the Linux CLI, log into your server as root and issue the following commands:

rm -f /tmp/*
fwconsole ma upgradeall
fwconsole reload
/root/sig-fix
systemctl restart apache2
/root/sig-fix

Taking Incredible PBX for a Test Drive

You can take Incredible PBX on a test drive by dialing D-E-M-O (3366) from any phone connected to your PBX.

With Allison’s Demo IVR, you can choose from the following options:

  • 0. Chat with Operator — connects to extension 701
  • 1. AsteriDex Voice Dialer – say "Delta Airlines" or "American Airlines" to connect
  • 2. Conferencing – log in using 1234 as the conference PIN
  • 3. Wolfram Alpha Almanac – say "What planes are flying overhead"
  • 4. Lenny – The Telemarketer’s Worst Nightmare
  • 5. Today’s News Headlines — courtesy of Yahoo! News
  • 6. Weather by ZIP Code – enter any 5-digit ZIP code for today’s weather
  • 7. Today in History — courtesy of OnThisDay.com
  • 8. Chat with Nerd Uno — courtesy of SIP URI connection to 3CX iPhone Client
  • 9. DISA Voice Dialer — say any 10-digit number to be connected
  • *. Current Date and Time — courtesy of Incredible PBX

Originally published: Monday, September 4, 2023



Need help with Asterisk? Visit the VoIP-info Forum.


 

Special Thanks to Our Generous Sponsors


FULL DISCLOSURE: ClearlyIP, Skyetel, Vitelity, DigitalOcean, Vultr, VoIP.ms, 3CX, Sangoma, TelecomsXchange and VitalPBX have provided financial support to Nerd Vittles and our open source projects through advertising, referral revenue, and/or merchandise. As an Amazon Associate and Best Buy Affiliate, we also earn from qualifying purchases. We’ve chosen these providers not the other way around. Our decisions are based upon their corporate reputation and the quality of their offerings and pricing. Our recommendations regarding technology are reached without regard to financial compensation except in situations in which comparable products at comparable pricing are available from multiple sources. In this limited case, we support our sponsors because our sponsors support us.

BOGO Bonaza: Enjoy state-of-the-art VoIP service with a $10 credit and half-price SIP service on up to $500 of Skyetel trunking with free number porting when you fund your Skyetel account. No limits on number of simultaneous calls. Quadruple data center redundancy. $25 monthly minimum spend required. Tutorial and sign up details are here.

The lynchpin of Incredible PBX 2020 and beyond is ClearlyIP components which bring management of FreePBX modules and SIP phone integration to a level never before available with any other Asterisk distribution. And now you can configure and reconfigure your new Incredible PBX phones from the convenience of the Incredible PBX GUI.

VitalPBX is perhaps the fastest-growing PBX offering based upon Asterisk with an installed presence in more than 100 countries worldwide. VitalPBX has generously provided a customized White Label version of Incredible PBX tailored for use with all Incredible PBX and VitalPBX custom applications. Follow this link for a free test drive!
 

Special Thanks to Vitelity. Vitelity is now Voyant Communications and has halted new registrations for the time being. Our special thanks to Vitelity for their unwavering financial support over many years and to the many Nerd Vittles readers who continue to enjoy the benefits of their service offerings. We will keep everyone posted on further developments.
 




 

  1. Many of our purchase links refer users to Amazon when we find their prices are competitive for the recommended products. Nerd Vittles receives a small referral fee from Amazon to help cover the costs of our blog. We never recommend particular products solely to generate Amazon commissions. However, when pricing is comparable or availability is favorable, we support Amazon because Amazon supports us. []

Interconnecting Incredible PBX Servers with PJsip


Much has been made of the lack of multi-tenant functionality with Asterisk® and FreePBX®. Today we’ll show you how to interconnect as many Asterisk servers as you like and make transparent calls between all of them at zero cost. Setup time is under 5 minutes per server. When you couple PBXs with distributed infrastructure and inexpensive cloud servers costing $25 or less a year and on-premise virtual machine platforms including Proxmox, VMware ESXi, VirtualBox, Windows 11 WSL, and Mac UTM, it makes little sense in terms of reliability and redundancy to put all your eggs in one basket with a MultiTenant telephony solution.

PJsip Interconnection Design

Our basic design goes like this. Create as many decentralized Incredible PBX platforms as you need to cover the various locations of your business. Whether that’s two cities or eighty-nine, the design is the same. Next, use the same extension design at every site. For example, in each location choose 3-digit extensions in the 100 range for management offices and the receptionist, in the 200 range for human resources, in the 300 range for IT services, and so on. Next, number your locations. For nine or fewer cities, use single digits. For up to 89, use two digits beginning with 10. We actually use the last octet of our server’s OpenVPN IP address for the dialing prefix. For our example, we’ll use 1 for the Atlanta office, 2 for Dallas, and 3 for Boston. When someone in Atlanta wishes to call the main human resources number in Dallas, the user would dial 2200. For Boston, they’d dial 3200. And, when someone in Dallas or Boston wishes to reach the main HR number in Atlanta, they’d dial 1200. Assuming the receptionist in each location has extension 100, callers in Dallas would dial 1100 for Atlanta and 3100 for Boston. Hopefully, you get the idea now. Sketch these out on a piece a paper until it all makes sense to you.

You’ll need static IP addresses for each of your Incredible PBX servers. But, if one or more of your servers are sitting behind a corporate firewall, that’s not a deal breaker. Simply set up an OpenVPN network and assign a private OpenVPN IP address to each server. Then use these OpenVPN IP addresses in interconnecting your servers rather than static, public IP addresses. OpenVPN addresses are automatically whitelisted in the Incredible PBX firewall. For other IP addresses, you’ll need to whitelist them using the add-ip utility in the /root folder of each of your PBXs. Be sure to also add the IP addresses of the servers to the ignoreip list in /etc/fail2ban/jail.conf. Note in our design that, for security reasons, PJsip trunks must be created on BOTH the sending and receiving PBXs before interconnected calls between the servers will successfully complete. You wouldn’t want strangers making PJsip calls through your servers. In the alternative, if you only want to enable outbound calls from one PBX to another, you can avoid creating a PJsip trunk on the destination server and instead enable Outbound Authentication on the originating server. In this case, you also will need to enter extension credentials from the destination server in the PJsip Username and Secret fields. But let’s continue on assuming you want calls to flow in both directions.

Using our 3-city example, let’s begin by configuring the Atlanta PBX using the FreePBX GUI. Login to the web interface as admin and navigate to Connectivity -> Trunks. We want to create two PJsip trunks, one to connect to Dallas and another to connect to Boston. Similarly, in Dallas, we’ll create PJsip trunks for Atlanta and Boston. And, in Boston, we’ll create PJsip trunks for Atlanta and Dallas.

Configuring PJsip Trunks For Each Location

On the Atlanta PBX, click the Add Trunk button and choose Add SIP (chan_pjsip) Trunk. For the first PJsip trunk, in the General tab, let’s keep it simple and enter Trunk Name as Dallas. Leave the remaining default settings and click the pjSIP Settings tab. Leave all of the default settings as they are in both the Advanced and Codecs tabs. In the General tab, change the Authentication and Registration settings to None. For the SIP Server IP address, enter the IP address (or OpenVPN address) of the Dallas server. For the SIP Server Port, enter 5061. Finally, change the Context entry to from-internal. That’s all the settings you’ll need. So click Submit and Apply Config when prompted. Repeat the drill for Boston.


Configuring Outbound Routes For Each Location

Next, we need to create two Outbound Routes for calls to Dallas and Boston. Navigate to Connectivity -> Outbound Routes. For each city, click Add Outbound Route. Name the Outbound Route using the city name, e.g. Dallas. Change the Time Zone, if required. For the Trunk Sequence, choose the Trunk with the matching City name from the pull-down menu. Next, click the Dial Patterns tab. Here you’ll need to decide which calls you want to permit between the Headquarters office and Dallas. For the Dallas extensions, you would enter 2 in the Prefix field and NXX in the Match Pattern field. If there are 4-digit numbers on the Dallas PBX that you want to enable for callers from Atlanta, you add another Dial Pattern with the 2 Prefix and NXXX for the Match Pattern. If you want callers from Atlanta to be able to use Outbound Routes on the Dallas PBX to make PSTN calls, you would add another Dial Pattern with the 2 Prefix and NXXNXXXXXX for the Match Pattern. Similar additions could be made for international calls assuming you allow them on your Dallas PBX. Once you’ve added the desired Match Patterns, click Submit and Apply Config when prompted. Repeat these steps to add an Outbound Route for Boston, and you’re finished on the Atlanta PBX.


Repeating the Setup Process in Other Cities

Now simply repeat the steps above on each of your PBXs. For PJsip trunks, you’ll need to create one for every other city in your operation. And, for Outbound Routes, do the same. Once all of your PJsip trunks are activated, you can verify functionality in the Asterisk CLI with this command: pjsip show aors. Once the Status for each city displays as Avail, you can begin making test calls between the servers using a phone connected to each PBX.

Originally published: Tuesday, May 16, 2023



Need help with Asterisk? Visit the VoIP-info Forum.


 

Special Thanks to Our Generous Sponsors


FULL DISCLOSURE: ClearlyIP, Skyetel, Vitelity, DigitalOcean, Vultr, VoIP.ms, 3CX, Sangoma, TelecomsXchange and VitalPBX have provided financial support to Nerd Vittles and our open source projects through advertising, referral revenue, and/or merchandise. As an Amazon Associate and Best Buy Affiliate, we also earn from qualifying purchases. We’ve chosen these providers not the other way around. Our decisions are based upon their corporate reputation and the quality of their offerings and pricing. Our recommendations regarding technology are reached without regard to financial compensation except in situations in which comparable products at comparable pricing are available from multiple sources. In this limited case, we support our sponsors because our sponsors support us.

BOGO Bonaza: Enjoy state-of-the-art VoIP service with a $10 credit and half-price SIP service on up to $500 of Skyetel trunking with free number porting when you fund your Skyetel account. No limits on number of simultaneous calls. Quadruple data center redundancy. $25 monthly minimum spend required. Tutorial and sign up details are here.

The lynchpin of Incredible PBX 2020 and beyond is ClearlyIP components which bring management of FreePBX modules and SIP phone integration to a level never before available with any other Asterisk distribution. And now you can configure and reconfigure your new Incredible PBX phones from the convenience of the Incredible PBX GUI.

VitalPBX is perhaps the fastest-growing PBX offering based upon Asterisk with an installed presence in more than 100 countries worldwide. VitalPBX has generously provided a customized White Label version of Incredible PBX tailored for use with all Incredible PBX and VitalPBX custom applications. Follow this link for a free test drive!
 

Special Thanks to Vitelity. Vitelity is now Voyant Communications and has halted new registrations for the time being. Our special thanks to Vitelity for their unwavering financial support over many years and to the many Nerd Vittles readers who continue to enjoy the benefits of their service offerings. We will keep everyone posted on further developments.
 



One Minute Wonder: It’s Incredible PBX for Proxmox 7


What a difference a decade makes! We haven’t spent much time with Proxmox for well over a decade so we decided to experiment with a new server and the latest Proxmox 7.4 release to see how things have changed. And it was quite a surprise. Not only has the hardware footprint changed dramatically, but the Proxmox software itself is like a new animal. If you haven’t explored Proxmox lately, we would encourage you to give it a careful look before deciding on a virtual machine platform. In this tutorial we’ll cover everything you need to get started both with Proxmox and with Incredible PBX 2027.

Hardware Options for the Proxmox Server Platform

We do most of our shopping on Amazon not only because it’s cheap and easy but also because they financially support our projects through referral revenue. If those considerations bother you, feel free to do your own research. For this review, in terms of requirements, we were looking for a small-footprint, quiet machine with a robust processor, lots of RAM, and ample disk space. Our office has about a foot of remaining space in a bookshelf that already houses a UPS, two Internet routers, three notebook PCs (Windows 11, MacBook, and System76), a VMware ESXi server, a combination WEBDAV/SAMBA server, and a Raspberry Pi 400.


We narrowed the search down to Beelink’s SER5 Pro (shown above) with an AMD Ryzen 7 5800H 8 Core CPU(Up to 4.4GHz) with 32GB DDR4 RAM, and a 500GB NVME M.2 SSD for $429 and the ASUS PN52 Mini PC, AMD Ryzen 9 5900HX(8C/16T, Up to 4.6GHz) with 32GB DDR4 RAM, and a 512GB PCIe SSD for $699. Both are shipped with Windows 11 which was the major issue since we wanted to run Proxmox natively. From reading everything we could find on the web, it sounded as if the Beelink stumbled if you attempted to run any Linux flavor other than Ubuntu 20.04. So we gambled and ordered both machines knowing we could return either or both of them at no cost if Proxmox wouldn’t install. Gotta love Amazon!

Because the Beelink machine was $270 cheaper, we decided to start our testing there. To our surprise, pressing DEL on bootup to access the BIOS let us reconfigure the boot mode from UEFI to LEGACY with one click and reorder the boot order to first boot from a USB stick, neither of which we were able to do on our recently purchased Acer Aspire 5 notebook PC.

Installing the Proxmox 7 Server Platform

We began by downloading the Proxmox 7.4 ISO. Then we burned it to a USB flash drive using Balena Etcher. When we powered on the Beelink machine after inserting the USB stick and plugging in a network cable, keyboard, mouse, and monitor, presto! The Proxmox installer appeared, and Proxmox installed without a hitch. We quickly logged in as root via SSH and ran: apt update | apt dist-upgrade. We added Proxmox free repo to /etc/apt/sources.list: deb http://download.proxmox.com/debian/pve bullseye pve-no-subscription. Next, we deleted the commercial repo from /etc/apt/sources.list.d. And reissued: apt update. Finally, we removed the subscription nag by following this tutorial. That got everything squared away. And we were ready to log into the web portal at https://server-ip:8006 using the root password we set up as part of the install.

A Word to the Wise: Keep your Proxmox server behind a hardware firewall unless you’re a savvy network administrator.

Interacting with the Proxmox Server

There are two basic ways to administer your Proxmox server, either through the Linux command line interface (CLI) or using the Proxmox GUI. With the CLI, you will probably want to enable root logins using SSH. With the GUI, you will access it using a browser pointed to the IP address of your server at port 8006: https://server-ip:8006. With both CLI and GUI access, login as root with the password you set up when you installed Proxmox.

Installing Linux ISOs on Proxmox Server

We always like to begin our setup of virtual machine platforms by installing the ISOs for Debian 11, Ubuntu 22.04, and Rocky 8. CAUTION: Even though Ubuntu 22.04.2 is now available, the Ubuntu 22.04.1 ISO was necessary to install earlier releases of Incredible PBX 2027-U. To be on the safe side, install both flavors so they will be available for other tasks.

In the Proxmox portal, navigate to Folder View -> Storage -> local -> ISO Images. You can begin by either downloading the desired ISO images to your desktop and then clicking Upload. Or you can download the ISO images directly from the web by clicking Download from URL. Here are the direct ISO links for Debian 11.7.0, Ubuntu 22.04.1, Ubuntu 22.04.2, and Rocky 8.8. Please note that new ISO images are released regularly which means these links will fail at some point in the future. Please let us know if you discover it first by sending a kind note to support [at] incrediblepbx.com. If you’re in a hurry, try bumping up the value in the point release of the download link. Or download these versions from the new Incredible PBX Repo.

Installing Linux Containers on Proxmox Server

For slightly better performance by sharing the kernel instance with the physical server, you may wish to use Containers instead of Virtual Machines. If you’re familiar with OpenVZ templates, Proxmox Containers are nearly identical. The downside is you cannot migrate LXC Containers. Play with both and choose for yourself. To install Debian 10 and 11, Ubuntu 22.04, and Incredible PBX 2027-U Container templates, here’s how. Log into your Proxmox CLI as root and issue these commands:

pveam update
pveam available
pveam download local debian-10-standard_10.7-1_amd64.tar.gz
pveam download local debian-11-standard_11.6-1_amd64.tar.zst
pveam download local ubuntu-22.04-standard_22.04-1_amd64.tar.zst
cd /var/lib/vz/template/cache
wget -O incrediblepbx2027U.tar.zst https://bit.ly/3nxswhc

We’ll cover how to create an Incredible PBX 2027-U Container from a template below.

Installing Incredible PBX 2027-U on Proxmox Server

Now for the fun part. Once you deploy the latest Incredible PBX 2027-U image on your Proxmox server, your VMs will be up and running in less than a minute. Here are the steps. Begin by logging into the command line interface (CLI) as root. Then issue the following commands using a unique number for the virtual machine image you wish to create, e.g. 777:

cd /var/lib/vz/dump
wget -O vzdump-qemu-ipbx2027u.vma.zst https://bit.ly/42v7RcB
# verify MD5 checksum: 8f86465e88ce3dfcf7b510bdc3b60393
md5sum vzdump-qemu-ipbx2027u.vma.zst
# create virtual machine with unique VM number, e.g. 777
qmrestore vzdump-qemu-ipbx2027u.vma.zst 777

To create additional VMs, you can either issue the qmrestore command above with a different VM number while positioned in the CLI at /var/lib/vz/dump, or you can create them in the GUI by navigating to Server View -> proxmox -> local and choosing Backups. Then highlight the vzdump-qemu-ipbx2027u.vma.zst backup image and click Restore. Now give the new VM a unique number and then click Restore to build the virtual machine.

Installing Incredible PBX 2027-D on Proxmox Server

To deploy the latest Incredible PBX 2027-D image with Debian 11 on your Proxmox server, issue the following commands from the CLI:

cd /var/lib/vz/dump
wget -O vzdump-qemu-ipbx2027d.vma.zst https://tinyurl.com/y8uucckd
# create virtual machine with unique VM number, e.g. 777
qmrestore vzdump-qemu-ipbx2027d.vma.zst 777

Create additional VMs using the steps documented in the previous section.

Installing Incredible PBX 2027-R on Proxmox Server

To deploy the latest Incredible PBX 2027-R image with Rocky 8 on your Proxmox server, issue the following commands from the CLI:

cd /var/lib/vz/dump
wget -O vzdump-qemu-ipbx2027r.vma.zst https://tinyurl.com/5n6u2ecw
# create virtual machine with unique VM number, e.g. 777
qmrestore vzdump-qemu-ipbx2027r.vma.zst 777

Create additional VMs using the steps documented in the previous section.

Installing Incredible PBX 2021-D on Proxmox Server

Believe it or not, there still are folks that depend upon faxing in their daily lives. While a somewhat kludgy fax solution exists for Incredible PBX 2027, it’s not the same as the slick Incredible Fax application using HylaFax and Avantfax. If you really need faxing, the problem is easily solved by deploying Incredible PBX 2021-D with Debian 10, Asterisk 18, FreePBX 15, and Incredible Fax. We’ve even freshened up the 2021-D Proxmox image to current specs. Here’s how to deploy it. Once you deploy the latest Incredible PBX 2021-D image on your Proxmox server, your VMs will be up and running in less than a minute. Here are the steps. Begin by logging into the Proxmox CLI as root. Then issue the following commands using a unique number for the 2021-D virtual machine you wish to create, e.g. 555:

cd /var/lib/vz/dump
wget -O vzdump-qemu-ipbx2021d.vma.zst https://bit.ly/3M3Xo2v
# verify MD5 checksum: b37e6fba28fd03fbcf99760e0bdbf866
md5sum vzdump-qemu-ipbx2021d.vma.zst
# create virtual machine with unique VM number, e.g. 555
qmrestore vzdump-qemu-ipbx2021d.vma.zst 555

To create additional VMs, you can either issue the qmrestore command above with a different VM number while positioned in the CLI at /var/lib/vz/dump, or you can create them in the GUI by navigating to Server View -> proxmox -> local and choosing Backups. Then highlight the vzdump-qemu-ipbx2021d.vma.zst backup image and click Restore. Now give the new VM a unique number and then click Restore to build the virtual machine.

We would encourage you to try both the Incredible PBX 2027-U image and the Incredible PBX 2021-D image. Both are absolutely free so you have nothing to lose by experimenting a bit.

Incredible PBX Startup Steps with Proxmox

When the upload finishes, log into your Proxmox web portal: https://server-ip:8006

Then navigate to Folder View -> Virtual Machine -> 555 or 777 -> Start. Choose the Console option and wait for your virtual machine to boot up. Then log in as root with the default password: password. Press ENTER to kick off the brief setup procedure. Create a very secure root password as well as an admin password for the FreePBX GUI and Apache web apps. Press ENTER to keep your local version of sshd_config. Carefully read the configuration messages when the setup completes. Press ENTER to reboot.


After the server reboots, log back in as root using the Console option and your new root password. The Automatic Update Utility will load any late-breaking security fixes and then the pbxstatus screen will display. Make note of your private IP address. All private IP addresses are whitelisted in the firewall; however, if you will be accessing your Proxmox VM from a public IP address, then there’s one additional step. Run /root/add-ip and whitelist the IP address of your desktop machine replacing mypc and 12.34.56.78 in this example with a label for the PC and its actual public IP address: /root/add-ip mypc 12.34.56.78.

You now can log into the VM’s Linux CLI as root at the IP address you deciphered above. And you can log into the FreePBX Web GUI as admin by pointing a browser to that same IP address and entering the FreePBX password you assigned during setup.

Creating Incredible PBX Containers on Proxmox

If you wish to compare performance with Containers, here’s how to set up an Incredible PBX 2027-U Container from the Incredible PBX 2027-U template you installed previously. We don’t recommend containers for production use.

Log into your Proxmox web portal: https://server-ip:8006. Navigate to Server View -> proxmox. Click Create CT. Assign a CT ID (the next available number is the default). Enter a root password twice for the Container. Click Next. Choose incrediblepbx2027U.tar.zst from the Template pulldown menu. Click Next. For disk size, we recommend 20GB but you can set any size above 15GB. Click Next. Assign the number of Cores desired for your Container. 1 is ample. Click Next. For Memory, we recommend 2048. For Swap, we recommend 1024. Click Next. For Network settings, we recommend DHCP for both IPv4 and IPv6. Click Next. Leave the default DNS settings. Click Next. Review your Settings and then click Finish. Once the Container is created, close the window and start the new Container. Then follow the Incredible PBX Startup Steps outlined above.



 
Continue your journey by hopping over to our tutorials for Incredible PBX 2027-U and Incredible PBX 2021-D. Enjoy!

Originally published: Monday, May 8, 2023



Need help with Asterisk? Visit the VoIP-info Forum.


 

Special Thanks to Our Generous Sponsors


FULL DISCLOSURE: ClearlyIP, Skyetel, Vitelity, DigitalOcean, Vultr, VoIP.ms, 3CX, Sangoma, TelecomsXchange and VitalPBX have provided financial support to Nerd Vittles and our open source projects through advertising, referral revenue, and/or merchandise. As an Amazon Associate and Best Buy Affiliate, we also earn from qualifying purchases. We’ve chosen these providers not the other way around. Our decisions are based upon their corporate reputation and the quality of their offerings and pricing. Our recommendations regarding technology are reached without regard to financial compensation except in situations in which comparable products at comparable pricing are available from multiple sources. In this limited case, we support our sponsors because our sponsors support us.

BOGO Bonaza: Enjoy state-of-the-art VoIP service with a $10 credit and half-price SIP service on up to $500 of Skyetel trunking with free number porting when you fund your Skyetel account. No limits on number of simultaneous calls. Quadruple data center redundancy. $25 monthly minimum spend required. Tutorial and sign up details are here.

The lynchpin of Incredible PBX 2020 and beyond is ClearlyIP components which bring management of FreePBX modules and SIP phone integration to a level never before available with any other Asterisk distribution. And now you can configure and reconfigure your new Incredible PBX phones from the convenience of the Incredible PBX GUI.

VitalPBX is perhaps the fastest-growing PBX offering based upon Asterisk with an installed presence in more than 100 countries worldwide. VitalPBX has generously provided a customized White Label version of Incredible PBX tailored for use with all Incredible PBX and VitalPBX custom applications. Follow this link for a free test drive!
 

Special Thanks to Vitelity. Vitelity is now Voyant Communications and has halted new registrations for the time being. Our special thanks to Vitelity for their unwavering financial support over many years and to the many Nerd Vittles readers who continue to enjoy the benefits of their service offerings. We will keep everyone posted on further developments.