Home » Posts tagged 'asterisk' (Page 6)
Tag Archives: asterisk
Today in History Returns to Incredible PBX with gTTS
If you’re a history buff and want a convenient way to find out everything that ever happened Today in History, then this week’s upgraded text to speech (TTS) application for Asterisk® should be just what you need. Pick up any phone connected to your Asterisk system and dial T-O-D-A-Y (86329 for the spelling-impaired). The script will retrieve today’s historical events of interest from HistoryOrb.com and play the results back to you over the phone using last week’s gTTS engine update. To speed up the retrieval process, you can also set this up as a cron job to download the latest events each day while you’re sleeping. Thereafter, when you dial T-O-D-A-Y, the results are played back instantaneously.
Prerequisites. If you’re using Incredible PBX®, then all of the tools you’ll need are already in place with the exception of gTTS. So start there if you have not previously installed gTTS. Then return here and download the script that installs Today in History 3.0 in a few seconds.
Overview. If you’ve previously installed other Nerd Vittles text to speech applications, then the drill this time around is quite similar. There’s a new PHP/AGI script which gets updated in /var/lib/asterisk/agi-bin. This new script (nv-today.php) uses the new gTTS engine. If you want to compare the quality of the old Flite TTS engine, then begin by dialing 86329 now from a phone connected to Incredible PBX. The dialplan snippet is already in place.
How It Works. The PHP/AGI script only does real work once a day. It always checks to see if there is an existing /tmp/today.txt file with today’s file stamp. If there is, it exits gracefully. If today’s file doesn’t exist or if the file’s time stamp is earlier than midnight, then the script downloads the latest information for today in history and creates a text file of the data. Then the gTTS engine is used to convert the text file into /tmp/today.wav. The dial plan code answers calls to extension 86329. Then it runs the PHP/AGI script, and finally it plays back /tmp/today.wav. Note: The PHP/AGI script, if run as a cron job or from the command prompt, should never be run as the root user, but only as the asterisk user. Otherwise, the today.txt and today.wav files cannot be replaced by the script when it subsequently is run.
Script Installation. Log into your Incredible PBX server as root and issue the following commands:
cd /var/lib/asterisk/agi-bin wget http://incrediblepbx.com/today3.tar.gz tar zxvf today3.tar.gz rm -f today3.tar.gz
Automatic Updates Using crontab. If you’d like to automatically generate the Today in History files each day, add the following entry to the bottom of /etc/crontab:
01 0 * * * asterisk /var/lib/asterisk/agi-bin/nv-today.php
Running the Application. Now you’re ready for a test run. Pick up any phone connected to your Asterisk system and dial T-O-D-A-Y. After a brief pause to download the data, today’s events in history will be played back over your phone. To eliminate the pause the first time the application is run each day, simply add the crontab entry as outlined above. Enjoy!
Originally published: Monday, August 22, 2022
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.
gTTS: The Ultimate (free) Text-to-Speech Engine for Asterisk
Telephony is all about person-to-person communications. But much of what we do in the real world involves gathering information from non-human sources. These include books, magazines, and newspapers as well as sources that provide real-time news, weather, sports scores, stock quotes, inventory and personnel data, reservation systems, and historical data from countless other sources. No modern phone system would be complete without providing an interface to this data and for that you’ll need a text-to-speech engine (TTS). We previously have covered some free voice synthesis offerings including Google TTS, FLITE and Festival, and PicoTTS as well as commercial products like Amazon’s Polly TTS and IBM TTS.
With our special tip of the hat to Dick Ollett (@dicko), we are delighted to present what may very well be the best, free TTS offering out there, gTTS. To simplify the install on Incredible PBX platforms, we’ve developed scripts for Rocky8, Debian/Raspbian 10, and Ubuntu 20.04 that install gTTS and also update the Weather Forecasts (947) and News Headlines (951) applications.
Begin by logging into your server as root. On the Rocky 8 platform, here are the steps:
cd /var/lib/asterisk/agi-bin dnf install python39 -y pip3 install --upgrade pip dnf install jq -y pip3 install gTTS wget http://incrediblepbx.com/gtts.tar.gz tar zxvf gtts.tar.gz rm -f gtts.tar.gz ./install-gtts-dialplan.sh
On the Debian, Raspbian, and Ubuntu platforms, issue the following commands:
cd /var/lib/asterisk/agi-bin apt-get update apt-get -y install jq libsox-fmt-all apt-get -y install python3-pip pip install --upgrade pip pip3 install --upgrade pip ln -s /usr/bin/pip3 /usr/bin/pip pip install gTTS wget http://incrediblepbx.com/gtts.tar.gz tar zxvf gtts.tar.gz rm -f gtts.tar.gz ./install-gtts-dialplan.sh
For those wishing to develop your own TTS applications for Asterisk, carefully review the dialplan code for News Headlines (951) in /etc/asterisk/extensions_custom.conf and the accompanying AGI script in /var/lib/asterisk/agi-bin: nv-news-yahoo.php. Enjoy!
Originally published: Monday, August 15, 2022
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.
Move Over Alexa: Meet Wolfram Alpha for Incredible PBX
Ever wished your Asterisk® server could harness the power of a 10,000 CPU Supercomputer to answer virtually any question you can dream up about the world we live in? Well, so long as it’s for non-commercial use, today’s your lucky day. Apple’s Siri™ and Amazon’s Alexa™ demonstrated just how amazing this technology can be. It began by coupling Wolfram Alpha® to a speech-to-text engine on the iPhone 4S. And now, thanks to IBM’s new speech transcription engine and Wolfram Alpha’s API, you can do much the same thing with Incredible PBX. Today, we’ll show you how.
We had such a good name for this project, Iris, which is Siri spelled backwards. You know the backwards sister and all of that. Unfortunately, the new (similar) product for Android phones was also named Iris. And we didn’t want to be like Larry on Newhart with two brothers named Darryl. So… we give you 4747. You can figure it out from there.
When people ask what exactly Wolfram Alpha is, our favorite answer was provided by Ed Borasky.
It’s an almanac driven by a supercomputer.
That’s an understatement. It’s a bit like calling Google Search a topic index. Unlike Google which provides links to web sites that can provide answers to queries, Wolfram Alpha provides specific and detailed answers to almost any question. Here are a few examples (with descriptions of the functionality) to help you wrap your head around the breadth of information. For a list of what’s available, visit Wolfram Alpha’s Examples by Topic.
Weather forecast for Washington D.C.
Next solar eclipse
Otis Redding
Define politician
Who won the 1969 Superbowl? (Broadway Joe)
What planes are flying overhead? (flying over your server’s location)
Ham and cheese sandwich (nutritional information)
Holidays 2012 (summary of all holidays for 2012 with dates and DOW)
Medical University of South Carolina (history of MUSC)
Star Trek (show history, air dates, number of episodes, and more)
Apollo 11 (everything you ever wanted to know)
Cheapest Toaster (brand and price)
Battle of Gettysburg
Daylight Savings Time 2012 (date ranges and how to set your clocks)
Tablets by Motorola (pricing, models, and specs from Best Buy)
Doughnut (you don’t wanna know)
Snickers bar (ditto)
Weather (local weather at your server’s location)
Best Question of the Day Award: "How much wood could a woodchuck chuck if a woodchuck could chuck wood?" And the answer: "A woodchuck would chuck all the wood he could chuck if a woodchuck could chuck wood. According to the tongue twister, although the paper ‘The Ability of Woodchucks to Chuck Cellulose Fibers’ by P.A. Paskevich and T.B. Shea in Annals of Improbable Research vol. 1, no. 4, pp. 4-9, July/August 1995, concluded that a woodchuck can chuck 361.9237001 cubic centimeters of wood per day."
Implementation Overview. Today what we’re going to demonstrate is how to configure your Asterisk server so that you can pick up any phone on your system, dial 4-7-4-7, speak a question, and we’ll show you how to send it to IBM to convert your spoken words into text. Then we’ll pass that text translation to Wolfram Alpha which will provide a plain text answer to your question. Finally, we’ll take that plain text and use a TTS engine to deliver the results.
Legal Disclaimer. What we’re demonstrating today is how to use two publicly accessible web resources to harness the power of a supercomputer to respond to your queries using a phone connected to an Asterisk server. We’re assuming that both Google and Wolfram Alpha have their legal bases covered and have a right to provide the public services they are offering. We are not vouching for them or the services they are offering in any way. By using our scripts, YOU AGREE TO ASSUME ALL RISKS, LEGAL AND OTHERWISE, ASSOCIATED WITH USE OF THESE FREELY ACCESSIBLE WEB TOOLS. NO WARRANTY EXPRESS OR IMPLIED IS BEING PROVIDED BY US INCLUDING ANY IMPLIED WARRANTY OF FITNESS FOR USE OR MERCHANTABILITY. You, of course, have an absolute right not to use our code if you have reservations of any kind or are unwilling to assume all risks associated with such use. Sorry for legalese, but it’s the time in which we live I’m afraid. Don’t Shoot the Messenger!
Getting an IBM STT LITE Account. You first will need to set up an IBM account, choose your Pricing Plan, and generate your Speech-to-Text credentials. Under IBM’s current LITE Plan, you get 500 free minutes of voice recognition a month with no rounding up of actual recording times. The only gotcha with the free tier is that, once you’ve used up your 500 minutes for the month, you’re done until the next month rolls around. If you only use this for Call By Name and Wolfram Alpha queries, you should be good to go. So begin by following our existing tutorial to set up your account and choose your pricing plan. Please note that credentials for Speech-to-Text and Text-to-Speech are different. For today, you want STT credentials. Once you’ve navigated to Speech-to-Text LITE, click on Service Credentials in the task bar and then click the blue New Credential button. Accept the defaults and IBM will generate the new credentials for you. Click on the Down Arrow beside your new credentials to display your apikey (top line) and url (bottom line) for future queries. Copy both entries to a safe place and log out of the IBM site.
Getting a Wolfram Alpha Account. You’ll also need a free Wolfram Alpha account. As you can imagine, there have to be some rules when you’re using someone else’s supercomputer for free. So here’s the deal. It’s free for non-commercial, personal use once you sign up for an account. But you’re limited to 2,000 queries a month which works out to almost 70 queries a day. Every query requires your personal application ID, and that’s how Wolfram Alpha keeps track of your queries. Considering the price, we think you’ll find the query limitation pretty generous compared to other web resources.
To get started, 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.
UPDATING YOUR WOLFRAM ALPHA SOFTWARE. On most Incredible PBX platforms, a version of the Wolfram Alpha software already is in place. But it won’t work with IBM’s new Speech-to-Text API. Here’s how to bring it up to current specs. Log into your server as root and issue these commands:
cd /var/lib/asterisk/agi-bin wget http://incrediblepbx.com/wolfram2022.tar.gz tar zxvf wolfram2022.tar.gz rm -rf wolfram2022.tar.gz nano -w wolfram.sh
When the editor opens, scroll down to the following section of the code:
# please insert your Wolfram Alpha APPID below APPID="your-app-id" # please insert your IBM Watson STT credentials below API_USERNAME="apikey" API_KEY="XXXXXXXXXXXXXXXXXXXX" API_URL="https://api.somewhere.stt.watson.cloud.ibm.com/instances/1-2-3-4-5"
Insert your Wolfram Alpha APPID in the space provided (between the quotes). Leave the API_USERNAME the way it is. Replace the API_KEY entry with your actual Google STT API key (between the quotes). Replace the API_URL entry (between the quotes) with the actual URL you copied down in the previous section. Now save the file: Ctrl-X, then Y, then ENTER.
Tweaking the Abbreviations List. Translating abbreviations into speech is a tricky business, and various TTS engines can only do so much. We’ve started the beginnings of an abbreviation list which you will find in the function section of 4747.php which is stored in /var/lib/asterisk/agi-bin. It’s easy to add additional entries. Just clone one of the entries that’s already there. For example, here’s the line that translates Jr. into Junior. HINT: Be careful to surround most unpunctuated abbreviations with spaces, or you may get unexpected results when a word actually begins or ends with the same letters.
$response = str_replace("Jr.","junior",$response);
Deploying PicoTTS on ARM64 Platforms. If you’re using Incredible PBX in the Oracle Cloud with its ARM64 architecture, you’ll need to install the ARM64 version of PicoTTS to use Wolfram Alpha. Here’s how:
cd /root rm -f libttspico* wget http://incrediblepbx.com/picotts-arm64.tar.gz tar zxvf picotts-arm64.tar.gz rm -f picotts-arm64.tar.gz dpkg -i libttspico*
TAKING WOLFRAM ALPHA FOR A TEST DRIVE. To test things out, pick up a phone connected to your PBX and dial 4747. When prompted for your query, say "What planes are flying overhead now" and press #. You will be connected to Wolfram Alpha for the answer.
Originally published: Monday, August 1, 2022
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.
Call By Name for Asterisk with IBM Voice Recognition Returns
It’s been several years since we introduced our Call By Name script for Asterisk® using IBM’s Voice Recognition software. During that time, IBM has shifted gears on their pricing plans and their API methodology several times. So today we want to provide a new soup-to-nuts tutorial for those using Incredible PBX on the Raspberry Pi and Incredible PBX 2021 on both the Debian 10 and Ubuntu 20.04 platforms. If you have previously used IBM voice recognition (STT), be aware that IBM has made significant changes in their service credentials so you’ll need to generate new ones for your account to use these new scripts.
HOW THIS WORKS. On the Incredible PBX platform, you will dial 411 from any extension on your PBX. The system will prompt you for the name of the person or organization to call. Simply say the name and press #. The Call by Name script then will convert your spoken name into text using IBM STT and search the AsteriDex database for a match. If it finds an entry, it will retrieve the phone number and place the call using your default outbound routes.
GETTING STARTED. You first will need to set up an IBM account, choose your Pricing Plan, and generate your Speech-to-Text credentials. Under IBM’s current LITE Plan, you get 500 free minutes of voice recognition a month with no rounding up of actual recording times. The only gotcha with the free tier is that, once you’ve used up your 500 minutes for the month, you’re done until the next month rolls around. If you only use this for Call By Name, you would have to make thousands of queries before that became a problem. So begin by following our existing tutorial to set up your account and choose your pricing plan. Please note that credentials for Speech-to-Text and Text-to-Speech are different. For today, you want STT credentials. Once you’ve navigated to Speech-to-Text LITE, click on Service Credentials in the task bar and then click the blue New Credential button. Accept the defaults and IBM will generate the new credentials for you. Click on the Down Arrow beside your new credentials to display your API key and the URL for future queries. Copy both entries to a safe place and log out of the IBM site.
INSTALLING THE CALL BY NAME SOFTWARE. On most Incredible PBX platforms, a version of the Call by Name software already is in place. But it won’t work with IBM’s new API. Here’s how to bring it up to current specs. Log into your server as root and issue these commands:
cd /var/lib/asterisk/agi-bin wget http://incrediblepbx.com/callbyname2021.tar.gz tar zxvf callbyname2021.tar.gz rm -rf callbyname2021.tar.gz cd /etc/asterisk sed -i '\:// BEGIN Call by Name:,\:// END Call by Name:d' extensions_custom.conf cd /var/lib/asterisk/agi-bin sed -i '/\[from-internal-custom\]/r ibm-411.txt' /etc/asterisk/extensions_custom.conf asterisk -rx "dialplan reload" nano -w getnumber.sh
When the editor opens, scroll down to the following section of the code:
API_USERNAME="apikey" API_KEY="XXXXXXXXXXXX" API_URL="https://api.somewhere.stt.watson.cloud.ibm.com/instances/1-2-3-4-5"
Leave the API_USERNAME the way it is. Replace the API_KEY entry with your actual API key (between the quotes). Replace the API_URL entry (between the quotes) with the URL you copied down in the previous section. Now save the file: Ctrl-X, then Y, then ENTER.
TAKING CALL BY NAME FOR A TEST DRIVE. To test things out, pick up a phone connected to your PBX and dial 411. When prompted for the name, say "United Airlines" and press #. You will be connected to United Airlines reservations desk assuming you have a default outbound route for 10-digit numbers.
Originally published: Monday, November 1, 2021 Updated: Tuesday, July 25, 2022
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 Incredible PBX with Microsoft Windows 11
Miracles happen every so often, but we never expected our Linux-based Incredible PBX platform to be running natively on the Microsoft Windows 11 desktop. Some have asked why you’d even want to do this when VirtualBox is available for Windows, and Incredible PBX VirtualBox images are available for Debian 10 and Rocky 8. The short answer is we got kernel crashes on our cheapo Windows 11 hardware. The longer answer is the VirtualBox days are numbered as it won’t run on any of the new ARM-based platforms including Apple’s new Macs. That sent us searching for an alternative. We finally solved kernel crashes in VirtualBox by adding a second CPU core and maxing out the display graphics to 128MB in each VM.
Lo and behold, Microsoft was offering their Windows Subsystem for Linux GUI (WSLg) on GitHub. But, before we could explore the Ubuntu offering, we discovered that they also supported many other distros including Debian. Who’da thunk you could even run LibreOffice from your Windows desktop? So we set out to build not one but two WSLg VMs, one for Ubuntu to run a free office suite and a second for Debian to run Incredible PBX. The icing on the cake is the length to which Microsoft has gone to integrate WSLg into Windows 11. You can read all about it here.
Today, our focus is on showing you how to deploy Incredible PBX on a tiny, $207 Windows 11 powerhouse. If you’re interested in running the LibreOffice suite with Ubuntu, just follow the instructions documented in the GitHub posting. To get started, you’ll need Windows 11 (build 22000.*) or Windows 11 Insider Preview (builds 21362+). To begin, from the Windows 11 Start Menu, search for powershell and then right click on 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 a Debian Virtual Machine: wsl --install -d Debian
. 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 Debian app which will straighten things out. Once the Debian CLI window appears, enter the following commands to set up the root user account and begin your Incredible PBX install:
sudo passwd root su root # enter password you created for root cd ~ apt install wget -y wget http://incrediblepbx.com/IncrediblePBX2021-win11.sh chmod +x IncrediblePBX2021-win11.sh ./IncrediblePBX2021-win11.sh
Stick around long enough to answer a couple of initial prompts, and then go have a very long cup of coffee. The install typically takes 30-45 minutes depending upon your computer’s horsepower. While you’re waiting, notice that the Windows Start Menu now includes a new Debian app which you will use to launch the Incredible PBX virtual machine down the road.
When the install finishes, run the following commands from the Debian CLI:
cd ~ ./update-IncrediblePBX service sendmail start pbxstatus
Keep in mind that Incredible PBX will be running in a Debian 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 the MySQL databases.
To start the Debian virtual machine, you can do it in either of two ways. From the Windows Start Menu, double-click on the Debian app. Or from the PowerShell running as Administrator, type: wsl -d Debian
. You can verify it’s running like this: wsl -l -v
Once the Debian CLI appears, issue the following commands to activate all of the Linux components upon which Incredible PBX depends:
su root # enter root password cd ~ ./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.29.80.223 is the LAN address shown in pbxstatus:
ssh root@172.29.80.223
To shutdown the Debian virtual machine, first open the Debian 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 Debian
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 Debian .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
Originally published: Monday, July 11, 2022
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.
Happy Fourth: Our Gift to You — 17+ Years of Nerd Vittles
- $300 Chromebook Faceoff: ARM vs. x86? Which Is Better?
- Introducing Incredible PBX 2022 for the Raspberry Pi
- Oracle Cloud: Grab a Free Incredible PBX Cloud Server for Life
- Systems Integration and Public Participation with FreePBX
- A Walk on the Wild Side: Meet Incredible PBX for MX Linux
- Deal of the Year: OBi2182 Color WiFi Phones now $59.99
- Interconnecting Asterisk Servers with PJsip and OpenVPN
- Migrating Incredible PBX 2022 to a PUBLIC-Facing Cloud PBX
- It’s Debian 11, Asterisk 19, & FreePBX 16: Come And Get It
- 5 Minute Wonder: Incredible PBX 2022 in Cloud for $25/Yr.
- Deploying a Non-Google SMTP RelayHost with Asterisk
- One-Minute Wonder: It’s Incredible PBX 2022 for VirtualBox
- Oh My God, It’s Omicron!
- Santa’s Surprise: Free Faxing Returns for FreePBX 16
- The $10,000 Hoax: Meet Tesla’s Full Self-Driving Vehicle
- Call By Name for Asterisk with IBM Voice Recognition Returns
- An Electronics Home Makeover for the 21st Century
- Some Further Thoughts & Solutions Regarding DDoS Attacks
- Is SIP Trunking Safe & Reliable in the DDoS World?
- DEAL OF THE DAY: OBi2182 Color WiFi Phones now $69.98
- Unified Communications: Adding SMS to the Asterisk Toolkit
- Meet RackNerd: The Best VoIP Cloud Bargain on the Planet
- Morphing Incredible PBX into a PUBLIC-Facing Cloud PBX
- Amazon’s Alexa Now Available for Incredible PBX
- Blink Cameras: The Travelin’ Man’s Dream Come True
- Moving from Incredible PBX 2020 to 2021 on the Raspberry Pi
- Adding the Linux XFCE GUI to Incredible PBX 2021
- Virtual Paradise: It’s Incredible PBX 2021 for VMware
- Housekeeping 101: Managing Your Asterisk Backups and Logs
- Taming the Condo Call Box with a Raspberry Pi & Asterisk
- SPAM Blocker & CNAM Cornucopia for Incredible PBX 2021
- Verizon 5G Service for $25/month with Unlimited Everything
- Review: The 2021 Cadillac Escalade – Everything a Tesla Isn’t
- Our Best VoIP Cloud Platform Recommendations for 2021
- Happy New Year: Introducing Incredible PBX 2021 for Debian
- Capitalism 101: IBM Castrates CentOS to "Improve" RHEL
- Cyber Monday 2020: TV Deals You Can’t & Shouldn’t Refuse
- Revolutionary: Incredible PBX & Fax 2020 for Raspberry Pi
- Turbocharge Your Raspberry Pi 4 with a $45 Bootable SSD
- Groundwire for Android & iOS: The Best $10 You’ll Ever Spend
- Linphone Rocks: Free SIP Calling to Anybody, Anywhere
- Oldie But Goodie: VoIP.ms, The Most Versatile VoIP Provider
- Clearly Anywhere: The Ultimate Mobile User VoIP Companion
- Frozen in Time: Sangoma at a Crossroads or the Cliff
- Android Alert: Unmasking Your Hidden SIP Phone
- Finding the Perfect Laptop: Meet the System76 Lemur Pro
- Harnessing the Cloud to Start An Incredible PBX Business
- Last Chance to Jump onto Incredible PBX Cellular Bandwagon
- Vonage Roars into the Asterisk World with Nexmo
- OSS End Point Manager Returns for Incredible PBX 2020
- Turning Incredible PBX into a Lean, Mean Asterisk Machine
- Free IBM Voicemail Transcription with Incredible PBX 2020
- ClearlyIP Introduces New Features for Incredible PBX Phones
- BulkVS: A Bargain SIP Provider for Incredible PBX Platforms
- Election Protection: Deploying Lenny to Block Robocalls
- Interconnect Incredible PBX 2020 to the Asterisk Mothership
- Coping with Coronavirus: Working from Home with Asterisk
- Travelin’ Man 3: A Plug-and-Play Firewall for Incredible PBX
- Future-Proofing FreePBX Distro with Incredible PBX Skin
- Sangoma Developments Affecting All FreePBX Users
- Sangoma’s New FreePBX Gotchas With Module Signatures
- Return of Free Voicemail Transcription & Voice Dialing
- 2019 Technology RoundUp: What’s Hot and What’s Not
- Black Friday/Cyber Monday & Beyond: Incredible PBX 2020
- Skyetel SMS Smorgasbord for Incredible PBX with VitalPBX
- Going Public with Incredible PBX 16 and VitalPBX 2.3.8
- Desktop Dream Machine: Incredible PBX 16-15 for VirtualBox
- Honeymoon Time: Meet Incredible PBX 16-15.2 for CentOS 7
- Mastering the Incredible PBX 16-15 Feature Set with Raspbian
- Icing on the Cake for Incredible PBX 16-15 and Raspberry Pi
- Back to School: It’s Incredible PBX 16-15 for the Raspberry Pi
- Enchilada Amore: It’s Incredible PBX 16-15 for CentOS 7
- Lessons Learned: Circling Back for a Second Look at OpenSIPS
- Safely Deploying Incredible PBX on the Wide Open Internet
- Best of Both Worlds: Safely Marrying Asterisk to OpenSIPS
- F-O-R-K? A Few Thoughts on the Sangoma Employee Exodus
- Spring Is Sprung: Taking Incredible PBX to the Google Cloud
- Cell Phone Tips for Spring Break and International Travel
- Yowza! A Fault-Tolerant Incredible PBX Platform for $1/Mo.
- In Search of a Better Mousetrap: Meet Incredible PBX 13-13.10
- Now Serving: The Incredible PBX 13-13 Whole Enchilada
- Keep On Trunkin’: Free International VoIP Calling Returns
- Big Kahuna: 70 New FreePBX GPL Modules for Incredible PBX
- UC on Steroids: Incredible PBX for Issabel Joins the Cloud
- SIP Happens! Deploying a Publicly-Accessible Asterisk PBX – replaced
- Celebrating 2019: Return of the One-Minute Desktop PBX
- Spam Phone Call Blocker and CNAM Caching for FreePBX
- R.I.P. GVSIP: A Final Farewell to Google Voice
- Road Warrior’s Advice: Before You Buy a Tesla…
- FusionPBX on Steroids: Text-to-Speech Apps Have Arrived
- Creating Free IBM Voice Prompts for FusionPBX/FreeSWITCH
- Double-NAT Blues: Tackling Asterisk’s Thorniest Problems
- One Minute Cloud VPS: Meet Incredible PBX for HiFormance
- VoIP 101: Developing a Cost-Effective SIP Strategy
- Dare to Compare: The Best (free) VoIP Offerings for 2018
- Cloud 9: Free Incredible PBX in the Cloud Hosting until 2019
- Autonomous Cars: Move Over Tesla, Here Comes Everybody
- VoiceMail Transcription for VitalPBX Using IBM Watson STT
- Incredible PBX in the Cloud: A $10/Year VoIP Cloud Platform
- VitalPBX in the Cloud: Providers, Backups, & Airtight Security
- 300 New Wholesale Providers Make Asterisk Shine
- Revolutionary VoIP: The Best (free) PBX Ever from 3CX
- Rolling Your Own: Building a Custom ISO with Incredible PBX
- Beginner’s Navigation Guide to VoIP PBXs and Nerd Vittles
- November 24, 2017: A Black Friday to Remember
- Sneak Peek: Incredible PBX with FreePBX 13 GPL Modules
- Game Changer: Hooking Up Facebook with Incredible PBX
- Twofer Tuesday: Incredible PBX 13 to the Rescue
- RTPbleed Security Alert: Asterisk Calls Can Be Intercepted
- Another Perfect Pair: Flawless VoIP with Wazo and 3CX
- Almost Free: Professional Grade TTS Comes to Issabel 4
- Leap Into Summer: Introducing Incredible PBX for Issabel
- Independence Day for Elastix 4: Introducing Issabel 4
- 3CX in the Cloud: 8 Great Ways to Secure Your Server
- Postfix + Gmail: A Pain-Free SMTP Relay for Wazo PBX
- Choosing the Best (free) PBX for SOHO Deployments
- Paradise Found: Amazon’s Polly TTS Meets Incredible PBX
- IBM’s Speech Recognition Engine Comes to Asterisk
- Cellphone Hell: 2017 Minefield Navigation Guide
- Chasing Rainbows: The VoIP in the Cloud Trifecta
- VoIPtopia 2017: Choosing the Best, Free VoIP Platform
- If It Walks Like a Duck and Quacks Like a Duck, Guess What?
- Siriously: It’s Wolfram Alpha for XiVO and Wazo
- 2016, The Year of VoIP Choice: Meet Wazo and XiVO 16.15
- VoIPtopia: Google Services with Incredible PBX and PIAF5
- XiVO Nirvana: Cloud Hosting with SIP Service for 15¢ a Day
- Type It or Say It: Asterisk SMS Messaging Returns with Incredible PBX for XiVO
- Integrating SIP URIs into XiVO for Free Worldwide Calling
- Never Miss a Meeting: Google Calendar Alerts for XiVO
- Raspberry Pi One-Minute Wonder: A Turnkey and Truly Incredible PBX for XiVO
- VirtualBox Magic: A Turnkey PBX in 5 Minutes Flat with XiVO
- Google Voice with OAuth 2 Comes to Incredible PBX for XiVO
- Take the XiVO Plunge: 4 Months of Free Cloud Hosting
- Security 101: A Fresh Look at Incredible PBX Security Audit Methodology
- Tempus Fugit: Introducing Incredible PBX Alarm Clock for Asterisk and XiVO
- As Easy As 1-2-3: Introducing Incredible PBX Telephone Reminders for XiVO
- 2016: The Year of the May Bromance with XiVO, Asterisk 13, and the GPL
- Sleep Well: Create a $10.50 Incredible Backup Server in the Cloud with WebDAV
- No Brainer: Free Cell Service, Free Texting, Free Data Plan + Free SIP Trunk
- Taking a Fresh Look at the Asterisk, FreePBX, and Incredible PBX Security Models
- TrueCNAM: A Breath of Fresh Air for CNAM Lookups and CallerID Superfecta
- Smartphone Trifecta: 2016’s Very Best Cellphones with Two Awesome Surprises
- Four Months in Paradise: Free International VoIP Calling From Your Cellphone
- Mobile WiFi Shootout: Torture Testing the Best WiFi HotSpots for Your Vehicle
- I Have A Dream: Free Cellular Service with Integrated Remote SIP Connectivity
- Just in Time for Santa: Return of The Glory Days with Skype Connect for Asterisk?
- FCC and Asterisk Now Provide The Tools Needed to Put an End to Robocalls
- Asterisk Server Troubleshooting: Finding and Fixing Bugs & Gremlins in Your PBX
- Why Reinvent the Wheel: Incredible PBX GUI Application User’s Guide
- Firewalls 101: Why Every Asterisk Server Should Have a Functioning Firewall
- Decisions, Decisions: Choosing the SOHO Asterisk Platform That’s Best For You
- 60 Seconds to Real Independence: Incredible PBX GUI Comes to VirtualBox
- Keeping It Real: Holey Socks! It’s the Missing FreePBX GPL Source Code, Or Is It?
- Freedom and the FreePBX Cloud: Is an Apple-like Ecosystem GPL-Compliant?
- View from the Trenches: A Fresh Look at VoIP Project Development in the Cloud
- Wear Something Green for May Day: The Schmoozification of Sangoma
- Gotcha-Free PBX: GIT-R-Done with Incredible PBX for Asterisk-GUI (CentOS)
- SOHO Delight: Introducing the Ultimate Asterisk Appliance for Under $30
- Where to Begin: A Comparison of Open Source Features in Asterisk Aggregations
- We Have a Dream, Too: The Return of (Gotcha-free) Open Source GPL Software
- 30 Minutes to Paradise: Incredible PBX for Ubuntu 14.04 is Ready for Primetime
- Midnight Madness: Introducing Incredible PBX 12 with Asterisk 12 and FreePBX
- Zero Day Vulnerability Protection and More: Introducing Cover Your Asterisk
- Hold On to Your Wallet: Another Huge VoIP Phone Bill May Be Lurking
- Hardware Device of the Year: Meet the CuBox-i with Incredible PBX for Ubuntu
- Commented on Where are people getting the Lenny sound prompts for his voice?
- Pioneers, Start Your Engines: Introducing Incredible PBX for CuBox-i with Ubuntu
- State of the Art: The New Incredible PBX Security Model for Asterisk
- Knock Three Times: Pain-Free Remote Access to Your Asterisk or Linux Server
- Top 3 Asterisk Security Tips for 2014: WhiteLists, WhiteLists, and WhiteLists
- FMC: The Future of Telephony with Vitelity’s vMobile and Asterisk in the Cloud
- Beware the Ides of May: It’s Hammertime for Google Voice
- 4 Months in Paradise: The Return of Free International VoIP Calling
- BYOB: Easy Peasy PIAF-Green with Asterisk 11.8.1 and ‘Genuine’ CentOS 6.5
- Closing the Book on CentOS: Introducing PBX in a Flash 3 with PIAF 3.0.6.5 OS
- Crippleware: Is Red Hat Rewriting the GPL and the Future of Open Source?
- Don’t Hurry: A First Look at Google Glass with Google Glass Frame
- Putting the Genie Back in the Bottle: More RedHat Legal Shenanigans with CentOS
- Obivoice = OBi Heaven: Dumping Google Voice for Less Than 10¢ a Day
- netTALK to the Rescue: Dumping Google Voice for Less Than 10¢ a Day
- IVR 101: Six Quick Steps to Building Incredible IVRs for Asterisk with FreePBX
- Two Thumbs Up: A New Flash Drive Installer for PBX in a Flash 2.0.6.4.5
- Adventures in Twitterland: You Can’t Make This Stuff Up
- AstriCon 10: WOW! What a Coming Out Party for Asterisk 12!
- Finally a 100% Portable PBX: Introducing GoIP, a SIP-GSM Gateway for Asterisk
- Fall Festivus: Asterisk Text-to-Speech Roundup with a Baker’s Dozen New Voices
- Newbie’s SIP Navigation Guide for Asterisk: Is It Safe?
- Practicing Safe SIP: Adding SIP URI and Free DID Connectivity to Asterisk
- 2013 Greatest Hits: Lenny Returns for an Encore Performance
- Programmer’s Paradise: Introducing the VoIP Phone of the Year, Yealink’s T46G
- Triple Treat: Some Asterisk Utilities to Brighten Your Summer
- Amerika the Beautiful: An Insider’s View of What Went Wrong and How To Fix It
- Here We Go Again: Getting Ready for the Next Google Voice Train Wreck
- WebRTC: Asterisk Joins the Brave New World of Real Time Communications
- Allison Smith: State of the IVR Address
- What’s As Good As a $35 Raspberry Pi? How About 35 Free Incredible PBX Apps
- Time to Celebrate: Incredible PBX for Raspberry Pi Turns 21
- SMS Dictator 2.0: Send SMS Messages Using Your Phonebook with Google Voice
- GV Call Notifier: Send Jabber and SMS Alerts for Incoming Asterisk Calls
- Straight Talk: Keep AT&T Humming While Chopping Your Cellphone Bill in Half
- YATE in a Flash: Rolling Your Own SIP to Google Voice Gateway for Asterisk
- VPN in a Flash Reborn: Meet the Dedicated Server Edition in PIAF 2.0.6.2.4
- 5-Minute VoIP: Deploying a SIP to Google Voice Gateway
- Eating Our Own Dog Food: And It Tastes Pretty Good
- Googlicious: News, Weather, Stocks & Dictionary for Asterisk
- Good Morning: Hotel-Style Wake Up Calls Return to Asterisk
- PIAF 2.0.6.2.3: It’s PIAF-Brown with Certified Asterisk
- PBX in a Flash 2: One Incredible VoIP Platform
- Thumbs Up: A New Flash Drive Installer for PIAF2 + CentOS6
- Bluetooth Proximity Detection for Automatic Call Forwarding
- Speech-to-Text Directory Assistance Comes to Asterisk
- Open Source Development and the Patent Trolls
- Picking the Best (and worst) Cellphone and Provider for 2012
- 11/11/11: To Celebrate Nerd New Year’s, Please Welcome…
- 7 Steps to Skytopia: Pain-Free Calls with Skype and Asterisk
- 3 Steps to VoIP Nirvana: It’s Incredible PBX 2.0
- How Good Can a $298 Android Tablet Be?
- Welcome to Frontier Days
- Installing OS X Lion: The Short List of Gotcha’s
- Sorry Apple: The Google Lion No Longer Sleeps
- Coming to a Cloud Near You: Incredible PBX in the Cloud
- Introducing: New PBX in a Flash Installer for USB Flash Drives
- Skype + Asterisk (still) = Beautiful Music + Free Phone Calls
- Dear Digium: It’s Time to Start Eating Your Own Dog Food
- FreePBX Backdoor Passwords Pose Asterisk Security Threat
- Home Run: Asterisk Baseball Scores & Schedules with Gtalk
- Worldwide Weather Forecasts with Asterisk and Google Talk
- Tips, Tricks & Apps to Get the Most Out of Your iPad 2
- Motorola Xoom: A Disappointing Introduction to Android 3.0
- 2011 VoIP Device of the Year: Obihai OBi110 for Google Voice
- Samsung Galaxy Tab: The Good, The Bad, and The Ugly
- Avoiding a $100,000 Phone Bill: VoIP WhiteList for IPtables
- 2010 Bargain of the Year: Nortel 1535 Color SIP Videophone
- Donate Now To Claim Your $299 Web Appointment System
- TweedleD Back From the Dead Using Twitter OAuth
- Orgasmatron 5.2: The Secure Swiss Army Knife for Asterisk
- Apple’s iPad: A Home Run for Education
- Tweet2Dial: SMS Messaging with Google Voice and Twitter
- CallerID Superfecta 2.2.2: International CNAM Directories
- Surfing the Google Wave
- Tweaking Asterisk for Free Google Voice Calling
- New, Free Hospitality Management System for Asterisk
- Strike 3 for the Amazon Kindle Project
- Whole House iPod + $5/mo. Gets You Every Song on the Planet
- Asterize Your Data: Taming ODBC with Asterisk
- Googlified Messaging Returns: The Gizmo-Asterisk Marriage
- Remotely Managing Your Asterisk Server with WebDAV
- What PBX in a Flash Brings to the Asterisk Table
- Using Asterisk and Gizmo5 to Transform Nokia N95 Cellphone into Free SIP Phone
- Add SUSHI to Your Asterisk Server for Rock-Solid, Secure VoIP Telephony
- Statistically Speaking: AWstats Meets Asterisk and PBX in a Flash
- Roll Tide: Let Allison and Asterisk Plan Your Next Surfin’ Safari
- Text-to-Speech Bonanza with Cepstral and Asterisk 1.4
- Allison’s Text-to-Speech Trifecta: Cepstral, Asterisk 1.4 or 1.6, and FreePBX 2.4
- Build a $199 Turnkey (Green!) Asterisk 1.4 System in Less Than An Hour
- 100 Great Halftime Projects For You & Your Asterisk IP PBX
- Ho, Ho, Ho: Some Asterisk Stocking Stuffers from Santa
- Week #2: PBX in a Flash … The Lean, Mean Asterisk Machine
- Announcing PBX-in-a-Flash: A New Asterisk Platform for Everyman… and Woman!
- Managing Your Cellphone Calls with Asterisk or MagicJack
- magicJack: Could It Be the Asterisk Killer?
- Proximity Detection Perfection: Bluetooth + Asterisk + iPhone
- iPhone: The Perfect Asterisk Companion
- Your Choice: iPhone + AT&T or A New Car
- Broadband for Asterisk: Now Just $10 a Month… NOT!
- March Madness: Another Asterisk Security Hole in TrixBox Systems
- Fixing the Asterisk Security Hole in TrixBox Systems
- Click2Dial for Every(Asterisk)man… and Woman
- Weather, Weather Everywhere: Finally, Worldwide Weather Forecasts
- Hacker’s Dream Machine: Introducing the Best Gadget of the Year
- New Year’s Roundup: Pick-of-the-Litter VoIP Providers for Asterisk
- PBX-in-a-Flash: HOW-TO NerdVittlize Your TrixBox 1.2.3 Asterisk PBX
- FON.com WiFi Router Giveaway for $5 Ends Wednesday
- Tricking Out Your TrixBox
- Get Your News By Telephone: Introducing NewsClips for Asterisk
- VoipDiscount.com: Free Asterisk Calling Returns to the VoIP Wild West
- Upgrading Asterisk@Home 2.7 to Asterisk 1.2.6: Here’s How
- Follow-Me Roaming: Integrating Mobile Phones Into Your Dialplan
- Manly Man Alert: A Valentine’s "Gift With A Plug" That Won’t Get You Killed
- 50 Great Halftime Projects Using Your Free Asterisk@Home PBX
- ISP-In-A-Box: The $500 Mac mini (Create Your Own Planet … Really!)
- Backups and Redundancy with Asterisk
- Internet Telephony Shootout II: Finding the Best International VoIP Providers
- Quick & Easy: Configuring Remote Phone Access to an Asterisk PBX
- Phone Home Revisited: Getting Remote Dialtone With Asterisk — Three Great Solutions
- Securing Your Asterisk@Home PBX: Here’s How
- Save Millions on VoIP Costs: Here’s How
- HOW-TO Bonanza: 50 Great Summertime Projects for You & Your Mac mini
- Turbocharging Your Asterisk@Home PBX
- Tips & Tricks to Turbocharge Your Asterisk@Home PBX
- WHERE-TO Bonanza: 50 Great Summertime Web Sites for You & Your Mac mini
- Mac OS X Tiger Backups: The Good, The Bad, and The Ugly
- iTunes Bait and Switch: Say It Ain’t So, Steve
- RSS Made Really, Really Simple
- Ultimate Computer Telephony Server: The $500 Mac mini
- Turn Your Mac Mini Into A Media Center
- Blogging with Style
- ATTN: Bankers — Here’s An Idea
- PC Killer: The $500 Mac mini
- Web Hosting (Is Not) For Dummies
- palmOne’s Treo 650 Smartphone
Originally published: Monday, July 4, 2022
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 2022 for the Raspberry Pi
It’s been a year and a half since our last Incredible PBX® release for the Raspberry Pi platform, and the RasPi enhancements just keep coming. The latest RasPi 4 supports dual 4K monitors, two USB 2.0 ports, two USB 3.0 ports, gigabit Ethernet, a USB-C power supply, a Broadcom BCM2711, Quad core Cortex-A72 (ARM v8) 64-bit SoC running at 1.5GHz, and POE connectivity with the addition of the POE Hat. You can read all about it here. Incredible PBX 2022 supports the latest RasPi boards and keyboard and is backwards compatible.
UPDATE: Download the latest Incredible PBX 2027 image and tutorial for RasPi here.
We’ve preserved the Raspbian 10 platform in this build because the Debian 11 release has broken free faxing, at least for the short term. This build features Asterisk® 16 or 18 with the latest FreePBX® 15 GPL modules plus the feature set you know and love. We’ve added PJSIP support for Skyetel and the new gTTS release for terrific text-to-speech applications including our News Headlines (951) and Weather Forecasts by ZIP Code (947). It’s all rolled into one terrific bundle that can be installed in about a minute after you download the image from our repo and follow the instructions from the readme file.
Unlike other aggregations, there’s nothing to compile with Incredible PBX/FAX 2022 for Raspbian. And, unlike the FreePBX Distro, we don’t rely on static packages which make it difficult to add future modifications on your own. Instead, Incredible PBX/Fax 2022 offers a snapshot image with a complete toolkit to make future modifications as desired. And, of course, Incredible PBX/Fax 2022 features the ClearlyIP module repository which protects you from proprietary modifications that limit or cripple your PBX moving forward.
What’s Included? Incredible PBX/Fax 2022 serves up a never before available VoIP powerhouse featuring Asterisk 16 or 18 and all FreePBX 15 GPL modules, an Apache web server, the latest MariaDB SQL server (formerly MySQL), Exim4 mail server, Incredible Fax with turnkey Hylafax and AvantFax, and most of the Incredible PBX feature set including SIP, PJSIP, SMS, voice recognition, AsteriDex, gTTS Text-to-Speech VoIP applications plus email delivery of faxes in PDF format, Click-to-Dial, News, Weather, Telephone Reminders, and hundreds of features that typically are found in commercial PBXs: Conferencing, IVRs and Email Delivery of transcribed voicemails, AutoAttendants, Voicemail Blasting, and more. We’ve also incorporated the Zero Trunk Configuration feature from the LITE build which lets you sign up with one of our VoIP providers and start making and receiving calls instantly. Or you can use the new ClearlyIP trunking module included in the GUI for seamless integration of SMS messaging into FreePBX and its User Control Panel.
Choosing a SIP Provider. As we mentioned, Incredible PBX/Fax 2022 comes preconfigured to support many of the major SIP providers including those that financially support Nerd Vittles and our open source projects: ClearlyIP, Skyetel, and VoIP.ms. As the old saying goes, they may not be the cheapest, but you get what you pay for. With all our providers, you only pay for minutes you use so signing up with more than one provider is a smart idea. For the full list of supported VoIP providers, visit the Incredible PBX Wiki.
Assembling the Required Raspberry Pi Components
Before you can deploy Incredible PBX 2022, you’ll first need the necessary Raspberry Pi hardware. To support the enhanced Incredible PBX/Fax platform, we strongly recommend either the Raspberry Pi 400 or the Raspberry Pi 4B with at least 2GB RAM for under $42. You can choose a reseller below for quicker delivery. Assuming you already own an HDMI-compatible monitor and a USB keyboard (only required if you don’t buy a RasPi 400)…
Raspberry Pi 4B or Raspberry Pi 400 $8 USB-C RasPi 4 (only) Power Supply $11 32GB microSDHC Class 10 card (strongly recommended!) $5 Official RasPi 4B Case or see above for our favorite
Getting Started with Incredible PBX 2022
Here’s our 10-Step Guide to installation and setup. "Automatic" means just watch. Steps #1 and #2: follow the links. For the remaining steps, we’ll further document the procedures.
- Download and unzip latest Incredible PBX/FAX 2022.6 image from SourceForge
- Transfer Incredible PBX/FAX 2022 image to microSD card and Boot server
- Login to RasPi console as root:password to initialize your server (Automatic)
- In Localization Options, set Locale, TimeZone, Keyboard, & WiFi Country
- Reboot after writing down your server IP address (Automatic)
- Login via SSH or Putty as root:password to set passwords & setup firewall (Automatic)
- Enter an email address for receipt of incoming faxes in PDF format
- Run admin-pw-change to set the admin password for access to the web GUI
- Register for and configure at least one trunk provider for Incredible PBX 2022
- Set up and test your Exim mail server as documented below
ALERT: Reportedly, the latest Raspberry Pi 4 board will not boot with earlier Incredible PBX images. Today’s updated image solves that, but you may wish to simply move your existing build to the latest RasPi hardware and preserve your data. If you have an older (working) Raspberry Pi, simply issue the following commands on the old platform. Following shutdown, insert the new microSD card into your new RasPi 4.
apt update apt dist-upgrade halt
First Boot of Incredible PBX 2022 with Wi-Fi
Incredible PBX 2022 requires Internet connectivity to complete its automated install. If you’re using a wired network connection, you can skip to the next section. With the Raspberry Pi 3B, 4B and 400, WiFi is built into the hardware. But you still have to insert your SSID name and SSID password to make a connection to your WiFi network. To do so, follow these next steps carefully. Insert the Incredible PBX 2022 microSD card into your Raspberry Pi and apply power to the hardware. When the bootup procedure finishes, login as root with the default password: password. At the first prompt, DO NOT PRESS THE ENTER KEY! Instead, press Ctrl-C to break out of the setup script. At the command prompt, issue the following commands to bring up the WiFi config file:
cd /etc/wpa_supplicant nano -w wpa_supplicant.conf
If your WiFi network does not require a password, uncomment or insert the four lines below and save the file: Ctrl-X, Y, then Enter. Now restart your server: reboot. When the reboot finishes, you now should have network connectivity.
network={ key_mgmt=NONE priority=1 country=US }
If your WiFi network requires a password, uncomment or insert the following into wpa_supplicant.conf:
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 country=US network={ ssid="YourSSID" psk="YourSSIDpassword" key_mgmt=WPA-PSK scan_ssid=1 priority=7 }
Then scroll down to the SSID entry and replace YourSSID with the actual SSID of your WiFi network. Make sure you preserve the entry with the quotes as shown. Next, replace YourSSIDpassword with the SSID password of your WiFi network. Save the file: Ctrl-X, Y, then Enter. Now restart your server: reboot. When the reboot finishes, you now should have network connectivity.
Once the reboot process finishes, you should see an entry on about the middle line displayed on your monitor which reads: "My IP address is…". Write down the IP address shown. You’ll need it in a minute. Skip the next section since you are using a WiFi connection.
If you don’t see an IP address assigned to your server, then correct the network deficiency (invalid WiFi credentials, DHCP not working, Internet down), and reboot until you see an IP address assigned to your server. DO NOT PROCEED WITHOUT AN ASSIGNED IP ADDRESS. NOTE: The Raspberry Pi 400 requires the latest Incredible PBX image for Wi-Fi connectivity.
You’ll also need to change the default PortKnocker setting to your wireless LAN connection:
sed -i 's|eth0|wlan0|' /etc/default/knockd service knockd restart
First Boot of Incredible PBX Using Wired Connection
Incredible PBX 2022 requires Internet connectivity to complete its automated install. After connecting your server to your local network with a network cable, insert the Incredible PBX 2022 microSD card into your Raspberry Pi and apply power to the hardware. When the bootup procedure finishes, you should see an entry on about the middle line displayed on your monitor which reads: "My IP address is…". Write down the IP address shown. You’ll need it in the next step.
If you don’t see an IP address assigned to your server, then correct the network deficiency (cable not connected, DHCP not working, Internet down), and reboot until you see an IP address assigned to your server. DO NOT PROCEED WITHOUT AN ASSIGNED IP ADDRESS.
Completing the Incredible PBX Initialization Procedure
Unless your desktop PC and RasPi are both on the same private LAN, the remainder of the install procedure should be completed from a desktop PC using SSH or Putty. This will assure that your desktop PC is also whitelisted in the Incredible PBX firewall. Using the console to complete the install is NOT recommended as your desktop PC will not be whitelisted in the firewall. This may result in your not being able to log in to your server. Once you have network connectivity, log in to your server as root from a desktop PC using the default password: password. Accept the license agreement by pressing ENTER. You then will be redirected to raspi-config. This is the utility used to expand your Incredible PBX 2022 image to use your entire microSD card; however, this new build does this for you so you can skip this step. Next, choose Localization Options and set Locale, TimeZone, Keyboard, & WiFi Country. Review the other items and then exit and reboot.
Once your server reboots and you log back in as root, you’ll first be prompted to enter an email address for delivery of incoming faxes in PDF format. All of your passwords then will be randomly assigned with the exception of the root user Linux password and your admin passwords for access to the web GUI and AvantFax. You can set the root password by issuing the command: passwd
. Set the admin password for access to the web GUI with this command: /root/admin-pw-change
. Set the admin password for access to AvantFax with this command: /root/avantfax-pw-change
. With the exception of these passwords, the remaining passwords can be displayed using the command: /root/show-passwords
.
Finally, if your PBX is sitting behind a NAT-based router, you’ll need to redirect incoming UDP 5060-5061 and UDP 10000-20000 traffic to the private IP address of your RasPi. This is required for all of the SIP providers included in the Incredible PBX 2022 build. Otherwise, all inbound calls will fail.
Configuring Skyetel for Incredible PBX 2022
If you’ve decided to go with Skyetel, here’s the drill. Sign up for Skyetel service and take advantage of the Nerd Vittles Free $10 credit and BOGO special. First, complete the Prequalification Form here. You then will be provided a link to the Skyetel site to complete your registration. Once you have registered on the Skyetel site and your account has been activated, open a support ticket and request the $10 credit for your account by referencing the Nerd Vittles special offer. Once you are happy with the service, open another ticket after funding your account and request that Skyetel match your deposit of up to $250. That gets you up to $500 of helf-price calling. Credit is limited to one per person/company/address/location. If you have numbers to port in, you can do it at no cost after funding your account. Effective 10/1/2023, $25/month minimum spend required.
Skyetel typically does not require SIP registrations to make connections to your PBX. Instead, Skyetel utilizes Endpoint Groups to identify which servers can communicate with the Skyetel service. An Endpoint Group consists of a Name, an IP address, a UDP or TCP port for the connection, and a numerical Priority for the group. For incoming calls destined to your PBX, DIDs are associated with an Endpoint Group to route the calls to your PBX. For outgoing calls from your PBX, a matching Endpoint Group is required to authorize outbound calls through the Skyetel network. Thus, the first step in configuring the Skyetel side for use with your PBX is to set up an Endpoint Group. Here’s a typical setup for Incredible PBX 2022:
- Name: MyPBX
- Priority: 1
- IP Address: PBX-Public-IP-Address
- Port: 5061
- Protocol: UDP
- Description: 2022.incrediblepbx.com
To receive incoming PSTN calls, you’ll need at least one DID. On the Skyetel site, you acquire DIDs under the Phone Numbers tab. You have the option of Porting in Existing Numbers (free for the first 60 days after you fund your account) or purchasing new ones under the Buy Phone Numbers menu option.
Once you have acquired one or more DIDs, navigate to the Local Numbers or Toll Free Numbers tab and specify the desired SIP Format and Endpoint Group for each DID. Add SMS/MMS and E911 support, if desired. Call Forwarding and Failover are also supported. That completes the VoIP setup on the Skyetel side. System Status is always available here.
Configuring VoIP.ms for Incredible PBX 2022
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 Static IP Authentication and enter your Incredible PBX 2022 server’s public IP address. For Transport, choose UDP. For Device Type, choose Asterisk, IP PBX, Gateway or VoIP Switch. 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. On the Incredible PBX side, simply Enable the VoIPms trunk and save your update.
Adding a Bootable SSD to Raspberry Pi
Shown below are the two components that make up the 256GB storage solution for the Raspberry Pi. These include the M.2 SSD SATA drive and the M.2 enclosure which provides a USB connector that’s compatible with your RasPi. Assembly of the components takes less than a minute as shown in the steps below:
You can order the M.2 SSD SATA drive and the UGREEN M.2 enclosure using our Amazon referral links which help support Nerd Vittles and the Incredible PBX open source project.
Once you have assembled your SSD in the sleeve, log back in as root using SSH or Putty. For best performance, insert the SSD drive into one of the blue USB 3.0 ports and verify that /dev/sda device is shown when you issue the command: fdisk -l
Now proceed with the following steps to copy the image from your microSD card to the new SSD SATA drive:
rpi-clone -l -e sda -f sda # answer prompts with yes and incred2022 # once the image is copied, dismount the drive when prompted mount /dev/sda2 /mnt/clone cd /mnt/clone/boot cp -p -r /boot/* . sed -i 's|sda2|mmcblk0p2|' /boot/cmdline.txt cd / umount /mnt/clone halt
Now you’re ready to restart your Raspberry Pi from the SSD SATA drive. Remove the microSD card and reboot your server.
Configuring a Softphone for Incredible PBX 2022
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 the YateClient 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.
We recommend YateClient for Windows which is free. Download it from here. Run YateClient once you’ve installed it and enter the credentials for the 701 extension on Incredible PBX. You can find them by running /root/show-passwords
. You’ll need the IP address of your server plus your extension 701 password. In the YateClient, fill in the blanks using the IP address of your Server, 701 for your Username, and whatever Password was assigned to the extension when you installed Incredible PBX. Click OK to save your entries.
Once you are registered to extension 701, close the Account window. Then click on YATE’s Telephony Tab and place some test calls to the numerous apps that are preconfigured on Incredible PBX. Dial a few of these to get started:
DEMO - Apps Demo 123 - Reminders 947 - Weather by 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.
Audio Issues with Incredible PBX 2022
Only if you experience one-way or no audio on some calls, add your external IP address and LAN subnet in the GUI by navigating to Settings -> Asterisk SIP Settings. In the NAT Settings section, click Detect Network Settings. Click Submit and Apply Settings to save your changes.
Configuring Gmail as Exim Smart Relay Host
Most Raspberry Pi implementations will be on networks managed by companies like Comcast, Spectrum, and AT&T that block downstream mail servers (that’s you) from sending email. The solution is to use Gmail or your local ISP as a smart relay host to send mail from your server. You’ll need this to deliver voicemails via email. Here’s how to set it up using a Gmail account without two-step authentication. Log into your server as root and run dpkg-reconfigure exim4-config. Choose "mail sent by smarthost; received via SMTP or fetchmail." Accept all the defaults until you get to Outgoing Smarthost prompt. Enter: smtp.gmail.com::587. At the following prompts, choose NO, NO, mbox, and NO. When the setup completes, edit /etc/exim4/passwd.client and insert the following line using your Gmail AcctName and AcctPW. NOTE: Because insecure Gmail access is going away, you MUST use a Gmail App Password instead of your Gmail account password.
smtp.gmail.com:AcctName@gmail.com:AcctPW
Save the file and then issue the following commands to complete the setup:
update-exim4.conf systemctl restart exim4 exim4 -qff
Now send yourself a test email message to make sure things are working properly:
echo "test" | mail -s testmessage yourname@yourmailprovider.com
Once you have email messages flowing, incoming faxes automatically will be delivered to the email address you assigned when setting up your PBX. You can change this email address with the command: avantfax-email-change.
Fixing Corrupted rc.local File & More
Some prefer an email notification whenever your server is booted. Also fixes the corrupted rc.local file. Once you have configured a relay host above, you can add the feature by editing /etc/rc.local and making the file look like this replacing name@domain.com with your actual email address:
#!/bin/sh -e # Print the IP address _IP=$(hostname -I) || true if [ "$_IP" ]; then printf "My IP address is %s\n" "$_IP" fi _PRIVATE="Private IP: `cat /etc/hostip | cut -f1-2 -d " "`" _PUBLIC="Public: $(dig TXT +short o-o.myaddr.l.google.com @ns1.google.com | sed 's|"||g')" echo "$_PRIVATE $_PUBLIC" | mail -s "Incredible PBX 2022.6 has booted" name@domain.com sleep 5 service knockd start sleep 30 chmod -R 777 /var/www/html/avantfax exit 0
Configuring Inbound Routes for Fax Detection
Not all VoIP trunks support fax transmission, e.g. Vitelity. Assuming yours do and you’ll only know by trial and error, here’s how to configure FreePBX to automatically detect incoming faxes and process them for PDF delivery by email. The default inbound route is preconfigured to support email delivery of your faxes. So, any trunks using that default route require no further configuration. If you add additional Inbound Routes, here’s how to enable fax detection on those routes.
Under the Fax tab of each new Inbound Route, enter the following settings:
Detect Faxes: YES Fax Detection Type: SIP Fax Ring: YES Fax Detect Time: 4 Fax Destination: Custom Destinations -> Fax (Hylafax)
Managing Faxes with AvantFax
You can manage your incoming and outgoing faxes using AvantFax. Click on the AvantFax tab in FreePBX to access it. The default credentials are admin:password. When you first access AvantFax with a browser, you may get a missing page error. Just press the back arrow key in your browser and the AvantFax main page will appear.
If you want to change the admin password for AvantFax, log into your server as root with SSH/Putty and issue the command: /root/avantfax-pw-change.
Send yourself a fax at no cost in the United States from FaxZero.
Building the Incredible PBX Demo IVR
If you’d like to try your hand at building an IVR, here are the steps to build the Incredible PBX Demo IVR. From the FreePBX Dashboard, choose Applications -> IVR -> Add IVR. Then fill in the template using the entries shown below. Then click Submit and Reload Dialplan.
Building the Incredible PBX Stealth AutoAttendant
Many users prefer to play an announcement to incoming callers with a brief pause thereafter which indicates that the call is being connected. If configured properly, this lets you embed several dial codes which can be entered while the announcement is playing and the call is being transferred. For example, you might wish to route incoming calls to Lenny if a caller presses 0. Or you might wish to immediately route an incoming call to a Ring Group if the caller presses 1. Here’s a sample IVR setup to get you started.
Incredible PBX 2022 Administration
We’ve eased the pain of administering your new PBX with a collection of scripts which you will find in the /root folder after logging in with SSH or Putty. Here’s a quick summary of what each of the scripts does.
admin-pw-change lets you update the admin password for web browser access to the Incredible PBX GUI.
apache-pw-change lets you update the admin password for Apache applications such as AsteriDex and Reminders.
avantfax-pw-change lets you update the root password for AvantFax access (coming soon!).
add-fqdn is used to whitelist a fully-qualified domain name in the firewall. Because Incredible PBX 2022 blocks all traffic from IP addresses that are not whitelisted, this is what you use to authorize an external user for your PBX. The advantage of an FQDN is that you can use a dynamic DNS service to automatically update the IP address associated with an FQDN so that you never lose connectivity.
add-ip is used to whitelist a public IP address in the firewall. See the add-fqdn explanation as to why this matters.
del-acct is used to remove an IP address or FQDN from the firewall’s whitelist.
configure-exim-email lets you reconfigure the email server if you need to use an SMTP relay such as Google to get outbound email flowing. Tutorial here.
iptables-restart is the ONLY command you should ever use to restart the IPtables firewall and Fail2Ban.
knock.FAQ contains your PortKnocker credentials for emergency access to your server if the firewall locks you out. Tutorial here.
proximity (once configured) will automatically forward calls to your cellphone when you are out of BlueTooth range from your RasPi. Also must enable running of script in /etc/crontab.
reset-conference-pins is a script that automatically and randomly resets the user and admin pins for access to the preconfigured conferencing application. Dial C-O-N-F from any registered SIP phone to connect to the conference.
reset-extension-passwords is a script that automatically and randomly resets ALL of the SIP passwords for extensions 701-705. Be careful using this one, or you may disable existing registered phones and cause Fail2Ban to blacklist the IP addresses of those users. HINT: You can place a call to the Ring Group associated with all five extensions by dialing 777.
reset-reminders-pin is a script that automatically and randomly resets the pin required to access the Telephone Reminders application by dialing 123. It’s important to protect this application because a nefarious user could set up a reminder to call a number anywhere in the world assuming your SIP provider’s account was configured to allow such calls.
rpi-clone is a utility that makes it easy to make a bootable image of the microSD card used to start your Raspberry Pi. You’ll need a USB-to-microSD adapter to begin. Insert a backup microSD card large enough to hold all of the data on the primary microSD card (df -h). Insert the USB stick with the card. Identify the backup microSD card, usually sda (fdisk -l). Format the backup microSD card:
mkfs.vfat /dev/sda1 && mkfs.ext4 /dev/sda2
. Then issue the following command to clone the primary microSD card: rpi-clone -f sda. Tutorial here.
show-feature-codes is a cheat sheet for all of the feature codes which can be dialed from any registered SIP phone. It documents how powerful a platform Incredible PBX 2022 actually is. A similar listing is available in the GUI at Admin -> Feature Codes.
show-passwords is a script that displays ALL of the passwords associated with Incredible PBX 2022. This includes SIP extension passwords, voicemail pins, conference pins, telephone reminders pin, and your Anveo Direct outbound calling pin (if configured). Note that voicemail pins are configured by the user of a SIP extension the first time the user accesses the voicemail system by dialing *97.
timezone-setup lets you reconfigure the correct time zone for your server.
purge-cdr-cel-records cleans out all existing entries in both the CDR and CEL tables of the Asterisk CDR database.
log-cleanup removes all entries from most of the logs in /var/log.
sig-fix disables module signature checking in FreePBX. It is automatically disabled upon installation.
readme-RonR.txt documents the scripts provided from RonR build. We do NOT recommend using the FCC Blacklist because of its current size.
update-asterisk16 is a utility that updates Asterisk 16 to the latest release. This should only be necessary when a security issue or bug is identified that affects the operation of your PBX.
update-IncrediblePBX is the Automatic Update Utility which checks for server updates from incrediblepbx.com every time you log into your server as root using SSH or Putty. Do NOT disable it as it is used to load important fixes and security updates when necessary. We recommend logging into your server at least once a week.
pbxstatus (shown above) displays status of all major components of Incredible PBX 2022.
Forwarding Calls to Your Cellphone. Keep in mind that inbound calls to your DIDs automatically ring all five SIP extensions, 701-705. The easiest way to also ring your cellphone is to set one of these five extensions to forward incoming calls to your cellphone. After logging into your PBX as root, issue the following command to forward calls from extension 705 to your cellphone: asterisk -rx "database put CF 705 6781234567"
To remove call forwarding: asterisk -rx "database del CF 705"
Keeping FreePBX 15 Modules Current
We strongly recommend that you periodically update all of your FreePBX modules to eliminate bugs and to reduce security vulnerabilities. Make a backup image with rpi-clone first! 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
Upgrading Asterisk 16 to Asterisk 18
For those that enjoy living on the bleeding edge, we’ve create a script which makes it easy to upgrade Incredible PBX 2022 to Asterisk 18. The tutorial is available on the new Incredible PBX Wiki along with dozens of other tutorials.
Resolving an Expired Certificate Alert
1. Navigate to Admin -> Certificate Management in the FreePBX GUI
2. Click the Trashcan to delete the Self-Signed Certificate
3. Click New Certificate -> Generate Self-Signed Certificate
4. In the Description field, type: Default
5. Click Generate Certificate button
Continue Reading: Icing on the Cake for Incredible PBX and Raspberry Pi
Now Available: Amazon’s Polly TTS for Incredible PBX. Works great on the RasPi platform!
Originally published: Tuesday, March 24, 2022 Updated: Monday, February 22, 2021
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.
Oracle Cloud: Grab a Free Incredible PBX Cloud Server for Life
It’s not every day that you get an opportunity to deploy an Incredible PBX® server on a cloud platform as robust as the one offered by Oracle®. And the fact that it won’t cost you a dime EVER makes this all the more appealing. This isn’t some bargain basement, crippled cloud platform with barely enough horsepower to get your server booted. Quite the contrary. This is an ARM-based Ubuntu 20.04 platform with 6GB of RAM, 45+ GB of storage, and a 1GB network pipe. The CPU capacity is equivalent to multiple physical cores of an Intel Xeon processor with hyper threading enabled. The word you’re looking for is WOW! Our further testing suggests that, by deploying 1 OCPU instances, you can actually create 4 separate servers in your free allocation from Oracle. So let’s jump right in and get your new server up and running.
Getting Started with Oracle Cloud
For openers, you’ll need to set yourself up with a free Oracle Cloud account here. You can read all about Oracle’s Free Tier, and today we’ll be setting up an Always Free Ampere A1 Compute Resource which never expires. It provides 3,000 OCPU hours and 18,000 GB hours per month for free for VM instances using the VM.Standard.A1.Flex shape. For Always Free tenancies, this is equivalent to 4 OCPUs and 24 GB of memory. Translation: You can build an Asterisk® server to handle thousands of users with this platform. In fact, you can now build FOUR of them.
Once you’ve set up your account and accessed the Oracle Cloud Dashboard, click on the 3-bar Options Menu in the upper left column. You’ll be using two key options in the menus: Compute -> Instances and Networking -> Virtual Cloud Networks. We recommend you click the PIN icon on both of these so that they become available on your Home dashboard.
To begin, navigate to Identity -> Compartments and create a new incrediblepbx compartment. Then navigate to Compute -> Instances and click the Create Instance button. Accept the default Name and choose incrediblepbx as your Compartment. In the Image and shape section, click Edit. In the Image and Shape dialog, click the Change Image button and choose the Canonical Ubuntu 20.04 option. CAUTION: 22.04 is now the default so make sure you change it to 20.04 Image with the latest 20.04 Build Date! Next, click the Change Shape button and choose Virtual Machine, Ampere, check VM.Standard.A1.Flex) and select 1 OCPU with 6GB of RAM. In the Networking section, click Edit. Choose Public Subnet, Use network security groups to control traffic: No, Assign a public IPv4 address: Yes, and DNS record: Yes. Finally, in the Add SSH Keys section, leave the Generate a key pair for me option selected, and click Save Private Key then Save Public Key to download both keys to your desktop. Click Upload public key files (.pub) button and upload the Public Key you just downloaded into your instance. Finally, click the Create button to create your new instance. Once your instance is up and running, click on Public Subnet under Primary VNIC. In the Default Security List option, add Ingress and Egress Rules with an entry for Stateless=No, Source=0.0.0.0/0, IP Protocol=ALL, Source & Destination Port Range=ALL. In addition, add Ingress rules for UDP 5060:5069 and UDP 10000:20000. While appearing to be redundant, the UDP rules reportedly have been necessary to make and receive calls successfully.
Now copy the public IP address of your server which, together with your private key, you’ll need to login. From a Terminal window on your desktop PC, login to your server using the following commands where ssh-key-2022-05-24.key is the filename of your private key and 159.201.201.173 is the public IP address of your instance:
chmod 0600 ssh-key-2022-05-24.key ssh -i ssh-key-2022-05-24.key ubuntu@159.201.201.173
Once you’re logged in, let’s configure the root account which you will need to install Incredible PBX. Begin by setting up a very secure password for root.
sudo passwd root su root cd ~ wget http://incrediblepbx.com/IncrediblePBX2021-Oracle.sh chmod +x IncrediblePBX2021-Oracle.sh ./IncrediblePBX2021-Oracle.sh
We think you will find the performance is second to none. Here are our 1-OCPU results which far exceed the performance specs you’ll find at Vultr, Digital Ocean, or OVH on their 1-2 GB RAM platforms.
This is not a trivial install procedure so go have a long cup of coffee and return in about 40 minutes to press the ENTER key to kick off the Automatic Update Utility. Once that begins, you’ll need to press ENTER again in about 5 minutes when the updates are completed. Then your install will continue for a couple minutes when you will be prompted to press ENTER to reboot. Do so and you’re all set.
Managing Incredible PBX in the Oracle Cloud
All of the usual Incredible PBX features are available in the Oracle Cloud release. After rebooting, you now can login to your server as root using your root password. Be sure to login periodically so that the Automatic Update Utility is run to keep your server secure.
ssh -i ssh-key-2022-xx-xx.key ubuntu@public-IP-address su root cd ~ ./update-IncrediblePBX
It’s also good practice to keep the FreePBX GPL modules up to date. Here’s how after logging in:
rm -f /tmp/* fwconsole ma upgradeall fwconsole reload fwconsole restart ./sig-fix ./sig-fix
And don’t forget to…
Set your admin password for FreePBX GUI access: ./admin-pw-change
Set your admin password for Apache app access: ./apache-pw-change
Set your proper timezone: ./timezone-setup
Configure SendMail relay host: ./enable-gmail-smarthost-for-sendmail
Whitelist your IP addresses for access: ./add-ip and ./add-fqdn
Make a Backup and copy it off-site: ./incrediblebackup2021
Using Text-to-Speech Apps in the Oracle Cloud
Because the Oracle platform is ARM-based and most of the text-to-speech (TTS) apps are not, finding a TTS solution that actually worked was a challenge. But thanks to a tip from Dick Ollett, we’ve found a reliable alternative to PicoTTS. gTTS was easy to deploy with our existing applications and has restored the functionality of the Weather by ZIP Code (947) and News Headlines (951) applications using Incredible PBX on the Oracle Cloud platform.
Activating IBM Text-to-Speech for Oracle Cloud
IBM’s TTS offering still works reliably and, if you sign up for their LITE Pricing Plan, the first 10,000 characters per month are free. To get started, follow along in our previous IBM tutorial to sign up for service and the LITE TTS Pricing Plan which you will find by clicking on the Catalog tab in the toolbar, then choosing AI/Machine Learning, and then Text to Speech. Choose the Lite plan and make note of your API Key and access URL for the region you selected.
Next, log into your server as root and issue the following commands:
cd /var/lib/asterisk/agi-bin wget http://incrediblepbx.com/ibmtts.tar.gz tar zxvf ibmtts.tar.gz rm -f ibmtts.tar.gz ./install-ibmtts-dialplan.sh
Finally, edit /var/lib/asterisk/agi-bin/ibmtts.php and insert your API Key and URL in the spaces provided. Then save the file.
Activating Amazon’s Polly TTS for Oracle Cloud
If you’d prefer to use Amazon’s Polly TTS, its pricing is incredibly reasonable, and the quality is second to none. For your first year of service, 5 million TTS characters a month are free. After that, the standard TTS cost is $4 per million characters per month prorated to actual usage. For example, with 300 TTS requests a month of 500 characters each, the monthly cost would be 60¢. We’ve previously documented the Polly TTS setup for Incredible PBX 2021 so you can follow that tutorial to deploy Polly TTS with Incredible PBX in the Oracle Cloud.
Using either service, you now should be able to obtain Weather Reports by ZIP Code by dialing 947 from any extension registered to your PBX. Get the latest News Headlines by dialing 951.
Deploying PicoTTS in the Oracle Cloud
Because Oracle Cloud runs on the ARM64 architecture, you’ll need the ARM64 version of PicoTTS:
cd /root rm -f libttspico* wget http://incrediblepbx.com/picotts-arm64.tar.gz tar zxvf picotts-arm64.tar.gz rm -f picotts-arm64.tar.gz dpkg -i libttspico*
Activating OpenVPN Virtual Private Network
The OpenVPN Client software comes preinstalled with Incredible PBX. In order to activate OpenVPN, you simply need to copy your OpenVPN credentials to the server as /etc/incrediblepbx2021.ovpn. Then reboot. Your OpenVPN IP address will be shown in pbxstatus. For an overview of the OpenVPN setup procedure, read our original OpenVPN article. Then follow the simple steps on the Incredible PBX Wiki for OpenVPN Server and OpenVPN Client installs.
NOTE: Because of Oracle’s security zone policies, connecting extensions to your PBX using the public IP address may result in no audio on calls with some SIP clients. By connecting using the OpenVPN private IP address solves the problem in some cases.
Getting Started with Incredible Fax 2021
Believe it or not, there still are lots of folks that use faxes in their everyday lives. If you’re one of them, Incredible PBX has your back. Begin by logging into your server as root and running ./incrediblefax2021-ubuntu20.04.sh to install HylaFax and AvantFax on your server. You’ll be prompted a dozen or more times for information. Answer no to the secure fax question. For the rest of the prompts, just press ENTER to accept the default entries. Rebooting your server is required when the install finishes. Once your server is back on line, there will be a new AvantFax tab in the GUI. Before proceeding, be sure to set an Apache web apps password by running /root/apache-pw-change. Next, login to AvantFax with your browser. You first will be prompted for your Apache credentials. Enter admin for the username and whatever password you set up in the previous step. Then you will be prompted for your AvantFax credentials. The default is admin:password. After you enter the username and password, you will be prompted to change your admin password. The AvantFax dashboard then will display. If nothing has come unglued, you should see four green Idle icons:
You can Send Faxes from within AvantFax by choosing the Send Fax tab, or you can use one of many HylaFax clients. Google is your friend.
Configuring Inbound Routes for Fax Detection
Not all VoIP trunks support fax transmission, e.g. Vitelity. Assuming yours do and you’ll only know by trial and error, here’s how to configure FreePBX to automatically detect incoming faxes and process them for PDF delivery by email. First, make certain the Fax Configuration Module is enabled in Module Admin. Then, for each Inbound Route on which you wish to receive faxes, you’ll need to enable fax detection on each route.
Under the Fax tab of each Inbound Route, enter the following settings:
Detect Faxes: YES Fax Detection Type: SIP Fax Ring: YES Fax Detect Time: 4 Fax Destination: Custom Destinations -> Fax (Hylafax)
To try things out, send yourself a fax at no cost in the U.S. from FaxZero.
Using the GraphQL API Tool with Incredible PBX
Begin by installing the required GraphQL components:
pip3 install --pre gql[all]
Next, open the FreePBX GUI and navigate to Connectivity -> API. Select the Scope Visualizer tab and check Read/Write for ALL GraphQL Modules. Then select the GraphQL Explorer tab and click Reload Explorer. In the GraphiQL dialog, enter the following and press the Start arrow to list all of your extensions:
query { fetchAllExtensions { status message totalCount extension { extensionId } } }
For the complete tutorial on using GraphQL to list, edit, and populate virtually anything on your PBX, read this tutorial and review the Asterisk documentation for the GraphQL API.
Installing OPUS in the Oracle Cloud
Log into your server as root and issue the following commands:
rm /usr/lib64/asterisk/modules/codec_opus.so rm /usr/lib64/asterisk/modules/codec_opus_open_source.so rm /usr/lib64/asterisk/modules/res_format_attr_opus.so rm /usr/lib/asterisk/modules/codec_opus.so rm /usr/lib/asterisk/modules/format_ogg_opus*.so rm /usr/lib/asterisk/modules/res_format_attr_opus.so rm /usr/lib/asterisk/modules/codec_opus_open_source.so cd /usr/lib64/asterisk/modules wget http://incrediblepbx.com/opus-oracle.tar.gz tar zxvf opus-oracle.tar.gz rm opus-oracle.tar.gz fwconsole restart asterisk -rx "module show like opus" asterisk -rx "core show translation paths opus"
How Sausage Is Made AND Special Thanks
While our name is associated with this build, I want to give a special tip of the hat to the important contributions from Dick Ollett on the text-to-speech deployment, Bill Simon on the CDR/CEL implementation with ODBC, and @knerd for his GraphQL tips. AArch64 is a different beast, and we couldn’t have pulled this off without their assistance. If you’re ever curious how sausage is actually made in the open source development world, you can read all about it in this VoIP-Info.org Forum thread. THANK YOU! Should you ever need paid Asterisk consulting, these are our two go-to guys. You can find them on the forum, or you can contact us for a referral.
Originally published: Monday, May 30, 2022 Updated: Sunday, September 25, 2022
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.