Home » Incredible PBX » Raspberry Pi (Page 3)

Category Archives: Raspberry Pi

The Most Versatile VoIP Provider: FREE PORTING

Sangoma Beefs Up FreePBX Security… For a Price



We’ve lost count of the number of FreePBX® security breaches that were directly attributable to vulnerabilities in the FreePBX web interface. Suffice it to say, it was the reason that PBX in a Flash and Incredible PBX instituted the Travelin’ Man 3 firewall a decade ago hiding the FreePBX GUI from everyone except those on a whitelist controlled by the PBX administrator.

More than a decade later, Sangoma® finally introduces Multi-Factor Authentication (MFA) with two major gotchas. First, you have to pay for it. And second, it’s only available using Sangoma’s proprietary FreePBX platform rather than the open source release. There are so many things wrong with this greedy approach that we really don’t know where to begin.

For openers, offering a commercial MFA solution for a supposedly open source product is fundamentally wrong. Think of it this way. You only offer a safe version of your free product if users pay for it. Next, it demonstrates a fundamental misunderstanding of why two-factor authentication (2FA) and MFA have become ubiquitous. These tools provide an extra layer of security where users have no control over the underlying code of the application. For example, you don’t own PayPal or your bank’s platform so 2FA and MFA provide an extra layer of security for customers attempting to log into their accounts, to prove they are who they say they are using a previously registered cellphone or email account.

Contrast this scenario to those deploying FreePBX who have complete control of the underlying operating system and the FreePBX code itself. MFA doesn’t keep a disgruntled employee from gaining access to a server using an administrator password. MFA also provides zero protection against the myriad of security holes for which FreePBX has become infamous. In short, 2FA and MFA have a single task: allowing users to prove who they say they are by confirming their identity through an external source they control.

We believe Incredible PBX has always offered a better security solution for those that control their own PBX platforms. First, the Travelin’ Man 3 firewall lets you define exactly who can see your FreePBX GUI on the public Internet. If a user isn’t in the TM3 whitelist, they not only can’t login to the FreePBX GUI, they can’t even see it. Second, for the truly paranoid, you can add a third layer of security to the TM3 firewall and FreePBX authentication. Apache offers an additional login threshold for those seeking web access to any application over which the administrator has control. With Incredible PBX, it’s as simple as adding an additional freepbx.conf file in /etc/pbx/httpdconf and restarting Apache:

#Password protect /var/www/html/admin
<directory /var/www/html/admin>
AuthType Basic
AuthName "Restricted Area"
AuthUserFile /etc/pbx/wwwpasswd
Require valid-user
</directory>

An administrator then has control over server access with three layers of security: (1) TM3 firewall access using the add-ip and add-fqdn scripts in /root, (2) Apache access using the apache-pw-change script, and (3) FreePBX GUI access using the admin-pw-change script.

We believe this three-tier, administrator-managed security model offers better and safer protection not only for every user of the FreePBX platform but also for the platform itself. Most importantly, it is and always has been FREE! Start by choosing an Incredible PBX platform that best meets your requirements by visiting the Incredible PBX Wiki.

Originally published: Monday, December 5, 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.
 




 

SpeechGen.io: A Near Perfect TTS Offering for Asterisk



Over the years, we’ve covered numerous commercial and free text-to-speech (TTS) offerings for Asterisk® including gTTS, PicoTTS, Amazon’s Polly TTS, IBM TTS, Google TTS, FLITE, and Festival. But SpeechGen’s commercial offering sets it apart both in terms of quality and cost. At a $9.99 price point for 100,000 characters with an easy-to-deploy AGI interface, SpeechGen is almost a perfect fit for Asterisk TTS applications. If you decide to deploy SpeechGen after trying out our demo, we hope you’ll consider using our referral link which helps offset the cost of providing today’s Weather by ZIP Code demo for everyone:

For those who have deployed Incredible PBX, we have a one-minute install script which will put all the pieces in place to use SpeechGen with our News Headlines and Weather by ZIP Code applications. Simply issue the commands below after logging into your server as root. Next, edit speechgen.php and insert your SpeechGen API token and your email address. Then dial 951 or 947 from any extension connected to your PBX to retrieve today’s news headlines or weather forecast for any U.S. zip code.

cd /var/lib/asterisk/agi-bin
wget http://incrediblepbx.com/speechgen.tar.gz
tar zxvf speechgen.tar.gz
rm -f speechgen.tar.gz
./install-speechgen-dialplan.sh
nano -w speechgen.php

Send us your own TTS applications for Asterisk. We’d love to publish them.

Originally published: Monday, October 31, 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.
 




 

Incredible PBX for Debian 11: The Flexible Asterisk Solution


We enjoy some infrequent entertainment reading the latest Reddit posts about Incredible PBX®. The comments range from "stealing FreePBX®" to "they move too fast" to "there are too many add-ons, only some of which I use." Most of the naysayers, of course, post anonymously. From the general tenor, it’s pretty simple to conclude that most of these folks have little clue about how open source development works much less any understanding of GPL licensing. Others are probably affiliated with competitors. So, despite the temptation, we’ve heeded the advice of George Bernard Shaw to "never wrestle with a pig. You get dirty, and besides, the pig likes it."

Let’s spend a minute addressing the "move too fast" argument. Since COVID reared its ugly head, less than a handful of Asterisk® and FreePBX developers still reside in North America. Most are now citizens of India. While that’s not a bad thing, it does tell you that there is virtually no remaining institutional knowledge with regard to how Asterisk or FreePBX was constructed… or where the bodies are buried. That’s the primary reason that we created our own firewall solution many years ago because you never knew when a recent Sangoma® hire or contractor would change something that might cascade into a major security breach.
Sh*t Happens! So, yes, when it comes to security, we move quickly.

Then there’s the timetable for Asterisk and FreePBX development. New versions of Asterisk are released annually while FreePBX module updates occur almost every week. That is a slippery slope to navigate even for their own staff much less an outside entity with no access to development data. Sangoma has blurred the development process even further by restricting development ticket information to just their own employees. So, yes, when new FreePBX modules are released that blow something up because the Sangoma people didn’t catch the bug internally, we move quickly.

And finally there’s the RedHat elephant in the room which turned years of secure CentOS development on its ear. So, yes, we’ve scrambled to find operating system alternatives that are more trustworthy. The irony of all this is that, in my former life, heading up an IT development staff, telecom was the least of my worries because you could measure telecom stability in terms of decades, not years or months.

And that brings us to 2022 and where things stand. Our objective always has been to deliver a stable telecom solution that could run almost unattended for many, many years. In fact, our home system still runs on Vultr for $2.50 a month with CentOS 6, Asterisk 13, and FreePBX 13. Weekly backups push the monthly cost to $3.00, and it never hiccups. So, no, YOU DON’T HAVE TO UPGRADE YOUR PBX IF IT’S SECURE AND IT MEETS YOUR CURRENT NEEDS!

While we continue to support multiple operating systems including Rocky 8, Ubuntu 20.04, and the latest Raspberry Pi OS, our preferred and recommended platform is Debian. It’s rock-solid reliable and runs well on Cloud platforms. If you’re still running your PBX in house, you’ve got a Death Wish. Find a reputable cloud provider that offers backups and migrate to the Cloud. You’ll find numerous options on the Incredible PBX Wiki.

Last week we introduced the new Incredible PBX beta 2 release with Debian 11. While it’s not for everyone, it, too, is rock-solid now. It also offers three flexible install options. You can choose the base install with Debian 11, Asterisk 18 LTS, and FreePBX 15. Or you can upgrade to Debian 11, Asterisk 18 LTS, and FreePBX 16. Or you can upgrade to Debian 11, Asterisk 19, and FreePBX 16. Just keep in mind that Asterisk 19 is a one-year release that’s about to expire so our recommendation is to stick with Asterisk 18 LTS running with either FreePBX 15 or 16.

So, yes, we offer sensible choices on stable platforms with no commercial hooks. To simplify getting started, we add extensions, trunks, outbound and inbound routes, ring groups, conferencing, text-to-speech and speech-to-text with sample AGI scripts for News, Weather, Voice Dialing, and more. Then we test our solutions on over 40 servers that we maintain on premise and in the cloud and offer literally hundreds of Nerd Vittles tutorials to kickstart your VoIP adventure. If that’s your cup of tea, we hope you’ll come join the party. Otherwise, there are plenty of proprietary alternatives from which to choose.

They say seeing is believing so we’ve uploaded a VirtualBox image with Debian 11, Asterisk 18 LTS, and FreePBX 16 to SourceForge. Once you download it, the VirtualBox install takes about 3 minutes, and you’ll be up and running. Numerous tutorials on VirtualBox already are available on Nerd Vittles, and we’ll add one for Debian 11 next week. In the meantime, enjoy!

Originally published: Monday, April 5, 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.
 



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.
 



Happy Fourth: Our Gift to You — 17+ Years of Nerd Vittles


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.