Meet the Two Amigos: Introducing Incredible PBX for Elastix MT

Q: But wait. Aren’t Elastix® and PBX in a Flash™ competitors? What’s going on here?

A: Think of us as Two Amigos! Edgar Landivar and his team have been fellow contributors to the Asterisk® open source community for as long as we have. They just happened to be on another continent. We’re not in the Asterisk Business, per se, so steering those in need of commercial components toward a company that respects the tenets of the GPL is great for all of us. The rewards are new products such as Elastix MT, a formidable multitenant PBX solution with a terrific new GUI. And the icing on the cake is an integrated, commercial Call Center Service for those that need it.

We promised that 2015 would be the year of Gotcha-Free choices for the Asterisk platform, and today we deliver the second VoIP alternative with pure and honest GPL code minus the patent, trademark, and copyright minefields that we’ve previously written about. Incredible PBX™ for Elastix MT provides virtually the same feature set of applications for Asterisk as our previous releases. Just abide by the clear GPL licensing terms and copy, embellish, and redistribute to your heart’s content. The silver lining is a fantastic (free) multi-tenant platform with a terrific new GUI courtesy of Elastix MT. WOW!

Elastix MT is relatively new and not without a few growing pains as is true with all new releases. But, prepare to be amazed. What a terrific platform on which to build an Asterisk 11-based server that can support multiple organizations out of the starting gate… at no cost. The Elastix MT feature set has no rival in the open source community: telephony, instant messaging, faxing, email server, ODBC database support, integrated call center, and on and on. For a great overview of Elastix MT (aka Elastix 3.0), watch this video from AstriCon:

Incredible PBX adds a huge collection of its own open source applications for Asterisk to give you the best of all worlds. Our design strategy was straight-forward. Install a 64-bit bit version of Elastix MT on the platform of your choice. Then run the Incredible PBX installer. In 5 minutes, you’re ready to roll. The installer will create a separate Incredible PBX organization with all the bells and whistles to which you are accustomed. Text-to-speech applications, speech recognition, DISA, ODBC, SMS messaging, news, weather, conference bridge support, and a voice dialer are enabled out of the box.

A Word of Caution. If you’re new to Incredible PBX, install a clean version of Elastix MT with NO MODIFICATIONS before you begin the Incredible PBX install. All of the existing Elastix MT setup will be modified as part of the Incredible PBX install, and these changes will wipe out any additions you’ve previously made to Elastix MT. Once the Incredible PBX install is completed, you can make all the changes you wish in your Elastix MT configuration. The only major design change we’ve made is to rework the Elastix MySQL database tables into MyISAM format from InnoDB. This facilitates making future backups and restores of your server as well as providing the necessary platform to install Incredible PBX components.

Did We Mention Security? You also get a locked down, preconfigured IPtables Firewall WhiteList with all of the Travelin’ Man 3 tools plus the automatic update service to keep your server up to date and safe. There is a $20 voluntary annual license fee for the update service but, if you’d prefer to buy donuts, be our guest. But understand that voluntary is a two-way street. Running the update service costs us time and money and, when it ceases to be worthy of our time and financial investment, we reserve the right to discontinue the service down the road. The next time you log into your server after installing Incredible PBX, you’ll quickly appreciate why an automatic update service is important. Every major Linux vulnerability from the past year will be patched without your ever lifting a finger.

With respect to the multi-tenant functionality of Elastix MT, you can elect to use the Incredible PBX platform exclusively moving forward. Or you can create additional organizations from the Elastix MT dashboard or by using the Elastix MT API. It’s all about choices, and Incredible PBX with Elastix MT delivers in spades!

Target Audience: Small or Large Organization in need of a turnkey, Gotcha-Free PBX

Default Configuration: Asterisk 11 with enhanced Elastix 3.0 GUI and Kennonsoft GUI

Platform: CentOS 6.4 running on Dedicated Server, Cloud-Based Server, or Virtual Machine

Minimum Memory: 1024 MB

Recommended Disk: 20 GB+

Feature Set: Fax, SMS messaging, NeoRouter/PPTP VPN, Reminders, ConfBridge Conferencing, AsteriDex, Voicemail, Email, IVR, News, Weather, Voice Dialer, Wolfram Alpha, Today in History, TM3 Firewall WhiteList, Speed Dialer, iNUM and SIP URI (free) worldwide calling, DISA, Call Forwarding, Tailorable CDRs

Administrator Utilities: Incredible Backup/Restore, Automatic Updater, phpMyAdmin, Timezone Config, WebMin, Admin Password Configurator, ODBC/MySQL Database Configurator, Firewall WhiteList Tools

Getting Started with Incredible PBX for Elastix MT

For those new to Asterisk or accustomed to single-tenant PBXs such as PBX in a Flash, there are some differences of which you need to be aware. First, extensions are unique to each organization on your PBX. For example, it is perfectly acceptable to have an extension 701 for each organization with Elastix MT. The extensions are differentiated with a suffix that identifies the organization’s domain, e.g. 701@incred.pbx. Fictitious domains are acceptable. The nomenclature required to register a phone with Incredible PBX for Elastix MT and a sample setup using the (free) Telephone app for the Mac is shown below:

The other major change is the Asterisk config files. In a traditional single-tenant PBX, all of the files are stored in /etc/asterisk. With Elastix MT, there is an additional storage location for the extensions config files. And note the new context name [incred.pbx-from-internal-custom] in extensions_custom.conf. Incredible PBX handles all of the under-the-covers work for you automatically, but we wanted to alert you to the differences in the event you wish to build your own organizations within Elastix MT.

root@localhost# ls /etc/asterisk/organizations/incred.pbx
extensions.conf extensions_custom.conf extensions_additionals.conf extensions_globals.conf

Here’s a quick overview of the installation and setup process for Incredible PBX for Elastix MT:

  1. Choose a Hardware Platform – Dedicated PC, Cloud Provider, or Virtual Machine
  2. Install Elastix MT – 64-bit CentOS 6.4 platform
  3. Download and Install Incredible PBX for Elastix MT
  4. Set Up Passwords for Incredible PBX for Elastix MT
  5. Configure Trunks with Incredible PBX for Elastix MT
  6. Connect a Softphone to Incredible PBX for Elastix MT

1. Choose a Platform for Incredible PBX for Elastix MT

Incredible PBX for Elastix MT works equally well on dedicated hardware, a cloud-based server, or a virtual machine. Just be sure you’ve met the minimum requirements outlined above and that you have a sufficiently robust Internet connection to support 100Kb of download and upload bandwidth for each simultaneous call you wish to handle with your new PBX.

For Dedicated Hardware, we recommend at least an Atom-based PC of recent vintage with at least a 30GB drive and 4GB of RAM. That will take care of an office with 10-20 extensions and a half dozen or more simultaneous calls if you have the Internet bandwidth to support it. For multi-tenant deployments, the hardware sky is the limit depending upon your requirements.

For Cloud-Based Servers, we recommend RentPBX, one of our financial supporters who also happens to size servers properly and restrict usage solely to VoIP. This avoids performance bottlenecks that cause problems with VoIP calls. Yes, we have a coupon code for you to get the $15/month rate: NOGOTCHAS. The new image to support Incredible PBX for Elastix MT should be available shortly.

For Virtual Machine Installs, we recommend Oracle’s VirtualBox platform which runs atop almost any operating system including Windows, Macs, Linux, and Solaris. Here’s a link to our original VirtualBox tutorial to get you started. We suggest allocating 1GB of RAM and at least a 20GB disk image to your virtual machine for best performance. We actually used VirtualBox to build Incredible PBX for Elastix MT.

2. Install 64-bit Elastix MT on Your Platform

Begin by downloading the 64-bit Elastix MT ISO. For dedicated hardware, burn the ISO image to a CD/DVD and boot your server with the Elastix MT ISO to begin the install. Here are the simplest installation steps:

Disable IPv6 Support (unless required) and Click Continue
Click: Discard All Data
Choose: Install Language
Choose: Keyboard
Choose: Time Zone
Set: Root Password
Choose Disk Setup: Use All Space
Wait for Reboot to Complete
Set MySQL Password to: passw0rd (MANDATORY: with a zero!)
Choose Elastix admin Password: minimum 10 alphanumeric characters with upper & lowercase

For VirtualBox, create an Elastix MT virtual machine of Linux (RedHat 64-bit) type by clicking New. Click Settings button. In System, enable I/O APIC and disable Hardware Clock in UTC Time. In Audio, enable Audio for your sound card. In Network, enable Bridged Adapter for Adapter 1. In Storage, click on Empty in the Storage Tree. Then click on the Disk icon to the right of CD/DVD Drive attributes. Choose the Elastix MT ISO file that you downloaded. Click OK. Then start the virtual machine to begin the installation process. Follow the setup steps above to install Elastix MT in your virtual machine.

CAUTION: For the time being, we would strongly recommend that you not run yum upgrade or yum update on the Elastix MT platform after the install is finished. This will be handled automatically by the Incredible PBX installer in the next step.

3. Download and Install Incredible PBX for Elastix MT

After completing the Elastix MT install, log into your server as root using SSH or Putty from a desktop machine that you will use to manage your server. This is important with the Incredible PBX IPtables Firewall WhiteList so you don’t get locked out of your own server! Then issue the following commands to begin the Incredible PBX install:

cd /root
wget http://incrediblepbx.com/incrediblepbx11elastix.tar.gz
tar zxvf incrediblepbx11elastix.tar.gz
rm -f incrediblepbx11elastix.tar.gz
./IncrediblePBX11-ElastixMT.sh

5. Initial Configuration of Incredible PBX for Elastix MT

Incredible PBX is installed with the preconfigured IPtables Linux firewall already in place. It implements WhiteList Security to limit server access to connected LANs, your server’s IP address, your desktop computer’s IP address, and a few of our favorite SIP providers. You can add additional entries to this WhiteList whenever you like using the add-ip and add-fqdn tools in /root. There’s also an Apache security layer for our web applications. And, of course, Elastix MT has its own security methodology. Finally, we randomize extension and DISA passwords as part of the initial install process. Out of the starting gate, you won’t find a more secure VoIP server implementation anywhere. After all, it’s your phone bill.

Even with all of these layers of security, here are 10 Quick Steps to better safeguard your server. You only do this once, but failing to do it may lead to security issues you don’t want to have to deal with down the road. So DO IT NOW!

First, log out and back into your server as root with your root password to get the latest updates. Then do the following:

Make your root password very secure: passwd
Set your correct time zone: ./timezone-setup
Create admin password for web apps: htpasswd -b /etc/pbx/wwwpasswd admin newpassword
Set MySQL and Elastix admin PW: ./admin-pw-change (MySQL PW MUST be passw0rd with zero)
Make a copy of your other passwords: cat passwords.FAQ
Decipher IP address and other info about your server: status

Second, log into Elastix MT as admin using a web browser pointed to your server’s IP address:

Click USERS tab in Incredible PBX GUI
Click Elastix MT Administration
Log in as user: admin with password from above
Change Extension 701 and 702 passwords (including Voicemail)

Last but not least, Incredible PBX includes an automatic update utility which downloads important updates whenever you log into your server as root. We recommend you log in once a week to keep your server current. If you haven’t already done so, NOW would be a good time to log out and back into your server at the Linux command line to bring your server current.

6. Configure Trunks with Incredible PBX for Elastix MT

Before you can actually make or receive calls outside your PBX, you’ll need at least one trunk. Open the Elastix MT GUI and click PBX -> PBX -> Trunks. Then click Create New Trunk. Once you have your credentials from a provider, here is a quick Cheat Sheet courtesy of Kristian Hare, to help you set up your trunk. Our original setups are available in this spreadsheet as well. Just click on the image below to open it in a new window. Then click on the redisplayed image to enlarge it.

For a great tutorial on Getting Started with Trunks in Elastix MT, go here. Google will handle the translation to English if you’re a little rusty on your español.

7. Configure a Softphone with Incredible PBX for Elastix MT

Incredible PBX comes preconfigured with two extensions (701 and 702) that let you connect phones to your PBX. You can connect virtually any kind of telephone to your Elastix MT PBX. Plain Old Phones require an analog telephone adapter (ATA) which can be a separate board in your computer from a company such as Digium. Or it can be a standalone SIP device such as ObiHai’s OBi100 or OBi110 (if you have a phone line from Ma Bell to hook up as well). SIP phones can be connected directly so long as they have an IP address. These could be hardware devices or software devices such as the YateClient softphone. We’ll start with a free one today so you can begin making calls. You can find dozens of recommendations for hardware-based SIP phones both on Nerd Vittles and the PIAF Forum when you’re ready to get serious about VoIP.

We recommend YateClient which is free. Download it from here. Run YateClient once you’ve installed it and enter the credentials for the 701 extension on Incredible PBX. You’ll need the IP address of your server plus your extension 701 password. You can find them in /root/passwords.FAQ. Fill in the blanks using the IP address of your server, 701@incred.pbx for your account name, and whatever password is assigned to the extension. Complete the other fields as shown. Click OK to save your entries.

Once you are registered to extension 701, close the Account window. Then click on YATE’s Telephony Tab and place some test calls to the numerous apps that are preconfigured on Incredible PBX. Before you do anything else, dial yourself at 701 and press * to access the voicemail system. Change your password immediately. Next, dial 702 and press *. When prompted for the password, enter 702. Then change it. Now dial a few of these numbers just for fun:


123 - Reminders
947 - Weather by ZIP Code
951 - Yahoo News
222 - ODBC Lookup (try: 12345)
TODAY - Today in History

Creating your own extensions in Elastix MT is easy. Choose PBX -> PBX Apps -> Extensions. Then click Create New Extension and fill in the form using this example:

If you wish to enable voicemail on the new extension, click the Voicemail tab and complete the entries before clicking the Save button. For possible Voicemail Options, review ext. 701 voicemail configuration. The entries are self-explanatory.

Configuring Google Voice

Google Voice is still a work in progress on the Elastix MT platform. We have included the Python implementation of gvoice in /root for those that want to experiment by making calls and sending SMS blasts the “old-fashioned” way. For the time being, Elastix MT does not support native Asterisk 11 Google Voice functionality. But we’ll drop them a note and see what we can do. In the meantime, so long as you have a working trunk on which to receive incoming calls, you can make free outbound calls with Google Voice by running gvoice, entering your Google Voice account name and password, selecting call, entering the destination number to call followed by your incoming DID. Check back here often for updates as we add more bells and whistles.

Homework Assignment: Mastering Incredible PBX for Elastix MT

We’ve put together a complete tutorial for the applications included in Incredible PBX for Asterisk-GUI. Most of it is fully applicable to Elastix MT as well. That should be your next stop. Then you’ll be ready to tackle Elastix NT. Google is your friend. Do some exploring, and we’ll post links to great articles on this new platform as we discover them. Your suggestions are also welcomed!

In the meantime, if you have questions, join the PBX in a Flash Forums and take advantage of our awesome collection of gurus. There’s an expert available on virtually any topic, and the price is right. As with Incredible PBX, it’s absolutely free. The same applies to the Elastix 3.0 forum.

Bugs & Fixes. Rather than perpetually updating this article with bug reports and fixes, we will post bugs and fixes as they become available in this thread on the forum. For openers, there are major issues with Trunks in Elastix MT, but we’re getting there so enjoy the ride!

Originally published: Monday, March 2, 2015


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



Need help with Asterisk? Visit the PBX in a Flash Forum.


 
New Vitelity Special. Vitelity has generously offered a new discount for Incredible PBX users. You now can get an almost half-price DID from our special Vitelity sign-up link. If you’re seeking the best flexibility in choosing an area code and phone number plus the lowest entry level pricing plus high quality calls, then Vitelity is the hands-down winner. Vitelity provides Tier A DID inbound service in over 3,000 rate centers throughout the US and Canada. And, when you use our special link to sign up, the Nerd Vittles and PBX in a Flash projects get a few shekels down the road while you get an incredible signup deal as well. The going rate for Vitelity’s DID service is $7.95 a month which includes up to 4,000 incoming minutes on two simultaneous channels with terminations priced at 1.45¢ per minute. Not any more! For Incredible PBX users, here’s a deal you can’t (and shouldn’t) refuse! Sign up now, and you can purchase a Tier A DID with unlimited incoming calls for just $3.99 a month. To check availability of local numbers and tiers of service from Vitelity, click here. Do not use this link to order your DIDs, or you won’t get the special pricing! Vitelity’s rate is just 1.44¢ per minute for outbound calls in the U.S. There is a $35 prepay when you sign up. This covers future usage and any balance is fully refundable if you decide to discontinue service with Vitelity.
 


Some Recent Nerd Vittles Articles of Interest…

The Gotcha-Free PBX in the Cloud: Introducing Incredible PBX @ RentPBX.com

We continue the Incredible PBX for Asterisk-GUI adventure today with an open source alternative for which many have been clamoring, an affordable Cloud-based Asterisk® platform with a no-strings-attached graphical user interface. As if the $15 a month hosting plan weren’t enough, the icing on the cake is the quick 2-minute setup on your choice of a dozen servers throughout the U.S. as well as Canada and Europe. If you can find the Enter key on a keyboard, then you can handle the complexity of the RentPBX setup. When you’re finished, you’ll have a turnkey PBX featuring some of the finest open source software on the planet. The software is all free, subject only to the terms of the open source licenses.

Target Audience: Home or SOHO/SBO in need of a turnkey, Gotcha-Free PBX in the Cloud

Default Configuration: Asterisk 11 with enhanced Asterisk-GUI, Kennonsoft GUI, and NANPA dialplan

Platform: CentOS 6.6 running on RentPBX Cloud-Based Server platform

Memory: 385 MB with 415 MB swap

Disk Size: 20 GB

Default Trunks: Google Voice, CallCentric, DIDlogic, Future-Nine, IPcomms, Les.net, Vitelity, VoIP.ms1

Feature Set: Fax, SMS messaging, VPN, Reminders, ConfBridge Conferencing, AsteriDex, Voicemail, IVR, Email, News, Weather, Voice Dialer, Wolfram Alpha, Today in History, TM3 Firewall WhiteList, Speed Dialer, iNUM and SIP URI (free) worldwide calling, OpenCNAM CallerID lookups, DISA, Call Forwarding, CSV CDRs

Administrator Utilities: Incredible Backup/Restore, Automatic Updater, Asterisk Upgrader, phpMyAdmin, Timezone Config, Plug-and-Play Trunk Configurator, WebMin, External IP Setup, Firewall WhiteList Tools

Getting Started with Incredible PBX for Asterisk-GUI (Cloud Edition)

Here’s a quick overview of the installation and setup process for Incredible PBX for Asterisk-GUI @ RentPBX.com:

  1. Sign Up for Gotcha-Free PBX in the Cloud – Choose server location and await credentials
  2. Complete the Install of Incredible PBX and Incredible Fax
  3. Set Up Passwords for Incredible PBX for Asterisk-GUI
  4. Configure Trunks with Incredible PBX for Asterisk-GUI
  5. Connect a Softphone to Incredible PBX for Asterisk-GUI

1. Sign Up for Gotcha-Free PBX in the Cloud at RentPBX.com

Visit RentPBX.com and choose the PBX in a Flash builds and complete the following steps:

When you begin the payment and checkout phase, enter your coupon code to take advantage of the $15/month discounted rate: NOGOTCHAS. Wait for the confirmation email with your server credentials and dedicated IP address.

2. Complete the Install of Incredible PBX and Incredible Fax

Nothing tricky here. It’s a 2-minute setup process. Log into your server as root with your default password using SSH or Putty. Once you’re logged in, RentPBX will randomize all of your passwords for Incredible PBX. Next, you’ll be prompted for the email address to use for delivery of your faxes. Once entered, you’ll be prompted for various information to install HylaFax and AvantFax. Just press the Enter key at every prompt. In a couple minutes, your server will reboot to bring Incredible PBX and Incredible Fax on line. Log back into your server as root and let Incredible PBX run its Automatic Update Utility to bring your system current. That’s it. You now have a turnkey Asterisk® PBX that’s ready for configuration.

3. Initial Configuration of Incredible PBX for Asterisk-GUI

Incredible PBX is installed with the preconfigured IPtables Linux firewall already in place. It implements WhiteList Security to limit server access to your server’s IP address, your desktop computer’s IP address, and a few of our favorite SIP providers. You can add additional entries to this WhiteList whenever you like using the add-ip and add-fqdn tools in /root. There’s also an Apache security layer for web applications. And, of course, Asterisk-GUI has its own security methodology using Asterisk’s manager.conf. Finally, RentPBX randomized extension and DISA passwords as part of the initial setup process. Out of the starting gate, you won’t find a more secure VoIP server implementation anywhere. After all, it’s your phone bill.

Even with all of these layers of security, here are 10 Quick Steps to better safeguard your server. You only do this once, but failing to do it may lead to security issues you don’t want to have to deal with down the road. So DO IT NOW!

First, log into your server as root with your root password and do the following:

Make your root password very secure: passwd
Set your correct time zone: ./timezone-setup
Create admin password for web apps: htpasswd -b /etc/pbx/wwwpasswd admin newpassword
Make a copy of your other passwords: cat passwords.FAQ
Make a copy of your Knock codes: cat knock.FAQ
Decipher IP address and other info about your server: status

Second, log into your server as admin using a web browser pointed to your server’s IP address:

Click USERS tab in Incredible PBX GUI
Click Asterisk-GUI Administration
Log in as user: admin with password: password
Immediately change your admin password

Log in to Asterisk-GUI again with your new password. Expand the options available in the GUI (if required):

Options -> Advanced Options -> Show Advanced Options

Last but not least, Incredible PBX includes an automatic update utility which downloads important updates whenever you log into your server as root. We recommend you log in once a week to keep your server current.

4. Configure Trunks with Incredible PBX for Asterisk-GUI

Now for the fun part. If this is your first VoIP adventure, be advised that this ain’t your grandma’s phone system. You need not and should not put all your eggs in one basket when it comes to telephone providers. In order to connect to Plain Old Telephones, you still need at least one provider. But there is nothing wrong with having several. And a provider that handles an outbound call (termination) need not be the same one that handles an incoming call (origination) and provides your phone number (DID). We cannot recommend Vitelity highly enough, and it’s not just because they have financially supported our projects for almost a decade. They’re as good as VoIP providers get, and we use lots of them. If you’re lucky enough to live in the U.S., you’d be crazy not to set up a Google Voice account. It’s free as are all phone calls to anywhere in the U.S. and Canada. The remaining preconfigured providers included in Incredible PBX for Asterisk-GUI are equally good, and we’ve used and continue to use almost all of them. So pick a few and sign up. You only pay for the calls you make with each provider so you have little to lose by choosing several. The PIAF Forum includes dozens of recommendations on VoIP providers if you want additional information.

With the preconfigured trunks in Incredible PBX for Asterisk-GUI, all you need are your credentials for each provider and the FQDN of their server. Log into Asterisk-GUI Administration as admin using a browser. From the System Status screen, click Incredible PBX Apps. Click on each provider you have chosen and fill in the blanks with your credentials. When you’ve saved all of your settings, log into your server as root via SSH and type: service asterisk restart or asterisk-restart. You can also issue the command in the Asterisk-GUI by choosing the Asterisk CLI tab2 in the left column. Doesn’t get any simpler!

Update: It should be noted that Incredible PBX for Asterisk-GUI also supports Anveo Direct trunks; however, they are configured differently because of the way Anveo handles the calls. You’ll need the PIN provided by Anveo to set up your trunk, and Anveo supports CallerID spoofing so you can enter any CallerID number for the trunk that you are authorized to use. You’ll find the Anveo Direct setup link in the Incredible PBX Apps tab. To route an outgoing call through Anveo trunk, dial 2 + any desired 10-digit number.

Here is the complete list of dialing prefixes and the trunks to which they are associated:

  • 1 – Google Voice
  • 2 – Anveo Direct
  • 3 – Future Nine
  • 4 – CallCentric
  • 5 – DIDlogic
  • 6 – IPcomms
  • 7 – Les.net
  • 8 – Vitelity
  • 9 – VoIP.ms

For free iNUM calling worldwide, the following dialing prefixes are supported in conjunction with the last seven digits of any destination iNUM DID. Free iNUM DIDs for your own PBX are available from both of these providers as well.

  • 0XXXXXXX – CallCentric
  • 90XXXXXXX – VoIP.ms

5. Configure a Softphone with Incredible PBX for Asterisk-GUI

We’re in the home stretch now. You can connect virtually any kind of telephone to your new Gotcha-Free PBX. Plain Old Phones require an analog telephone adapter (ATA). Because your server is actually in the RentPBX Cloud, a standalone SIP device is required. Good choices are ObiHai’s OBi100 or OBi110 (if you have a phone line from Ma Bell to hook up as well). SIP phones can be connected directly so long as they have an IP address. These could be hardware devices or software devices such as the YateClient softphone. We’ll start with a free one today so you can begin making calls. You can find dozens of recommendations for hardware-based SIP phones both on Nerd Vittles and the PIAF Forum when you’re ready to get serious about VoIP telephony. Don’t forget to WhiteList the IP address of each SIP phone you wish to connect using /root/add-ip or /root/add-fqdn.

We recommend the YateClient softphone which is free. Download it from here. Run YateClient once you’ve installed it and enter the credentials for the 6002 extension on Incredible PBX. You’ll need the IP address of your server plus your extension 6002 password. Choose Users -> 6002 and write down your SIP/IAX Password. You can also find it in /root/passwords.FAQ. Fill in the blanks using the IP address of your server, 6002 for your account name, and whatever password is assigned to the extension. Click OK to save your entries.

Once you are registered to extension 6002, close the Account window. Then click on YATE’s Telephony Tab and place some test calls to the numerous apps that are preconfigured on Incredible PBX. Dial a few of these to get started:

7001 - IVR Demo
123 - Reminders
947 - Weather by ZIP Code
951 - Yahoo News
*61 - Time of Day
TODAY - Today in History

If you are a Mac user, another great no-frills softphone is Telephone. Just download and install it from the Mac App Store.

Configuring Google Voice

If you want to use Google Voice, you’ll need a dedicated Google Voice account to support Incredible PBX. The more obscure the username (with some embedded numbers), the better off you will be. This will keep folks from bombarding you with unsolicited Gtalk chat messages, and who knows what nefarious scheme will be discovered using Google messaging six months from now. So keep this account a secret!

IMPORTANT: Do NOT under any circumstances take Google’s bait to switch from Google Chat to Hangouts, or you will forever lose the ability to use Google Chat with Incredible PBX. Also be sure to enable the Google Chat option as one of your phone destinations in Settings, Voice Setting, Phones. That’s the destination we need for The Incredible PBX to work its magic! Otherwise, all inbound and outbound calls will fail. Thus far, Google has apparently had a change of heart on discontinuing Google Chat support so it’s enabled by default in all new Google Voice accounts. Nothing free lasts forever so make some alternative arrangements before disaster strikes!

Once you’ve created a Gmail and Google Voice account, go to Google Voice Settings and click on the Calls tab. Make sure your settings match these:

  • Call ScreeningOFF
  • Call PresentationOFF
  • Caller ID (In)Display Caller’s Number
  • Caller ID (Out)Don’t Change Anything
  • Do Not DisturbOFF
  • Call Options (Enable Recording)OFF
  • Global Spam FilteringON

Click Save Changes once you’ve adjusted your settings. Under the Voicemail tab, plug in your email address so you get notified of new voicemails. Down the road, receipt of a Google Voice voicemail will be a big hint that something has come unglued on your PBX.

One final word of caution is in order regardless of your choice of providers: Do NOT use special characters in any provider passwords, or nothing will work!

Now you’re ready to configure your Google Voice account in Incredible PBX. You can do it from within Asterisk-GUI by choosing Google Voice within the Incredible PBX Apps tab. Once you’ve entered your credentials, don’t forget to restart Asterisk, or Google Voice calls will fail. If you still have trouble placing or receiving calls, follow these tips.

OK, Smarty Pants: Show Me the Beef!

We know what some of you are thinking. “What does a fast food worker really know about VoIP and Gotcha-Free PBXs?? Before I waste a bunch of time on this, show me the beef!” Fair enough. Sit by your phone and click the Call Me icon below. Type in a fake name and your real phone number. Click the Connect button, answer your phone when it rings, and press 1. You’ll be connected to the Incredible PBX IVR for Asterisk-GUI. Pick an option from the menu of choices and take the Incredible PBX apps for a spin on our dime… actually it’s Google’s dime. Everything you see and hear is part of what you get with Incredible PBX for Asterisk-GUI including the ability to set up your own click-to-dial web interface exactly like this one. The demo just happens to be running on our Mac desktop. So… what are you waiting for? Click away and try Incredible PBX for yourself. And, by the way, nobody besides the NSA and Google will be monitoring your call. :wink:



Nerd Vittles Demo IVR Options3
1 – Call by Name (say “Delta Airlines” or “American Airlines” to try it out)
2 – MeetMe Conference (password is 1234)
3 – Wolfram Alpha (say “What planes are overhead?”)
4 – Lenny (The Telemarketer’s Worst Nightmare)
5 – Today’s News Headlines
6 – Weather Forecast (say the city and state, province, or country)
7 – Today in History
8 – Speak to a Real Person (or maybe just voicemail if we’re out)

Homework Assignment: Mastering the Incredible Apps and Asterisk-GUI

Just Released: The Gotcha-Free Incredible PBX Application User’s Guide

Your next stop should be a careful reading of the new Incredible PBX Application User’s Guide. It documents the 31 apps for Asterisk that are included with your new PBX. You also need to learn all you can about Asterisk-GUI and how to make the best use of its powerful feature set. Here’s one word of warning. We mentioned that Incredible PBX was a hybrid system that combines some customized settings with the standard Asterisk-GUI interface. Before modifying existing settings for the default trunks, extensions, and default routes, take a look at the credentials* files in /etc/asterisk. If you modify any of these trunk entries or the Outgoing or Incoming Call Rules in Asterisk-GUI, you may break the Incredible PBX setup. So steer clear of that minefield until you know what you’re doing. Adding new extensions and additional trunks is perfectly fine and will not break anything.

Rather than reinvent the wheel, we’ll point you to some excellent tutorials that already have been written. Start with Chapter 3 of Digium’s Asterisk Appliance™ Administrator Manual. Next, review Chapter 11 of The Asterisk Book (Second Edition). Finally, take a look at a couple of the tutorials that have been written by other companies that incorporated Asterisk-GUI into their hardware products, e.g. Yeastar’s MyPBX SOHO User Manual and Grandstream’s UCM6100 User Manual.

In the meantime, if you have questions, join the PBX in a Flash Forums and take advantage of our awesome collection of gurus. There’s an expert available on virtually any topic, and the price is right. As with Incredible PBX, it’s absolutely free.

We also are quickly building a collection of tutorials tailored specifically for Incredible PBX for Asterisk-GUI:

Enjoy your new Gotcha-Free PBX in the Cloud!


Don’t forget to List Yourself in Directory Assistance so everyone can find you by dialing 411. Add your new number to the Do Not Call Registry to block telemarketing calls. Or call 888-382-1222 from your new number.

Originally published: Monday, February 23, 2015


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



Need help with Asterisk? Visit the PBX in a Flash Forum.


 
New Vitelity Special. Vitelity has generously offered a new discount for Incredible PBX users. You now can get an almost half-price DID from our special Vitelity sign-up link. If you’re seeking the best flexibility in choosing an area code and phone number plus the lowest entry level pricing plus high quality calls, then Vitelity is the hands-down winner. Vitelity provides Tier A DID inbound service in over 3,000 rate centers throughout the US and Canada. And, when you use our special link to sign up, the Nerd Vittles and PBX in a Flash projects get a few shekels down the road while you get an incredible signup deal as well. The going rate for Vitelity’s DID service is $7.95 a month which includes up to 4,000 incoming minutes on two simultaneous channels with terminations priced at 1.45¢ per minute. Not any more! For Incredible PBX users, here’s a deal you can’t (and shouldn’t) refuse! Sign up now, and you can purchase a Tier A DID with unlimited incoming calls for just $3.99 a month. To check availability of local numbers and tiers of service from Vitelity, click here. Do not use this link to order your DIDs, or you won’t get the special pricing! Vitelity’s rate is just 1.44¢ per minute for outbound calls in the U.S. There is a $35 prepay when you sign up. This covers future usage and any balance is fully refundable if you decide to discontinue service with Vitelity.
 


Some Recent Nerd Vittles Articles of Interest…

  1. Vitelity, Google, and RentPBX provide financial support to Nerd Vittles and the Incredible PBX project. []
  2. If, for some reason, the Asterisk CLI tab does not appear on your server, click Options -> Advanced Options -> Show Advanced Options. []
  3. Allison is available to record custom voice prompts with the same quality as this one. []

Where to Begin: A Comparison of Open Source Features in Asterisk Aggregations

We receive frequent inquiries requesting that we document the feature set in the open source Asterisk® distributions that Nerd Vittles writes about each week. So today we’re pleased to provide a Feature Matrix that we will attempt to keep current as we move forward. Just bookmark this page, and you can check back periodically to get a quick thumbnail sketch of what each of these distributions currently supports.1 A chart, of course, doesn’t tell the whole story. But it’s a good starting point.

Not covered this week are the Asterisk aggregations that are either non-GPL code or are produced by organizations whose primary focus is the sale of commercial hardware and/or software. But don’t despair. Nerd Vittles is weeks away from announcing a commercial solution with some surprises that may encourage non-hobbyists to reevaluate your options and to take a fresh look at commercial alternatives, some of which may soon be free. So… hold on to your checkbook a bit longer!

All of the Asterisk aggregations we’re covering today have several things in common. First, all of the products rely upon industry-standard operating system platforms including CentOS, Scientific Linux, Ubuntu, and Raspbian. Each has an enormous user base and technical support team to assure that your operating system remains stable, secure, and non-proprietary for the life of your PBX. All of today’s products also support open source, non-proprietary, and free fax solutions with installers customized to the various platforms. Unlike other alternatives, all of these aggregations compile Asterisk and the graphical user interface used to manage your PBX as part of the install process. That means your compiled code is tailored to your particular hardware, and the source code is always installed on your server to simplify the task of making changes or enhancements to the default install without spending hours scouring the Internet to track down dependencies and missing source components. Try finding 3-year-old source code of some of the other distributions (as the GPL requires), and you’ll appreciate our SourceForge repository which goes back almost 5 years. Last but not least, all of these aggregations support Google Voice directly with free calling and free faxing throughout the U.S. and Canada in just minutes.

Once you’ve identified the feature set that best meets your needs, the next step is finding a tutorial to get you started. Look no further than Nerd Vittles for step-by-step instructions tailored to your specific platform whether it’s dedicated hardware, a virtual machine, or a Cloud-based platform. You won’t find an equivalent resource anywhere else. And, of course, the most user-friendly forum on the planet stands ready to help should you ever hit a snag.

Originally published: Tuesday, February 17, 2015



Need help with Asterisk? Visit the PBX in a Flash Forum.


 
New Vitelity Special. Vitelity has generously offered a new discount for Incredible PBX users. You now can get an almost half-price DID from our special Vitelity sign-up link. If you’re seeking the best flexibility in choosing an area code and phone number plus the lowest entry level pricing plus high quality calls, then Vitelity is the hands-down winner. Vitelity provides Tier A DID inbound service in over 3,000 rate centers throughout the US and Canada. And, when you use our special link to sign up, the Nerd Vittles and PBX in a Flash projects get a few shekels down the road while you get an incredible signup deal as well. The going rate for Vitelity’s DID service is $7.95 a month which includes up to 4,000 incoming minutes on two simultaneous channels with terminations priced at 1.45¢ per minute. Not any more! For Incredible PBX users, here’s a deal you can’t (and shouldn’t) refuse! Sign up now, and you can purchase a Tier A DID with unlimited incoming calls for just $3.99 a month. To check availability of local numbers and tiers of service from Vitelity, click here. Do not use this link to order your DIDs, or you won’t get the special pricing! Vitelity’s rate is just 1.44¢ per minute for outbound calls in the U.S. There is a $35 prepay when you sign up. This covers future usage and any balance is fully refundable if you decide to discontinue service with Vitelity.
 


Some Recent Nerd Vittles Articles of Interest…

  1. Our special thanks to Captain Anonymous for the terrific code that made an HTML layout of this feature comparison chart possible. []
  2. RentPBX is a Platinum Sponsor of the PBX in a Flash project. Install PIAF in the Cloud for $15/mo. with Coupon Code: PIAF2015 []

The Gotcha-Free PBX: Raspberry Pi 2, Meet Incredible PBX for Asterisk-GUI ❤

OK. The Raspberry Pi 2 may not quite rival the Raspberry Pi supercomputer built at Boise State, but it’s getting closer. The supercomputer that included 32 Raspberry Pi’s a year ago can now be built with about 5 Raspberry Pi 2’s. While the footprint may look the same as the $35 Raspberry Pi that you knew and loved two years ago, the RasPi² sports a 900MHz ARMv7 quad core processor with a full gig of RAM under the hood. And even though the Raspberry Pi 2 may be camera-shy, there’s a good reason. It’s a screamer! Early testing indicates a six-fold increase in performance even though it still looks much the same. What hasn’t changed is the price. It’s still $35 in the U.S. if you can find one. We couldn’t wait so we headed to the Pimoroni Shop in the U.K. to order ours with a Pibow case. Shipped within hours, and we got it in 2 days!

Do we have a Valentine’s Treat for you! Today we’re pleased to introduce the all-new Raspberry Pi edition of Incredible PBX for Asterisk-GUI featuring the just-released Raspberry Pi 2 and the just-released Asterisk® 11.16. And, not to worry, if you ever get tired of running your own PBX (and we don’t think you will), Micro$oft announced last week that you’re going to get a free version of Windows 10 for the Raspberry Pi 2 later this year.

Last week we released a tutorial covering all of the new Gotcha Free PBX applications, and that guide applies to today’s Raspberry Pi 2 release as well. That’s the beauty of the new Incredible PBX modular design. And, speaking of design, we don’t build Incredible PBX servers with an included operating system any longer so we’ll walk you through getting the Raspberry Pi 2 squared away with the latest and greatest version of Raspbian before we actually install Incredible PBX.

Target Audience: Home or SOHO/SBO in need of a turnkey, Gotcha-Free PBX

Default Configuration: Asterisk 11 with enhanced Asterisk-GUI, Kennonsoft GUI, and NANPA dialplan

Platform: Raspbian 7 running on a Raspberry Pi 2

Standard Memory: 1024MB

Recommended Disk: 16GB+

Default Trunks: Google Voice, CallCentric, DIDlogic, Future-Nine, IPcomms, Les.net, Vitelity, VoIP.ms1

Feature Set: SMS messaging, VPN, Reminders, ConfBridge Conferencing, AsteriDex, Voicemail, Email, IVR, News, Weather, Voice Dialer, Wolfram Alpha, Today in History, TM3 Firewall WhiteList, Speed Dialer, iNUM and SIP URI (free) worldwide calling, OpenCNAM CallerID lookups, DISA, Call Forwarding, CSV CDRs

Administrator Utilities: Incredible Backup/Restore, Automatic Updater, Asterisk Upgrader, phpMyAdmin, Timezone Config, Plug-and-Play Trunk Configurator, WebMin, External IP Setup, Firewall WhiteList Tools

Getting Started with Incredible PBX for Asterisk-GUI (RasPi 2 Edition)

Here’s a quick overview of the installation and setup process for Incredible PBX for Asterisk-GUI:

  1. Install Linux for Raspberry Pi 2 – Install Raspbian 7 Platform
  2. Configure Raspbian 7 – Optimize Raspbian 7 for Incredible PBX
  3. Download and Install Incredible PBX for Asterisk-GUI
  4. Install Incredible Fax for Asterisk-GUI (optional)
  5. Set Up Passwords for Incredible PBX for Asterisk-GUI
  6. Configure Trunks with Incredible PBX for Asterisk-GUI
  7. Connect a Softphone to Incredible PBX for Asterisk-GUI

1. Install Raspbian 7 Platform for Raspberry Pi 2

For those with Raspberry Pi experience, this is the same drill you’ve performed a dozen times before. For newbies, here’s the procedure. You’ll need a microSD card of at least 8GB, and we strongly recommend a 16GB or 32GB Type 10 card for Incredible PBX. We’ve tested both the SanDisk and Transcend cards, and they work great.

Begin by downloading the very latest RASPBIAN image from RaspberryPi.org to your desktop. After you’ve unzipped the image, you need to get it moved to your microSD card. RaspberryPi.org has excellent tutorials that will walk you through the process using a Linux, Mac, or Windows desktop platform. Don’t forget to unmount the card before removing it!

Once you have your microSD card ready to go, plug it into the slot on the back of the Raspberry Pi 2 and then plug in the power cord. On your attached monitor, you can follow the boot up process. When the login prompt appears, log in as user pi with the password raspberry.

2. Optimizing Raspbian 7 for Incredible PBX for Asterisk-GUI

The first time you boot up your Raspberry Pi 2 with Raspbian 7, it will run the raspi-config script. This allows you to make a number of changes to your Raspberry Pi environment to maximize performance. Let’s take advantage of it.

Option 1. Expand the File System to fill your SD card. Otherwise, there’s insufficient disk space to complete the install.

Option 3. Enable Boot to Desktop (top selection). No Linux GUI please!

Option 8. Change your Hostname under A2 to incrediblepi2.

Tab to the Finish option and press ENTER. Then choose Reboot and YES.

After the reboot, log back in as pi:raspberry and set a very secure root password: sudo passwd root. Decipher your IP address so that you can log in as root via SSH: ifconfig.

We recommend completing the install by logging in as root using a desktop computer via SSH or Putty (for Windows). This gives you the ability to scroll back up and find errors if something happens to come unglued during the install process.

3. Install Incredible PBX on Your Raspberry Pi 2

Adding Incredible PBX to the Raspberry Pi 2 is easy. To restate the obvious, your server needs a reliable Internet connection to proceed. Using SSH (or Putty on a Windows machine), log into your Raspberry Pi 2 as root at the IP address you deciphered in the ifconfig step at the end of the Raspbian install procedure above.

IMPORTANT: Before you begin the Incredible PBX install, expand your console window to at least 80×27, or the Asterisk compilation step may fail. If you’re in doubt about the window dimensions, just maximize the window to full-screen during the install process.

Now let’s begin the Incredible PBX install. After logging in as root, issue the following commands. The install takes less than an hour and runs unattended so there’s no need to watch unless you’re curious how sausage is made. Remember, we compile all of the major components for Incredible PBX as part of the build process. And you can review the open source GPL2 script to see how it’s done if you have an interest or wish to embellish. It’s Gotcha-Free code so go for it and share your discoveries. After all, that’s what open source is all about!

cd /root
wget http://incrediblepbx.com/incrediblepbx11guiPi.tar.gz
tar zxvf incrediblepbx11guiPi.tar.gz
rm -f incrediblepbx11guiPi.tar.gz
./IncrediblePBX11Pi-GUI.sh

4. Install Incredible Fax for Asterisk-GUI (optional)

Administrators have been trying to stomp out faxing for at least two decades. Here’s a hint. It ain’t gonna happen. So go with the flow and add Gotcha-Free Faxing to your server. It’ll be there when you need it. And sooner or later, you’ll need it. This install script is simple enough for any monkey to complete. Run the script and enter the email address for delivery of your faxes. Then, if you’re in the U.S. or Canada, press the Enter key to accept every default entry during the HylaFax and AvantFax installation steps. For other countries, read the prompts and answer accordingly. When the installation finishes, reboot your server to bring faxing on line. Be sure to change your AvantFax admin password by logging in to AvantFax from the Incredible PBX GUI. By default, the admin password is password. You can also use the script included in the /root folder: avantfax-pw-change. REMINDER: Don’t forget to reboot your server!

cd /root
./incrediblefax11-GUI.sh

Outgoing faxes using standard document attachments can be created using the AvantFax GUI. The faxes will be sent out using your default outbound dial rules. For example, a 10-digit number will be sent using the default Google Voice trunk unless you haven’t configured it. Then the next configured trunk will be used. You can add a dial prefix in sending a fax with AvantFax to force the call out a particular trunk.

Incoming faxes will be delivered to the email address you specified when installing Incredible Fax; however, incoming faxes will be ignored until you configure a destination DID to accept the faxes. In the /etc/asterisk directory, edit extensions.conf. As noted, a dedicated DID is required to support incoming faxes! Find the desired incoming fax context which will be of the form: DID_TRUNKNAME_default, e.g. DID_GoogleVoice_default. Toward the end of the context, there will be several destination options for incoming calls to this DID. It looks like this:

;exten = _.,n,Gosub(macro-dumpvars,s,1())  ; in case you ever want to look at all of the Asterisk variables on the CLI
;exten = _.,n,Goto(default,6001,1)         ; routes incoming call to extension 6001
;exten = _.,n,Goto(ringroups-custom-1,s,1) ; routes incoming call to Ring Group #1
;exten = _.,n,Goto(voicemenu-custom-2,s,1) ; routes incoming call to Nerd Vittles Demo IVR
 exten = _.,n,Goto(voicemenu-custom-1,s,1)  ; routes incoming call to Stealth AutoAttendant and then to Ring Group #1

Comment out the destination entry that is not already commented out. Then add the following line just below that entry:

exten = _.,n,Goto(ext-fax,in_fax,1)

Now save the file and reload your Asterisk dialplan: asterisk-reload.

5. Initial Configuration of Incredible PBX for Asterisk-GUI

Incredible PBX is installed with the preconfigured IPtables Linux firewall already in place. It implements WhiteList Security to limit server access to connected LANs, your server’s IP address, your desktop computer’s IP address, and a few of our favorite SIP providers. You can add additional entries to this WhiteList whenever you like using the add-ip and add-fqdn tools in /root. There’s also an Apache security layer for our web applications. And, of course, Asterisk-GUI has its own security methodology using Asterisk’s manager.conf. Finally, we randomize extension and DISA passwords as part of the initial install process. Out of the starting gate, you won’t find a more secure VoIP server implementation anywhere. After all, it’s your phone bill.

Even with all of these layers of security, here are 10 Quick Steps to better safeguard your server. You only do this once, but failing to do it may lead to security issues you don’t want to have to deal with down the road. So DO IT NOW!

First, log into your server as root with your root password and do the following:

Make your root password very secure: passwd
Set your correct time zone: ./timezone-setup
Restart Asterisk: asterisk-restart
Create admin password for web apps: htpasswd -b /etc/pbx/wwwpasswd admin newpassword
Make a copy of your other passwords: cat passwords.FAQ
Make a copy of your Knock codes: cat knock.FAQ
Decipher IP address and other info about your server: status

Second, log into your server as admin using a web browser pointed to your server’s IP address:

Click USERS tab in Incredible PBX GUI
Click Asterisk-GUI Administration
Log in as user: admin with password: password
Immediately change your admin password and login again

Log in to Asterisk-GUI again with your new password. Expand the options available in the GUI:

Options -> Advanced Options -> Show Advanced Options

Last but not least, Incredible PBX includes an automatic update utility which downloads important updates whenever you log into your server as root. We recommend you log in once a week to keep your server current. Now would be a good time to log out and back into your server at the Linux command line to bring your Raspberry Pi 2 up to current specs.

6. Configure Trunks with Incredible PBX for Asterisk-GUI

Now for the fun part. If this is your first VoIP adventure, be advised that this ain’t your grandma’s phone system. You need not and should not put all your eggs in one basket when it comes to telephone providers. In order to connect to Plain Old Telephones, you still need at least one provider. But there is nothing wrong with having several. And a provider that handles an outbound call (termination) need not be the same one that handles an incoming call (origination) and provides your phone number (DID). We cannot recommend Vitelity highly enough, and it’s not just because they have financially supported our projects for almost a decade. They’re as good as VoIP providers get, and we use lots of them. If you’re lucky enough to live in the U.S., you’d be crazy not to set up a Google Voice account. It’s free as are all phone calls to anywhere in the U.S. and Canada. The remaining preconfigured providers included in Incredible PBX for Asterisk-GUI are equally good, and we’ve used and continue to use almost all of them. So pick a few and sign up. You only pay for the calls you make with each provider so you have little to lose by choosing several. The PIAF Forum includes dozens of recommendations on VoIP providers if you want additional information.

With the preconfigured trunks in Incredible PBX for Asterisk-GUI, all you need are your credentials for each provider and the FQDN of their server. Log into Asterisk-GUI Administration as admin using a browser. From the System Status screen, click Incredible PBX Apps. Click on each provider you have chosen and fill in the blanks with your credentials. When you’ve saved all of your settings, log into your server as root via SSH and type: service asterisk restart or asterisk-restart. You can also issue the command in the Asterisk-GUI by choosing the Asterisk CLI tab2 in the left column. Doesn’t get any simpler!

Update: It should be noted that Incredible PBX for Asterisk-GUI also supports Anveo Direct trunks; however, they are configured differently because of the way Anveo handles the calls. You’ll need the PIN provided by Anveo to set up your trunk, and Anveo supports CallerID spoofing so you can enter any CallerID number for the trunk that you are authorized to use. You’ll find the Anveo Direct setup link in the Incredible PBX Apps tab. To route an outgoing call through Anveo trunk, dial 2 + any desired 10-digit number.

Here is the complete list of dialing prefixes and the trunks to which they are associated:

  • 1 – Google Voice
  • 2 – Anveo Direct
  • 3 – Future Nine
  • 4 – CallCentric
  • 5 – DIDlogic
  • 6 – IPcomms
  • 7 – Les.net
  • 8 – Vitelity
  • 9 – VoIP.ms

For free iNUM calling worldwide, the following dialing prefixes are supported in conjunction with the last seven digits of any destination iNUM DID. Free iNUM DIDs for your own PBX are available from both of these providers as well.

  • 0XXXXXXX – CallCentric
  • 90XXXXXXX – VoIP.ms

7. Configure a Softphone with Incredible PBX for Asterisk-GUI

We’re in the home stretch now. You can connect virtually any kind of telephone to your new Gotcha-Free PBX. Plain Old Phones require an analog telephone adapter (ATA) which can be a separate board in your computer from a company such as Digium. Or it can be a standalone SIP device such as ObiHai’s OBi100 or OBi110 (if you have a phone line from Ma Bell to hook up as well). SIP phones can be connected directly so long as they have an IP address. These could be hardware devices or software devices such as the YateClient softphone. We’ll start with a free one today so you can begin making calls. You can find dozens of recommendations for hardware-based SIP phones both on Nerd Vittles and the PIAF Forum when you’re ready to get serious about VoIP telephony.

We recommend YateClient which is free. Download it from here. Run YateClient once you’ve installed it and enter the credentials for the 6002 extension on Incredible PBX. You’ll need the IP address of your server plus your extension 6002 password. Choose Users -> 6002 and write down your SIP/IAX Password. You can also find it in /root/passwords.FAQ. Fill in the blanks using the IP address of your server, 6002 for your account name, and whatever password is assigned to the extension. Click OK to save your entries.

Once you are registered to extension 6002, close the Account window. Then click on YATE’s Telephony Tab and place some test calls to the numerous apps that are preconfigured on Incredible PBX. Dial a few of these to get started:

7001 - IVR Demo
123 - Reminders
947 - Weather by ZIP Code
951 - Yahoo News
*61 - Time of Day
TODAY - Today in History

If you are a Mac user, another great no-frills softphone is Telephone. Just download and install it from the Mac App Store.

Configuring Google Voice

If you want to use Google Voice, you’ll need a dedicated Google Voice account to support Incredible PBX. The more obscure the username (with some embedded numbers), the better off you will be. This will keep folks from bombarding you with unsolicited Gtalk chat messages, and who knows what nefarious scheme will be discovered using Google messaging six months from now. So keep this account a secret!

IMPORTANT: Do NOT under any circumstances take Google’s bait to switch from Google Chat to Hangouts, or you will forever lose the ability to use Google Chat with Incredible PBX. Also be sure to enable the Google Chat option as one of your phone destinations in Settings, Voice Setting, Phones. That’s the destination we need for The Incredible PBX to work its magic! Otherwise, all inbound and outbound calls will fail. Good News! You’re in luck. Google has apparently had a change of heart on discontinuing Google Chat support so it’s enabled by default in all new Google Voice accounts. Once you’ve created a Gmail and Google Voice account, go to Google Voice Settings and click on the Calls tab. Make sure your settings match these:

  • Call ScreeningOFF
  • Call PresentationOFF
  • Caller ID (In)Display Caller’s Number
  • Caller ID (Out)Don’t Change Anything
  • Do Not DisturbOFF
  • Call Options (Enable Recording)OFF
  • Global Spam FilteringON

Click Save Changes once you’ve adjusted your settings. Under the Voicemail tab, plug in your email address so you get notified of new voicemails. Down the road, receipt of a Google Voice voicemail will be a big hint that something has come unglued on your PBX.

One final word of caution is in order regardless of your choice of providers: Do NOT use special characters in any provider passwords, or nothing will work!

Now you’re ready to configure your Google Voice account in Incredible PBX. You can do it from within Asterisk-GUI by choosing Google Voice within the Incredible PBX Apps tab. Once you’ve entered your credentials, don’t forget to restart Asterisk, or Google Voice calls will fail. If you still have trouble placing or receiving calls, try BOTH of these tips.

NOTE: There are all sorts of rumors circulating again that the Google Voice free ride may be coming to a close. We’ve heard this song before, but who knows?? Whether true or not, you are well advised to not rely solely on Google Voice for your phone calls. That’s the real beauty of a PBX. So take advantage of it!

OK, Smarty Pants: Show Me the Beef!

We know what some of you are thinking. “What does a fast food worker really know about VoIP and Gotcha-Free PBXs?? Before wasting a bunch of time on this, show me the beef!” Fair enough. Sit by your phone and click the Call Me icon below. Type in a fake name and your real phone number. Click the Connect button, answer your phone when it rings, and press 1. You’ll be connected to the Incredible PBX IVR for Asterisk-GUI. Pick an option from the menu of choices and take the Incredible PBX apps for a spin on our dime… actually it’s Google’s dime. Everything you see and hear is part of what you get with Incredible PBX for Asterisk-GUI including the ability to set up your own click-to-dial web interface exactly like this one. The demo just happens to be running on our Raspberry Pi 2 instead of yours. So… what are you waiting for? Click away and try Incredible PBX for yourself. And, by the way, nobody besides the NSA and Google will be monitoring your call. :wink:



Nerd Vittles Demo IVR Options
1 – Call by Name (say “Delta Airlines” or “American Airlines” to try it out)
2 – MeetMe Conference (password is 1234)
3 – Wolfram Alpha (say “What planes are overhead?”)
4 – Lenny (The Telemarketer’s Worst Nightmare)
5 – Today’s News Headlines
6 – Weather Forecast (say the city and state, province, or country)
7 – Today in History
8 – Speak to a Real Person (or maybe just voicemail if we’re out)

Homework Assignment: Mastering the Asterisk-GUI

Now would be a good time to explore the Incredible PBX applications. Continue reading there. After you’ve played with the preconfigured features, it’s time to roll up your sleeves and learn about Asterisk-GUI and its powerful feature set. Here’s one word of warning. We mentioned that Incredible PBX was a hybrid system that combines some customized settings with the standard Asterisk-GUI interface. Before modifying existing settings for the default trunks, extensions, and default routes, take a look at the credentials* files in /etc/asterisk. If you modify any of these trunk entries or the Outgoing or Incoming Call Rules in Asterisk-GUI, you may break the Incredible PBX setup. So steer clear of that minefield until you know what you’re doing. Adding new extensions and additional trunks is perfectly fine and will not break anything.

Rather than reinvent the wheel, we’ll point you to some excellent tutorials that already exist. Start with Chapter 3 of Digium’s Asterisk Appliance™ Administrator Manual. Next, review Chapter 11 of The Asterisk Book (Second Edition). Finally, take a look at a couple of the tutorials that have been written by other companies that incorporated Asterisk-GUI into their hardware products, e.g. Yeastar’s MyPBX SOHO User Manual and Grandstream’s UCM6100 User Manual.

In the meantime, if you have questions, join the PBX in a Flash Forums and take advantage of our awesome collection of gurus. There’s an expert available on virtually any topic, and the price is right. As with Incredible PBX, it’s absolutely free.

We also are quickly building a collection of tutorials tailored specifically for Incredible PBX for Asterisk-GUI:

Just Released: The Gotcha-Free Incredible PBX Application User’s Guide

Originally published: Monday, February 9, 2015


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



Need help with Asterisk? Visit the PBX in a Flash Forum.


 
New Vitelity Special. Vitelity has generously offered a new discount for Incredible PBX users. You now can get an almost half-price DID from our special Vitelity sign-up link. If you’re seeking the best flexibility in choosing an area code and phone number plus the lowest entry level pricing plus high quality calls, then Vitelity is the hands-down winner. Vitelity provides Tier A DID inbound service in over 3,000 rate centers throughout the US and Canada. And, when you use our special link to sign up, the Nerd Vittles and PBX in a Flash projects get a few shekels down the road while you get an incredible signup deal as well. The going rate for Vitelity’s DID service is $7.95 a month which includes up to 4,000 incoming minutes on two simultaneous channels with terminations priced at 1.45¢ per minute. Not any more! For Incredible PBX users, here’s a deal you can’t (and shouldn’t) refuse! Sign up now, and you can purchase a Tier A DID with unlimited incoming calls for just $3.99 a month. To check availability of local numbers and tiers of service from Vitelity, click here. Do not use this link to order your DIDs, or you won’t get the special pricing! Vitelity’s rate is just 1.44¢ per minute for outbound calls in the U.S. There is a $35 prepay when you sign up. This covers future usage and any balance is fully refundable if you decide to discontinue service with Vitelity.
 


Some Recent Nerd Vittles Articles of Interest…

  1. Vitelity and Google provide financial support to Nerd Vittles and the Incredible PBX project. []
  2. If, for some reason, the Asterisk CLI tab does not appear on your server, click Options -> Advanced Options -> Show Advanced Options. []

The Gotcha-Free PBX: Introducing Incredible PBX for Asterisk-GUI (Ubuntu)

Remember the old adage that Rome wasn’t built in a day? Well, thanks to Mark Spencer and his team of incredibly talented programmers coupled with the modular design of Asterisk® and Asterisk-GUI, times have changed. It took about a month to put the CentOS version of Incredible PBX™ for Asterisk-GUI together. Today’s Ubuntu® version was created in one day! That should tell you all you need to know about the design. Better yet, with a cloud platform such as Digital Ocean,1 you can deploy Incredible PBX for Asterisk-GUI in about 15 minutes. Add another 5 minutes to configure some trunks and plug in a couple phones, and you’ll have a Gotcha-Free PBX in less time than it takes to wolf down a Waffle House breakfast.

We try to make new product tutorials stand on their own so you don’t have to jump around to figure everything out. But, if you’re generally familiar with the process of installing Incredible PBX, then this will be a walk in the park for you. Last week we released a tutorial covering all of the new Gotcha Free PBX applications, and that guide applies to today’s Ubuntu release as well. The names of a few components are different (such as the Incredible Fax installer), but functionally everything works in exactly the same way as the CentOS platform release. After all, that’s the beauty of the modular design.

Target Audience: Home or SOHO/SBO in need of a turnkey, Gotcha-Free PBX

Default Configuration: Asterisk 11 with enhanced Asterisk-GUI, Kennonsoft GUI, and NANPA dialplan

Platform: Ubuntu 14.04 (32/64-bit) running on Dedicated Server, Cloud-Based Server, or Virtual Machine

Minimum Memory: 512MB

Recommended Disk: 20GB+

Default Trunks: Google Voice, CallCentric, DIDlogic, Future-Nine, IPcomms, Les.net, Vitelity, VoIP.ms2

Feature Set: Fax, SMS messaging, VPN, Reminders, ConfBridge Conferencing, AsteriDex, Voicemail, Email, IVR, News, Weather, Voice Dialer, Wolfram Alpha, Today in History, TM3 Firewall WhiteList, Speed Dialer, iNUM and SIP URI (free) worldwide calling, OpenCNAM CallerID lookups, DISA, Call Forwarding, CSV CDRs

Administrator Utilities: Incredible Backup/Restore, Automatic Updater, Asterisk Upgrader, phpMyAdmin, Timezone Config, Plug-and-Play Trunk Configurator, WebMin, External IP Setup, Firewall WhiteList Tools

Getting Started with Incredible PBX for Asterisk-GUI (Ubuntu Edition)

Here’s a quick overview of the installation and setup process for Incredible PBX for Asterisk-GUI:

  1. Choose a Hardware Platform – Dedicated PC, Virtual Machine, or Cloud Provider
  2. Install a Linux Flavor – Install Ubuntu 14.04 Platform for Incredible PBX
  3. Download and Install Incredible PBX for Asterisk-GUI
  4. Install Incredible Fax for Asterisk-GUI (optional)
  5. Set Up Passwords for Incredible PBX for Asterisk-GUI
  6. Configure Trunks with Incredible PBX for Asterisk-GUI
  7. Connect a Softphone to Incredible PBX for Asterisk-GUI

1. Choose a Platform for Incredible PBX for Asterisk-GUI

Incredible PBX for Asterisk-GUI works equally well on dedicated hardware, a virtual machine, or a cloud-based server. Just be sure you’ve met the minimum requirements outlined above and that you have a sufficiently robust Internet connection to support 100Kb of download and upload bandwidth for each simultaneous call you wish to handle with your new PBX.

For Dedicated Hardware, we recommend an Atom-based PC of recent vintage with at least a 30GB drive and 4GB of RAM. That will take care of an office with 10-20 extensions and a half dozen or more simultaneous calls if you have the Internet bandwidth to support it.

For Virtual Machine Installs, we recommend Oracle’s VirtualBox platform which runs atop almost any operating system including Windows, Macs, Linux, and Solaris. Here’s a link to our original VirtualBox tutorial to get you started. We suggest allocating 1GB of RAM and at least a 20GB disk image to your virtual machine for best performance.

For Cloud-Based Servers, we recommend RentPBX, one of our financial supporters who also happens to size servers properly and restrict usage solely to VoIP. This avoids performance bottlenecks that cause problems with VoIP calls. If you’re just experimenting, then a 512MB Digital Ocean droplet is a cost-effective option at a cost of less than a penny an hour. In addition to a little referral revenue for Nerd Vittles, the nicest features of Digital Ocean are the availability of preconfigured CentOS images and a platform on which you can install Incredible PBX and be ready to start making calls very, very quickly. If you make a serious mistake during the install or setup, it’s a 30-second task to delete your droplet and create a new one. You’re only out a penny! And reloading Incredible PBX from scratch is never more than a 20-minute task. Remember to run the create-swapfile-DO script included in the Incredible PBX tarball before beginning your install to avoid out-of-memory conditions.

2. Install Ubuntu 14.04 Platform for Incredible PBX

For dedicated hardware installs, download the 32-bit or 64-bit Ubuntu 14.04 “Trusty Tahr” Minimal ISO. Burn it to a CD/DVD or thumb drive and boot your dedicated server from the image. Remember, you’ll be reformatting the drive in your server so pick a machine you don’t need for other purposes.

For virtual machine installs, download the same ISO and specify it as the boot drive for your virtual machine. If you’re using the VirtualBox platform, create a new virtual machine specifying either the 32-bit or 64-bit version of Ubuntu. Allocate 1024MB of RAM (512MB also works fine!) and at least 20GB of disk space using the default hard drive setup in all three steps. In Settings, click System and check Enable I/O APIC and uncheck Hardware Clock in UTC Time. Click Audio and Specify then Enable your sound card. Click Network and Enable Network Adapter for Adapter 1 and choose Bridged Adapter. Finally, in Storage, add the Ubuntu 14.04 mini.iso to your VirtualBox Storage Tree as shown below. Then click OK and start up your new virtual machine.

Here are the steps to get Ubuntu 14.04 set up on dedicated hardware or a virtual machine:
UBUNTU mini.iso install:
Choose language
Choose timezone
Detect keyboard
Hostname: incrediblepbx < continue >
Choose mirror for downloads
Confirm archive mirror
Leave proxy blank unless you need it < continue >
** couple minutes of whirring as initial components are loaded **
New user name: incredible < continue >
Account username: incredible < continue >
Account password: makeitsecure < continue >
Encrypt home directory < no >
Confirm time zone < yes >
Partition disks: Guided - use entire disk and set up LVM
Confirm disk to partition
Write changes to disks and configure LVM
Whole volume? < continue>
Write changes to disks < yes> < -- last chance to preserve your disk drive!
** about 15 minutes of whirring during base system install ** < no touchy anything>
** another 5 minutes of whirring during base software install ** < no touchy anything>
Upgrades? Install security updates automatically
** another 5 minutes of whirring during more software installs ** < no touchy anything>
Software selection: *Basic Ubuntu server (only!)
** another couple minutes of whirring during software installs ** < no touchy anything>
Grub boot loader: < yes>
UTC for system clock: < no>
Installation complete: < continue> after removing installation media
** on VirtualBox, PowerOff after reboot and remove [-] mini.iso from Storage Tree & restart VM
login as user: incredible
** enter user incredible's password **
sudo passwd
** enter incredible password again and then create secure root user password **
su root
** enter root password **
apt-get update
apt-get install ssh -y
sed -i 's|without-password|yes|' /etc/ssh/sshd_config
sed -i 's|yes"|without-password"|' /etc/ssh/sshd_config
sed -i 's|"quiet"|"quiet text"|' /etc/default/grub
update-grub
ifconfig
** write down the IP address of your server from ifconfig results
reboot
** login via SSH to continue **

For Cloud-based servers or virtual machines, typically the provider has done the hard work for you. Just choose either a 32-bit or 64-bit Ubuntu 14.04 platform with at least 512MB of RAM and 20GB of disk storage. If you have to roll your own from an ISO, just follow the steps above.

3. Install Incredible PBX on Your Ubuntu 14.04 Server

Adding Incredible PBX to a running Ubuntu 14.04 server is simple. To restate the obvious, your server needs a reliable Internet connection to proceed. Using SSH (or Putty on a Windows machine), log into your new server as root at the IP address you deciphered in the ifconfig step at the end of the Ubuntu install procedure above.

First, run the update and upgrade procedure for Ubuntu before you begin the install. This is especially important if using a cloud-based Ubuntu 14 server.

apt-get update && apt-get upgrade -y && reboot

WARNING: If you’re using a 512MB droplet at Digital Ocean, be advised that their Ubuntu setup does NOT include a swap file. This may cause serious problems when you run out of RAM. Uncomment ./create-swapfile-DO line below to create a 1GB swap file which will be activated whenever you exceed 90% RAM usage on Digital Ocean.

IMPORTANT: Before you begin the Incredible PBX install, expand your console window to at least 80×27, or the Asterisk compilation step may fail. If you’re in doubt about the window dimensions, just maximize the window to full-screen during the install process.

Now let’s begin the Incredible PBX install. Log back in as root and issue the following commands:

cd /root
wget http://incrediblepbx.com/incrediblepbx11guiU.tar.gz
tar zxvf incrediblepbx11guiU.tar.gz
#./create-swapfile-DO  #add this step for Digital Ocean droplets
rm -f incrediblepbx11guiU.tar.gz
./IncrediblePBX11U-GUI.sh

4. Install Incredible Fax for Asterisk-GUI (optional)

Administrators have been trying to stomp out faxing for at least two decades. Here’s a hint. It ain’t gonna happen. So go with the flow and add Gotcha-Free Faxing to your server. It’ll be there when you need it. And sooner or later, you’ll need it. This install script is simple enough for any monkey to complete. Run the script and enter the email address for delivery of your faxes. Then, if you’re in the U.S. or Canada, press the Enter key to accept every default entry during the HylaFax and AvantFax installation steps. For other countries, read the prompts and answer accordingly. When the installation finishes, reboot your server to bring faxing on line. Be sure to change your AvantFax admin password. By default, it is password. You can use the script included in the /root folder: avantfax-pw-change. REMINDER: Don’t forget to reboot your server!

cd /root
./incrediblefax11_ubuntu14.sh
./avantfax-pw-change
reboot

5. Initial Configuration of Incredible PBX for Asterisk-GUI

Incredible PBX is installed with the preconfigured IPtables Linux firewall already in place. It implements WhiteList Security to limit server access to connected LANs, your server’s IP address, your desktop computer’s IP address, and a few of our favorite SIP providers. You can add additional entries to this WhiteList whenever you like using the add-ip and add-fqdn tools in /root. There’s also an Apache security layer for our web applications. And, of course, Asterisk-GUI has its own security methodology using Asterisk’s manager.conf. Finally, we randomize extension and DISA passwords as part of the initial install process. Out of the starting gate, you won’t find a more secure VoIP server implementation anywhere. After all, it’s your phone bill.

Even with all of these layers of security, here are 10 Quick Steps to better safeguard your server. You only do this once, but failing to do it may lead to security issues you don’t want to have to deal with down the road. So DO IT NOW!

First, log into your server as root with your root password and do the following:

Make your root password very secure: passwd
Set your correct time zone: ./timezone-setup
Create admin password for web apps: htpasswd -b /etc/pbx/wwwpasswd admin newpassword
Make a copy of your other passwords: cat passwords.FAQ
Make a copy of your Knock codes: cat knock.FAQ
Decipher IP address and other info about your server: status

Second, log into your server as admin using a web browser pointed to your server’s IP address:

Click USERS tab in Incredible PBX GUI
Click Asterisk-GUI Administration
Log in as user: admin with password: password
Immediately change your admin password and login again

Log in to Asterisk-GUI again with your new password. Expand the options available in the GUI:

Options -> Advanced Options -> Show Advanced Options

Last but not least, Incredible PBX includes an automatic update utility which downloads important updates whenever you log into your server as root. We recommend you log in once a week to keep your server current. Now would be a good time to log out and back into your server at the Linux command line to bring your server up to current specs.

6. Configure Trunks with Incredible PBX for Asterisk-GUI

Now for the fun part. If this is your first VoIP adventure, be advised that this ain’t your grandma’s phone system. You need not and should not put all your eggs in one basket when it comes to telephone providers. In order to connect to Plain Old Telephones, you still need at least one provider. But there is nothing wrong with having several. And a provider that handles an outbound call (termination) need not be the same one that handles an incoming call (origination) and provides your phone number (DID). We cannot recommend Vitelity highly enough, and it’s not just because they have financially supported our projects for almost a decade. They’re as good as VoIP providers get, and we use lots of them. If you’re lucky enough to live in the U.S., you’d be crazy not to set up a Google Voice account. It’s free as are all phone calls to anywhere in the U.S. and Canada. The remaining preconfigured providers included in Incredible PBX for Asterisk-GUI are equally good, and we’ve used and continue to use almost all of them. So pick a few and sign up. You only pay for the calls you make with each provider so you have little to lose by choosing several. The PIAF Forum includes dozens of recommendations on VoIP providers if you want additional information.

With the preconfigured trunks in Incredible PBX for Asterisk-GUI, all you need are your credentials for each provider and the FQDN of their server. Log into Asterisk-GUI Administration as admin using a browser. From the System Status screen, click Incredible PBX Apps. Click on each provider you have chosen and fill in the blanks with your credentials. When you’ve saved all of your settings, log into your server as root via SSH and type: service asterisk restart or asterisk-restart. You can also issue the command in the Asterisk-GUI by choosing the Asterisk CLI tab3 in the left column. Doesn’t get any simpler!

Update: It should be noted that Incredible PBX for Asterisk-GUI also supports Anveo Direct trunks; however, they are configured differently because of the way Anveo handles the calls. You’ll need the PIN provided by Anveo to set up your trunk, and Anveo supports CallerID spoofing so you can enter any CallerID number for the trunk that you are authorized to use. You’ll find the Anveo Direct setup link in the Incredible PBX Apps tab. To route an outgoing call through Anveo trunk, dial 2 + any desired 10-digit number.

Here is the complete list of dialing prefixes and the trunks to which they are associated:

  • 1 – Google Voice
  • 2 – Anveo Direct
  • 3 – Future Nine
  • 4 – CallCentric
  • 5 – DIDlogic
  • 6 – IPcomms
  • 7 – Les.net
  • 8 – Vitelity
  • 9 – VoIP.ms

For free iNUM calling worldwide, the following dialing prefixes are supported in conjunction with the last seven digits of any destination iNUM DID. Free iNUM DIDs for your own PBX are available from both of these providers as well.

  • 0XXXXXXX – CallCentric
  • 90XXXXXXX – VoIP.ms

7. Configure a Softphone with Incredible PBX for Asterisk-GUI

We’re in the home stretch now. You can connect virtually any kind of telephone to your new Gotcha-Free PBX. Plain Old Phones require an analog telephone adapter (ATA) which can be a separate board in your computer from a company such as Digium. Or it can be a standalone SIP device such as ObiHai’s OBi100 or OBi110 (if you have a phone line from Ma Bell to hook up as well). SIP phones can be connected directly so long as they have an IP address. These could be hardware devices or software devices such as the YateClient softphone. We’ll start with a free one today so you can begin making calls. You can find dozens of recommendations for hardware-based SIP phones both on Nerd Vittles and the PIAF Forum when you’re ready to get serious about VoIP telephony.

We recommend YateClient which is free. Download it from here. Run YateClient once you’ve installed it and enter the credentials for the 6002 extension on Incredible PBX. You’ll need the IP address of your server plus your extension 6002 password. Choose Users -> 6002 and write down your SIP/IAX Password. You can also find it in /root/passwords.FAQ. Fill in the blanks using the IP address of your server, 6002 for your account name, and whatever password is assigned to the extension. Click OK to save your entries.

Once you are registered to extension 6002, close the Account window. Then click on YATE’s Telephony Tab and place some test calls to the numerous apps that are preconfigured on Incredible PBX. Dial a few of these to get started:

7001 - IVR Demo
123 - Reminders
947 - Weather by ZIP Code
951 - Yahoo News
*61 - Time of Day
TODAY - Today in History

If you are a Mac user, another great no-frills softphone is Telephone. Just download and install it from the Mac App Store.

Configuring Google Voice

If you want to use Google Voice, you’ll need a dedicated Google Voice account to support Incredible PBX. The more obscure the username (with some embedded numbers), the better off you will be. This will keep folks from bombarding you with unsolicited Gtalk chat messages, and who knows what nefarious scheme will be discovered using Google messaging six months from now. So keep this account a secret!

IMPORTANT: Be sure to enable the Google Chat option as one of your phone destinations in Settings, Voice Setting, Phones. That’s the destination we need for The Incredible PBX to work its magic! Otherwise, all inbound and outbound calls will fail. Good News! You’re in luck. Google has apparently had a change of heart on discontinuing Google Chat support so it’s enabled by default in all new Google Voice accounts. Once you’ve created a Gmail and Google Voice account, go to Google Voice Settings and click on the Calls tab. Make sure your settings match these:

  • Call ScreeningOFF
  • Call PresentationOFF
  • Caller ID (In)Display Caller’s Number
  • Caller ID (Out)Don’t Change Anything
  • Do Not DisturbOFF
  • Call Options (Enable Recording)OFF
  • Global Spam FilteringON

Click Save Changes once you’ve adjusted your settings. Under the Voicemail tab, plug in your email address so you get notified of new voicemails. Down the road, receipt of a Google Voice voicemail will be a big hint that something has come unglued on your PBX.

One final word of caution is in order regardless of your choice of providers: Do NOT use special characters in any provider passwords, or nothing will work!

Now you’re ready to configure your Google Voice account in Incredible PBX. You can do it from within Asterisk-GUI by choosing Google Voice within the Incredible PBX Apps tab. Once you entered your credentials, don’t forget to restart Asterisk, or Google Voice calls will fail. If you still have trouble placing or receiving calls, try these tips.

OK, Smarty Pants: Show Me the Beef!

We know what some of you are thinking. “What does a fast food worker really know about VoIP and Gotcha-Free PBXs?? Before I waste a bunch of time on this, show me the beef!” Fair enough. Sit by your phone and click the Call Me icon below. Type in a fake name and your real phone number. Click the Connect button, answer your phone when it rings, and press 1. You’ll be connected to the Incredible PBX IVR for Asterisk-GUI. Pick an option from the menu of choices and take the Incredible PBX apps for a spin on our dime… actually it’s Google’s dime. Everything you see and hear is part of what you get with Incredible PBX for Asterisk-GUI including the ability to set up your own click-to-dial web interface exactly like this one. The demo just happens to be running on our Mac desktop instead of yours. So… what are you waiting for? Click away and try Incredible PBX for yourself. And, by the way, nobody besides the NSA and Google will be monitoring your call. :wink:



Nerd Vittles Demo IVR Options
1 – Call by Name (say “Delta Airlines” or “American Airlines” to try it out)
2 – MeetMe Conference (password is 1234)
3 – Wolfram Alpha (say “What planes are overhead?”)
4 – Lenny (The Telemarketer’s Worst Nightmare)
5 – Today’s News Headlines
6 – Weather Forecast (say the city and state, province, or country)
7 – Today in History
8 – Speak to a Real Person (or maybe just voicemail if we’re out)

Homework Assignment: Mastering the Asterisk-GUI

Now would be a good time to explore the Incredible PBX applications. Continue reading there. After you’ve played with the preconfigured features, it’s time to roll up your sleeves and learn about Asterisk-GUI and its powerful feature set. Here’s one word of warning. We mentioned that Incredible PBX was a hybrid system that combines some customized settings with the standard Asterisk-GUI interface. Before modifying existing settings for the default trunks, extensions, and default routes, take a look at the credentials* files in /etc/asterisk. If you modify any of these trunk entries or the Outgoing or Incoming Call Rules in Asterisk-GUI, you may break the Incredible PBX setup. So steer clear of that minefield until you know what you’re doing. Adding new extensions and additional trunks is perfectly fine and will not break anything.

Rather than reinvent the wheel, we’ll point you to some excellent tutorials that already exist. Start with Chapter 3 of Digium’s Asterisk Appliance™ Administrator Manual. Next, review Chapter 11 of The Asterisk Book (Second Edition). Finally, take a look at a couple of the tutorials that have been written by other companies that incorporated Asterisk-GUI into their hardware products, e.g. Yeastar’s MyPBX SOHO User Manual and Grandstream’s UCM6100 User Manual.

In the meantime, if you have questions, join the PBX in a Flash Forums and take advantage of our awesome collection of gurus. There’s an expert available on virtually any topic, and the price is right. As with Incredible PBX, it’s absolutely free.

We also are quickly building a collection of tutorials tailored specifically for Incredible PBX for Asterisk-GUI:

Enjoy your new Gotcha-Free PBX!

Just Released: The Gotcha-Free Incredible PBX Application User’s Guide

Originally published: Thursday, February 5, 2015


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



Need help with Asterisk? Visit the PBX in a Flash Forum.


 
New Vitelity Special. Vitelity has generously offered a new discount for Incredible PBX users. You now can get an almost half-price DID from our special Vitelity sign-up link. If you’re seeking the best flexibility in choosing an area code and phone number plus the lowest entry level pricing plus high quality calls, then Vitelity is the hands-down winner. Vitelity provides Tier A DID inbound service in over 3,000 rate centers throughout the US and Canada. And, when you use our special link to sign up, the Nerd Vittles and PBX in a Flash projects get a few shekels down the road while you get an incredible signup deal as well. The going rate for Vitelity’s DID service is $7.95 a month which includes up to 4,000 incoming minutes on two simultaneous channels with terminations priced at 1.45¢ per minute. Not any more! For Incredible PBX users, here’s a deal you can’t (and shouldn’t) refuse! Sign up now, and you can purchase a Tier A DID with unlimited incoming calls for just $3.99 a month. To check availability of local numbers and tiers of service from Vitelity, click here. Do not use this link to order your DIDs, or you won’t get the special pricing! Vitelity’s rate is just 1.44¢ per minute for outbound calls in the U.S. There is a $35 prepay when you sign up. This covers future usage and any balance is fully refundable if you decide to discontinue service with Vitelity.
 


Some Recent Nerd Vittles Articles of Interest…

  1. Nerd Vittles relies upon modest referral fees from some providers such as Digital Ocean to keep the lights on. But you get a free ride, too! Create an Ubuntu 14.04 (not 14.10!) 512MB droplet of the cheapest flavor ($5/mo.). A $10 credit will be added to your account when you sign up, and you can play with Incredible PBX on Digital Ocean’s nickel for a couple months risk-free. Add and delete droplets to your heart’s content and enjoy! []
  2. Vitelity and Google provide financial support to Nerd Vittles and the Incredible PBX project. []
  3. If, for some reason, the Asterisk CLI tab does not appear on your server, click Options -> Advanced Options -> Show Advanced Options. []

The Gotcha-Free PBX: Incredible PBX for Asterisk-GUI Application User’s Guide

For those just beginning the Incredible PBX™ for Asterisk-GUI adventure, start here. Once your system is up and running, you’ll be ready to kick the tires. And today we’ll cover the applications for Asterisk® that are included in Incredible PBX for Asterisk-GUI. Down the road a bit, we’ll provide an in-depth review of the Incredible PBX internals and how to tweak things under the covers to get the most out of Incredible PBX for Asterisk-GUI. We’re not planning to provide an Asterisk-GUI User’s Guide because a number of them already have been written. That doesn’t mean it’s not important. See last week’s homework assignment for the links. If you have questions, by all means post them on the PIAF Forum for some quick help.

If you’ve always loved Baskin-Robbins’ 31 Flavors of ice cream, then you’re in for a treat today with our special scoop.

Here’s our Table of Contents to the 31 Incredible PBX Applications for Asterisk-GUI with hotlinks plus some bonus apps for those that are still awake at the end of today’s adventure. You may want to print this for future reference.

  1. Checking System Status
  2. Enabling Speech Recognition
  3. Wolfram Alpha for Siri-like queries by phone*
  4. Automatic Update Utility
  5. Asterisk 11 Upgrade Utility
  6. Apache Authentication for Apps
  7. IPtables Firewall WhiteList
  8. PortKnocker Remote Access
  9. Travelin’ Man 4 Remote Access by Phone
  10. Conference Bridge
  11. CallerID Name (CNAM) Lookups
  12. Faxing with Incredible PBX
  13. Voicemail 101 with Incredible PBX
  14. Email Delivery of MP3 Voicemails
  15. Reconfiguring SendMail for SmartHosts
  16. SMS Blasting with Google Voice
  17. SMS Voice Messaging with Google Voice*
  18. SMS Messaging with VoIP.ms
  19. SIP URI Calling with Speed Dials
  20. IVR Demo of Incredible PBX Applications*
  21. Backup and Restore Options
  22. AsteriDex – The Poor Man’s Rolodex®
  23. Voice Dialing with AsteriDex*
  24. Speed Dialing with AsteriDex
  25. Scheduling Reminders by Phone or Web
  26. DISA Access with Incredible PBX
  27. Yahoo! News Headlines
  28. Weather Forecasts with Incredible PBX*
  29. ODBC Application Support
  30. Today in History
  31. Time of Day

* Requires Voice Recognition implementation. See #2 above.

1. Checking Current Status of Incredible PBX for Asterisk-GUI

There are several ways to check the status of your server. First, log into your server as root and type: status

The second option is to use a browser to access your server. Choose the Admin menu. Then click Asterisk-GUI Administration. Once you log in, the System Status of your server, trunks, and extensions will be displayed.

Finally, with your browser, choose the Admin menu. Click System Information to bring up the terrific SysInfo application that’s included in Incredible PBX.

2. Adding Speech Recognition to Incredible PBX for Asterisk-GUI

Google changed the licensing of their speech recognition engine last year and now restricts use to “personal and development use.” Assuming you qualify, the very first order of business is to enable speech recognition for your new PBX. Once enabled, the Incredible PBX feature set grows exponentially. You’ll have access to the Voice Dialer for AsteriDex, Worldwide Weather Reports where you can say the name of a city and state or province to get a weather forecast for almost anywhere, Wolfram Alpha for a Siri-like encyclopedia for your PBX, and Lefteris Zafiris’ speech recognition software to build additional Asterisk apps limited only by your imagination.

Here’s how to activate speech recognition on Incredible PBX. Don’t skip any steps!

1. Using an existing Google/Gmail account, you first must join the Chrome-Dev Group.

2. Using the same account, create a new Speech Recognition Project.

3. Click on your newly created project and choose APIs & auth.

4. Turn ON the Speech API by clicking on its Status button in the far right margin. HINT: If you forgot to complete Step #1, the Speech API option will be missing!

5. Click on Credentials in APIs & auth and choose Create New Key -> Server key. Leave the IP address restriction blank!

6. Write down your new API key or copy it to the clipboard.

7. Log into your server as root and issue the following command:

nano -w /var/lib/asterisk/agi-bin/speech-recog.agi

8. When the nano editor opens, go to line 70 of speech-recog.agi: my $key = "". Insert your API key from Step #6 above between the quotation marks and save the file: Ctrl-X, Y, then Enter.

Congratulations! Speech recognition is now available with Incredible PBX applications for Asterisk-GUI.

3. Using Wolfram Alpha with Incredible PBX for Asterisk-GUI

Ever wished your Asterisk server could harness the power of a 10,000 CPU Supercomputer to answer virtually any question you can dream up about the world we live in? Well, so long as it’s for non-commercial use, today’s your lucky day. Apple demonstrated with Siri™ just how amazing this technology can be by coupling Wolfram Alpha® to a speech-to-text engine on the iPhone. Now you can do much the same thing using voice recognition on the Incredible PBX for Asterisk-GUI.

Before using Wolfram Alpha from any phone connected to your PBX, you first must configure it by obtaining and adding a Wolfram Alpha application ID to Incredible PBX. Here are the simple steps:

1. Obtain your free Wolfram Alpha APP-ID here.

2. Log into your server as root and issue the following command:

nano -w /var/lib/asterisk/agi-bin/4747

3. When the nano editor opens, the top line of the file will look like this:

APPID="Your-Wolfram-Alpha-App-ID-Goes-Here"

4. Replace the text between the quotes with your APP_ID key from Step #1 above. Then save the file: Ctrl-X, Y, then Enter.

To use Wolfram Alpha, dial 4747 (that’s S-I-R-I backwards) from any extension.

Here are some sample queries to get you started:

Weather in Charleston South Carolina
Weather forecast for Washington D.C.
Next solar eclipse
Otis Redding
Define politician
Who won the 1969 Superbowl? (Broadway Joe)
What planes are overhead? (flying over your server’s location)
Ham and cheese sandwich (nutritional information)
Holidays 2015 (summary of all holidays for 2015 with dates and DOW)
Medical University of South Carolina (history of MUSC)
Star Trek (show history, air dates, number of episodes, and more)
Apollo 11 (everything you ever wanted to know)
Cheapest Toaster (brand and price)
Battle of Gettysburg (sad day :-) )
Daylight Savings Time 2015 (date ranges and how to set your clocks)
Tablets by Samsung (pricing, models, and specs)
Doughnut (you don’t wanna know)
Snickers bar (ditto)
Weather (local weather at your server’s location)

4. Automatic Update Utility for Incredible PBX for Asterisk-GUI

A key security component of Incredible PBX is its Automatic Update Utility. Each time you log into your server as root, the Automatic Update Utility is run. It installs the latest fixes and security patches for your server. Don’t disable it! In fact, don’t delete anything from the /root folder. You’ll need all of it sooner or later.

We recommend you log into your server as root at least once a week to keep your server current. Ditto for the web interface to Incredible PBX. Insofar as security is concerned, we make a best effort to keep the components of Incredible PBX up to date. The Linux operating system was installed by you before the Incredible PBX install began. That’s a nice way of saying Linux security is primarily your responsibility. When an egregious Linux vulnerability comes along that we know about, we will try to notify you of the issue on the PIAF Forum and on the RSS Feed that is part of the Incredible PBX web GUI. Check the RSS Feed on the web GUI at least once a week as well. As a condition of use of the free Incredible PBX for Asterisk-GUI product, you accepted ultimate responsibility for the security and reliability of your server. None of this discussion changes any of that.

5. Asterisk 11 Upgrade Utility for Incredible PBX for Asterisk-GUI

We’ve included a script to upgrade Asterisk 11 to the latest version whenever you feel the urge. Before beginning the upgrade, log into your server as root using SSH and maximize the window. Otherwise, Asterisk may not compile properly. Then run the script: /root/upgrade-asterisk-to-current

6. Implementing Apache Authentication with Incredible PBX for Asterisk-GUI

With the exception of Asterisk-GUI and WebMin, all web-based applications included in Incredible PBX (including your trunk setups!) require successful Apache authentication to gain access. When you installed Incredible PBX, you should have created an admin account. If not, issue the following command using a secure password after logging in as root:

htpasswd -b /etc/pbx/wwwpasswd admin newpassword

With the exception of AsteriDex and Reminders, you gain access to other Incredible PBX applications with the admin Apache account. For the remaining apps, you may wish to (but don’t have to) assign different account names and passwords to various departments in your organization. To set up these accounts, use the syntax above substituting the name of the department for “admin” and the department password for “newpassword.”

7. Managing the IPtables Linux Firewall and WhiteList

As installed, Incredible PBX for Asterisk-GUI includes a preconfigured, locked-down Linux firewall that restricts incoming IPv6 traffic to localhost and, via a WhiteList, limits incoming IPv4 traffic to your server’s public and private IP addresses, your desktop computer’s IP address (that was used for the install), private LAN and NeoRouter VPN traffic, and a collection of our favorite SIP providers. You can WhiteList additional IP addresses for additional providers or for SIP and IAX phones located outside your firewall. The following firewall management scripts are mostly installed in the /root directory:

  • ./add-ip — WhiteList an additional IP address or IP address range (CIDR)
  • ./add-fqdn — WhiteList a site using a fully-qualified domain name (FQDN)
  • ./del-acct — Remove previously designated entry from the WhiteList
  • ./ipchecker — Check whether specified FQDNs have changed & update IPtables
  • iptables-restart — Used exclusively to restart IPtables and test for failed FQDNs
  • iptables -nL — Check the current status of your IPtables firewall

IPtables can be manually configured (if you know what you’re doing) by editing iptables and ip6tables in /etc/sysconfig (CentOS) or rules.v4 and rules.v6 in /etc/iptables (Debian/Ubuntu). NEVER use traditional iptables commands such as iptables save to update your IPtables configuration, or you will permanently delete all of your FQDN entries! Instead, edit the files directly and then restart IPtables using iptables-restart. This protects the FQDN entries in your setup while also checking for invalid FQDN entries and removing them temporarily so that IPtables will successfully restart. If you use service iptables restart to restart IPtables and there happens to be an FQDN entry for a host that is either down or has disappeared, IPtables will fail to restart and your server will be left with NO firewall protection! The reason for this is the IPtables design which converts all FQDN entries to fixed IP addresses when it starts up. It’s also the reason we have to periodically check for changed FQDN entries using the ipchecker script with cron. For this to work properly, you will need to manually add your FQDN setups to the top of /etc/ipchecker by inserting the filenames of any add-fqdn entries you have created. For additional details, read our Travelin’ Man 3 tutorial.

8. PortKnocker Remote Access to Incredible PBX for Asterisk-GUI

IPtables is a powerful firewall that keeps the bad guys out. It also will keep legitimate users (including you) from gaining remote access to your server unless you had the forethought to WhiteList your remote IP address before you left on that family vacation. Unfortunately, you don’t always know your IP address in advance. And dynamic IP addresses assigned with hotel WiFi frequently change. To address this problem, Incredible PBX for Asterisk-GUI includes a preconfigured PortKnocker utility. This lets you send three secret “knocks” on random TCP ports to your server to tell it to let you in temporarily (until IPtables is again restarted).

For PortKnocker to work, you obviously need to know the secret knocks. You’ll find them in /root/knock.FAQ. Record them in your wallet or inside your suitcase for that rainy day! There are PortKnocker apps for almost all smartphones as well as for Windows, Mac, and Linux computers. Install your favorite AND test access before you leave town.

Finally, be aware that PortKnocker does not need any special access to your server to work; however, if your server is behind a hardware-based firewall, then you must map the three PortKnocker TCP ports to the private IP address of your server, or the knocks obviously will never get delivered to your server.

Review our PortKnocker tutorial for additional configuration tips.

9. Travelin’ Man 4 Remote Access to Incredible PBX for Asterisk-GUI (Dial TM4)

In addition to PortKnocker, Incredible PBX also includes a telephone-based solution to temporarily gain remote access to your server. This does require a bit of preplanning since you must create account credentials for the person to whom you wish to give remote access via a phone call. The complete tutorial for Travelin’ Man 4 is available on the PIAF Forum. All of the pieces already are in place on your server so skip down to the Configuration & Operation sections for details on implementation. The tutorial also covers the Administrator Utilities in /root/tm4 which let you set up remote user accounts.

10. Using the Conference Bridge in Incredible PBX (Dial C-O-N-F)


A new turnkey Asterisk 11 Conference Bridge has been added to Incredible PBX for Asterisk-GUI. A conference bridge allows a group of people to participate in a joint phone call. Typically, participants dial into a virtual meeting room from their own phone. This virtual meeting room supports dozens or even hundreds of participants depending upon server capacity.

You do not need a timing source for conferencing with Incredible PBX for Asterisk-GUI! Old-style Asterisk-GUI Conference Rooms which required a timing source are disabled.

To access the Conference Bridge, dial C-O-N-F (2663) from any phone connected to your server. Remote users can be added to a conference by providing a DID that points to an IVR which includes Conference Bridge access. Once connected to the conference bridge, a caller is prompted for the Conference Bridge PIN and his or her name. The user and admin passwords to access the Conference Bridge are randomized during the install.

To display Conference Bridge PINs, open Asterisk-GUI, choose Incredible PBX Apps, and click on Anveo Direct. The Miscellaneous Credentials Settings will all be displayed at the bottom of the screen including your Conference Bridge PINs.

To change Conference Bridge PINs, log into your server as root and edit the entries for CONF_USER_PIN and CONF_ADMIN_PIN: nano -w /etc/asterisk/credentials.conf. Then reload Asterisk: asterisk-reload.

11. CallerID Name (CNAM) Lookups with Incredible PBX for Asterisk-GUI

By default, Incredible PBX is configured to automatically provide OpenCNAM CallerID name lookups for the first ten calls received each hour. These lookups are only from cached entries in the OpenCNAM database; however, you can enable the commercial lookup service if desired. The cost is four tenths of a cent per successful query.

To enable the OpenCNAM Professional Tier, set up an account at OpenCNAM.com. Once you’ve obtained your credentials, edit the [cidlookup] context in /etc/asterisk/extensions_additional.conf. The second line includes this CURL command:

${CURL(https://api.opencnam.com/v2/phone/${CALLERID(num)}?format=pbx&ref=incrediblepbx)})

Add the following immediately after “incrediblepbx” replacing ACCOUNT_SID and AUTH_TOKEN with your actual credentials: &account_sid=ACCOUNT_SID&auth_token=AUTH_TOKEN

Finally, comment out the next 8 lines that begin with “exten => cidlookup_1,n” by inserting a semicolon at the start of each line. DO NOT comment out: exten => cidlookup_1,n,Return(). Save your changes and reload Asterisk: asterisk-reload.

;exten => cidlookup_1,n,Set(current_hour=${STRFTIME(,,%Y-%m-%d %H)})
;exten => cidlookup_1,n,Set(last_query_hour=${DB(cidlookup/opencnam_last_query_hour)})
;exten => cidlookup_1,n,Set(total_hourly_queries=${DB(cidlookup/opencnam_total_hourly_queries)})
;exten => cidlookup_1,n,ExecIf($["${last_query_hour}" != "${current_hour}"]?Set(DB(cidlookup/opencnam_total_hourly_queries)=0))
;exten => cidlookup_1,n,ExecIf($["${total_hourly_queries}" = ""]?Set(DB(cidlookup/opencnam_total_hourly_queries)=0))
;exten => cidlookup_1,n,Set(DB(cidlookup/opencnam_total_hourly_queries)=${MATH(${DB(cidlookup/opencnam_total_hourly_queries)}+1,i)})
;exten => cidlookup_1,n,ExecIf($[${DB(cidlookup/opencnam_total_hourly_queries)} >= 10]?System(${ASTVARLIBDIR}/bin/opencnam-alert.php))
;exten => cidlookup_1,n,Set(DB(cidlookup/opencnam_last_query_hour)=${current_hour})
exten => cidlookup_1,n,Return()

12. Faxing with Incredible PBX for Asterisk-GUI

If you added Incredible Fax to your server by running incrediblefax11-GUI.sh in the /root folder, then you’re in for a treat. As part of the install, you provided an email address for delivery of incoming faxes. That’s all the setup that is required to have incoming faxes sent to most of your DIDs delivered via SendMail in PDF format. The best way to figure out whether a particular provider supports fax technology on their DIDs is to send a test fax to yourself. FaxZERO lets you send 5 free faxes of up to 3 pages every day. Give it a whirl.

You also can send faxes using standard document types with the AvantFax web application. Log into AvantFax from the main Incredible PBX page by clicking on the AvantFax icon. Choose the Send a Fax option from the main menu, fill in the blanks, and attach your document. AvantFax uses the default dialplan documented in last week’s article so use the prefix desired to send the fax using your preferred provider. HINT: Google Voice does an excellent job with both incoming and outgoing faxes, and the calls are free in the U.S. and Canada.

Copies of all incoming faxes also are available for retrieval within AvantFax.

13. Voicemail 101 for Incredible PBX for Asterisk-GUI

Voicemail functionality is enabled on an extension-by-extension basis as part of the extension setup under the Users tab in Asterisk-GUI. Once enabled, you can set up your mailbox and retrieve your messages by dialing *98. You can leave a message for any extension without actually calling the extension. Just prepend * to any extension number before dialing, e.g. *6002. A number of the system settings for voicemail can be tweaked under the Voicemail tab in Asterisk-GUI. You also can automatically delete voicemails once they have been delivered by email under the Email Settings tab. Just follow your nose.

14. Email Delivery of MP3 Voicemails with Incredible PBX for Asterisk-GUI

Speaking of email delivery, your voicemails also can be delivered to any email address of your choosing. For every extension under the Users tab in Asterisk-GUI, simply add an Email Address in the Voicemail section of the form. With Incredible PBX, the voicemail message will be attached to the email in MP3 format so it’s suitable for playback with most email clients on desktop PCs, Macs, and smartphones. Be advised that some Internet service providers (such as Comcast) block downstream SMTP servers. You can check whether your outbound email is flowing by accessing WebMin (below) and choosing Servers -> SendMail Mail Server -> Mail Queue. If you find outbound mail is accumulating, then you’ll need to add your ISP’s SMTP server address as a SmartHost for SendMail as documented in the next section.

15. Reconfiguring SendMail for SmartHost SMTP Delivery Of Outgoing Emails

Many residential Internet service providers block downstream SMTP servers such as the SendMail server running with Incredible PBX for Asterisk-GUI. If you’re sending emails but they never arrive and you’ve checked your SPAM folder, then chances are your ISP is the culprit. The simple solution is to add your ISP’s SMTP server as a SmartHost for SendMail. This means outbound emails will be forwarded to your ISP for actual email transmission over the Internet. Here’s how. Edit /etc/mail/sendmail.cf and search for DS. Immediately after DS, add the FQDN of your ISP’s SMTP server, e.g. DSsmtp.comcrap.net (no spaces!). Save the file and then restart SendMail: service sendmail restart. Your email and voicemail messages with attachments should begin flowing without further delay.

Email from: Asterisk PBX asterisk@pbx.local...
"Nerd Vittles" at 8001234567 left a new voicemail message 1 for extension 6002 on Thursday, January 29, 2015 at 01:42:33 PM.

You can test email delivery by sending yourself a message from the Linux CLI:

echo "test" | mail -s testmessage yourname@somedomain.com

16. SMS Blasting with Google Voice and Incredible PBX for Asterisk-GUI

Out of the box, Incredible PBX supports SMS Message Blasting if you have a functioning Google Voice account set up. Before first use, you must add your credentials, address list, and text message to the SMS Blaster scripts in the /root folder.

In smsblast, insert your credentials:

GVACCT="yourname@gmail.com"
GVPASS="yourpassword"
MSGSUBJECT="Little League Alert"

In smslist.txt, insert one or more recipients for your message. These can be a combination of SMS addresses and email addresses and will be delivered accordingly.

NOTE: For most cellphone providers, you also can send an email message for SMS delivery by the provider. The complete list of providers is available here. Email messaging for SMS requires that you know the cellphone provider for your recipient while standard SMS messaging does not.

# In lieu of SMS number, email is also OK
8431234567 Doe John
mary@doe.com Doe Mary
8435551212@txt.att.net Mr T

In smsmsg.txt, enter the text message to be sent.

Once you have all three files configured, run the script: /root/smsblast.

17. Voice-Activated SMS Messaging with Incredible PBX (Dial S-M-S)

In addition to message blasting, you also can dial 767 from any extension and dictate an SMS message to send through your Google Voice account. When prompted for the destination, simply enter the 10-digit SMS number of the recipient.

18. SMS Messaging with VoIP.ms and Incredible PBX for Asterisk-GUI

Incredible PBX for Asterisk-GUI also supports SMS messaging through VoIP.ms if you have an account and an SMS-enabled DID. See the VoIP.ms wiki for setup info on the VoIP.ms side.

To install the VoIP.ms SMS scripts, follow these steps:

cd /root
mkdir sms-voip.ms
cd sms-voip.ms
wget http://incrediblepbx.com/voipms-SMS.tar.gz
tar zxvf voipms-SMS.tar.gz

Edit voipms-sms.php and insert your VoIP.ms number that supports SMS messaging (no spoofing allowed!):

$SMSsender="8005551212";

Edit class.voipms.php and insert your VoIP.ms API credentials:

    /*******************************************
     *  VoIPms - API Credentials
    *******************************************/
    var $api_username   = 'yourname@youremail.com';
    var $api_password   = 'yourpassword';

Send an SMS message through VoIP.ms with the following command where smsnumber is the 10-digit number of the SMS recipient and “sms message” is the text message surrounded by quotes:

/root/sms-voip.ms/voipms-sms.php smsnumber "sms message"

NOTE: VoIP.ms has indicated that sooner or later there will be a penny per message charge for SMS messages; however, as of today, they’re still free.

19. SIP URI Calling with Incredible PBX for Asterisk-GUI (Demo: Dial L-E-N-N-Y)

With one line of dialplan code, you can add Speed Dials for free SIP URI calling worldwide. The dialplan code is stored in the [CallingRule_SIP_URI] context in extensions_custom.conf. Just clone one of the existing entries, designate an extension to dial to connect to the SIP URI, and enter the SIP URI for the destination. Numerous SIP providers support assignment of SIP URI’s to DIDs for unlimited free calling from anywhere in the world. Here’s a sample using a speed dial code of 53669 that connects you to SIP URI 2233435945@sip2sip.info: exten = 53669,1,Dial(SIP/2233435945@sip2sip.info)

20. IVR Demo of Incredible PBX Applications (Dial 7001)

The easiest way to try out a number of the Incredible PBX applications is to take the IVR Demo for a spin. Just pick up any phone and dial 7001. The sample code for the IVR is available for review and modification in extensions.conf. Just search for 7001. You can create your own IVRs and AutoAttendants under the Voice Menus tab in Asterisk-GUI. There’s also a sample Stealth AutoAttendant available by dialing 7000. This plays a brief greeting and then rings Ring Group #1. During the greeting, you could configure the application to allow button presses to branch to other applications on your PBX, hence the Stealth name since the codes are not disclosed to callers.

21. Incredible Backup & Restore with Incredible PBX for Asterisk-GUI

Incredible Backup and Restore scripts are included in the /root folder. These scripts make and restore snapshots of the settings on your server and should be used in conjunction with a full system backup solution. Asterisk-GUI includes its own backup snapshots under the Backup tab.

22. AsteriDex – The Poor Man’s Rolodex

AsteriDex is a web-based phonebook application for Incredible PBX. You can access it from the main web menu. Scripts are also available to import your contacts from Outlook and Google Contacts.

23. Voice Dialing with AsteriDex (Dial 411)

If you have voice recognition enabled on your server, you can call anyone in your AsteriDex database by dialing 411.

24. Speed Dialing with AsteriDex (Dial 412 or 000+)

For those without voice recognition, Incredible PBX includes two speed dialing utilities. The first is accessed by dialing 412. Then enter any 3-digit dialcode from your AsteriDex database to complete the call. If you’d prefer to skip the intermediate step, dial 000 + the 3-digit speed dial code desired. The call will be placed immediately using your default outbound routes. For those using a version of Incredible PBX before February 2015, see this link for the 000 Speed Dial patch.

For a complete listing of your AsteriDex dial codes, execute this query:

mysql -u root -ppassw0rd asteridex -e "select name,dialcode from user1 order by name"

25. Telephone Reminders (Dial 123)

Incredible PBX includes a sophisticated reminders system that lets you schedule individual or recurring reminders using your phone by dialing 123 or a web browser. A complete tutorial is available here. For phone reminders, a password is required to access the reminder system. You’ll find your password in /root/passwords.FAQ. It can be changed in /etc/asterisk/credentials.conf. Typically, these reminders set up a return call at a scheduled time that then plays back either a recorded message or a TTS message generated from the text you entered in the browser application. Incredible PBX for Asterisk-GUI also includes a new addition that lets you schedule web reminders that are delivered by email or SMS message. Links to the web-based reminders applications are in the main Incredible PBX web menu.

26. DISA Access with Incredible PBX for Asterisk-GUI (Dial D-I-S-A)

Direct Inward System Access (aka DISA) is one of the great PBX inventions of the last 50 years. It’s also one of the most dangerous. It lets someone connect to your PBX and obtain dial tone to place an outbound call using your trunks… on your nickel. Typically, it is offered as an option with an IVR or AutoAttendant. The DISA extension is preconfigured with Incredible PBX on extension 3472 (D-I-S-A). Use requires a password. Your randomized password can be found in /root/passwords.FAQ. It can be changed in /etc/asterisk/credentials.conf. Make it very secure before exposing DISA access to the outside world!

27. Yahoo! News (Dial 951)

Yahoo! news headlines are available by dialing 951. The news option also is included in the sample IVR application.

28. Weather Forecasts by Phone (Dial 949 or Z-I-P)

If you have voice recognition enabled on your server, you can retrieve a weather report for most cities in the world by dialing 949 and saying the name of the city plus the state, province, or country. For PBXs without voice recognition, you can obtain a weather forecast for most zip codes by dialing 947 (Z-I-P) and entering the 5-digit zip code.

29. ODBC Application Support for Asterisk

If you’ve recently logged into your server as root, Automatic Update #4 added ODBC/MySQL application support for Asterisk. You can try out a few sample applications that are included to get you started. Dial 222 and enter 12345 for the employee number. This retrieves an employee name from the MySQL timeclock database using Asterisk. Dial 223 to retrieve an AsteriDex name and phone number by entering the 3-character dialcode. You then have the option of placing the call by pressing 1. Once you have created accounts for Travelin’ Man 4, you can dial 864 (T-M-4) to WhiteList an IP address for that account after entering the account number and matching PIN. Use the * key for periods in the IP address. The code for all of the samples is in the following files in /etc/asterisk: odbc.conf and func_odbc.conf. If you create new MySQL databases, remember to add corresponding entries in res_odbc.conf and /etc/odbc.ini. Then restart Asterisk: asterisk-restart.

30. Today in History (Dial T-O-D-A-Y)

It’s always interesting to find out what happened Today in History. And Incredible PBX now delivers it by phone. Just dial 86329 (T-O-D-A-Y) for a walk down memory lane.

31. Time of Day

Speaking of yesteryear, if you grew up dialing TI-4-1212 for the time of day, Ma Bell may have discontinued the service, but we haven’t. Now you can do it on your very own PBX. Just dial into the IVR (7001) and choose option 4.

But suppose you want your users to be able to dial in for the time directly by dialing extension 8463 (T-I-M-E). Well it’s easy. Just add one line to your Incredible PBX dialplan and then reload the dialplan.

sed -i '/CallingRule_extensions_custom/a exten => 8463,1,Goto(new-time,s,1)' /etc/asterisk/extensions_custom.conf
asterisk-reload

NOTE: Those with a Feb. 2015 or later version of Incredible PBX already have this feature.

Introducing WebMin: The Linux Swiss Army Knife

There is no finer Linux application than WebMin. There is no more dangerous Linux application than WebMin. You’ve been warned. We heartily recommend WebMin as a tool to LOOK at your server’s settings. We strongly discourage changing anything in WebMin unless you totally know what you are doing. This is especially true with management of Linux applications that make up the core of Incredible PBX: the Linux kernel, SendMail, IPtables, Apache, MySQL, PHP, and…

To access WebMin, click on the WebMin link in the main Incredible PBX web menu. The username is root. The password is your root password. WebMin has root privileges to your server. Reread paragraph 1 and act accordingly.

For an exhaustive tutorial on WebMin, download The Book of WebMin by Joe Cooper. For a more recent commercial offering, take a look at Michal Karzyński’s WebMin Administrator’s Cookbook.

Introducing phpMyAdmin: The MySQL Swiss Army Knife

The same caveats we expressed regarding WebMin apply to phpMyAdmin. It is a powerful tool for managing MySQL databases in the right hands. It is a dangerous tool in the wrong hands. Fortunately, Asterisk-GUI does not rely upon MySQL for anything, and we are phasing out the remaining Incredible PBX applications that still rely upon it. So there should be little need to use phpMyAdmin unless you are developing a customized database solution for your business. We’ve included phpMyAdmin just in case.

To access phpMyAdmin, click on the phpMyAdmin link in the main Incredible PBX web menu. For tutorials on phpMyAdmin, see the phpMyAdmin wiki. For an excellent commercial offering focused on the version of phpMyAdmin installed on your server, consider Mastering phpMyAdmin 3.4 for Effective MySQL Management by Marc Delisle.

Enjoy your new Gotcha-Free PBX, and… Happy Groundhog’s Day! It’s always been one of the happiest days of the year around our house. It’s my mom’s birthday.

Originally published: Monday, February 2, 2015


Coming Next Week (with a little luck): The Gotcha-Free PBX Ubuntu Edition


Coming Soon: The Gotcha-Free PBX for the Raspberry Pi 2. Better hurry if you want one!



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



Need help with Asterisk? Visit the PBX in a Flash Forum.


 
New Vitelity Special. Vitelity has generously offered a new discount for Incredible PBX users. You now can get an almost half-price DID from our special Vitelity sign-up link. If you’re seeking the best flexibility in choosing an area code and phone number plus the lowest entry level pricing plus high quality calls, then Vitelity is the hands-down winner. Vitelity provides Tier A DID inbound service in over 3,000 rate centers throughout the US and Canada. And, when you use our special link to sign up, the Nerd Vittles and PBX in a Flash projects get a few shekels down the road while you get an incredible signup deal as well. The going rate for Vitelity’s DID service is $7.95 a month which includes up to 4,000 incoming minutes on two simultaneous channels with terminations priced at 1.45¢ per minute. Not any more! For Incredible PBX users, here’s a deal you can’t (and shouldn’t) refuse! Sign up now, and you can purchase a Tier A DID with unlimited incoming calls for just $3.99 a month. To check availability of local numbers and tiers of service from Vitelity, click here. Do not use this link to order your DIDs, or you won’t get the special pricing! Vitelity’s rate is just 1.44¢ per minute for outbound calls in the U.S. There is a $35 prepay when you sign up. This covers future usage and any balance is fully refundable if you decide to discontinue service with Vitelity.
 


Some Recent Nerd Vittles Articles of Interest…

Ringbinder theme by Themocracy