Home » Technology (Page 6)

Category Archives: Technology

The Most Versatile VoIP Provider: FREE PORTING

VirtualBox Sandbox: Meet Incredible PBX for AlmaLinux 9



Don’t ask me why, but sometimes you just get the urge to try something new even though you expect to encounter a few land mines. Boy, did we. After Red Hat dropped support for the CentOS clone we all knew and loved, Rocky and AlmaLinux sprung to the rescue. While our Rocky 8 release has been well received, we never explored AlmaLinux until they announced the release of AlmaLinux 9, a clone of Red Hat Enterprise Linux 9 introduced in May, 2022.

One reason to explore new operating systems is to judge how well other components such as Asterisk® and FreePBX® are keeping up with the times. Suffice it to say, the future does not look encouraging. While Asterisk 20 has just been released, FreePBX 16 already is looking long in the tooth. For openers, it uses a node.js release that is 9 versions old. And then there’s PHP. FreePBX 15 required PHP 5.6 while FreePBX 16 relies upon PHP 7.4. The current shipping version of PHP is 8.1.10. Why does this matter? It matters because RHEL 9 and AlmaLinux 9 use SSL3 which wreaks all sorts of havoc using FreePBX 16. For example, downloading and upgrading FreePBX modules now is almost totally broken both in the GUI and using the fwconsole command-line tool. The only workaround is to issue the fwconsole command multiple times until one finally works thanks to a different bug in RHEL 9. Once that bug is addressed, FreePBX module downloads and upgrades will be a thing of the past. Thanks to one enterprising individual, we have managed to download and install most of the FreePBX modules with this script, but it was an hour-long process. Did we mention that Incredible PBX for AlmaLinux 9 is not suitable for production use? Don’t even think about doing it.

So why release Incredible PBX for AlmaLinux 9 at all? The short answer is that everyone deserves an opportunity to see where FreePBX is headed so that you can plan accordingly. Our suggestion is to stick with Incredible PBX 2021 with Debian 10 or Incredible PBX 2022 with Ubuntu 20.04 and enjoy a worry-free VoIP platform for the next 5 years. After that, either some of these issues will get addressed, or Sangoma will be history insofar as open source development is concerned.

If you’ve followed Nerd Vittles over the years, you already know that VirtualBox from Oracle® is one of our favorite platforms. Once VirtualBox is installed on any desktop computer except a new ARM-based Mac, adding Incredible PBX is a snap. Download the latest Incredible PBX for AlmaLinux 9 image from SourceForge, double-click on the downloaded image, and boom. In less than a minute, your PBX is ready to use with the very latest AlmaLinux 9 platform and Asterisk® 20 build plus all of the FreePBX® 16 GPL modules. There are no hidden fees or crippleware to hinder your use of Incredible PBX for as long as you like. If you set up an account with our Platinum provider, Skyetel, you can start making calls in minutes. Of course, the Incredible PBX feature set is included as well which brings you nearly three dozen applications for Asterisk® that will revolutionize your communications platform. Speech-to-text, voice recognition, and a Siri-like telephony interface are as close as your SIP phone. Test things out by dialing these numbers from any SIP phone on your PBX:

  • 123 – Schedule Reminders
  • 947 – Today’s Weather
  • 951 – News Headines
  • 53669 – Lenny for Spammers
  • 86329 – Today in History

Installing Oracle VM VirtualBox

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

NOTE: The Incredible PBX VM requires a VirtualBox 6 or 7 platform. Adjust screen size in View -> Virtual Screen.

Installing the Incredible PBX Image

To begin, download the Incredible PBX image (3.5 GB) onto your desktop.

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

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

Running Incredible PBX in VirtualBox

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


Here’s what you need to know. To work in the Incredible PBX virtual machine, just left-click your mouse while it is positioned inside the VM window. To return to your host operating system desktop, press the right Option key on Windows machines or the left Command key on any Intel-based Mac. On Linux desktops, press the right Ctrl key. For other operating systems, read the dialogue boxes for instructions on moving around. To access the Linux CLI, login as root with the default password: password. Change your root password when you are prompted to do so. Then update your admin password for web access: ./admin-pw-change. Also update your admin password for web applications: ./apache-pw-change. You’ll need these admin passwords to access the web GUI to manage your PBX as well as to use the AsteriDex and Reminders web apps. The above password updates are automatically requested when you first activate the virtual machine. You can update all of your other passwords using the scripts provided in /root.

Setting the Date and Time with VirtualBox

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

date 08130709
clock -w

Configuring Skyetel for Incredible PBX

If you’d like to try out the Skyetel service at no charge, here’s the drill. Sign up for Skyetel service to take advantage of the Nerd Vittles specials. 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 satisfied with the service, fund your account as desired, and Skyetel will match your deposit of up to $250 simply by opening another ticket. That gets you up to $500 of half-price calling. Credit is limited to one per person, company, and address. Effective 10/1/2023, $25/month minimum spend required.

Skyetel does not use 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:

  • Name: MyPBX
  • Priority: 1
  • IP Address: PBX-Public-IP-Address
  • Port: 5061
  • Protocol: UDP
  • Description: my.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 sign up for service) 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.

If VirtualBox is sitting behind a router or firewall on a private LAN, you’ll need to forward ports UDP 5060, 5061, and 10000-20000 in your router to the private LAN address of your Incredible PBX server. Also edit your extensions in the GUI and set NAT=YES in the Advanced tab of every extension. In Settings -> Asterisk SIP Settings, click the Detect Network Settings button and then Submit your changes and reload the Asterisk dialplan when prompted.


Finally, login to the FreePBX web GUI as admin using the password you assigned when you set up the virtual machine. Navigate to Connectivity -> Trunks and edit the Skyetel trunk. Change the Disable Trunk setting from Yes to No. Then click Submit and reload your dialplan when prompted. That’s it.

Configuring VoIP.ms for Incredible PBX

To sign up for VoIP.ms service, may we suggest you use our signup link so that Nerd Vittles gets a referral credit for your signup. Once your account is set up, you’ll need to set up a SIP SubAccount and, for Authentication Type, choose Static IP Authentication and enter your Incredible PBX 2020 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. For more details about VoIP.ms, see this Nerd Vittles tutorial.

Configuring SendMail with Incredible PBX

In order to receive voicemails by email delivery, outbound mail functionality from your server obviously is required. If you’ve deployed your server in your home, your Internet Service Provider probably blocks downstream mail servers such as Incredible PBX from sending mail. This is done to reduce SPAM. In this case, you will need to configure SendMail using either your ISP or Gmail as an SMTP Relay Host. We have built an install script to set up a SmartHost using Gmail. You’ll find it in the /root folder. Simply run it and insert your Gmail username and App Password.

Configuring a Softphone for Incredible PBX

We’re in the home stretch now. You can connect virtually any kind of telephone to your new PBX. Plain Old Phones require an analog telephone adapter (ATA) which can be a separate board in your computer from a company such as Digium (not recommended). Or it can be a standalone SIP device such as the Incredible PBX SIP phone. 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 in the Incredible PBX Wiki 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 navigating to Applicaations -> Extensions -> 701 in the FreePBX GUI.

Configuring Incredible PBX for VirtualBox

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

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

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

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

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

Using AsteriDex with Incredible PBX

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

Keeping FreePBX 16 Modules Current

For the reasons previously stated, we strongly discourage updating any of your FreePBX modules. Switch to a more stable platform as documented above when you’re ready to put Incredible PBX into production use.

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




 

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

The All-Purpose Device for Home or College-Bound Students



We won’t attempt to educate you on the feature set of Alexa devices other than to note that, in the words of Bob Dylan, "The Times They Are A-Changin’." What was once a device to provide a weather forecast, turn on your lights, lock your front door, and start your car can now function as a full-featured HD TV with an Echo Show 15 and one of your favorite streaming providers including Netflix, Sling, Hulu, and YouTube TV. And, if you didn’t know, Amazon Prime Day is upon us. While we had no insider information, we now can report the Echo Show 15 is discounted from its regular $249 price tag to $169.99. Of course, we would be remiss in not mentioning that Echo devices also can make free phone calls by simply saying, "Alexa, call 800-555-1212." Full Disclosure: As an Amazon Associate, Nerd Vittles earns commissions from qualifying purchases to keep the Nerd Vittles lights burning brightly.

We know you’re wondering whether the streaming TV is really up to the task. Having watched sports and news with YouTube TV on our Echo Show 15, my answer is a resounding YES. Our device sits atop the refrigerator in the kitchen and serves up recipes and timers while also delivering the latest TV shows and sporting events. After all, who can live without "Bachelor in Paradise" while cooking? And the design of the Echo Show 15 gives you the option of positioning it on an optional stand or affixing it to a wall with included mounting hardware.

Loading Hulu or Netflix is simple. Just tell Alexa to open the desired application and login with your credentials. Running YouTube TV on Alexa devices takes a bit of tweaking. Begin with the command: "Alexa, open YouTube." Once YouTube loads, click on the Options icon at the upper left corner of the display. YOUR BOOKMARKS will appear including YouTube.com. Tap the pencil icon and edit the YouTube web address so it looks like this: https://tv.youtube.com. Save your change. Then tap the YouTube.com bookmark to load YouTube TV. Once you log in with your credentials, you will have total access to your YouTube TV channels and your DVR saved recordings. Once you’ve reconfigured the YouTube bookmark, future access to YouTube TV is a three-step process: (1) Alexa, open YouTube (2) Tap Options icon at the upper left corner of the display (3) Tap YouTube.com bookmark.

Finally, Amazon has just announced that Fire TV will be added to the Echo Show 15 user interface later this year. This will allow you to stream TV shows, live news feeds, movies, and sports content. CNET reports that "according to Amazon, the upgrade will provide an additional selection of video titles from Paramount Plus, Showtime, Disney Plus and other platforms. New and existing Echo Show 15 owners will be able to take advantage of the Fire TV update, which will be available as an opt-in feature."

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




 

VirtualBox Wonder: It’s Incredible PBX for Debian 11




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

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

Installing Oracle VM VirtualBox

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

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

Installing the Incredible PBX for Debian 11 Image

To begin, download the Incredible PBX for Debian 11 image (3.7 GB) onto your desktop.

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

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

Running Incredible PBX for Debian 11 in VirtualBox

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

Here’s what you need to know. To work in the Incredible PBX virtual machine, just left-click your mouse while it is positioned inside the VM window. To return to your host operating system desktop, press the right Option key on Windows machines or the left Command key on any Mac. On Linux desktops, press the right Ctrl key. For other operating systems, read the dialogue boxes for instructions on moving around. To access the Linux CLI, login as root with the default password: password. Change your root password when you are prompted to do so. Then update your admin password for web access: ./admin-pw-change. Also update your admin password for web applications: ./apache-pw-change. You’ll need these admin passwords to access the web GUI to manage your PBX as well as to use the AsteriDex and Reminders web apps. The above password updates are automatically requested when you first activate the virtual machine. You can update all of your other passwords using the scripts provided in /root.

Setting the Date and Time with VirtualBox

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

date 08130709
clock -w

Configuring Skyetel for Incredible PBX

If you’d like to try out the Skyetel service at no charge, here’s the drill. Sign up for Skyetel service to take advantage of the Nerd Vittles specials. 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 satisfied with the service, fund your account as desired, and Skyetel will match your deposit of up to $250 simply by opening another ticket. That gets you up to $500 of half-price calling. Credit is limited to one per person, company, and address. Effective 10/1/2023, $25/month minimum spend required.

Skyetel by default does not use 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:

  • Name: MyPBX
  • Priority: 1
  • IP Address: PBX-Public-IP-Address
  • Port: 5060
  • Protocol: UDP
  • Description: my.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 sign up for service) 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.

If VirtualBox is sitting behind a router or firewall on a private LAN, you’ll need to forward ports UDP 5060 and 10000-20000 in your router to the private LAN address of your Incredible PBX server. Also edit your extensions in the GUI and set NAT=YES in the Advanced tab of every extension. In Settings -> Asterisk SIP Settings, click the Detect Network Settings button and then Submit your changes and reload the Asterisk dialplan when prompted.

Configuring VoIP.ms for Incredible PBX

To sign up for VoIP.ms service, may we suggest you use our signup link so that Nerd Vittles gets a referral credit for your signup. Once your account is set up, you’ll need to set up a SIP SubAccount and, for Authentication Type, choose Static IP Authentication and enter your Incredible PBX 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.

Configuring Anveo Direct for Incredible PBX

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

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

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

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

Configuring a Softphone for Incredible PBX

We’re in the home stretch now. You can connect virtually any kind of telephone to your new PBX. Plain Old Phones require an analog telephone adapter (ATA) which can be a separate board in your computer from a company such as Digium. Or it can be a standalone SIP device. 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.

Configuring Incredible PBX for VirtualBox

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

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

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

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

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

Using AsteriDex with Incredible PBX

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

Keeping FreePBX 15 Modules Current

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

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

Taking Incredible PBX for a Test Drive

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

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

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

Originally published: Monday, September 19, 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.
 




 

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

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.
 



It’s Debian 11, Asterisk 19, & FreePBX 16: Come And Get It



We’ve been on a roll since March Madness by adding Rocky 8 to the Incredible PBX® portfolio. In addition to a native installer, we also added a VirtualBox image, a 5-minute CrownCloud setup, an amazing cloud-based platform for just $25 a year, and an experimental Debian 11, Asterisk 19, and FreePBX 16 platform.

Now that fall is just around the corner, we have tweaked our three new Incredible PBX offerings: Debian 11, Asterisk® 19, and FreePBX® 16. So, if you pride yourself on your pioneering spirit, today’s your lucky day. When we’re finished, you’ll have the first ever Debian 11 platform running the latest releases of both Asterisk and FreePBX.


To get started, let’s first build a Debian 11 platform with Asterisk 18 and FreePBX 15. This is less bleeding edge technology which means better overall stability if you plan to put this into production. Download Debian 11 Minimal ISO from here. Or you can opt for a Debian 11 install at Vultr, Digital Ocean, CrownCloud, or RackNerd. Just follow the links on the Incredible PBX Wiki.

Once you have your Debian 11 platform up and running, log into your server as root using SSH and issue the following commands:

cd /root
wget http://incrediblepbx.com/IncrediblePBX2021-debian11.sh
chmod +x IncrediblePBX2021-debian11.sh
./IncrediblePBX2021-debian11.sh

Grab a cup of coffee and return in about 30 minutes. Once you reboot your server, you’ll be all set to begin your Incredible PBX adventure.

If you’d prefer to walk on the wild side, here’s how to upgrade your Debian 11 setup by installing the FreePBX 16 GPL modules and (optionally) Asterisk 19 in lieu of Asterisk 18 LTS:

cd /root
wget http://incrediblepbx.com/incrediblepbx2022-upgrade.tar.gz
tar zxvf incrediblepbx2022-upgrade.tar.gz
rm -f incrediblepbx2022-upgrade.tar.gz
./upgrade-to-IncrediblePBX2022

A prompt displays after the FreePBX 16 installation is finished and before the Asterisk 19 install begins. If you’d prefer to keep the Asterisk 18 LTS release on your server, press Ctrl-C.

Once the upgrade is finished, open the FreePBX GUI as admin and navigate to Admin -> Module Admin and remove the RestAPI module, upgrade and enable the SIPsettings module, and disable the Trunking module. Click the Apply Config button to load the changes.

From the Linux CLI, edit both php.ini files in /etc/php/7.4/cli and /etc/php/7.4/apache2. Uncomment the line that looks like this and change the 1000 value to 5000:

max_input_vars = 1000

Then restart Apache: systemctl restart apache2


You have probably noticed that the Incredible Fax components including HylaFax and AvantFax are not installed. Unfortunately, the Rocky 8 and Debian 11 platforms have broken the fax components. Don’t worry though. Somebody will appear out of nowhere and get things going again. So… stay tuned!

There are dozens of tutorials on the Incredible PBX Wiki to get you started if you’re new to all of this. Enjoy!

Originally published: Monday, April 4, 2022   Updated: August 30, 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.