Home » Posts tagged 'freepbx' (Page 22)

Tag Archives: freepbx

The Most Versatile VoIP Provider: FREE PORTING

R.I.P. GVSIP: A Final Farewell to Google Voice



It’s been a death by a thousand cuts, but today marks the end of the Google Voice era with Asterisk®. Since Google removed XMPP support and transitioned to their new GVSIP platform, many have held out hope that Google hadn’t moved to a purely commercial platform with their ObiHai deal. Yesterday, the head of the Google Voice project requested that all Asterisk GVSIP implementations be discontinued citing Google’s Terms of Service. We hinted this was coming back in July and have reproduced our tweet below. We have since removed all of our articles pertaining to GVSIP, and we would encourage all of our readers to honor Google’s wishes and move on. We’ve made it easy with a $50 gift certificate from Skyetel (expires March 31, 2019). It will buy you many months of free VoIP service.



You still have several options with your Google Voice trunks. First, you can forward all incoming calls to Google Voice to another phone or DID of your choosing. This costs you nothing other than a minute to set it up. Second, you can port out your Google Voice number to another provider. Skyetel will cover your porting expense at their end during your first 60 days of service. Google charges $3 to port out your number unless you originally ported it into Google in which case it is free. Here’s how. Although we’re not big fans, a third option is to purchase an OBi200 device and continue to use your Google Voice trunk with Asterisk. Our tutorial from last May will show you how. Effective 10/1/2023, $25/month minimum spend at Skyetel is required.

As we’ve mentioned often, the beauty of VoIP is not having to put all of your telephony eggs in a single basket. Google’s latest move reinforces how important it actually is to configure several VoIP trunks on your server. While Skyetel and Vitelity are both excellent primary trunks and rarely experience an outage, it’s still a good idea to have a backup. VoIP.ms (free iNUM), CircleNet, CallCentric ($1/mo. DID and iNUM), LocalPhone (25¢/mo. iNUM), Future-Nine, AnveoDirect, and V1VoIP are excellent options. Most don’t cost you anything unless you make calls. Review our complete SIP tutorial here: Developing a Cost-Effective SIP Strategy.

Dale Carnegie Award: ObiHai Man of the Year

Originally published: Friday, November 16, 2018



Need help with Asterisk? Join our new MeWe Support Site.


 

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.
 



Free Asterisk Voicemail Transcription with IBM Watson STT



There are many commercial voicemail transcription services for Asterisk® PBXs, but none hold a candle to the speech-to-text (STT) quality of the IBM Cloud offering known as Watson® STT, formerly known as Bluemix TTS. Despite a recent price increase that takes effect in December, the pricing remains competitive. On the Standard Pricing Plan, voicemail transcription is 2¢ per minute. Or you can try things out on the LITE plan which offers 100 minutes a month at no cost. When the messages are delivered by email, you get the voicemail recording in MP3 format AND transcribed text courtesy of Watson TTS. With IBM services, there no longer are username:password credentials. Instead, you will have a new apikey.

Those with existing configurations can update your credentials by inserting a new apikey using the following commands, or you can simply insert apikey as your $API_USERNAME and enter your actual APIkey as your $API_PASSWORD.

cd /usr/local/sbin
sed -i 's|$API_USERNAME:$API_PASSWORD|"apikey:x-yy-zzz"|' sendmailmp3
sed -i 's|$API_USERNAME:$API_PASSWORD|"apikey:x-yy-zzz"|' bluemix-test

IBM Cloud’s STT solution is a real game-changer for one simple reason. Their STT API performs more accurately than any speech recognition engine in the world. As an added bonus, you won’t have to worry about Google breaking our middleware every month. It’s worth noting that IBM doesn’t round up minutes. Transcribing two 30-second messages counts as one minute.



Overview. What we’ve done today is integrate the Watson STT API directly into existing Asterisk voicemail systems. We started with Nicolas Bernaerts’ terrific sendmailmp3 script. It works on both the Wazo and FreePBX® platforms. If you have deployed Incredible PBX®, then the setup takes a couple of minutes. For everyone else, there’s an additional configuration step using your favorite GUI. To get started, you’ll sign up for an IBM Cloud account and obtain your credentials. Next, you download today’s script for your platform and insert your credentials. Finally, you set up voicemail on the extensions desired and insert an email address for each voicemail account. On generic FreePBX systems, you’ll need to add the name of our script to manage your voicemail recordings. And, regardless of your PBX platform, you obviously need outgoing SMTP email working reliably.

Start by sending yourself a test email and get that working first:

echo "test" | mail -s testmessage yourname@your-email-domain.com

What About the Quality? Here’s the bottom line. Speech recognition isn’t all that useful if it fails miserably in recognizing everyday speech. The good news is that IBM Watson’s speech recognition engine is now the best in the business. If you want more details, read the article below which will walk you through IBM’s latest speech recognition breakthrough:


Obtaining IBM Cloud Speech to Text Credentials

Follow this link to set up your IBM account and obtain credentials for both Speech to Text (STT) and Text to Speech (TTS) services. Please note that your STT and TTS API keys will NOT be the same. So don’t accidentally use the wrong one.

 

Installing STT Engine with Incredible PBX for Wazo

1. After logging into your Incredible PBX for Wazo server as root using SSH/Putty:

cd /usr/sbin
wget http://incrediblepbx.com/sendmailibm.tar.gz
tar zxvf sendmailibm.tar.gz
rm -f sendmailibm.tar.gz

2. Edit sendmailibm and insert IBM STT API_KEY and URL.

3. Edit bluemix-test and insert IBM STT API_KEY and URL.

4. Apply the patch documented above if using LITE plan using sendmail filename instead of sendmailmp3.

5. Copy the updated sendmailibm file to sendmail:

cd /usr/sbin
cp -p sendmailibm sendmail

6. Test your Bluemix STT setup: bluemix-test

7. Result should be: please record your message after the beep

8. Set up voicemail account for a Wazo extension with your email address.

9. Place a test call to the extension and record a voicemail when prompted.

10. Your message will be transcribed and delivered via email.

 

Installing STT Engine with Incredible PBX for RasPi

1. After logging into your Raspberry Pi server as root using SSH/Putty:

cd /usr/sbin
wget http://incrediblepbx.com/sendmailibm-raspi.tar.gz
tar zxvf sendmailibm-raspi.tar.gz
rm -f sendmailibm-raspi.tar.gz

2. Edit sendmailmp3.ibm and insert your Bluemix STT API_KEY and URL. Save file.

3. Edit bluemix-test and insert your Bluemix STT API_KEY and URL. Save the file.

4. Copy the updated sendmailmp3.ibm file to sendmailmp3:

cd /usr/sbin
cp -p sendmailmp3.ibm sendmailmp3

5. Apply the patch documented above if using LITE plan.

6. Test your Bluemix STT setup: bluemix-test

7. Result should be: your dictation is now being processed and emailed please wait

8. Set up voicemail for a RasPi extension with your email address.

9. Place a test call to the extension and record a voicemail when prompted.

10. Your message will be transcribed and delivered via email.

 

Installing STT Engine with Incredible PBX 13-13

1. After logging into your Incredible PBX 13 server as root using SSH/Putty:

cd /usr/local/sbin
wget http://incrediblepbx.com/sendmailibm-13.tar.gz
tar zxvf sendmailibm-13.tar.gz
rm -f sendmailibm-13.tar.gz

2. Edit sendmailmp3.ibm and insert your IBM STT API_KEY and URL. Save file.

3. Edit bluemix-test and insert your IBM STT API_KEY and URL. Save the file.

4. Copy the updated sendmailmp3.ibm file to sendmailmp3:

cd /usr/local/sbin
cp -p sendmailmp3.ibm sendmailmp3

5. Test your Bluemix STT setup: bluemix-test

6. Result should be: we are now transferring you out of the company directory…

7. Set up voicemail for an extension and include your email address.

8. Place a test call to the extension and record a voicemail when prompted.

9. Your message will be transcribed and delivered via email.

 

Installing STT Engine with VitalPBX

For those using VitalPBX with or without Incredible PBX, we’ve written a new tutorial to walk you through the procedure to get voicemail transcription with IBM Watson STT up and running. Here’s the link.

Installing STT Engine with Legacy FreePBX Servers

1. Follow steps #1 through #8 from the Incredible PBX 13 tutorial above.

2. Choose Settings -> Voicemail Admin -> Settings in the GUI.

3. In the format field, insert: wav|wav49

4. In the mailcmd field, insert: /usr/local/sbin/sendmailmp3

5. Click Submit to save your settings and then Reload the FreePBX Dialplan.

6. Place a test call to the extension and record a voicemail when prompted.

7. Your message will be transcribed and delivered via email.

Update: Matt Darnell reports that, depending upon your existing setup, you may need to add the unix2dos and lame packages with legacy FreePBX servers to get MP3 messages delivered correctly.

 

Originally published: Monday, March 12, 2018  Updated: Monday, November 12, 2018





Need help with Asterisk? Visit the PBX in a Flash 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.
 



Some Recent Nerd Vittles Articles of Interest…

Double-NAT Blues: Tackling Asterisk’s Thorniest Problems


Whether you’re new to VoIP technology or an Old Timer, nothing is quite as frustrating as wrestling with one-way audio and no audio on SIP calls either because of poorly designed NAT-based routers or poorly implemented SIP ALG solutions on low-end residential routers. To make matters worse, you get to deal with calls originating behind not one, but two, NAT-based routers neither of which complies with the basic SIP Rules of the Road. In a perfect world, SIP and RTP packets arriving from the Internet would have their public IP address translated into a private LAN address upon arrival at the NAT-based router. And the departing packets would have their private IP addresses translated into the public IP address of the router when leaving. If your PBX and SIP phone happen to be behind different NAT-based routers and hardware from the likes of Comcast, Spectrum, and AT&T, the odds of SIP calls working reliably are somewhere between slim and none. Perhaps it’s no coincidence that each of these providers also happens to offer competing (expensive) telephony service.

Today we’d like to offer some Asterisk® solutions that resolve these issues. First, if you are the subscriber to cable or DSL Internet service, you may have some success by talking to your provider and persuading them to set up their hardware in bridged mode so that you can install your own NAT-based router that properly handles SIP traffic. Second, it’s almost always a good idea to disable SIP ALG service on routers that you control. The reason is because of the poor ALG implementations on almost all low-cost routers. Third, configuring the Public and Private IP NAT Settings for your PBX using the FreePBX® GUI (Settings->Asterisk SIP Settings->NAT Settings) often solves the problems. Fourth, make sure NAT=yes is set in your extension and trunk settings.

If you happen to be traveling and have no control over the network architecture, the chances of the above recommendations resolving your SIP problems are not likely. This includes offerings in hotels, rental units, cruise ships, and WiFi HotSpots worldwide. In most of these locations, you would want to use a SIP phone to connect back to your home or office PBX so that you could receive incoming calls and place outbound calls just as if you were sitting at your desk at home. In these situations, we have a failsafe solution for you, but it requires a little advance planning because you need to configure your home or office Asterisk server to support the design.

The easiest way to eliminate NAT problems is to take NAT out of the equation when making and receiving SIP calls. With Asterisk, this is easy. What we typically do is interconnect the home or office Asterisk PBX with a local Asterisk PBX using an IAX2 trunk. Thus, no SIP traffic passes between your local PBX and your home or office PBX regardless of the number of layers of routers that are present between the two servers. If you can make SIP calls through a provider while sitting at home, you have solved the SIP connectivity issues at the home/office end. If your local PBX and SIP phone or softphone are on the same local LAN whether wired or wireless, then there is no SIP connectivity issue locally either. So how?

Rule #1: Always travel with a notebook computer that includes VirtualBox and a reliable SIP softphone. We’re big fans of all of the Mac notebooks, any of them will suffice. Windows and Linux notebooks work as well. Steer clear of Chromebooks which lack a crucial Linux kernel driver required by VirtualBox. There’s a solution, but it’s painful. On the Mac platform, you can’t beat the free Telephone app for your SIP phone.

Rule #2: Set up a NeoRouter VPN to provide secure interconnectivity between your home or office PBX and your local PBX. With Incredible PBX platforms, the NeoRouter client is included. You’ll just need to install the NeoRouter server component on some server with a public IP address. Complete details are here. To obtain a NeoRouter private IP address on each PBX, run this command after logging in as root: nrclientcmd.

Configuring IAX Trunk on Home/Office Server. You’ll need the NeoRouter IP address and a secure password to set up the trunk that will interconnect your Home-PBX with your local PBX. We’re going to refer to the two servers as Home-PBX (10.0.0.1) and Travel-PBX (10.0.0.2) to keep things simple. On the Home-PBX, create an IAX trunk using the FreePBX GUI with a Trunk Name of Travel-PBX. The PEER Details should look like the following using a very secure password that will be used on the trunk at the other end as well:

type=friend
secret=very-secure-password
host=dynamic
context=from-internal
requirecalltoken=no
deny=0.0.0.0/0.0.0.0
permit=0.0.0.0/0.0.0.0

The Registration String would look like the following where very-secure-password is your actual shared secret for the two trunks and 10.0.0.2 is the actual VirtualBox IP address of the Travel-PBX: Home-PBX:very-secure-password@10.0.0.2

Configuring IAX Trunk on Travel-PBX Server. You’ll need the NeoRouter IP address and a secure password to set up the trunk that will interconnect your Travel-PBX server with your Home-PBX. On the Travel-PBX, create an IAX trunk using the FreePBX GUI with a Trunk Name of Home-PBX. The PEER Details should look like the following using a very secure password that will be used on the trunk at the other end as well:

type=friend
secret=very-secure-password
host=dynamic
context=from-internal
requirecalltoken=no
deny=0.0.0.0/0.0.0.0
permit=0.0.0.0/0.0.0.0

The Registration String would look like the following where very-secure-password is your actual shared secret for the two trunks and 10.0.0.1 is the actual VirtualBox IP address of the Home-PBX: Travel-PBX:very-secure-password@10.0.0.1

Once you get this far, log into both servers as root and start up the Asterisk CLI. On each server, issue the following command to be sure the two trunks are registered with each other: iax2 show registry

Routing Calls from Home-PBX to Travel-PBX. What follows is one scenario for call routing. We’re assuming calls to your Home-PBX are routed to a Ring Group consisting of various extensions in your home or office. We’re also assuming you want to now add an extension on Travel-PBX to that Ring Group so that incoming calls to your Home-PBX will also ring the softphone connected to an extension on your Travel-PBX. In the Asterisk/FreePBX world, we accomplish this by adding an Outbound Route for the Travel-PBX extension and then adding this number to the Ring Group with a # prefix to tell FreePBX that it’s a trunk call rather than a local extension. In our example, we’re assuming the softphone extension on Travel-PBX is 701, but we’re also assuming there is a different extension 701 on Home-PBX. To avoid confusing the Home-PBX, we’ll add a 7 prefix for the Travel-PBX extension and then strip it off before passing the call to Travel-PBX.

First, create an Outbound Route called Travel-PBX-Out. For the Dial Pattern, enter a Prefix of 7 and a Match Pattern of 701. For the Trunk Sequence, choose Travel-PBX. Move the Outbound Route near the top of your route list to assure that it gets processed before any other 4-digit extensions. Second, edit your Ring Group and add 7701# to the existing list.

Routing Calls from Travel-PBX to Home-PBX. On the Travel-PBX, we’re assuming you’d like calls placed from your softphone to be processed exactly as if you were calling from a local extension on Home-PBX. Create an Outbound Route called Home-PBX-Out. For the Dial Patterns, add one for 10-digit calls: NXXNXXXXXX. If you want to be able to reach 3-digit extensions on Home-PBX, add a second dial pattern with a 9 prefix and XXX for the Match Pattern so it doesn’t conflict with local extensions. For Trunk Sequence, choose Home-PBX.

Originally published: Monday, August 20, 2018


Support Issues. With any application as sophisticated as this one, you’re bound to have questions. Blog comments are a terrible place to handle support issues although we welcome general comments about our articles and software. If you have particular support issues, we encourage you to get actively involved in the PBX in a Flash Forums. It’s the best Asterisk tech support site in the business, and it’s all free! Please have a look and post your support questions there. Unlike some forums, ours is extremely friendly and is supported by literally hundreds of Asterisk gurus and thousands of users just like you. You won’t have to wait long for an answer to your question.



Need help with Asterisk? Visit the PBX in a Flash 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.
 



Some Recent Nerd Vittles Articles of Interest…

Introducing the GPL Toolkit for FreePBX and Incredible PBX



We’ve been scratching our head for a good way to commemorate Micro$oft’s $7.5 billion purchase of GitHub which has served as the linchpin of the open source development community for many years. We’ll leave it to others and history to judge whether this was a good idea or not. What we came up with was a GPL Toolkit for Incredible PBX 13-13 that makes it child’s play to upgrade FreePBX® GPL modules in our Incredible PBX® 13-13 offerings for CentOS/SL, Ubuntu, and Raspbian using the FreePBX GitHub repository. Because Incredible PBX platforms don’t use module signature checking, it was fairly simple to design an upgrade methodology that leverages the FreePBX 13 module offerings posted on GitHub. While these modules would cause all sorts of module signature alarms to go off if used with other distributions, with Incredible PBX, implementation is straight-forward and painless.

To get started, log into your Incredible PBX 13-13 server as root and issue the following commands to download the GPL Toolkit:

cd /root
wget http://incrediblepbx.com/gpl-toolkit.tar.gz
tar zxvf gpl-toolkit.tar.gz
rm -f gpl-toolkit.tar.gz

Once the install finishes, you’ll end up with 7 scripts: gpl-module-list-full, gpl-module-list-fpbx, gpl-module-list-contrib, gpl-download-fpbx, gpl-download-contrib, gpl-install-fpbx, and gpl-install-contrib. As the names suggest, the gpl-module-list-full provides a simple way to list ALL FreePBX GPL modules (Sangoma-produced and contributor-produced) which are available for download from GitHub. And that will be your starting point whenever you wish to install or upgrade a FreePBX module in Incredible PBX 13-13. You will note that modules fall into one of two categories: fpbx or contrib. The reason is because Sangoma has chosen to store the modules in two separate user accounts on GitHub. So you first must decipher which repo houses the module you wish to download or install. Once you’ve figured that out, you can choose to either manually download and install the module (gpl-download) or automatically download and install the module (gpl-install). The syntax is simple. Use either /root/gpl-install-fpbx modulename for Sangoma-produced modules or /root/gpl-install-contrib modulename for contributor-produced modules.

Cautionary Notes. Updating a few FreePBX modules may cause problems with Incredible PBX 13-13 because of modifications that were made when the distribution was initially developed. So steer clear of the modules blocked by the install script. Aside from those few exceptions, the remaining modules should work well without causing any problems. Be advised that you should always update the framework module before attempting to update the core module. We’ve tested all of the Sangoma releases shown below, but that’s not to say something can’t come unglued down the road. With contributor-produced modules, Sangoma doesn’t vouch for them, and neither do we. HINT: It is ALWAYS a good idea to make a good backup of your server before venturing into uncharted territory.



Adding a few FreePBX modules may reset the Module Signature Checking flag. If this should happen to you, simply reset the Enable Module Signature Checking flag to NO in Settings: Advanced Settings. If this doesn’t fix the issue, issue the following command after logging into your server as root: /root/sig-fix

Taking the GPL Toolkit for a Spin. There have been some reported bugs in a few of the default Sangoma-produced modules in the Incredible PBX 13-13 build so let’s tackle those to demonstrate how easy this new upgrade process actually is. Using the gpl-module-list-full script, we would have deciphered the names of the modules we wanted to upgrade as superfecta, bulkhandler, and phonebook. So, after logging into your server as root, issue these gplinstall commands:

/root/gpl-install-fpbx superfecta
/root/gpl-install-fpbx bulkhandler
/root/gpl-install-fpbx phonebook

Where To Go From Here? The next step in your adventure should be to learn a bit about each of the available GPL modules for FreePBX including when each module was last updated. You can do that by visiting Sangoma’s FreePBX repo on GitHub and the FreePBX contributor’s repo on GitHub. We’ve always found it’s a smart idea to build a second Incredible PBX 13-13 server with either VirtualBox or an inexpensive cloud facility to use as a sandbox for experimentation. There are lots of Nerd Vittles articles to show you how. Then you don’t have to worry about damaging your production server until you first have verified that the upgrades don’t introduce problems of their own. Enjoy!

Originally published: Thursday, June 14, 2018  Updated: Friday, August 17, 2018


Support Issues. With any application as sophisticated as this one, you’re bound to have questions. Blog comments are a terrible place to handle support issues although we welcome general comments about our articles and software. If you have particular support issues, we encourage you to get actively involved in the PBX in a Flash Forums. It’s the best Asterisk tech support site in the business, and it’s all free! Please have a look and post your support questions there. Unlike some forums, ours is extremely friendly and is supported by literally hundreds of Asterisk gurus and thousands of users just like you. You won’t have to wait long for an answer to your question.



Need help with Asterisk? Visit the PBX in a Flash 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.
 



Some Recent Nerd Vittles Articles of Interest…

Desktop Dream Machine: It’s Incredible PBX for VirtualBox




If you’re new to the VoIP world or just getting started with Google’s latest Google Voice creation, then we have a one minute setup solution today that doesn’t require you to buy anything ever. You can use almost any desktop computer you already own to bring up the VirtualBox® edition of Incredible PBX® in less than 60 seconds. Take another minute or two to install a Google Voice trunk, and you’ll have free calling in the U.S. and Canada until the cows come home. 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 our new GVSIP vbox image from SourceForge, double-click on the downloaded image, check the initialize MAC address box, and boom. In less than a minute, your PBX is ready to use. The really nice thing about playing along today is it won’t cost you a dime to try things out for yourself. And, if you really love it and we think you will, there’s no hidden fee or crippleware to hinder your continued use of Incredible PBX for as long as you like. Of course, the Incredible PBX feature set is included as well which brings you nearly three dozen applications for Asterisk® that will revolutionize your communications platform. Just add your credentials and speech-to-text, voice recognition, and a Siri-like telephony interface are as close as your nearest 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 any desktop operating system. 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 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.

Installing Incredible PBX 13-13 with GVSIP

To begin, download the Incredible PBX vbox image (2.3 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 and then click Import. Once the import is finished, you’ll see a new Incredible PBX 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 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 Mac. 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 passwords immediately by typing: /root/update-passwords.

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. Typing date will tell you whether your VM is affected. If it’s a problem, manually set the date and time and then update the hardware clock. Here’s how assuming 08130709 is the month, day, and correct time of your server:

date 08130709
clock -w

Obtaining Google Voice Credentials for GVSIP

You’ll need at least one dedicated Google Voice account to use the new Incredible PBX implementation of GVSIP with Asterisk. If you’re new to all of this, our Getting Started with Google Voice tutorial will walk you through setting up an account and obtaining your OAuth 2 refresh token for GVSIP.

Creating GVSIP Trunks with Incredible PBX

With your Google Voice refresh token and 10-digit phone number in hand, you’re ready to add the GVSIP trunk to your PBX. While logged into the Linux CLI as root, issue the following command: gvsip-naf/install-gvsip

You’ll be prompted whether you wish to create a GVSIP trunk, Type y and enter your refresh_token and 10-digit phone number for your existing Google Voice trunk. For each trunk, the installer will create the necessary code to support a PJSIP trunk and a GVSIPn Custom Trunk to use for outbound routing. To add additional trunks, simply run the installer again. Adding a new trunk takes about 10 seconds.

Should you ever want to refresh the patched version of Asterisk, copy pjsip_custom.conf from /etc/asterisk to a safe place, delete the contents of pjsip_custom.conf, rerun the installer, and then copy your version of pjsip_custom.conf back to /etc/asterisk and restart Asterisk: amportal restart. That way you won’t lose your previously configured trunks.

If you ever need to delete a GVSIP trunk that you previously have added, we’ve included a script which will perform the task for you. Just run del-trunk and specify the trunk to delete.

Once you have multiple GVSIP trunks on your PBX, we’ve added a utility to make it easy to decipher which trunk number is associated with each Google Voice trunk. Simply run: gvsip-naf/show-trunks

Configuring an Inbound Route for GVSIP Trunks

By default, incoming calls to GVSIP trunks on Incredible PBX servers will be sent to the Default Inbound Route configured on your PBX. As initially installed, that Default route points to Allison’s Demo IVR. This can be changed easily in the FreePBX GUI by modifying the Destination for the Default inbound route in Connectivity:Inbound Routes.

On other server platforms, you may not have a Default inbound route configured so you will need to create an inbound route to handle calls from each GVSIP trunk. Regardless of your server platform, we strongly recommend adding an Inbound Route for every GVSIP trunk using the 10-digit GVSIP phone number as the DID for the inbound route. Here’s an example of an Inbound Route created in Connectivity:Inbound Routes:Add Inbound Route:

If you have installed the Incredible Fax add-on, you can enable Fax Detection under the Fax tab. And, if you’d like CallerID Name lookups using CallerID Superfecta, you can enable it under the Other tab before saving your setup and reloading your dialplan.

Configuring an Outbound Route for GVSIP Trunks

By default, you cannot place outbound calls using your new GVSIP trunks. For each trunk, you first will need to create an Outbound Route specifying a Dial Pattern to use with each GVSIP trunk in Connectivity:Outbound Routes:Add Outbound Route. If you only have a single Google Voice trunk on your PBX and no other trunks, then you would probably want to specify that outbound calls be routed out the GVSIP1 trunk with a Dial Pattern of NXXNXXXXXX with 1 as the Prepend. This tells FreePBX to dial 18005551212 using the GVSIP1 trunk when a PBX user dials 8005551212. Google only accepts calls that include a country code (1=US/CAN).

HINT: If you ever forget which GVSIP trunks are associated with which phone numbers, simply run /root/gvsip-naf/del-trunk for a list of your trunks. Just press ENTER to exit without deleting any of your trunks.

There are a million ways to design outbound calling schemes on PBXs with multiple trunks. One of the simplest ways is to use no dial prefix for the primary trunk and then use dialing prefixes for the remaining trunks. As part of the install, the dialing prefixes of *41 through *49 were reserved for GVSIP trunks if you would like to use them. That’s totally up to you. Here’s what an Outbound Route would look like using this scheme for the GVSIP2 trunk:




Another outbound calling scheme would be to assign specific DIDs to individual extensions on your PBX. Here you could use NXXNXXXXXX with the 1 Prepend as the Dial Pattern with every Outbound Route and change the Extension Number in the CallerID field of the Dial Pattern. With this setup, you’d need a separate Outbound Route for each group of extensions using a specific trunk on your PBX. Additional dial patterns can be added for each extension designated for a particular trunk. A lower priority Outbound Route then could be added without a CallerID entry to cover extensions that weren’t restricted or specified.

HINT: Keep in mind that Outbound Routes are processed by FreePBX in top-down order. The first route with a matching dial pattern is the trunk that is selected to place the outbound call. No other outbound routes are ever used even if the call fails or the trunk is unavailable. To avoid failed calls, consider adding additional trunks to the Trunk Sequence in every outbound route. In summary, if you have multiple routes with the exact same dial pattern, then the match nearest to the top of the Outbound Route list wins. You can rearrange the order of the outbound routes by dragging them into any sequence desired.

Configuring Incredible PBX for Incredible PBX

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.

NOV. 1 UPDATE: IBM has moved the goal posts effective December 1, 2018:

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 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.

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: Tuesday, August 14, 2018



Need help with Asterisk? Join our new MeWe Support Site.


 

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. []

One Minute Cloud VPS: Meet Incredible PBX for HiFormance

Dec. 17 Update: Before signing up for HiFormance service, read the latest update on this provider here.

Part of the challenge of deploying an Asterisk®-based server on a cloud platform is getting all of 1,000+ pieces in place without a hiccup during the installation. Particularly for first-time users of a VoIP platform, this can be problematic. HiFormance is one of our favorite low-cost cloud providers, and today they’re introducing something that no other cloud provider offers: a configured Incredible PBX 13-13 VPS that’s ready to accept calls in under a minute. We’ve been inching toward a new low-cost plateau for VoIP cloud providers, and today we have a new milestone that finally makes running VoIP servers out of your home or office look like the horse-and-buggy days.

$10 to $13 a year now buys you a cloud platform that is less expensive than the cost of electricity to run a server on premise. You get 2GB of RAM, 20GB of SSD storage, two virtual core processors, and 2TB of monthly bandwidth. If you prepay for 3 years, you can double either the RAM or SSD storage by simply opening a ticket after you sign up. The $10/year offering is in limited supply and gives you your choice of the following sites: L.A., Buffalo, or Dallas. The $13/year offering adds the following additional sites: Chicago, Atlanta, and New York. It’s a near perfect platform for Incredible PBX 13-13 with CentOS 6.9. Add a Google Voice trunk and you get unlimited calling in the U.S. and Canada combined with a feature set that you’ll be hard-pressed to find on any PBX at any price. Putting all the pieces in place is about as simple as preparing slice-and-bake cookies, and you’ll be up and running before the cookies come out of the oven. Skip that hamburger lunch and come join the party!



So what’s the catch? Well, there’s no catch with Incredible PBX 13-13 and CentOS 6.9. This HiFormance platform uses OpenVZ with SolusVM. Someone always asks, "If the platform is so great, why aren’t you using it?" And our answer is we are. We have deployed HiFormance cloud-based VoIP servers running Incredible PBX 13-13 in Atlanta, Buffalo, Chicago, and Los Angeles without any hiccups in service. Performance is excellent. Support is excellent. So run, don’t walk, to sign up for one of these before they’re all gone. You won’t be disappointed. Just fill out the entries as shown above once you log into the HiFormance site. Nerd Vittles receives no commissions from signups.

June 20 Update: For those of you on the West Coast and readers in the Far East, we are pleased to announce that HiFormance has extended the Incredible PBX offer to their new $1/month VZ-2019 platform featuring 4GB RAM, 20GB SSD storage, 4TB of bandwidth, and DDOS protection at the QuadraNet Los Angeles data center. As with the other offers, you can double the bandwidth or storage by prepaying for three years in advance and opening a ticket. For those in the Far East, you can upgrade to the Asia Optimized CN2, Los Angeles offering for an additional $10.99 a year.

Getting Started with Incredible PBX 13-13

Once you’ve signed up for an account, choose a location for your server and select Incredible PBX 13-13 as your "operating system." It’s a preconfigured implementation that uses the latest CentOS 6.9 platform. Once you receive your credentials by email, login to your SolusVM Control Panel with a browser. Click the Manage tab for your virtual machine. In the Settings tab at the bottom of the control panel, turn TUN/TAP ON if you plan to use the NeoRouter VPN. Next, click the Root/Admin Password tab and set a default root password for your virtual machine. Take a look around in the control panel while you’re there. This is where you’d return if you need to restart your virtual machine or if you wish to reinstall your virtual machine with the same or a different operating system.




 

Now that your virtual machine is up and running, log into your server with SSH as root and type YES to get started. Be sure to log in from a desktop machine that you plan to use to manage your server since this IP address will be whitelisted. You’ll be prompted to immediately change all of your passwords. When the setup finishes, just type "reboot" to reboot your server. Log back in as root and the Automatic Update Utility will bring your server up to current specs. If you’re not in the Eastern U.S. time zone, type: /root/timezone-setup. Then you’re ready to go.

One of the unique features of Incredible PBX 13-13 is that most of the major components of the aggregation including Asterisk were compiled from source, and the source code is actually on your server. The advantage is you can quickly make any future modifications desired to meet your own unique requirements. You won’t find this in any other VoIP implementation. For example, here’s all it takes to upgrade to the very latest release of Asterisk. As with the current version, both support SRTP encrypted communications!

cd /usr/src
rm -rf asterisk-13.21.0
wget http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-13.21.1.tar.gz
tar zxvf asterisk-13.21.1.tar.gz
mv asterisk-13.21.1.tar.gz /tmp
cd asterisk-13.21.1
contrib/scripts/get_mp3_source.sh
 mv res/res_xmpp.c res/res_xmpp.c.orig
 wget http://incrediblepbx.com/res_xmpp-13.tar.gz
 tar zxvf res_xmpp-13.tar.gz
 cp -p res/res_xmpp.c res/res_xmpp.c.oauth
make distclean
wget http://incrediblepbx.com/menuselect-incredible13.8.tar.gz
tar zxvf menuselect-incredible*
rm -f menuselect-incredible*
wget https://issues.asterisk.org/jira/secure/attachment/54233/srtp_aead_and_big_aes.patch
wget http://incrediblepbx.com/srtp_aead_and_big_aes.patch.patch
patch -p0 < ./srtp_aead_and_big_aes.patch.patch
patch -p0 <./srtp_aead_and_big_aes.patch
CFLAGS='-DENABLE_SRTP_AES_256 -DENABLE_SRTP_AES_GCM' ./configure --libdir=/usr/lib64 --with-pjproject-bundled
 make menuselect.makeopts
 menuselect/menuselect --enable-category MENUSELECT_ADDONS menuselect.makeopts
 menuselect/menuselect --enable-category MENUSELECT_CODECS menuselect.makeopts
 menuselect/menuselect --disable-category MENUSELECT_TESTS menuselect.makeopts
 menuselect/menuselect --enable CORE-SOUNDS-EN-GSM --enable MOH-OPSOUND-WAV --enable EXTRA-SOUNDS-EN-GSM --enable cdr_mysql menuselect.makeopts
 menuselect/menuselect --disable app_mysql --disable app_setcallerid --disable func_audiohookinherit --disable res_fax_spandsp menuselect.makeopts
 menuselect/menuselect --disable test_named_lock --disable test_res_pjsip_scheduler --disable test_file --disable test_bridging --disable test_res_pjsip_scheduler menuselect.makeopts
 sed -i 's|march=native|mtune=native|' Makefile.rules
expect -c 'set timeout 60;spawn make menuselect;expect "Save";send "\t\t\r";interact'
make
make install
ldconfig
cd /usr/src/Asterisk-Flite-2.2-rc1-flite1.3
make clean
make
make install
amportal restart

WebMin is also installed and configured as part of the base install. The root password for access is the same as your Linux root password. We strongly recommend that you not use WebMin to make configuration changes to your server. You may inadvertently damage the operation of your PBX beyond repair. WebMin is an excellent tool to LOOK at how your server is configured. When used for that purpose, we highly recommend WebMin as a way to become familiar with your Linux configuration.

Using the Incredible PBX 13-13 Web GUI

Most of the configuration of your PBX will be performed using the web-based Incredible PBX GUI with its FreePBX 13 GPL modules. Use a browser pointed to the IP address of your server and choose Incredible PBX Admin. Log in as admin with the password you configured in the previous step. HINT: You can always change it if you happen to forget it: /root/admin-pw-change. You can safely ignore the warning about a missing swap file. You have plenty of RAM, and OpenVZ platforms don't permit swap files. If you're worried about it, choose the 3-year prepayment option and double your ram from 2GB to 4GB which is more than ample for even the busiest PBXs.

To get a basic system set up so that you can make and receive calls, you'll need to configure a VoIP trunk, create one or more extensions, set up an inbound route to send incoming calls to an extension, and set up an outbound route to send calls placed from your extension to a VoIP trunk that connects to telephones in the real world. You'll also need a SIP phone or softphone to use as an extension on your PBX.

Continue Reading: Configuring Extensions, Trunks & Routes

Introducing Incredible PBX Whole Enchilada

The Whole Enchilada upgrade already is included on the HiFormance platform. You can review the tutorial for the three dozen apps here.

Reconfiguring NeoRouter VPN for OpenVZ

On OpenVZ platforms including HiFormance, you'll need to enable TUN/TAP in the Control Panel for your VPS. After adjusting the setting, reboot your server. Then the NeoRouter VPN client will function properly.

Installing Incredible Fax with HylaFax/AvantFax

To install Incredible Fax, log into your server as root and issue the following commands. Install time: 2 minutes.

cd /root
./incrediblefax13.sh

After entering your email address to receive incoming faxes, you'll be prompted about two dozen times to choose options as part of the install. Simple press the ENTER key at each prompt and accept all of the defaults. When the install finishes, make certain that you reboot your server to bring Incredible Fax on line. There will be a new AvantFax option in the Incredible PBX GUI. The default credentials for AvantFax GUI are admin:password; however, you first may be prompted for your Apache admin credentials which were set when you installed your server. Then you'll be asked to change your AvantFax password.



Be advised that HiFormance blocks outbound email ports including port 587 by default. You'll need to open a ticket with them to use email from your server. You can test whether port 25 and 587 are blocked with the following command:

telnet gmail-smtp-msa.l.google.com 587

Backing Up Your Server

One of the reasons we love the CentOS 6.9 platform is the ease with which you can make full system backups, particularly on cloud platforms. There's no MySQL InnoDB databases to worry about so you can treat MySQL databases just like any other Linux file. We're offering the following script for your use pursuant to the GPL2 license. By using the script at no cost, you agree to assume all risks and absolve us from any liability regarding bugs, performance, or any other failure in the code. If that's acceptable to you, copy the commands below and create a backup-full script in the /root folder of your primary server. After saving the script, make it executable: chmod +x backup-full.

#!/bin/bash
# backup-full for Incredible PBX, Copyright (c) 2008-2018, Ward Mundy & Associates, LLC
# Licensed pursuant to GPL2. See /root/COPYING on any Incredible PBX server for details
amportal stop
service mysqld stop
service httpd stop
service sendmail stop
cd /
tar -cf /tmp/backup.tar /bin /etc /home /lib /lib64 /media /mnt /opt /root /sbin /usr /var
service sendmail start
service httpd start
service mysqld start
amportal start
tar --delete -f /tmp/backup.tar etc/udev/rules.d
tar --delete -f /tmp/backup.tar etc/sysconfig/network-scripts
tar --delete -f /tmp/backup.tar var/lib/dhclient
tar --delete -f /tmp/backup.tar etc/fstab
tar --delete -f /tmp/backup.tar etc/resolv.conf
tar --delete -f /tmp/backup.tar etc/hosts
tar --delete -f /tmp/backup.tar etc/hostname
gzip /tmp/backup.tar
echo "Your backup is available: /tmp/backup.tar.gz"
echo "Copy it and test it in a safe place OFF SITE"
echo " "


To run the script, execute the following command: /root/backup-full

We recommend running the backup-full script during hours when your PBX is not in active use since Asterisk and other services typically are shut down for 2-10 minutes. Depending upon the size and performance of your server, the complete backup process typically takes 5-20 minutes. Once the backup script finishes, copy /tmp/backup.tar.gz to a safe place away from the primary server every week. You can automate the backup and the copying procedure with a cron job if desired.

To restore, copy your backup.tar.gz file back to the /tmp directory on the new server and then:

#!/bin/bash
# restore-full for Incredible PBX, Copyright (c) 2008-2018, Ward Mundy & Associates, LLC
# Licensed pursuant to GPL2. See /root/COPYING on any Incredible PBX server for details
amportal stop
service mysqld stop
service httpd stop
service sendmail stop
cd /
tar zxvf /tmp/backup.tar.gz
reboot


Upgrading to IBM Speech Engines

NOV. 1 UPDATE: IBM has moved the goal posts effective December 1, 2018:

If you've endured Google's Death by a Thousand Cuts with text-to-speech (TTS) and voice recognition (STT) over the years, then we don't have to tell you what a welcome addition IBM's new speech utilities are. We can't say enough good things about the new IBM Watson TTS and STT offerings. While IBM's services are not free, that’s really theoretical for most of our readers. Your first month on the platform is entirely free. And, after that, you get 1,000 minutes a month of free STT voice recognition services. And the first million characters of text-to-speech synthesis are FREE every month as well. So let's put the pieces in place so you'll be ready to play with the Whole Enchilada. Here's our tutorial that will walk you through the one-time IBM setup.

Next, login to your Incredible PBX server and issue these commands to update your Asterisk dialplan and edit ibmtts.php:

cd /var/lib/asterisk/agi-bin
./install-ibmtts-dialplan.sh
nano -w ibmtts.php

Insert your credentials in $IBM_username and $IBM_password. Verify that $IBM_url matches the entry provided when you registered with IBM. Then save the file: Ctrl-X, Y, then ENTER. Now reload the Asterisk dialplan: asterisk -rx "dialplan reload". Try things out by dialing 951 (news) or 947 (Weather) from an extension registered on your PBX.

To get IBM's Speech to Text service configured, while still logged in to your Incredible PBX server, issue these commands to edit getnumber.sh:

cd /var/lib/asterisk/agi-bin
nano -w getnumber.sh

Insert your API_USERNAME and API_PASSWORD in the fields provided. Then save the file: Ctrl-X, Y, then ENTER. Update your Voice Dialer (411) to use the new IBM STT service:

sed -i '\\:// BEGIN Call by Name:,\\:// END Call by Name:d' /etc/asterisk/extensions_custom.conf
sed -i '/\\[from-internal-custom\]/r ibm-411.txt' /etc/asterisk/extensions_custom.conf
asterisk -rx "dialplan reload"

Now try out the Incredible PBX Voice Dialer with AsteriDex by dialing 411 and saying "Delta Airlines."

Configuring Google Voice with Incredible PBX

The advantage of Google Voice trunks for those of you in the United States is that all of your calls within the U.S. and Canada are free. You can't beat the price, and it has worked reliably for many, many years but it may disappear any day now. If so, we'll have a fresh tutorial with a workaround for you soon. Unless Google pulls the plug on XMPP support for Google Voice, there are three different ways to set up Google Voice trunks with Incredible PBX. For a one-time fee of $4.99 with this coupon, you can use the Simonics GV/SIP gateway to configure a Google Voice account using OAuth 2 authentication. Then just set up the Simonics SIP trunk on your PBX to point to the Simonics gateway. A second option is to choose the (recommended) OAuth 2 authentication method for Google Voice when you initially install Incredible PBX 13-13. Finally, you can choose plain-text passwords for Google Voice when you set up Incredible PBX. The drawback of this last option is Google has hinted that they may discontinue support of plain-text passwords.

Here are the initial setup steps on the Google side:

1. Set up a dedicated Gmail and Google Voice account to use exclusively for this Google Voice setup on your PBX. Head over to the Google Voice site and register. You'll need to provide a U.S. phone number to verify your account by either text message or phone call.



2. Once you have verified your account by entering your verification code, you'll get a welcome message from Mr. Google. Click Continue to Google Voice.



3. Provide an existing U.S. phone number for verification. It can be the same one you used to set up your Google account in step #1.



4. Once your phone number has been verified, choose a DID in the area code of your choice.



Special Note: Google continues to tighten up on obtaining more than one Google Voice number from the same computer or the same IP address. If this is a problem for you, here's a workaround. From your smartphone, install the Google Voice app from iPhone App Store or Google's Play Store. Then open the app and login to your new Google account. Choose your new Google Voice number when prompted and provide a cell number with SMS as your callback number for verification. Once the number is verified, log out of Google Voice. Do NOT make any calls. Now head back to your PC's browser and login to https://voice.google.com. You will be presented with the new Google Voice interface which does not include the Google Chat option. But fear not. At least for now there's still a way to get there. After you have set up your new phone number and opened the Google Voice interface, click on the 3 vertical dots in the left sidebar (it's labeled More). When it opens, click Legacy Google Voice in the sidebar. That will return you to the old UI. Now click on the Gear icon (upper right) and choose Settings. Make sure the Google Chat option is selected and disable forwarding calls to whatever default phone number you set up.

5. When your DID has been assigned, click the More icon at the bottom of the left column of the Google Voice desktop. Click Legacy Google Voice. Now click the Settings icon on your legacy Google Voice desktop. Make certain that Forward Calls to Google chat is checked and disable calls to your forwarding number. Click on the Calls tab and select Call Screening:OFF, CallerID (Incoming):Display Caller's Number, and Global Spam Filtering:checked. The remaining entries should be blank.

6. Google Voice configuration is now complete. Sign out of your Google Voice account.


The Simonics GV-SIP Gateway Solution. Here's the quick thumbnail of the steps to put all the pieces in place. First, we set up a Google Voice account at Google as documented above. Next, we'll set up an account at the Simonics site to link our Google Voice account to the Simonics SIP Gateway. Then we'll plug our Simonics SIP credentials into the preconfigured Simonics trunk on Incredible PBX. Finally, we'll add Incoming and Outgoing Routes to tell Incredible PBX how to process Google Voice calls.

Now you're ready to set up an account on the Simonics site. With this Nerd Vittles link, there's a one-time fee of $4.99.

1. Start by registering your new Google account.

2. After paying the $4.99 registration fee via PayPal, proceed through the setup process to link your Google Voice account and 11-digit Google Voice phone number to the Simonics SIP Gateway.

3. You then will be provided your SIP username and password as well as the gateway address, gvgw.simonics.com, to use in building your SIP trunk on your PBX.



4. If your SIP credentials ever get compromised, regenerate your password by logging back into the Simonics GW site.

Now it's time to configure your Simonics trunk in Incredible PBX. Start by logging into the web interface as admin with your admin password from above. Click Connectivity:Trunks and choose the Simonics trunk in the PBX Configuration menu. The Simonics trunk template will display:

1. Untick the Disable Trunk check box.

2. In Outbound CallerID, insert your 10-digit Google Voice number.

3. In username, insert GV1 followed by your 10-digit Google Voice number.

4. In secret, insert your Simonics SIP password.

5. In the Registration String, insert GV1 followed by your 10-digit Google Voice number followed by a colon (:)

6. In the Registration String after the colon, insert your Simonics SIP password.

7. In the tail of the Registration String after the slash (/), insert your 10-digit Google Voice number.

8. Click Submit Changes and then Reload the Dialplan when prompted.


Configuring GV Trunk with Motif in the GUI. If you elect to configure your Google Voice trunk natively using the Incredible PBX GUI, you first will need to obtain a Refresh_Token if you elected to use OAuth 2 authentication.

1. Be sure you are still logged into your Google Voice account. If not, log back in at https://voice.google.com.

2. In a separate browser tab, go to the Google OAUTH Playground using your browser while still logged into your Google Voice account.

3. Once logged in to Google OAUTH Playground, click on the Gear icon in upper right corner (as shown below).

  3a. Check the box: Use your own OAuth credentials
  3b. Enter Incredible PBX OAuth Client ID:

466295438629-prpknsovs0b8gjfcrs0sn04s9hgn8j3d.apps.googleusercontent.com

  3c. Enter Incredible PBX OAuth Client secret: 4ewzJaCx275clcT4i4Hfxqo2
  3d. Click Close

4. Click Step 1: Select and Authorize APIs (as shown below)

  4a. In OAUTH Scope field, enter: https://www.googleapis.com/auth/googletalk
  4b. Click Authorize APIs (blue) button.

5. Click Step 2: Exchange authorization code for tokens

  5a. Click Exchange authorization code for tokens (blue) button

  5b. When the tokens have been generated, Step 2 will close.

6. Reopen Step 2 and copy your Refresh_Token. This is the "password" you will need to enter (together with your Gmail account name and 10-digit GV phone number) when you add your GV trunk in the Incredible PBX GUI. Store this refresh_token in a safe place. Google doesn't permanently store it!

7. Authorization tokens NEVER expire! If you ever need to remove your authorization tokens, go here and delete Incredible PBX Google Voice OAUTH entry by clicking on it and choosing DELETE option.

Switch back to your Gmail account and click on the Phone icon at the bottom of the window to place one test call. Once you successfully place a call, you can log out of Google Voice and Gmail.

Yes, this is a convoluted process. Setting up a secure computing environment often is. Just follow the steps and don't skip any. It's easy once you get the hang of it. And you'll sleep better.

Now you’re ready to configure your Google Voice account in Incredible PBX. You do it from within the Incredible PBX GUI by choosing Connectivity:Google Voice. Just plug in your Google Voice Username, enter your refresh_token from Step #6 above as your Google Voice Password, enter your 10-digit Google Voice Phone Number, and check the first two boxes: Add Trunk and Add Outbound Routes. Then click Submit and Apply Settings to save your new entries.

If you elected to use plain-text passwords for Google Voice, simply skip obtaining OAuth 2 credentials and substitute your plain-text password for the refresh_token when you create the Google Voice trunk above. If you have trouble getting Google Voice to work using a plain-text password, try this Google Voice Reset Procedure. It usually fixes connectivity problems. If it still doesn’t work, enable Less Secure Apps using this Google tool.

IMPORTANT: Once you’ve entered your credentials, you MUST restart Asterisk from the Linux command line, or Google Voice calls will fail: amportal restart

Incredible PBX Wholesale Providers Access

Nerd Vittles has negotiated a special offer that gives you instant access to 300+ wholesale carriers around the globe. In lieu of paying the $650 annual fee for the service, a 13% wholesale surcharge is assessed to cover operational costs of TelecomsXchange. In addition, TelecomsXchange has generously offered to contribute a portion of the surcharge to support the Incredible PBX open source project. See this Nerd Vittles tutorial for installation instructions and signup details.

Continue Reading: Configuring Extensions, Trunks & Routes

Don't Miss: Incredible PBX Application User's Guide covering the 31 Whole Enchilada apps

Originally published: Monday, June 18, 2018


Support Issues. With any application as sophisticated as this one, you're bound to have questions. Blog comments are a difficult place to address support issues although we welcome general comments about our articles and software. If you have particular support issues, we encourage you to get actively involved in the PBX in a Flash Forum. It's the best Asterisk tech support site in the business, and it's all free! Please have a look and post your support questions there. Unlike some forums, the PIAF Forum is extremely friendly and is supported by literally hundreds of Asterisk gurus and thousands of users just like you. You won't have to wait long for an answer to your question.


2018 TREAT: If you could use one or more free DIDs in the U.S. with unlimited inbound calls and unlimited simultaneous channels, then today's your lucky day. TelecomsXChange and Bluebird Communications have a few hundred thousand DIDs to give away so you better hurry. You have your choice of DID locations including New York, New Jersey, California, Texas, and Iowa. The DIDs support Voice, Fax, Video, and even Text Messaging (by request). The only requirement at your end is a dedicated IP address for your VoIP server. Once you receive your welcome email with your number, be sure to whitelist the provider's IP address in your firewall. For Incredible PBX servers, use add-ip to whitelist the UDP SIP port, 5060, using the IP address provided in your welcoming email.

Here's the link to order your DIDs.

Your DID Trunk Setup in your favorite GUI should look like this:

Trunk Name: IPC
Peer Details:
type=friend
qualify=yes
host={IP address provided in welcome email}
context=from-trunk

Your Inbound Route should specify the 11-digit DID beginning with a 1. Enjoy!



Need help with Asterisk? Join our new MeWe Support Site.


 

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.
 



VoIP 101: Developing a Cost-Effective SIP Strategy

In the lead up to the demise of Google Voice XMPP service next week, we wanted to offer what we have found to be a cost-effective SIP strategy which takes advantage of the best of all worlds. We would divide SIP offerings into five broad categories: business-class unlimited SIP trunks, Old Faithful SIP providers, Mom-and-Pop SIP services, dirt-cheap termination services, and Gee Whiz SIP providers. As we have said many times, the beauty of setting up an Asterisk® PBX such as Incredible PBX® is you don’t have to put all your VoIP eggs in one basket. In our particular case, that has included a mix of Google Voice trunks plus all five of the SIP categories above. Today we want to document why we’ve personally made the selections we’ve made and hope that it provides a roadmap for your own VoIP setup while encouraging you to venture out of your safe zone and try some new VoIP options.

The all-you-can-eat business plans, which we previously have covered, make little sense for most home and small business users. Then there are the rock-solid, long term pay-as-you-go providers such as Vitelity and CallCentric that make perfect sense as your primary DID and SIP provider. While they may not always be the cheapest VoIP providers, the tradeoff is dependability and long-term reliability for your VoIP platform. In the case of Vitelity, it turns out the Nerd Vittles DID special (detailed below) from our Platinum Sponsor is perhaps one of the best VoIP deals on the planet.

The third category of SIP providers and our personal favorite is what we would call the mom-and-pop providers. These are typically one or two-person operations that offer incredible deals on all-you-can-eat VoIP plans for home users. Included in this category are Vestalink (available to existing customers only), Future-Nine and CircleNet. VestaLink originally began as OBiVoice and morphed over trademark issues. While the service is no longer available to new customers, it remains the best bargain at $72 for two years of unlimited inbound and outbound residential calling services. A close second goes to Future-Nine and their "Future 5 Grey" plan which provides 1,500 inbound and 1,500 outbound minutes a month for only $5. You can sign up here. Be sure to read the Terms of Services carefully, especially item #18. The New Kid on the Block is CircleNet. In addition to very attractive pay-by-the-minute offerings of $.005 per minute to most of the U.S. and Canada, they also have an $8 a month all-you-can-eat plan for residential customers that includes a very reasonable 5,000 minutes a month for calls to the following countries: United States, Canada, Australia, Bangladesh, Belgium, Brazil, Chile, Cyprus, Denmark, Finland, France, Germany, Greece , Guam, Hungary, India,Ireland, Italy, Japan, Latvia, Mexico, Netherlands, New Zealand, Norway, Poland, Puerto Rico, Singapore, Spain, Sweden, Taiwan, Thailand, United Kingdom, and Vatican City. Just let them know that you plan to use it with an Asterisk-based PBX. CircleNet also is offering Nerd Vittles readers a free month of the $8/month service to kick the tires. Simply send an email to sales@circlenet.us with your valid email address to take advantage of the offer. One free trial per customer/email address. CircleNet also offers a $15 a month business plan with even more minutes.

A fourth class of VoIP providers is the dirt-cheap termination services including Anveo Direct, TelecomsXchange, V1VoIP and the Betamax companies for low-cost international calling. These providers make terrific additions for supplementing your other VoIP services. TelecomsXchange is our personal favorite because of the special deal they have extended to Incredible PBX users. You get access to 300 VoIP wholesalers and can read about their services in this Nerd Vittles article. V1VoIP also has some terrific deals with 15¢/mo. DIDs from 13,000 Rate Centers and incoming and outgoing U.S. call pricing as low as $.003 per minute (not a typo!). Anveo Direct was perhaps the first provider to offer wholesale pricing to consumers, and they remain a terrific service both for DID and origination services with T.38 fax support as well as many of the lowest cost SIP terminations worldwide featuring user-configurable least-cost routing. Check out their pricing and rates here.

Finally, there are the SIP providers such as VoIP.ms that offer a rich collection of special features that you won’t find in many places and certainly not under the same roof. These features include SMS messaging, SIP URI proxying and iNUM for free worldwide calling, and fax support. Every one of these features is free when you sign up for an account at VoIP.ms. We encourage you to take advantage of these little known free services to enhance your PBX.

Putting It All Together. Now that we’ve covered the options, let’s go over how we would actually implement this. For the inbound trunk and primary DID, we’d recommend a SIP trunk from either Vitelity, VoIP.ms, or CallCentric. If you have multiple, simultaneous inbound calls, then the Nerd Vittles Vitelity special below can’t be beat because it provides four call paths. In addition, you get SMS support on the same trunk. Many people now assume your primary number supports SMS. We actually get dozens of unsolicited SMS messages on our home number from schools, churches, and political groups. If incoming call volume isn’t an issue, then VoIP.ms and CallCentric also offer a free iNUM number for your account. And VoIP.ms throws in a SIP URI as well.

For outbound calling for home and SOHO deployments, we recommend at least one of the mom-and-pop, all-you-can-eat providers: Future-Nine or CircleNet. If international calling is a requirement, you can’t beat the CircleNet offering. In addition to using your primary incoming provider, we also recommend you set up SIP accounts with a couple of the dirt-cheap termination providers. These don’t cost you anything other than a modest deposit unless you actually use them to place calls. And, when your primary outbound service has an outage, your PBX will never miss a beat.

The icing on the cake always has been several Google Voice trunks which work well for IVRs, Stealth AutoAttendants with DISA support, and faxing. While this may change with the demise of XMPP support, it appears that Bill Simon’s SIP Gateway to Google Voice will live on. With the Nerd Vittles sign-up link, you can migrate your existing Google Voice XMPP connections to the Simonics gateway for $4.99 each should the need arise. Enjoy!

Originally published: Monday, June 11, 2018


CircleNet SIP Setup for FreePBX/IncrediblePBX/VitalPBX/Issabel:

username=acct-id
type=friend
trustrpid=yes
sendrpid=yes
secret=acct-pword
qualify=yes
nat=yes
insecure=port,invite
host=sip.circlenet.biz
fromuser=acct-id
context=from-trunk
disallow=all
allow=ulaw

Registration String: acct-id:acct-pword@sip.circlenet.biz:5060/did-num

Future-Nine SIP Setup for FreePBX/IncrediblePBX/VitalPBX/Issabel:

username=acct-num
type=friend
trustrpid=yes
sendrpid=yes
secret=acct-pword
qualify=yes
nat=yes
insecure=port,invite
host=incoming.future-nine.com
fromuser=acct-num
context=from-trunk
canreinvite=no
disallow=all
allow=ulaw

Registration String: acct-num:acct-pword@incoming.future-nine.com/acct-num


Need help with Asterisk? Visit the PIAF 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.
 



Some Recent Nerd Vittles Articles of Interest…

Some Fresh CallerID Magic for Incredible PBX 13-13

It’s been more than 10 years since we first introduced CallerID Trifecta for Asterisk® and the FreePBX® platform. A few months later it morphed into CallerID Superfecta and, as they say, the rest is history. Today CallerID Superfecta is used by over a million people around the globe to obtain CallerID Name (CNAM) information from over 70 different lookup sources. WOW! Just call me the Proud Papa. What a journey it has been, and our special thanks to the dozens of contributors.

Unfortunately, for those in the United States, most of the lookup sources now are commercial enterprises much like the original Bell Sisters that monopolized CallerID information by keeping it proprietary instead of forwarding CallerID Name data together with the CallerID number of incoming calls. In fact, for many users, the cost of CallerID lookups now is more expensive than the cost of the VoIP trunks carrying the calls. While we can’t solve the problem, we can make the cost of these CallerID lookup services considerably cheaper using a neat little trick with CallerID Superfecta.






Here’s the problem. Many cell phone users don’t subscribe to any service that keeps track of the caller’s identity. The same is true for those using services such as Google Voice. When you receive a call from one of these users, the CNAM provided for the caller will either show something like "Mobile Phone User" or the city and state of the caller’s cellphone provider. This doesn’t keep the commercial CNAM providers from dinging you every time you receive one of these calls. And if your girlfriend calls you a hundred times a month, the commercial CNAM providers charge you for a hundred lookups even when the calls are from the same caller. That ends today. Once you implement this new CallerID add-on, you’ll only get billed for a single CNAM lookup regardless of how many times that person calls your PBX. Better yet, with a little effort, you can quickly replace the CNAM entries of the mystery cellphone and Google Voice callers by inserting their actual names into your Asterisk phonebook using either the FreePBX GUI or the Asterisk CLI. We’ll show you how.

Here’s the trick. CallerID Superfecta lets you prioritize source lookups when incoming calls hit your PBX. For example, you can lookup the CallerID number in AsteriDex and the Asterisk Phonebook in a fraction of a second at no cost. Once there’s a match on the CallerID number of the caller, additional lookups stop. So what we want to do is prioritize the lookups so that the free sources are used before any commercial lookup service is triggered. For the commercial CNAM source in the U.S., we’re going to use OpenCNAM in our examples because their service is one of the easiest and least expensive to implement. All OpenCNAM lookup options are less than a half a cent per lookup. By placing OpenCNAM third in the Default Superfecta lookup sequence, it will only be used when there is no match in either AsteriDex or the Asterisk Phonebook.




Getting Started. It would obviously be a hassle to have to add every caller to one of these phonebooks every time a call arrives on your PBX. So the other half of today’s magic is to automatically add an entry to the Asterisk Phonebook every time a call hits your PBX. Then, the next time you receive a call from that same number, CallerID Superfecta will be able to find it in your free databases instead of querying OpenCNAM for yet another commercial lookup. As a general rule, in the United States, phonebook data is not copyrightable. However, you should consult an attorney for questions regarding the legality of this methodology as it applies to any particular CNAM lookup service.

We’re aware that CallerID Superfecta has had a caching option which provides similar functionality; however, users have reported mixed results and data corruption with that feature so we’ll be implementing a slightly different solution that relies on Asterisk’s extremely reliable SQLite3 database. This also provides the flexibility to customize the entries after completion of a call for more accurate CNAM information on subsequent calls. Unfortunately, a CNAM entry of ATLANTA, GA doesn’t tell you much about the caller even though you paid for the lookup. By inserting these call entries in the Asterisk Phonebook, you then have the option of easily customizing them in multiple ways. Not only will this provide better CNAM data on subsequent inbound calls, but the phonebook can also be used to make outgoing calls and to produce an alphabetized phonebook listing as well.

cd /var/lib/asterisk
sqlite3 astdb.sqlite3 "select key,value from astdb where key LIKE '%cidname/%' order by value"

Upgrading Asterisk Phonebook Module. Before we get too deep in the weeds, let’s get your Asterisk Phonebook module in FreePBX upgraded to resolve a bug in the version that ships with Incredible PBX which won’t let you edit phonebook entries without also adding a speed dial number for each entry. For generic FreePBX platforms, you can use Module Admin to upgrade the Phonebook module. For Incredible PBX platforms, log into your server as root and issue these commands:

cd /root
./gpl-install-fpbx phonebook

Activating CallerID Superfecta. There are three steps in activating CallerID Superfecta. First, configure the Default Scheme for CallerID Superfecta in Admin:CID Superfecta using the settings we previously displayed. Use the Arrow keys to properly order the three lookup sources: AsteriDex, Asterisk Phonebook, and OpenCNAM.



Be advised that there is a credentials mismatch in the Default setup for AsteriDex. To correct this, open the Default configuration for Superfecta and click on the Tool icon to the left of AsteriDex. The username must be root, and the password is passw0rd with a zero. Save your settings.

Next, you need to create and fund an account at OpenCNAM.com. Once your account is established, copy your credentials and insert them into the OpenCNAM lookup source by clicking on OpenCNAM’s tool icon :



Once you have saved the Default Scheme, then you need to enable CallerID Superfecta for each of your Inbound Routes under the Other tab in Connectivity:Inbound Routes:



Adding Hook for Inbound Call Processing. One of the decade-old shortcomings of FreePBX has always been the inability to insert dialplan code into the Inbound Call process without forever damaging your ability to add additional DIDs moving forward. While extensions_override_freepbx.conf lets you extract and manipulate large chunks of FreePBX code, the drawback is that once you do that, the flexibility provided by the GUI goes up in smoke unless you remember to always move the newly generated dialplan code back into the override context.

We much prefer a simpler way of inserting custom dialplan code into the Inbound Call processing routine, but it requires a change in the FreePBX Core module. We would caution you about using this except on Incredible PBX 13-13 servers running under CentOS 6 or 7 or Ubuntu 18.04 with Signature Checking Disabled. It will trigger nasty signature checking errors on the FreePBX Dashboard. See the next section for a workaround on generic FreePBX 13 platforms. On Incredible PBX 13 servers, login as root and issue the following commands making sure that you expand the last two lines into a single command before executing it:

cd /var/www/html/admin/modules/core
sed -i "s|new ext_noop('CallerID Entry Point')|new ext_gosub('1','s','sub-log-caller')|" \\
functions.inc.php
mysql -u root -ppassw0rd asterisk -e "update admin set value='true' \\
where variable='need_reload'"
amportal a r

Next, we need to add some supplemental dialplan code to extensions_custom.conf. This code actually populates the Asterisk Phonebook with the new call entries each time a call is received by your PBX:

cd /tmp
wget http://incrediblepbx.com/sub-log-caller.tar.gz
tar zxvf sub-log-caller.tar.gz
rm -f sub-log-caller.tar.gz
cd /etc/asterisk
cat /tmp/sub-log-caller.txt >> extensions_custom.conf
fwconsole reload
amportal restart

Disabling Module Signature Checking. If you’re running FreePBX 13 behind a secure firewall that blocks web access to FreePBX for anonymous users, then here’s a simple way that you can apply the patch above and take advantage of the sub-log-caller functionality without having to endure module signature errors within FreePBX. Simply disable Module Signature Checking. Here’s how:

cd /var/www/html/admin/libraries
sed -i 's|"SIGNATURECHECK", true|"SIGNATURECHECK", false|' modulefunctions.class.php
mysql -u root -ppassw0rd asterisk -e "UPDATE notifications SET candelete =  '1' WHERE  true;"
mysql -u root -ppassw0rd asterisk -e "DELETE FROM notifications WHERE true;"
mysql -u root -ppassw0rd asterisk -e "UPDATE freepbx_settings SET value='0' WHERE \\
keyword='SIGNATURECHECK';"
amportal restart

Adding CNAM data to CDR Listings. One of our concerns with the current CDR implementation in FreePBX is the lack of display of CNAM data for most entries in CDR listings. Currently, the only way to decipher the CNAM information is to use your mouse to hover over each of the CallerID numbers. We much prefer displaying both CallerID Name and Number in the CallerID column of CDR Reports. Here’s how to fix it:

cd /var/www/html/admin/modules/cdr
sed -i "s|cdr_formatSrc(\$row\['src'], \$row\['clid']);|cdr_formatSrc(\$row\['clid'], \\
\$row\['clid']);|" page.cdr.php
amportal a r

Managing Your Asterisk Phonebook. As we mentioned, there are a couple of ways to display and/or update entries in your Asterisk Phonebook that have been populated with OpenCNAM lookups. From the Asterisk CLI, you can display entries like this: database show cidname.

You also can add or update entries using the Asterisk CLI like this:

database put cidname 8431234567 "Mundy, Ward"

The simplest method to manage your Asterisk Phonebook is from within the FreePBX GUI. Simply navigate to Admin:Asterisk Phonebook. There you can edit individual entries and replace generic CNAM entries such as Atlanta, GA within something more descriptive of the caller’d identity. You also have the ability to export the data and even create speed dial entries for frequently called parties. Once Speed Dial numbers have been created, you can reach the party from any phone connected to your PBX by dialing *0 plus the speed dial number.

Finally, you need to complete some additional steps to implement the Spam Call Blocker as documented in this tutorial. Enjoy!

Originally published: Wednesday, May 30, 2018  Updated: Monday, November 26, 2018


Support Issues. With any application as sophisticated as this one, you’re bound to have questions. Blog comments are a terrible place to handle support issues although we welcome general comments about our articles and software. If you have particular support issues, we encourage you to get actively involved in the PBX in a Flash Forums. It’s the best Asterisk tech support site in the business, and it’s all free! Please have a look and post your support questions there. Unlike some forums, ours is extremely friendly and is supported by literally hundreds of Asterisk gurus and thousands of users just like you. You won’t have to wait long for an answer to your question.



Need help with Asterisk? Visit the PBX in a Flash 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.
 



Some Recent Nerd Vittles Articles of Interest…