Home » Posts tagged 'google voice' (Page 3)
Tag Archives: google voice
Back to School: Introducing FusionPBX for FreeSWITCH
SECURITY ALERT: https://securityboulevard.com/2019/06/rce-using-caller-id-multiple-vulnerabilities-in-fusionpbx/
It’s been quite a week with the surprise acquisition of Digium® and Asterisk® by Sangoma®. It became official on Wednesday, September 5. You can read all about it here, and you can read our cautious optimism here. As with the recent Google Voice transformation, we hope it serves as a gentle reminder to the VoIP community not to put all your eggs in one basket. With the start of the new school year, we could think of no better time to explore an excellent alternative. And today we’re pleased to introduce FusionPBX™ for FreeSwitch™.
9/10 EDIT: We’ll be updating this article in coming days to add tutorials on additional features rather than releasing new articles that force you to jump around. So mark your place at the end of the article and come back soon to see the new additions.
FreeSWITCH is an open source softswitch that’s been around for over a decade. The lead designer is Anthony Minessale, who originally worked on the Asterisk project. FusionPBX is a GUI front end for FreeSWITCH that performs many of the same functions that FreePBX® performs for Asterisk. It’s the brainchild of Mark J. Crane. With that background, let’s dive right in.
Today we’ll get a functioning server set up with trunks and extensions so that you can begin making calls. We’ll also show you how to interconnect with an Incredible PBX server in the Cloud to add Google Voice GVSIP functionality for free calling in the U.S. and Canada. Once you get that far, we’d recommend you pick up a good book on FreeSWITCH, review the excellent FusionPBX documentation, and roll up your sleeves. There’s virtually nothing that FusionPBX and FreeSWITCH can’t do with a telephone.
Creating the Debian 8 Minimal Platform
We’ll be building FusionPBX atop a minimal install of Debian 8 (Jessie). If you’re creating your server in the Cloud with 1GB or less of RAM (such as the $3.50/month Vultr platform), we strongly recommend creation of a swap file after you set up the Debian 8 platform:
dd if=/dev/zero of=/swapfile bs=1024 count=1024k chown root:root /swapfile chmod 0600 /swapfile mkswap /swapfile swapon /swapfile echo "/swapfile swap swap defaults 0 0" >> /etc/fstab sysctl vm.swappiness=10 echo vm.swappiness=10 >> /etc/sysctl.conf free -h cat /proc/sys/vm/swappiness
Next, create a very secure root password: passwd
Now put the missing pieces in place to support your FusionPBX install:
apt-get update apt-get upgrade apt-get install nano -y apt-get install dialog -y apt-get install ca-certificates -y apt-get install systemd -y apt-get install systemd-sysv -y reboot
Installing FusionPBX and FreeSWITCH
Now we’re ready to install FusionPBX with FreeSWITCH. Issue the following command on a single line. Be advised that FusionPBX currently uses FreeSWITCH 1.6, not 1.8. If you buy a book about FreeSWITCH 1.8, just be aware that there may be some features that are not yet available with FusionPBX.
wget -O - https://raw.githubusercontent.com/fusionpbx/fusionpbx-install.sh/master/debian/pre-install.sh | sh; cd /usr/src/fusionpbx-install.sh/debian && ./install.sh
When the install completes, you’ll see a message that looks something like this:
Installation has completed. Use a web browser to login. domain name: https://45.76.249.125 username: admin* password: D6pHudQGqeYsQUWK *The browser domain name is used as part of the authentication. If you need to login to a different domain then use username@domain. username: admin@45.76.249.125 Official FusionPBX Training Fastest way to learn FusionPBX: https://www.fusionpbx.com. Available online and in person. Includes documentation and recording. Location: Online Admin Training: 7 - 9 August 2018 (3 Days) Advanced Training: 21 - 22 August 2018 (2 Days) Continuing Education: 30 August 2018 (1 Day) Timezone: https://www.timeanddate.com/weather/usa/boise Additional information. https://fusionpbx.com/training.php https://fusionpbx.com/support.php https://www.fusionpbx.com http://docs.fusionpbx.com
If you’re coming from the FreePBX world and you’re new to FusionPBX and FreeSWITCH, be advised that your browser login name is NOT admin. It’s admin@some-IP-address. The reason is because FreeSWITCH supports multiple domains, unlike FreePBX. The default domain will be the IP address from which you performed the installation. On a server in the cloud, it will be your public IP address. On a private LAN, it will be the localhost private IP address, e.g. 127.0.0.1 or 127.0.0.2.
Locking Down Your Server
FusionPBX includes a basic IPtables firewall setup. Those that have followed Nerd Vittles over the years know that we view a firewall whitelist (Travelin’ Man 3) as absolutely essential to avoid security problems down the road. In the case of FusionPBX, we recommend changing the SSH access port from 22 to a random number above 1000. Then it can remain exposed so long as you check regularly to make certain no one is attempting to access your server via SSH: cat /var/log/auth.log
. We also recommend locking down HTTP and HTTPS to your whitelisted IP addresses rather than leaving those ports open to the world. Finally, we recommend closing off IPv6 access to your server except from localhost. Here’s how.
Let’s assume you want to change the SSH access port from 22 to 1789. Simply issue the following commands and restart SSH. WARNING: Be careful not to log out of your server until we update the firewall, or you will lock yourself out of your server!
sed -i 's|#Port 22|Port 22|' /etc/ssh/sshd_config sed -i 's|Port 22|Port 1789|' /etc/ssh/sshd_config /etc/init.d/ssh restart
To reconfigure IPtables using a WhiteList of allowed IP addresses, you first need to decipher what those IP addresses actually are. You’ll need the public and private IP addresses of any PCs from which you wish to access FusionPBX. Depending upon your pain threshold and bank account, SIP access can remain open. However, you’ll still need the IP addresses of your hosting providers and the IP addresses of each of the locations where you plan to install a SIP phone for direct access to properly configure FusionPBX. Once you have those IP addresses in hand, it’s time to edit /etc/iptables/rules.v4. The filter section of the default install looks like:
*filter :INPUT DROP [1:40] :FORWARD DROP [0:0] :OUTPUT ACCEPT [58:8069] -A INPUT -i lo -j ACCEPT -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -p udp -m udp --dport 5060:5091 -m string --string "friendly-scanner" --algo bm --to 65535 -j DROP -A INPUT -p udp -m udp --dport 5060:5091 -m string --string "sipcli/" --algo bm --to 65535 -j DROP -A INPUT -p udp -m udp --dport 5060:5091 -m string --string "VaxSIPUserAgent/" --algo bm --to 65535 -j DROP -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT -A INPUT -p tcp -m tcp --dport 7443 -j ACCEPT -A INPUT -p tcp -m tcp --dport 5060:5091 -j ACCEPT -A INPUT -p udp -m udp --dport 5060:5091 -j ACCEPT -A INPUT -p udp -m udp --dport 16384:32768 -j ACCEPT -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT -A INPUT -p udp -m udp --dport 1194 -j ACCEPT COMMIT
1. Modify the SSH rule (–dport 22) replacing 22 with your new SSH port number, e.g. 1789.
2. Using #, comment out the HTTP (–dport 80) and HTTPS (–dport 443) rules. There simply are too many zero day vulnerabilities with PHP and SQL injection to leave web ports exposed to the public.
3. Just above the COMMIT line, whitelist your private LAN IP addresses. Do NOT whitelist the 172 subnet if you’re deploying on Amazon! Amazon treats these as routable IP addresses on their network.
-A INPUT -s 127.0.0.0/8 -j ACCEPT -A INPUT -s 10.0.0.0/8 -j ACCEPT -A INPUT -s 172.16.0.0/12 -j ACCEPT -A INPUT -s 192.168.0.0/16 -j ACCEPT
4. If you’re planning to use NeoRouter VPN, add the following above the COMMIT line:
-A INPUT -p tcp -m tcp --dport 32976 -j ACCEPT
5. Add rules above the COMMIT line for each IP address you wish to WhiteList, e.g.
-A INPUT -s 8.8.8.8 -j ACCEPT
6. Save the file.
7. Edit /etc/iptables/rules.v6 to look like this:
*filter :INPUT DROP [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -s ::1 -j ACCEPT COMMIT
8. Restart IPtables and Fail2Ban:
/etc/init.d/netfilter-persistent restart /etc/init.d/fail2ban restart iptables -nL ip6tables -nL
9. If your server is on the public Internet and you’d like to add SSL security, which is required for WebRTC deployments, we’re adding a separate tutorial below as part of the WebRTC implementation to show you the easy way to do this. Keep reading.
Finally, a cautionary note. If you leave your SIP ports exposed to the Internet, then you’ll need to regularly monitor your FreeSWITCH log for attempted attacks. You can download the Incredible Utilities scripts including update-blacklist that we run regularly as a cron job to blacklist all of the most recent bad guys. Please note that IP addresses detected as "bad guys" with this script take precedence over whitelist entries you may have made in step #5 above so be sure to also add the IP addresses from step #5 to this script’s WHITELIST table before running the script, or you may inadvertently lock yourself out of your own server.
cd / wget http://incrediblepbx.com/freeswitch/incredible-utils-FS.tar.gz tar zxvf incredible-utils-FS.tar.gz rm -f incredible-utils-FS.tar.gz
Getting Started with FusionPBX
Using the account credentials displayed after your installation completed, login to FusionPBX using your favorite browser. Don’t forget to include the IP address in the admin field:
Before you do anything else, navigate to Advanced -> Access Controls. Here you will want to whitelist all of the IP addresses of SIP service providers and other PBXs to which you want to interconnect. Simply add Allow entries in the Domains category for each IP address/CIDR entry. HINT: Single IP addresses have a CIDR entry of /32. WARNING: We don’t recommend using FQDN/Domain entries. Despite legitimate FQDNs, all of our entry attempts resulted in "cannot locate" alerts in the FreeSWITCH CLI (fs_cli). This means that future connection attempts from those providers would fail without any indication of what caused the failures. Also, do NOT add entries for IP addresses of phones/softphones that will register to extensions or calls to and from those extensions will fail. This is anything but intuitive but, trust us, you will save hours of hair-pulling.
Creating Extensions in FusionPBX
While you’re still logged into the FusionPBX GUI, let’s add an extension to demonstrate how easy it is. Choose Accounts -> Extensions and click on the + symbol to add a new extension. Here is a sample to get you started, but you really only need the extension number and voicemail PIN entries:
Unlike in FreePBX, the default extension password is not displayed on the template. Once you SAVE the extension, you then have to edit it and click on the Password field to display the default entry. This can be changed, if desired.
Configuring a Softphone for FusionPBX
You can connect virtually any kind of telephone to your new PBX, and FusionPBX includes terrific provisioning tools for dozens of SIP phones. We’ll start with a free SIP softphone today so you can begin making calls. You can find dozens of recommendations for hardware-based SIP phones both on Nerd Vittles and the PIAF Forum when you’re ready to get serious about VoIP telephony.
We recommend YateClient which is free. Download it from here. Run YateClient once you’ve installed it and enter the credentials for the extension you created above. You’ll need the IP address of your server plus your extension’s password. Fill in the Yate Client template using the IP address of your Server, the extension number for your Username, and whatever Password you assigned to the extension when you created it. Click OK to save your entries.
Once the Yate softphone shows that it has registered with FusionPBX, try a test call by dialing *9664 which should begin playing the default Music on Hold.
Creating Trunks/Providers/Gateways in FusionPBX
In FusionPBX and FreeSWITCH, what FreePBX and Asterisk users call Trunks are referred to as Providers or Gateways. These are commercial outfits that offer to interconnect your PBX with the rest of the telephones in the world using a SIP connection. The first step is to register with the providers of your choice and obtain your SIP credentials and the FQDN(s) of the provider’s servers to which you should register. Most allow authentication by either username/password or by IP address. If you have a static IP address for your server, that is the safer method since you don’t have to worry about someone guessing your password. The only difference in the setup is the Register field should be changed to False.
As luck would have it, there is thorough documentation on the FreeSWITCH site to configure literally hundreds of Providers. Here’s the link.
Before you actually set up your new Provider in FusionPBX, we first need to add the provider’s server to FusionPBX’s Access Control List (ACL). As noted, we’ve encountered problems attempting to register FQDNs in the ACL so we strongly recommend you ping the FQDN of your provider’s server and obtain its actual IP address. Once you have it, navigate to Advanced -> Access Controls -> domains. Click on the Pencil icon to edit the ACL list for domains. Next, click on the + icon at the top of the Nodes listing. Change Type to allow. Enter the IP address of your provider’s server in CIDR. Leave the Domain field blank. Enter your Provider in the Description field. Click the SAVE button.
Now we’re ready to add your Provider. Navigate to Accounts -> Gateways and click the + symbol to add a new one. Click on the Advanced button to expose all of the available fields. Now find your provider in the FreeSWITCH listing and copy the sample entries using your own credentials to the appropriate fields in the FusionPBX template. SAVE your settings when you’re finished. If you chose username/password authentication with Register=True, then your new gateway’s Status should display as Running with a State of REGED.
If you want to take advantage of free calling in the U.S. and Canada using Google Voice, then you’ll need to interconnect your FusionPBX server with an Incredible PBX GVSIP gateway as described in this Nerd Vittles article. On the FusionPBX side, the first step is to add the IP address of the Incredible PBX GVSIP gateway to the ACL (as described above). Next, assuming you followed the tutorial and created a trunk on the Incredible PBX server named FusionPBX in step #2, here’s what the corresponding Gateway should look like on the FusionPBX side:
Gateway: GVSIP-Host Username: FusionPBX Password: same as on GVSIP-Host From User: FusionPBX From Domain: FusionPBX Realm: IP address of GVSIP-Host Expire Seconds: 90 Register: True Retry Seconds: 30 Auth Username (in Advanced): FusionPBX Domain: default setting Context: Public Profile: external Description: GVSIP-Host
Be advised that you still need to WhiteList the IP addresses of the two servers on the corresponding sites using IPtables. And you need to whitelist the public IP addresses even if you choose to register the trunk using private VPN addresses. The reason is because FreeSwitch uses the public IP addresses internally, and the registration will fail without the whitelist entries.
Creating Inbound Routes in FusionPBX
As with all PBXs, Inbound Routes define how incoming calls from Trunks/Gateways are routed to destinations on your PBX. Creating inbound routes in FusionPBX (Dialplan -> Inbound Routes) is much the same as the process with FreePBX except the search Conditions are considerably broader than merely a DID or CallerID match and may include Time Conditions to accommodate after-hours calling:
As with FreePBX, the Action can be any destination available on your PBX including an extension, voicemail, company directory, or an IVR:
Typically, inbound calls should be routed to the public Context. And, unlike FreePBX where the first matching inbound route wins, with FusionPBX, you can prioritize the routes numerically to assign a certain search Order.
Creating Outbound Routes in FusionPBX
Outbound Routes tell your PBX how to route calls to destinations outside your PBX using Trunks/Gateways available on your PBX. Creating outbound routes in FusionPBX (Dialplan -> Outbound Routes) is equally flexible offering virtually limitless combinations to assist PBX designers in setting up scenarios for processing outbound calls. As with inbound routes, outbound routes can be prioritized by assigning an Order. And each outbound route can include a primary Gateway as well as up to two Alternates for routing the calls.
Unlike FreePBX which used NXXNXXXXXX and similar combinations as Dialplan Expressions, FusionPBX uses more powerful RegEx coding with many predefined options:
Choosing Providers for FusionPBX
Here’s a shameless plug for our Platinum Sponsor, Vitelity, if you’re looking for an incredible deal on a DID with unlimited inbound calling. You’ll find the offer at the end of this article. If dirt-cheap outbound calls are of interest and Google Voice isn’t an option where you’re calling from or to, then you can’t beat Anveo Direct. The AnveoDirect provider setup for FusionPBX isn’t included in the link we posted above, but it couldn’t be simpler.
To make outbound calls with Anveo Direct, you dial a number with the country code preceded by a special 6-character code starting with 0 which you create on the Anveo Direct web site. You also must whitelist the IP address of your PBX as part of the setup on the Anveo side. Once configured, a call to a number in the U.S. would look like this: 04He9x18005551212@sbc.anveo.com
. When creating the Outbound Route for 10-digit dialing using the tutorial above, the AnveoDirect setup would define the Dialplan Expression as 10-digit dialing with a Prefix of 04HE9x1 assuming your 6-character secret code was 04He9x. The trailing 1 in the Prefix converts the 10-digit dialed number to 11-digits as required by Anveo’s international dial code requirement. We think you’ll like their pricing:
Using Gmail as SMTP Smarthost with FusionPBX
Be sure to test sending an email to yourself from the command line to be sure Exim is working properly. Here’s how:
echo "test" | mail -s testmessage yourname@yourmailserver.com
If you don’t receive the email, be advised that many providers block downstream SMTP mail servers in which case you may want to use your Gmail account as an SMTP Smarthost with FusionPBX. Here’s how. Begin by reconfiguring Exim: dpkg-reconfigure exim4-config
- Type Mail Server: Mail sent by smarthost using SMTP
- System Mail Name: Your server’s FQDN (see /etc/hostname)
- Allowed Senders: accept defaults
- Other Destinations: accept default
- Relay Mail: leave blank
- Outgoing SmartHost: smtp.gmail.com::587 (note the double colons)
- Hide local name: no
- Keep DNS-queries minimal: no
- Delivery method local mail: Maildir format in home directory
- Split config into small files: no
- Root and Postmaster recipient: root
After exim4 restarts, add the following entries to the end of /etc/exim4/passwd.client using your Gmail credentials:
gmail-smtp.l.google.com:YOUR-NAME@gmail.com:PASSWORD *.google.com:YOUR-NAME@gmail.com:PASSWORD smtp.gmail.com:YOUR-NAME@gmail.com:PASSWORD
Finally, issue the following commands to update exim4 and implement your changes:
update-exim4.conf /etc/init.d/exim4 restart
Send yourself another test email to verify that everything is working properly. If the mail still doesn’t make it, be sure your provider (HiFormance, for example) is not also blocking port 587. You’ll need to open a ticket with them if this is the case. You can test whether the port is blocked with the following command:
telnet gmail-smtp-msa.l.google.com 587
Solving NAT and Audio Problems with FusionPBX
If you experience one-way audio, no audio, or calls that won’t disconnect when the called party hangs up, you’ve probably entered NAT Hell. First, make sure that SIP ALG is turned off on your router. If that doesn’t solve it, edit /etc/default/freeswitch from the Linux CLI and remove -nonat
. Save the file and then systemctl daemon-reload
. Switch to the FusionPBX GUI and navigate to Advanced -> SIP Profiles. Edit BOTH the internal and external profiles. Then modify BOTH the ext_rtp_ip AND ext_sip_ip entries and change them to autonat:XXX.XXX.XXX.XXX
replacing XXX.XXX.XXX.XXX with your server’s public IP address. Then SAVE both profiles. Finally, return to the Linux CLI and restart FreeSWITCH: service freeswitch restart
.
Congratulations! You now should have a working PBX. We’ll get deeper into the weeds down the road, but today’s tutorial coupled with the HTML FusionPBX Documentation or PDF version should be sufficient to get you started with a functioning PBX. Take some time to explore all of the Applications that are included in FusionPBX. Enjoy!
9/10 EDIT: New additions begin here…
Implementing WebRTC with FusionPBX
The first step in deploying WebRTC is to add SSL security to your server. The easiest way to do this is to take advantage of the free offering from LetsEncrypt. Begin by assigning a fully-qualified domain name (FQDN) to the public IP address of your server. Wait a few minutes for DNS propagation. Then you’re ready to install your LetsEncrypt certificate. Unlike many of the other LetsEncrypt implementations, the FusionPBX folks have made this a walk in the park. While logged into your server as root, issue the following commands:
cd /usr/src/fusionpbx-install.sh cd debian/resources ./letsencrypt.sh service freeswitch restart
Once the certificate is installed and you’ve restarted FreeSWITCH, close your browser and then restart it. Go to the FQDN of your server, and the lock should appear signifying that your site is now fully encrypted. Don’t proceed with the WebRTC steps until this is working.
To get a successful WebRTC implementation where you can make and receive phone calls from a browser, you’re going to need to use the Chrome or Firefox browser. We’ve also had success using the latest Safari browser.
For those that despise implementing complex procedures by viewing video tutorials, we offer the following regurgitation of the steps documented by Mark Crane in his ClueCon video below. This isn’t hard, but it is tedious so don’t skip any steps.
While you’re still logged into your server as root, let’s put the FusionPBX WebRTC client in place so you’ll have that option as one of several WebRTC clients to use down the road. The advantage of the FusionPBX WeRTC client is that it can handle your login automatically.
cd /usr/src git clone https://github.com/fusionpbx/fusionpbx-apps cd fusionpbx-apps cp -R sipjs/ /var/www/fusionpbx/app/ chown -R www-data:www-data /var/www/fusionpbx/
Now let’s switch back to your browser and login to FusionPBX using your superadmin credentials. A word of caution… To get WebRTC working, your default Domain must be the FQDN of your server, not an IP address. Once you add this domain, you must switch to it and enter new extensions, trunks, and routes to that domain before proceeding. Begin by adding the domain: Advanced -> Domains -> Add (+). Switch to the domain in the upper right column that’s showing your current domain by clicking on it. It doubles as the Domain Selector.
First, let’s tell FreeSwitch to use your secure SSL setup. Navigate to Advanced -> Variables. Go to the SIP Profile: Internal section and change the false setting of internal_ssl_enable to true. Click SAVE. Go to the SIP Profile: External section and change the false setting of external_ssl_enable to true. Click SAVE. Navigate to Status -> SIP Status and click FLUSH CACHE. Switch back to your SSH session as root and restart FreeSWITCH: service freeswitch restart
. Back in your browser, return to Status -> SIP Status, click REFRESH, and verify that both the Internal and External interfaces show TLS enabled.
Navigate to Advanced -> SIP Profiles -> Internal and set wss-binding to true. Switch back to your SSH session as root and restart FreeSWITCH: service freeswitch restart
. Back in your browser, return to Status -> SIP Status, click FLUSH CACHE and then REFRESH. You now should see an internal entry for Secure Web Sockets (WSS) in your internal SIP Profile. Finally, to do video with WebRTC, navigate to Advanced -> Variables and add H264 to the list of supported codecs in both outbound_codec_prefs and global_codec_prefs: ULAW, ALAW, H264. Click SAVE. Navigate to Status -> SIP Status and click FLUSH CACHE then RESCAN the internal profile. Clicking on sofia status profile internal will let you verify that the H264 codec has been added successfully. That completes the required pieces to support WebRTC with FusionPBX.
To use the FusionPBX WebRTC client that we installed earlier, we first need to update the FusionPBX menus in the browser: Advanced -> Upgrade -> Menu Defaults and EXECUTE.
Now create an extension to use with WebRTC: Accounts -> Extensions -> Add (+). Once you’ve created the new Extension, drop down to the fourth item (Users) and click on the pull-down menu. Choose the Admin user and click the ADD button followed by SAVE. Next, log out and back into FusionPBX to associate the extension with your user account.
We’re now ready to try out the FusionPBX WebRTC client. Navigate to Apps -> SIPjs which will activate the WebRTC client with your extension credentials. In a separate window, you can verify that SIPjs is registered to your extension by navigating to Status -> Registrations. Verify that you can make a call by dialing *9664 for some nice Hold Music.
Adding Free IBM Voice Prompts to FusionPBX
NOV. 1 UPDATE: IBM has moved the goal posts effective December 1, 2018:
One of the first things you’ll need with your new FusionPBX server is voice prompts for IVRs and custom applications. We’ve now added a tutorial which will walk you through setting up a platform to obtain free IBM voice prompts for your server. Here’s the link.
Blocking SIP Access by IP Address
If you’ve implemented SSL security with an FQDN as recommended above, then you’ll reduce the hammering your server takes from the bad guys by blocking those that attempt SIP registrations or calls using the IP address of your server. This, of course, means that all of your SIP registrations must be made using the FQDN of your server, not by IP address. For providers, you MUST whitelist their IP addresses in the ignoreip field of /etc/fail2ban/jail.conf and restart Fail2Ban, or they will be blocked when they attempt to send data by IP address. We’ve included a script in /root which will tell you which IP addresses currently are blocked: sip-attackers-blocked.
cd / wget http://incrediblepbx.com/freeswitch/block-sip-by-ip.tar.gz tar zxvf block-sip-by-ip.tar.gz rm -f block-sip-by-ip.tar.gz service fail2ban restart
Adding Free News/Weather TTS Apps
We’ve rolled out the first three Incredible PBX text-to-speech applications for FusionPBX: Yahoo News Headlines, Weather Reports by ZIP Code, and Worldwide Weather Forecasts. This new Nerd Vittles tutorial will walk you through the simple installation steps.
Originally published: Monday, September 3, 2018 Updated: Monday, September 24, 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 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 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.
- 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.
Dare to Compare: The Best (free) VoIP Offerings for 2018
Last week we showed you how to get 10 months of free hosting for your Incredible PBX® in the Cloud. And today we present our semi-annual survey of the latest and greatest VoIP offerings for 2018. The beauty of the cloud platform is you can try all of them for less than a penny an hour and decide for yourself which free offering best meets your needs. This year we’ve ushered in new Asterisk® 13 LTS releases of Incredible PBX® on the CentOS, Ubuntu, and Raspberry Pi platforms as well as new versions for Issabel 4 and VitalPBX. To sweeten the pot even further, we nailed down a new Cloud-based offering for $10 a year that makes a perfect VOIP sandbox for our CentOS platform. For 2018, we also secured new (free) DID offerings in the U.S. and announced a Nerd Vittles exclusive providing access to 300+ VoIP providers worldwide, all at wholesale prices. And, last but not least, we introduced Digium’s newest IP phones for Asterisk including a $59 model that makes a perfect VoIP companion.
Choosing the Best VoIP Platform for Your Needs
Choosing a VoIP platform is partially a subjective decision, but there also are some glaring red flags to consider. We suggest you begin by deciding whether your preferences include any must-have’s. Do your requirements mandate an open source solution? Do you need text-to-speech and voice recognition? Does the operating system have to be Linux-based and, if so, must it be CentOS, Debian, or Ubuntu? If you’ll be using SIP phones, must the platform include phone provisioning software for your phones, or is the ability to purchase it as an add-on sufficient? Is paid support important in making your platform decision and how much are you prepared to pay? Are automatic or pain-free software updates critical in making your selection? Is migration from an existing platform a factor? Does a preconfigured, secure firewall matter, or are you prepared to do it yourself or take your chances? Before choosing to ignore security, read this RIPS analysis of FreePBX®. Here’s a snippet from the article. Read it carefully. It’s your phone bill.
Since FreePBX is written completely in PHP, we decided to throw it into our code analysis tool RIPS. The results were more than surprising and should tell you why a rock-solid firewall is absolutely essential.
The total amount of detected vulnerabilities is very high. Luckily, the majority of the detected vulnerabilities are inside the administration control panel, such that attackers either need to steal a valid account or they have to trick an administrator into visiting a malicious website that triggers one of the critical vulnerabilities. For example, a remote command execution vulnerability could be triggered by a less critical cross-site scripting vulnerability. By chaining both vulnerabilities, the severity is increased drastically and can lead to full server compromise.
In choosing which platforms to include today, we eliminated platforms which we considered too complicated for the average new user to configure. We also eliminated any platform that did not offer at least a free tier of service with a reasonably complete feature set as part of their offering. So here’s our Pick of the Litter.
We must confess that we are partial to the Incredible PBX offerings because they provide a turnkey GPL platform with minimal configuration required on your part. Regardless of platform, all come standard with a preconfigured firewall and about three dozen applications for Asterisk that will help you learn everything there is to know about VoIP telephony.
VoIP Platform Feature Summary
Aggregation: Incredible PBX 13-13 for CentOS/SL
License: Open Source GPL
VoIP Platform: Asterisk 13
GUI: FreePBX 13 GPL modules
O/S: CentOS/SL 6.9 or 7
Phone Provisioning: Open Source
Text-to-Speech/Voice Recognition: Yes/Yes
Software Updates: Automatic Update Utility included
Migration Tools: No
Security: Fail2Ban + Preconfigured Firewall Whitelist
Security Rating (as delivered): Secure
Comments: Lean & Mean or Whole Enchilada installers as well as ISO available
Aggregation: Incredible PBX 13-13 for Raspbian
License: Open Source GPL
VoIP Platform: Asterisk 13
GUI: FreePBX 13 GPL modules
O/S: Raspbian 7
Phone Provisioning: Open Source
Text-to-Speech/Voice Recognition: Yes/Yes
Software Updates: Automatic Update Utility included
Migration Tools: No
Security: Fail2Ban + Preconfigured Firewall Whitelist
Security Rating (as delivered): Secure
Aggregation: Incredible PBX 13-13 for Ubuntu
License: Open Source GPL
VoIP Platform: Asterisk 13
GUI: FreePBX 13 GPL modules
O/S: Ubuntu 18.04
Phone Provisioning: Open Source
Text-to-Speech/Voice Recognition: Yes/Yes
Software Updates: Automatic Update Utility included
Migration Tools: No
Security: Fail2Ban + Preconfigured Firewall Whitelist
Security Rating (as delivered): Secure
Comments: Lean & Mean or Whole Enchilada installers
Aggregation: VitalPBX
License: Closed Source
VoIP Platform: Asterisk 13
GUI: Free and Commercial modules
O/S: CentOS 7
Phone Provisioning: Free
Text-to-Speech/Voice Recognition: Optional/Optional
Software Updates: Automatic
Migration Tools: Yes
Security: Fail2Ban + User-Configurable Firewall
Security Rating (as delivered): Insecure
Comments: Incredible PBX add-on now available including TM3 firewall.
Aggregation: Incredible PBX for Issabel 4
License: Open Source GPL
VoIP Platform: Asterisk 13
GUI: FreePBX 11 GPL modules
O/S: CentOS 7
Phone Provisioning: Open Source
Text-to-Speech/Voice Recognition: No/No
Software Updates: Semi-Automatic
Migration Tools: No
Security: Fail2Ban + Unconfigured Firewall
Security Rating (as delivered): Secure with Incredible PBX add-on
Comments: Incredible PBX add-on provides secure platform
Aggregation: FusionPBX for FreeSWITCH
License: Open Source MPL 1.1
VoIP Platform: FreeSWITCH 1.6
GUI: FusionPBX
O/S: Debian 8
Phone Provisioning: Free
Text-to-Speech/Voice Recognition: Optional/Optional
Software Updates: Automatic
Security: Fail2Ban + User-Configurable Firewall
Security Rating (as delivered): Secure with mods below
Comments: Incredible PBX firewall add-on now available .
Aggregation: Incredible PBX for Wazo
License: GPL3 Open Source
VoIP Platform: Asterisk 15 RealTime
GUI: Wazo GPL3 modules
O/S: Debian 9
Phone Provisioning: Extensive Open Source
Text-to-Speech/Voice Recognition: Yes/Yes
Software Updates: Automatic or 2-minute Manual
Migration Tools: No
Security: Fail2Ban + Preconfigured Firewall
Security Rating (as delivered): Secure WhiteList with Incredible PBX add-on
Comments: High Availability & Call Center GPL3 Modules
Aggregation: FreePBX Distro a.k.a. AsteriskNOW
License: Closed Source
VoIP Platform: Asterisk 13/14/15
GUI: FreePBX GPL and Commercial modules
O/S: Closed-source CentOS fork
Phone Provisioning: Open Source (minimal) or Commercial
Text-to-Speech/Voice Recognition: Optional/No
Software Updates: Manual from Hidden Repo
Migration Tools: Yes
Security: Fail2Ban + User-Configurable Firewall
Security Rating (as delivered): Insecure
Comments: Extensive commercial NagWare preinstalled
Deploying a Local Server vs. Cloud Platform
We’ve always been big fans of local servers because you have almost total control of your own destiny. This was especially true when the Raspberry Pi came along to take the financial pain out of the server equation. But the price of Cloud-based servers has continued to plummet. For 2018, you can run any of our favorites on the least expensive platform at Vultr or Digital Ocean for $2.50 a month. And, if you hurry, your first 10 months are free at Vultr. Spending another 50 cents buys you automatic backups.1 And, for the Incredible PBX 13-13 build with CentOS 6.9 (64-bit), we’ve found a deal at HiFormance that offers a high-performance OpenVZ platform at an annual cost of just $10. The technical specs are impressive (even better if you sign up for 3 years), and we don’t think you’ll find a comparable deal with anything near comparable performance and specs anywhere, period. You get your choice of hosting sites including New York, Chicago, Los Angeles, Buffalo, Atlanta, and Dallas. Complete tutorial available here.
NOTE: OpenVZ/SolusVM platforms not suitable for CentOS 7, Debian 9, or Ubuntu 18 implementations, and some providers do not yet support Ubuntu 18.04 platform although Vultr and Digital Ocean both do.
Available Free Trunks for VoIP Servers
For many years, we’ve offered free Google Voice connectivity with our VoIP platforms. And that remains true at least for a few more weeks. On all of the Incredible PBX platforms, Google Voice trunks can be set up to make free calls in the U.S. and Canada provided you have a U.S. residence and a U.S. cellphone number to verify that you are who you say you are. There’s even a ray of hope that the Simonics gateway may allow you to continue using Google Voice after Google Voice’s mid-June drop-dead date for XMPP. Details here. But what about the rest of the world. For 2018, we solved the problem by offering free DID trunks for inbound calls and a collection of 300 wholesale VoIP carriers worldwide to make outbound calls at the same wholesale rates offered to the very largest resellers. Simply pay a 13% surcharge in lieu of the $650 annual fee, and TelecomsXchange (TCXC) will provide you access to their entire suite of wholesale carriers together with state-of-the-art tools to manage all of the services.2 The Nerd Vittles setup tutorial is available here. Enjoy!
Published: Monday, March 5, 2018 Updated: Sunday, May 27, 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…
- On the Vultr and Digital Ocean $2.50 platforms, be sure to (1) create a 1GB swapfile once you’ve chosen your operating system. (2) Then, for Vultr, issue the following command before beginning the Incredible PBX install: apt-get install cloud-init.
(3) Now complete the steps outlined in your preferred Nerd Vittles tutorial, and you’ll be all set in about 15 minutes. [↩] - Our special thanks to TelecomsXchange. They have generously offered to contribute a portion of the wholesale surcharge to support the Incredible PBX open source project. [↩]
Creating an OBi200 Google Voice Trunk to Use with Asterisk
Since Asterisk® will no longer be able to "talk" to Google Voice after June 17, we promised to hold our nose and document how to salvage your Google Voice trunks. Our exercise for today is to show you how to deploy an OBi 200-series device which can speak the new Google Voice language and use it as a traditional SIP bridge between Google Voice’s proprietary SIP platform and your Asterisk server. We will skip the editorializing on why Google is making a terrible mistake by discarding XMPP and forcing users to a proprietary solution necessitating a hardware purchase without first offering an open standards solution as Google’s Community Manager promised here. Promises, of course, don’t keep your phones ringing. For the whole story, see our article from last Saturday. For today, you’ll need to shell out $50 for an OBi 200 device. Once you have it in hand, feel free to read on and we’ll get you back in business. For security reasons, it should be noted that today’s setup assumes you are running an Incredible PBX® server and OBi device locally behind a NAT-based router. This will work equally well with the Incredible PBX-enhanced versions of Issabel and VitalPBX. We’ll leave it to the FreePBX® folks to figure out a solution for their proprietary distro.
Everything we’re covering below will work just as well using any of the OBi 200-series devices. We’ve simply chosen to use an OBi202 in our examples today because it supports an extra phone port. But an OBi200 works just as well if you will only be deploying Google Voice trunks (up to 3 and perhaps more) for your PBX. They retail for approximately $50 and are readily available at Amazon through the link in the right column which also provides a few shekels for Nerd Vittles to keep the lights on. As mentioned last week, Obihai crippled the OBi 110-series devices which will no longer work with the new Google Voice setup. Such a fine company that we once praised for producing our Device of the Year. And don’t worry. If you ever visit their forum, you can expect a cheery reception from the Obihai forum moderator. Here’s the response we got1 when raising concerns about the demise of Google Voice XMPP:
Registering Your OBi2x Device with OBiTALK
A Quick Start Guide accompanies your OBi hardware. Following along in the tutorial will get your OBi set up using a free (so far) OBiTALK account. When you get to Step 5, you’ll be ready to set up your Google Voice account by clicking the Google Voice Set-Up button.
Before you begin the Google Voice setup, we strongly recommend that you plug a POTS phone into your OBi device and dial ***6 to update your firmware to the latest release. Depending upon where you purchased your device, it may or may not have the latest firmware which is required to communicate with Google Voice on or after June 17.
We also recommend that you dial ***1 and obtain the DHCP-assigned IP address for your OBi. You’ll need this in a few minutes. And, while you’re at it, be sure to set the OBi up behind a NAT-based router to protect it from intrusion. Once someone gains access to your OBi, they’ve essentially got the keys to your telecom castle. So always deploy an OBi behind a hardware-based firewall that is on the same private LAN as your Asterisk PBX. Finally, on your router, be sure to reserve the DHCP-assigned IP address of your OBi for permanent use by the OBi hardware. Otherwise, the IP address of your OBi may change, and this will break the SIP gateway connection to your Asterisk server.
Finally, a word about the new OBi setup. All of your settings are now stored and managed in the OBiTALK cloud. Obihai then pushes the configuration to your OBi device. To put it charitably, this usually works but sometimes it doesn’t, and you end up with a quirky OBi setup that looks correct in the cloud but simply doesn’t work. We’ve found the simplest solution is to unplug the device and then restart it. Then check all of your cloud-based settings when the OBi device comes back to life to be sure none of your settings disappeared. Sometimes they do! In the old days, you had the option of configuring your OBi device locally; however, Obihai (now Polycom) has disabled that functionality with the new Google Voice setup presumably to disguise what they are doing under the covers to connect to Google.
Configuring a Google Voice Trunk on OBi200
To give credit where credit is due, configuring a Google Voice trunk on the OBi 200-series devices is dead simple. Login into your OBiTALK account, click on your OBi device, and then click the Google Voice Set-Up button.
Enter your Google Voice credentials when prompted, give Obihai permission to control your Google Voice account, and you’re done. Within a few seconds, the connections dialog box should show Google Voice connected on service provider SP1.
If you haven’t already done so, plug a POTS phone into your OBi device and place a call to somebody by dialing a 10-digit number. Then use another phone and call the Google Voice number you assigned to your OBi device. The POTS phone should ring. Don’t continue until you get these calls working in both directions. You’d be wasting your time.
Now we need to adjust the destination for incoming calls to your OBi device and redirect them from the POTS phone to the SP3 trunk we’ll be using to connect to your Asterisk server. We’ll leave SP2 unoccupied in case you wish to add another Google Voice trunk down the road.
To make this change, click the OBi Expert Configuration button at the bottom of the Device Configuration window. Then click OK to confirm that you know what you’re doing. Next click the Enter OBi Expert button at the top of the next form. In the left column, click Voice Services and then SP1 Service. The fifth parameter is called X_InboundCallRoute. Beside it, uncheck both the OBiTALK Settings and Device Default checkboxes. Now enter sp3(6781234567) in the Value field for X_InboundCallRoute where 6781234567 is your actual Google Voice phone number (DID). Scroll to the bottom and click the Submit button.
Finally, at the top of the left column of the form, click Return to OBi Dashboard.
Configuring OBi SIP Trunk for Asterisk
1. Login to your OBi Dashboard using a web browser . After signing up for an account and registering your OBi device, click on the OBi 200 device in the My OBi Devices list.
2. In the Device Configuration dialog, click OBi Expert Configuration button. When prompted whether you’re sure, click OK.
3. In the OBi Expert Configuration Menu, click Enter OBi Expert button.
4. In the Production Information (left) column, click Service Providers.
5. In the Service Providers listing, click ITSP Profile C General.
6. For each of these fields, uncheck OBiTALK Settings and then uncheck Device Default:
- General:Name
- Service Provider Info:Name
- Service Provider Info:URL
7. Fill in the ! field Values as shown below using the private IP address of your PBX:
8. Click Submit button after checking your entries carefully.
9. In the Service Providers listing on the left, click ITSP Profile C SIP.
10. In the ITSP Profile, enter the private IP address of your PBX in the Proxy Server, Registrar Server, and Outbound Proxy fields after first unchecking both the OBiTALK Settings and Device Default checkboxes.
11. Scroll down the form to X_SpoofCallerID and uncheck both the OBiTALK Settings and Device Default checkboxes. Then check the Value field for X_SpoofCallerID.
12. Scroll down the form to X_DiscoverPublicAddress and uncheck both the OBiTALK Settings and Device Default checkboxes. Then uncheck the Value field for X_Discover PublicAddress.
13. Click Submit button after checking your entries beside the 5 red exclamation points.
14. In the Production Information (left) column, click Voice Services
15. In the Voice Services listing on the left, click SP3 Service.
16. In the SP3 Service Profile, fill in the 5 fields in which the OBiTALK Settings checkbox is unchecked. The AuthUsername and AuthPassword entries will be used to authenticate to your PBX so be sure to choose a very secure password. It’s your phone bill. The URI field actually makes the trunk connection to your PBX so replace the 192.168.0.82 entry shown with the actual IP address of your PBX.
17. In the SIP Credentials section of the form, make certain that X_EnforceRequestUserID is unchecked. If not, uncheck both the OBiTALK Settings and Device Default checkboxes and then uncheck X_EnforceRequestUserID.
18. If you do not want to pass the CallerID number with your calls, in the Calling Features section of the form, be sure to check AnonymousCallEnable after unchecking both the OBiTALK Settings and Device Default checkboxes.
19. In the Service Providers listing on the left, click ITSP Profile A SIP.
20. Be sure X_SpoofCallerID is checked.
21. Click Submit button after checking your entries carefully.
Configuring Incredible PBX GUI for an OBi200
On the Incredible PBX side, log into the GUI using a web browser. We’ll be adding a SIP trunk, an outbound route, and an inbound route to process calls to and from the OBi device.
Add a SIP Trunk with a Trunk Name matching whatever you used in your OBi SIP credentials, e.g. obi200 or obi202. Plug in your Outbound CallerID to match your Google Voice phone number. In the Dialed Number Manipulation Rules tab, add a Match Pattern of NXXNXXXXXX. In the SIP Settings tab for Outgoing, the Trunk Name should match whatever you used on the OBi side, e.g. obi200 or obi202. In the PEER DETAILS, enter the following using the default username and password you assigned on the OBi side. Normally, port 5061 is the default port assigned on the OBi side. If you get a failed registration, try 5060 and then 5062 and 5063. Click Submit and reload your dialplan when finished.
type=friend defaultuser=obi200 secret=your-password qualify=yes port=5061 nat=yes host=dynamic dtmfmode=rfc2833 disallow=all context=from-trunk canreinvite=no allow=ulaw insecure=port,invite
For Outbound Call Routing, we recommend an Outbound Route using the 624 (OBI) prefix and 10-digit numbers. For example, if a user dials 624-888-1234567, your Incredible PBX server would place a call using the OBi’s Google Voice trunk to 1-888-1234567. When your Outbound Route setup looks like the following, click Submit and reload your dialplan.
For Inbound Call Routing, create an Inbound Route specifying a DID Number to match your Google Voice number. Choose a Call Destination to meet your own requirements, e.g. an extension, ring group, or IVR. Then click Submit and reload your dialplan.
Now you’re ready to test an outgoing call by dialing the OBi prefix (624) plus a 10-digit number. Then place a call to your Google Voice number using your cellphone and be sure Asterisk routes it to the destination you specified in your inbound route above.
Configuring VitalPBX to Use an OBi200
Truth be told, we weren’t bright enough to figure out how to configure the VitalPBX Trunk using credentials so we simply set up the SIP trunk using IP address authentication with the IP address of the OBi device. It works just as well and just goes to prove there’s always more than one way to skin a cat. So here’s the Trunk configuration on the VitalPBX side. The only entry you will need to change is the Host IP address for your OBi device. If you don’t know it, plug a phone into the OBi and dial ***1.
NOTE: For the Username and Description fields below, be sure to match what you used on the OBi side (above) for your SIP credentials, i.e. obi200 or obi202. If they don’t match on both devices, you won’t get a successful connection. Our apologies for mixing apples and oranges in the screenshots.
For Outbound Call Routing, we recommend an Outbound Route using the 624 (OBI) prefix and 10-digit numbers. For example, if a user dials 624-888-1234567, the VitalPBX server would place a call using the OBi’s Google Voice trunk to 1-888-1234567. Here’s the Outbound Route setup to make that happen:
For Inbound Call Routing, go to PBX:External:Inbound Routes and add an inbound route and destination for calls from your 10-digit Google Voice number. Or you can use the Default Inbound Route which we explained in our previous VitalPBX tutorial. Basically, you set up an Inbound Route with a Description and Routing Method of Default. All the other fields should be left as is except for the Inbound Destination. For the destination, you can choose an IVR, Extension, Ring Group, etc. to meet your own requirements.
Originally published: Monday, May 14, 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.
SPECIAL 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 10-digit DID. Enjoy!
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.
- You can always find a little humor in insults if you dig deep enough. Ironically and unbeknownst to our pal, Steve, it was Sherman Scholten and his OBi development team that were among the first Google Voice "freeloaders." Only years later after Google Voice was integrated into FreeSwitch did Josh Culp at Digium perfect a clean way to integrate Google Voice into the Asterisk platform. [↩]
An Open Letter to Google: Don’t Do It!
With an obscure post on its support forum, Google has quietly announced that it will discontinue Google Voice support for XMPP on June 18. According to Obihai1 insiders, it will be replaced with a Google-proprietary version of the SIP protocol to which only Obihai has been provided access despite claims from Google staff (without documentation) that the "new Google Voice" will be "standards-compliant" and "should work with many third party solutions."
July 20 Update: Google did it anyway and pulled the plug on their XMPP implementation of Google Voice. See this Nerd Vittles tutorial for the latest fixes for Asterisk without purchasing any new hardware.
If you loved New Coke, this should be a hit. You may recall that Google has attempted similar switcharoos previously only to retreat at the last moment and continue support for "Legacy Google Voice" a.k.a. Google Chat which works with Asterisk® and currently looks like this:
If you happen to have an Obi 200 series device and revisit the same Google Voice Legacy Settings dialog today, what you will now see looks something like this. In addition to the disappearance of the Google Chat option, note the proprietary FQDN in the SIP URI as well as the MAC address accompanying the specific OBi hardware device designation. That’s three clear indicators that this new "service" was engineered to be anything but open.
The important point here is that all existing Google Voice XMPP connections through Asterisk, pygooglevoice, 3CX, OBi 100-series devices, and the Simonics SIP/GV gateway will fail beginning June 18. In its place, we get a new (proprietary) monopoly courtesy of Google and Obihai/Polycom. Can this change? Of course. What are the chances? Not likely. They’re already rolling it out to OBi hardware. And, if you happen to be one of the millions of Asterisk users that has depended upon Google Voice for communications, too bad for you. In fact, when we posted comments on both the Google Voice and Obihai forums warning of the upheaval this would cause in the VoIP community, both comments were promptly removed. So much for transparency and standards compliance. Wouldn’t you think Google would have the decency to at least alert Google Voice users through their registered email addresses that the service was being discontinued after users have relied upon it for almost ten years? Apparently not. A SIP FQDN that begins with a corporate name is not a good sign. It’s anything but standards-compliant. Quoting one of the OBi shills, "Google isn’t obligated to support anything else." And then there’s this from a moderator on the Google Forum:
So where do we go from here? There are several options. None of them are particularly appealing. First, you can port out your Google Voice number to another provider. You’ve got about five weeks to get it done. Second, you can continue to use the existing Google Voice Settings menu (so far) to forward incoming calls to a DID or phone number that you already own. What you lose is the ability to make outbound calls using that Google Voice trunk. Third, you can purchase an OBi 200-series ATA and set up a SIP trunk to process calls from the OBi200 in much the same way that you do today. Aside from the $50 bounty, the only other wrinkle that we’ve found is that FreePBX® currently does not support DIDs of over 50 characters (as are used with the new GV DIDs) so you will need to configure a default inbound route to process incoming calls from your OBi devices or apply the patch that we’ll provide for Incredible PBX® platforms. It should also work with generic FreePBX setups.
We have mixed emotions about documenting this OBi 200-series trunk setup. Other sites have pulled their tutorials arguing that we should boycott Polycom and Obihai devices as well as Google Voice until Google cleans up its act. After all, Polycom has worked with Google for months to design and build this new proprietary setup. It wasn’t an accident. On the other hand, we have championed Google Voice since its inception, and thousands of our followers depend upon Google Voice for their production PBXs. So we’re holding our nose in documenting the setup here. In the meantime, we hope each of you will write and post scathing comments about Google Voice and publish them widely. Do it today! Bad publicity is probably the only thing that will prompt Google to change directions at this juncture.
Continue Reading: Creating an OBi200 Google Voice Trunk to Use with Asterisk
Originally published: Saturday, May 12, 2018
- In case you didn’t know, Obihai recently sold out to Polycom. [↩]
Incredible PBX in the Cloud: A $10/Year VoIP Cloud Platform
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 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. 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 VoIP revolution!
So what’s the catch? Well, there’s no catch with Incredible PBX 13-13 and CentOS 6.9. But this HiFormance platform uses OpenVZ with SolusVM, and SolusVM has some serious bugs with their CentOS 7 and Debian 9 implementations. That rules out using VitalPBX, Issabel, or Wazo. 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.
Getting Started with Incredible PBX 13-13
Once your virtual machine is up and running with CentOS 6.9, log into your server as root and issue the following commands to get started. Use the first command to immediately change your root password. Then you’ll be ready to begin the Incredible PBX install. It’s a two-step process. First, the installer will bring your version of CentOS up to current specs and load the necessary packages to support Asterisk® and FreePBX®. The first stage takes 22 minutes.
passwd cd /root yum -y update yum -y install net-tools nano wget tar wget http://incrediblepbx.com/incrediblepbx-13-13-LEAN.tar.gz tar zxvf incrediblepbx-13-13-LEAN.tar.gz rm -f incrediblepbx-13-13-LEAN.tar.gz ./IncrediblePBX-13-13.sh
When the base install finishes, your server will reboot. Simply log back in as root and run the installer a second time. Be sure your console window is at least 80 x 28, or the install will fail. If in doubt, expand it to full screen. You’ll be prompted whether to implement Google Voice plain text or OAuth 2 passwords.1 OAuth is strongly recommended. In fact, OAuth is required if you wish to install the Whole Enchilada upgrade which gets you several dozen preconfigured applications for Asterisk. Make your selection, and the installer will work its magic. Return in 12 minutes.
./IncrediblePBX-13-13.sh
Reboot one final time when the installer finishes the setup, and Incredible PBX LEAN will be ready to go. Log back in as root. This will kick off the Automatic Update Utility to load any last minute additions, bug fixes, and security patches. After the status menu displays, run the following apps to set a very secure admin password for web access to the GUI and to choose your default time zone:
/root/admin-pw-change /root/timezone-setup
One of the unique features of Incredible PBX 13-13 is that most of the major components of the aggregation including Asterisk are compiled from source code on the fly. This has several advantages. First, you always get the latest version of the source code. And, second, the source code is available on your server so that you can make any future modifications desired to meet your own unique requirements. You won’t find this in any other VoIP implementation. It’s one of the reasons Incredible PBX takes a bit longer to install than many of the canned offerings that rely upon precompiled packages that are difficult to modify.
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. 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.
NOTE: If you plan to upgrade to the Whole Enchilada, you can skip the rest of this section. It’s for those that wish to roll their own PBX from the ground up.
To get a basic system set up so that you can make and receive calls, you’ll need to add 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. Our previous tutorial will walk you through this setup procedure. Over the years, we’ve built a number of command line utilities including a script to preconfigure SIP trunks for more than a dozen providers in seconds. You’ll find links to all of them here.
Continue Reading: Configuring Extensions, Trunks & Routes
Reconfiguring PortKnocker for OpenVZ
By default, PortKnocker monitors activity on eth0. Most OpenVZ platforms including HiFormance use venet0:0 as the default Ethernet port. Issue the following commands to get PortKnocker up and running. Then pbxstatus should show PortKnocker working.
echo 'OPTIONS="-i venet0:0"' >> /etc/sysconfig/knockd service knockd restart pbxstatus
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.
Upgrading to Incredible PBX Whole Enchilada
There now are two more pieces to put in place. The sequence matters! Be sure to upgrade to the Whole Enchilada before you install Incredible Fax. If you perform the steps backwards, you may irreparably damage your fax setup by overwriting parts of it.
The Whole Enchilada upgrade script now is included in the Incredible PBX LEAN tarball. Upgrading to the Whole Enchilada is simple. Log into your server as root and issue the following commands. Be advised that this upgrade will overwrite all of your existing Incredible PBX setup including any extensions, trunks, and routes you may have created previously. You also will be prompted to reset all of your passwords as part of the upgrade. Install time: 2 minutes.
cd /root ./Enchilada*
If you accidentally installed Incredible Fax before upgrading to the Whole Enchilada, you may be able to recover your Incredible Fax setup by executing the following commands. It’s worth a try anyway.
amportal a ma install avantfax amportal a r
Installing Incredible Fax with HylaFax/AvantFax
You don’t need to upgrade to the Whole Enchilada in order to use Incredible Fax; however, you may forfeit the opportunity to later upgrade to the Whole Enchilada if you install Incredible Fax first. But the choice is completely up to you. 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 will be prompted for your Apache admin credentials which were set when you installed Incredible PBX 13-13 LEAN or the Whole Enchilada. Then you’ll be asked to change your AvantFax password.
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." Check back next week for the Whole Enchilada apps tutorial.
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. 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, April 16, 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.
NEW YEAR’S 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.
Introducing Digium’s Awesome SIP Phones for Asterisk
If you’ve been waiting for a low-cost, feature-rich SIP phone that meshes perfectly with your Asterisk® PBX, your prayers have been answered. Digium has just released not one, but four, new SIP phones with prices starting at $59. No, that’s not a typo. Digium gave us a couple of early models to play with, and today we’ll walk you through the incredibly simple setup. We would begin by noting that, despite the pricing, these phones are configured with nothing resembling a bargain basement feature set. All four models have color displays, HD Voice, POE for use without the $15 power adapter, and at least two lines. The phones can be configured using the phones themselves, or through a slick web interface, or with auto-provisioning by MAC address. Beginning with the $89 A22, the top three models support gigabit Ethernet. With the $119 A25, you get four line registrations as well as a second LCD supporting six Rapid Dial keys or up to 30 BLF entries. The top-of-the-line $169 A30 supports six line registrations and an LED setup that closely matches our previous VoIP Phone of the Year, Yealink’s T46G. While the phones were not designed for use with Switchvox®, we found them to be plug-and-play with 3CX® which is probably also true with Switchvox even though we have not tested them on that platform. We have been using our A22 phone with one line connected to Incredible PBX® for the Raspberry Pi and the second connected to VitalBox. We’ve had zero issues with the phone, and sound quality is excellent.
Connecting Digium’s A-Series IP Phone
To get started, you’ll need a power source for the phone which can be either a POE network connection or a power adapter. You’ll also need to connect to a network that can provide DHCP or VLAN configuration data. Once the phone boots up, press the checkmark button (✓) twice to display the IP address assigned to the phone. Using a desktop browser, navigate to that IP address and enter admin:789 as the default login credentials.
Configuring a SIP Extension on Your IP Phone
Once you’re logged in, click on the Line tab and fill in the blanks for the SIP1 account using the desired extension number, extension password, and IP address of your Asterisk server. Be sure Activate is checked. It should look something like the following. Then click Apply.
This one-minute setup is all that’s required to put your new phone into production with Asterisk. You’re ready to make and receive calls. The L1 button on the A20 or A22 phone (pictured above) should now be lit. To light up the L2 button, add a second SIP connection by repeating the drill after choosing the SIP2 Line from the pull-down menu. If you have redundant PBXs, fill in the IP address of the Backup server, and the phone will automatically failover when the primary PBX goes down. It doesn’t get any easier than that.
With 3CX extensions, the setup is virtually identical except the phone’s Authentication Name field should reflect the Authentication Name chosen when setting up the 3CX extension.
Customizing Your SIP Phone Settings
VoiceMail Setup. The voicemail button can be activated for one or both SIP lines in the Advanced Settings tab under each of the SIP connections. Check the Subscribe to Voice Message box and enter the Voice Message Number to retrieve your voicemails, e.g. *98701 for extension 701 on an Asterisk PBX or 999 for a 3CX extension’s voicemail.
Customizing Phone Display. If you’d like to customize the branding and background image on your phone, navigate to Phone Settings and click the Advanced tab. Here’s a link to download one of our favorite beach scenes (pictured above), or you can use your own 320×240 BMP image on the A20 and A22. The high end phones use a 480×272 BMP image. The Asterisk label at the top of the phone’s display can also be adjusted in the Greeting Words field. We’re Enchilada fans personally. 🙂
Changing Passwords and PINs. You also can adjust the passwords and PINs for the phone device itself under the Phone Settings:Advanced tab. The default is 789. To modify the admin credentials for the browser interface or to add new accounts, go to System and click on the Account tab. Because the phone can be configured using either the phone itself or the browser interface, you’ll need to change both sets of passwords to secure your phone.
Adjusting Codecs. Depending upon your PBX setup, you may need to adjust or reorder the codecs for one or both of your SIP lines. Simply navigate to Line:SIP1:Codec Settings and make any necessary changes. HINT: You’ll rarely have a problem if you make G.711U (U.S.) or G.711A (elsewhere) your primary codec although G.722 is what you’ll want for HD Voice. This is especially important if you’re using Google Voice trunks or 3CX client software.
Auto-Provisioning Your A20, A22, and A25 Phones
Let’s get to the fun stuff now. Everything we’ve covered (and much more) can be scripted with these new phones. You can read all about it here. For today, let’s get your Phonebook Contacts populated using your AsteriDex database entries. And then you can press the Down button on the phone to retrieve your Contacts.
Setting Up Phone Provisioning. Before you can auto-provision your phone, both your phone and your Asterisk server need a little navigation information. Let’s start with the phone so login as admin:789 to get started. Click on the System option and then the Auto Provision tab. Write down the last 12 digits of your phone’s MAC address (CPE Serial Number highlighted above). Check the DownloadDeviceConfig option (as shown). Disable the DHCP Option and the SIP Plug and Play options by clicking on the respective tabs. Then open the Static Provisioning Server option (as shown). Enter the local IP address of your server assuming your phone and server are both behind a firewall. For the Protocol Type, choose HTTP. For the Update Mode, choose Update After Reboot. Then click the Apply button.
Next, let’s configure the phone so that you can press the Down arrow button to access your Phonebook Contacts. Click on the Function Key option in the left margin. Then look in the Programmable Keys section and locate the row with the settings for the Down button. Change the entry in the Desktop column to Phonebook. Then click the Apply button.
Configuring Asterisk for Phone Provisioning. Now we need to get your server set up to support phone provisioning. The way provisioning works is we will set up a provisioning profile for each phone which will be processed by your web server whenever a phone is rebooted. This profile will also tell the phone where to find your Phonebook Contacts XML file. To get started, navigate to /var/www/html and create a new .cfg file for each of your phones using the 12-character MAC address of the phone, e.g. 000123456789.cfg. The file should look like the following with the exception of the Auto Pbook Url entry which should reflect the local IP address of your server:
<<VOIP CONFIG FILE>>Version:2.0.0.0 <PHONE CONFIG MODULE> LCD Title :IncredblePBX <AUTOUPDATE CONFIG MODULE> Download CommonConf:0 Download DeviceConf:1 Check FailTimes :5 update PB Interval :720 Clr PB B4 Import :1 Trust Certification:0 Enable Auto Upgrade:0 Upgrade Server 1 : Upgrade Server 2 : Auto Upgrade intval:24 Auto Pbook Url :http://192.168.0.108/phonebook.xml <<END OF FILE>>
Populating Phonebook Contacts with AsteriDex. Now we’re ready to build the Phonebook Contacts file (phonebook.xml) using the AsteriDex 4 database. Just issue the following commands and then reboot each of your phones (Menu+8+Yes):
cd /var/www/html/asteridex4 wget http://incrediblepbx.com/asterisk-phonebook.tar.gz tar zxvf asterisk-phonebook.tar.gz rm -f asterisk-phonebook.tar.gz php asterisk-phonebook.php
Digium A-Series IP Phone User Guide
Last but not least, take a look at Digium’s A-Series IP Phone User Guide (PDF) for more tips.
Final Thoughts on A-Series IP Phones
If you couldn’t already tell, we’re quite impressed with the new A-Series phones from Digium. If you’re on a budget, the $59 model is one terrific bargain for home or SOHO use. The only thing you’re really forfeiting with this phone is the gigabit Ethernet port which will have zero impact on small and medium-sized network implementations of a VoIP server. Rather than buying power adapters for your phones, drop by your favorite WalMart and purchase a network switch that includes POE support. They start at about $30. Then pick one of these phones up from your favorite provider and let us know what you think. You’ll also be helping to fund Digium’s open source Asterisk project. Enjoy!
Originally published: Friday, April 13, 2018
Got Friends? 7 Countries Have Never Visited Nerd Vittles. 2018 Is Calling! https://t.co/wMfmlhAr16 #asterisk #freepbx #wazo #issabel #IncrediblePBX #3CX pic.twitter.com/kAmAEnwVIw
— Ward Mundy (@NerdUno) January 9, 2018
Need help with VitalPBX? Visit the VitalPBX 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.