Posts tagged: tts

2016, The Year of (real) VoIP Choice: Introducing Elastix 4.0 with Incredible PBX

Our crystal ball suggests that 2016 is shaping up to be a fantastic year full of VoIP surprises and excitement. We’ll be there to cover every new development. When it comes to graphical user interfaces for Asterisk®, the days of the one trick pony are officially over. Free At Last! And leave it to Edgar Landivar and Team Elastix® to be first out of the gate with Elastix 4.0. What a terrific new product it is! The Elastix project began nearly a decade ago, and every release continues to demonstrate why Elastix remains at the top of the leader board when it comes to true open source unified communications solutions. Whether you’re building a commercial call center or seeking an open source telephony platform for your organization, Elastix competes favorably with the best commercial brands in the business. We’ll put a little icing on the cake today by offering an all-new Incredible PBX release for Elastix 4.0. It adds a preconfigured and locked down firewall plus dozens of applications for Asterisk including text-to-speech and voice recognition applications as well as new SIP gateways to RingPlus cellular service and Google Voice communications. So let’s begin and take Elastix 4.0 for a spin! Download the ISO here.


A Word of Caution. If you’re new to Incredible PBX, install a clean version of Elastix 4.0 with NO MODIFICATIONS before you begin the Incredible PBX install. All of the existing Elastix 4.0 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. So don’t make any! Once the Incredible PBX install is completed, you can make all the changes you wish in your Elastix 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 current and future 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. We watch for and fix problems so you don’t have to.

Getting Started with Incredible PBX and Elastix 4.0

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

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

1. Choose a Platform for Incredible PBX and Elastix 4.0

Incredible PBX for Elastix 4.0 works equally well on dedicated hardware, a cloud-based server, or a virtual machine. Just be sure 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. Our favorite hardware platform remains the $200 Intel NUC, and you can read all about it here.

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 4.0 should be available shortly.

Or you can install Elastix 4.0 on top of an existing CentOS 7 platform by following this tutorial.

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

2. Install 64-bit Elastix 4.0 on Your Platform

Begin by downloading the 64-bit Elastix 4.0 ISO. For dedicated hardware, burn the ISO image to a DVD and boot your server with the Elastix 4.0 ISO to begin the install. You’ll be presented with the CentOS 7 Installation GUI:

Choose: Time Zone (click)
Choose: Keyboard (click)
Choose: Install Drive (double-click)
Choose: Root Password (Make it Secure!)
Wait for Install and Reboot to Complete
Set MySQL Password to: passw0rd (MANDATORY: with a zero!)
Set Elastix admin Password: minimum 10 alphanumeric characters with upper & lowercase

For VirtualBox, create an Elastix 4.0 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 4.0 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 4.0 in your virtual machine.

3. Download and Install Incredible PBX for Elastix 4.0

After completing the Elastix 4.0 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. You’ll actually run the installer twice, once to upgrade CentOS 7 and Elastix 4.0 and a second time to install Incredible PBX.

cd /root
yum -y install wget
wget http://incrediblepbx.com/incrediblepbx11elastix40.tar.gz
tar zxvf incrediblepbx11elastix40.tar.gz
rm -f incrediblepbx11elastix40.tar.gz
./IncrediblePBX*
# after reboot, login again as root and...
./IncrediblePBX*

4. Initial Configuration of Incredible PBX for Elastix 4.0

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 4.0 has its own security methodology. Finally, we randomize various passwords as part of the initial install process. You’ll also be prompted to set your MySQL and Elastix admin password again. Be sure your MySQL password is passw0rd with a zero, or nothing will work! 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 6 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: pbxstatus

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.

Incredible PBX Stand-Alone Apps. Currently, there are several standalone applications included with Incredible PBX that cannot be accessed from within the Elastix Dashboard because the Elastix Developer component for Elastix 4.0 still is under development. For all of these web applications except WebMin, you will need to set up Apache web credentials using the web apps password syntax documented above. Once you’ve done that, you can access the applications using a browser with the username admin. Just substitute your server’s IP address for 192.168.0.1 in the examples below. For WebMin only, use root as your username and your root password for access.

  • Config Edit: https://192.168.0.1/maint/configedit
  • phpMyAdmin: https://192.168.0.1/maint/phpMyAdmin
  • Sys Info: https://192.168.0.1/maint/sysinfo
  • Telephone Reminders: https://192.168.0.1/reminders
  • WebMin: https://192.168.0.1:9001

5. Activate Trunks with Incredible PBX for Elastix 4.0

For those migrating from another aggregation including PBX in a Flash, this should be familiar territory for you. Using a browser, log into Elastix 4.0 at the IP address of your server using your admin password. Before you can actually make or receive calls outside your PBX, you’ll need at least one trunk. In the Elastix 4.0 GUI, click PBX -> PBX Configuration -> Trunks. Once you have your credentials from a provider, choose a provider from the list of preconfigured trunks on the right or create a new one. If you’re using one of the preconfigured options, remember to enable the trunk after adding your desired CallerID and credentials. Then save your settings and reload your Asterisk dialplan. That’s it. You’re ready to go.

To display your trunk registrations: asterisk -rx "sip show registry"

Google Voice Setup. If you wish to use Google Voice for free calling in the U.S. and Canada, you’ll need to sign up for an account with Simonics SIP to Google Voice Gateway service. Complete documentation is here.

RingPlus SIP Gateway. If you’ve signed up for (free) RingPlus cellular service, you also can use your cellular account as a SIP gateway to Elastix. Complete documentation is here.

Connection Issues. If you experience problems getting trunks to register with providers, add or remove the following entry in /etc/asterisk/sip_custom.conf: nat=yes. Then restart Asterisk: amportal restart.

6. Configure a Softphone with Incredible PBX for Elastix 4.0

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 4.0 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 for your account name, and whatever password is assigned to the extension. Here’s what your entries should look like. 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. Here are a few numbers to get you started:


123 - Reminders
222 - ODBC Demo (use: 12345)
947 - Weather by ZIP Code
951 - Yahoo News
DEMO - Allison's IVR Demo
TODAY - Today in History

7. Configuring SMTP Mail with Incredible PBX for Elastix 4.0

Outbound email support using Postfix is preconfigured with Elastix 4.0. You can test whether it’s actually working by issuing the following command using your destination email address after logging in as root:

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

If you don’t receive the email message within a minute or two and you’ve checked your spam folder, chances are your ISP is blocking downstream SMTP servers in an effort to combat spam. Comcast is one of the usual suspects. To enable outbound email service for delivery of voicemail and other email messages with a provider blocking downstream SMTP servers, you first need to obtain the SMTP domain of your ISP, e.g. smtp.comcrap.net. Next, edit /etc/postfix/main.cf and add your SmartHost entry [in brackets] to the line that begins like this: relayhost =. The line should look like this: relayhost = [smtp.comcrap.net]. Save your addition and restart Postfix: service postfix restart. Be sure to try another email test message after completing the SmartHost update. To use Gmail as your mail relay, see this tutorial.

8. Homework Assignment: Mastering Incredible PBX for Elastix 4.0

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 4.0 as well. That should be your next stop. Then you’ll be ready to tackle Elastix 4.0. Google is your friend. Do some exploring, and we’ll post links to great articles on this terrific 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 forum.

And if all of that wasn’t enough, feast your eyes on the Elastix Add-Ons that are only a button click away:

Download (PDF, 619KB)

Originally published: Monday, February 22, 2016



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


 
Awesome Vitelity Special. Vitelity has generously offered a terrific discount for Nerd Vittles readers. 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. When you use our special link to sign up, Nerd Vittles gets a few shekels down the road to support our open source development efforts 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 our 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 and four simultaneous channels for just $3.99 a month. To check availability of local numbers and tiers of service from Vitelity, click here. NOTE: You can only use the Nerd Vittles sign-up 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. Any balance is refundable if you decide to discontinue service with Vitelity.


​​3CX is a software PBX that’s easy to install & manage. It includes integrated softphones, WebRTC conferencing and essential add-ons out of the box, at no additional cost. Try the free edition at www.3cx.com.

  • Run on Premise or in the Cloud, on Windows and soon Linux
  • Softphones for iOS, Android, Win & Mac
  • Easy install, backup & restore, version upgrades
  • Automatically configures IP Phones, SIP Trunks & Gateways

  • Some Recent Nerd Vittles Articles of Interest…

    The Last Sunset: Saying Goodbye to Google TTS… Hello Pico TTS



    Despite the heroic efforts of Lefteris Zafiris to keep GoogleTTS afloat for use with Asterisk®, Google has made it increasingly clear that they intend to blow everyone’s apps out of the water (except theirs) if you choose to use their text to speech engine, even in open source, non-commercial products. As much as we’ve loved the voice quality and Google’s previous generosity in sharing their work product with the open source community, there comes a time when the mud wrestling simply is no longer worth the effort. Thanks to the pioneering efforts of Steven Mirabito, we all now have a choice. Steven took the work of Lefteris on GoogleTTS and retrofitted it to support the free SVOX Pico TTS engine. While Pico lacks a bit of the voice quality of GoogleTTS, it’s a quantum leap improvement over Festival and FLITE and perfectly suitable for Incredible PBX TTS apps.

    Unlike FLITE which has no voice alternatives to Lurch, Pico for Android has a rich assortment of 40+ male/female voices supporting 25+ languages. Many of them are free. Hopefully, it’s only a matter of time until someone documents how to move them over to the Linux platforms. For today, our default install includes support for US English, British English, French, Spanish, and German. After the install, you’ll find them in /usr/share/pico/lang. Changing voices and languages in your Asterisk scripts is simple. Replace the default language identifier, en-US, with the voice of your choice, e.g. en-GB for British accents, fr-FR for French, es-ES for Spanish, and de-DE for German. If you wish to generate wave files at the command prompt, the syntax is shown below. Here’s the command we used to generate the sample sound file above.

    pico2wave --wave sample.wav -l en-US "Here is a sample, using the PICO text to speech engine."
    

    We’re getting a little ahead of ourselves here. Before you can use Pico TTS, we first need to get it installed. There are two different procedures depending upon whether Incredible PBX is running on the CentOS/Scientific Linux platform or Debian/Ubuntu/Raspbian. The installation procedure below will install all of the necessary components for Pico TTS on an existing Incredible PBX platform. It also will modify the Incredible PBX apps that currently rely upon GoogleTTS. And, as of yesterday, all new Incredible PBX 13 installs include Pico TTS by default.

    To get started, log into your server as root and choose the installation steps documented below for your particular platform.1

    Installing Pico TTS on the CentOS/Scientific Linux Platforms

    cd /
    wget http://incrediblepbx.com/picotts.tar.gz
    tar zxvf picotts.tar.gz
    cd /root
    ./picotts-install.sh
    sed -i 's|en)|en-US)|' /etc/asterisk/extensions_custom.conf
    sed -i 's|googletts|picotts|' /etc/asterisk/extensions_custom.conf
    asterisk -rx "dialplan reload"
    

    Installing Pico TTS on the Debian/Ubuntu Platforms

    cd /
    wget http://incrediblepbx.com/picotts.tar.gz
    tar zxvf picotts.tar.gz
    cd /root
    rm -f picotts-install.sh
    apt-get update
    apt-get install -y libttspico-utils
    sed -i 's|en)|en-US)|' /etc/asterisk/extensions_custom.conf
    sed -i 's|googletts|picotts|' /etc/asterisk/extensions_custom.conf
    asterisk -rx "dialplan reload"
    

    Installing Pico TTS on the Raspberry Pi Raspbian Platform

    cd /
    wget http://incrediblepbx.com/picotts-raspi.tar.gz
    tar zxvf picotts-raspi.tar.gz
    rm -f picotts-raspi.tar.gz
    cd /root
    echo "Installing Pico TTS..."
    ./picotts-install.sh
    

    Post-Install Testing of Pico TTS with Incredible PBX

    The easiest way to make sure everything is working properly is to pick up a phone on your server and dial 951 for the latest Yahoo News headlines. Keep in mind that Google Speech Recognition (Google STT) still works for apps such as Voice Dialing (411), Voice Messaging (767), Wolfram Alpha (4747), and Star (8). However, these apps require a free API key before use. The procedure to obtain and install one is documented in this Nerd Vittles article.

    Changing the Pico TTS Voice with Incredible PBX

    All of the Incredible PBX application scripts are saved in extensions_custom.conf in the /etc/asterisk directory. To change the default voice for Pico TTS apps, simply search and replace en-US with the desired voice: en-GB, fr-FR, es-ES, or de-DE. Save your changes. And then reload your Asterisk dialplan: asterisk -rx "dialplan reload"

    Originally published: Monday, January 11, 2016





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


     
    Awesome Vitelity Special. Vitelity has generously offered a terrific discount for Nerd Vittles readers. 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. When you use our special link to sign up, Nerd Vittles gets a few shekels down the road to support our open source development efforts 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 our 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 and four simultaneous channels for just $3.99 a month. To check availability of local numbers and tiers of service from Vitelity, click here. NOTE: You can only use the Nerd Vittles sign-up 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. Any balance is refundable if you decide to discontinue service with Vitelity.


    ​​3CX is a software PBX that’s easy to install & manage. It includes integrated softphones, WebRTC conferencing and essential add-ons out of the box, at no additional cost. Try the free edition at www.3cx.com.

  • Run on Premise or in the Cloud, on Windows and soon Linux
  • Softphones for iOS, Android, Win & Mac
  • Easy install, backup & restore, version upgrades
  • Automatically configures IP Phones, SIP Trunks & Gateways

  • Some Recent Nerd Vittles Articles of Interest…

    1. If you’re using an older version of CentOS, see the install tips documented on the PIAF Forum. []

    The Voice Recognition Revolution: Move Over Siri and Meet the New Kids

    The automobile manufacturers had the right idea years ago. Make it easy to change the temperature in your vehicle. Just say “cooler” or “warmer.” That project went about as well as their GPS interfaces are progressing today. So let’s give credit where credit is due. Apple’s Siri revolutionized voice recognition by making it something really useful on the smartphone. If you’ve wondered who Siri actually is, wonder no more. You’re in for a pleasant surprise. Meet Siri from Australia. And Siri U.S.A.:

    Google, of course, is not one to be left behind. There was a reason they were offering to transcribe your voicemails for free all those years. They were putting in place the building blocks for a similar system on Android-based phones. Hey, Siri. Meet “OK, Google.” And the competition has transformed both products into incredibly useful additions to every smartphone.

    Then the latest Silicon Valley Wannabe got into the picture. Let me introduce Alexa for your kitchen or living room masquerading as Amazon’s Echo, a fascinating new half-baked product. If the Echo weren’t so transfixed with selling you music and other stuff from Amazon, it could be a terrific product. Not to be outdone, Google wasted little time introducing their look-alike, OnHub, which makes half-baked look really useful. OnHub does absolutely nothing but serve as a home router with more antennas than the Mars Rover. And now both Apple and Google are circling back to the automobile promising to revolutionize the way in which you talk to or even drive your car. Stay tuned. It’s going to get interesting. And, on the living room front, you’re probably going to need to buy another round of hardware. Even though many building blocks were in place with OnHub, Google left out a microphone… unless they use the one on your smartphone or watch. 😉

    So what does all of this have to do with Asterisk® and VoIP telephony? Well, nothing actually… until today. Most of the cool things you can do with your smartphone or sitting in your living room simply weren’t available using a Plain Old telephone. We decided to fix that.

    For the tinkerers and experimenters of the world, Google has generously offered free access to their voice recognition software. And today we’ll show you how to put it to good use. In the time it takes to drink your morning coffee, you’ll have a platform on your PBX that’s every bit as capable as Siri. And it’s all free!

    Meet Star! When we’re finished today, you’ll be able to pick up any telephone and dial * to obtain the latest weather, news, stock prices, sports scores, time of day, and anything else that an almanac at your fingertips provides. In addition, you’ll be able to call anyone by saying their name or phone number. Not bad for free, huh? Down the road, we’ll work on adding text messaging, email, and scheduling reminders. But today’s release should whet your appetite for what’s possible.

    Putting in Place the Star Platform

    We don’t own or control most of the components that actually make Star work! That means you’ll need to sign up (for free) for a couple key pieces before the puzzle actually takes shape. Here’s the three-step process.

    First, install one of the Certified Incredible PBX builds on either a dedicated server, a virtual machine, or in the Cloud. This tutorial will walk you through the easiest 20-minute installation procedure.

    Second, you’ll need to obtain and set up the credentials for two of the third-party components that will bring Star to life. You’ll need a Google Speech Recognition key and a Wolfram Alpha App-ID. Then add an AsteriDex entry to tell Star the zip code of your hometown, and you’re ready to go.

    Third, you’ll spend less than a minute installing the Star software on your server.

    1. Adding Speech Recognition Support to Incredible PBX

    To support many of the Star features, we rely upon Google’s speech recognition service and Lefteris Zafiris’ terrific speech-recog AGI script. Unfortunately (for some), Google now has tightened up the terms of use for their free speech recognition service. Now you can only use it for “personal and development use.” If you meet those criteria, keep reading. Here’s how to activate speech recognition on Incredible PBX. Don’t skip any steps!

    1. Using an existing Google/Gmail account to join the Chromium-Dev Group and Chromium-OS-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 Speech API by clicking on its Status button in the far right margin.

    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 edit the speech recognition script:

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

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

    9. Finally, let’s be sure you have all the necessary packages in place to support text-to-speech and speech recognition:

    yum -y install perl-XML-Simple libesd.so.0 sox perl-libwww-perl
    

    If you’re not on the Incredible PBX platform: yum -y install mpg123

    2. Adding Wolfram Alpha Support to Incredible PBX

    To use Wolfram Alpha by phone, you first must obtain a free Wolfram Alpha APP-ID. Then issue the following command replacing APP-ID with your actual ID. Do NOT change the yourID portion of the command:

    sed -i "s|yourID|APP-ID|" /var/lib/asterisk/agi-bin/4747
    

    3. Adding Your Hometown ZIP Code to AsteriDex

    1. Using a browser, visit the IP address of your server.

    2. Click on the Nerd Vittles AsteriDex button in the Kennonsoft GUI.

    3. Click on the Admin tab in AsteriDex.

    4. In the Add Entry column, enter the following data using your hometown ZIP code:

    Contact Name: Weather
    Contact Phone: 947
    Dial Code: your local 5-digit ZIP code

    5. Click the Add New Record button to save your entry.

    Installing or Upgrading Star

    We’ve designed the Star install so that you also can easily update the application by simply running the install-star command again. After logging into your server as root, here are the commands to install or upgrade your Star application:

    cd /root
    wget http://incrediblepbx.com/install-star.tar.gz
    tar zxvf install-star.tar.gz
    rm -f install-star.tar.gz
    ./install-star
    

    10/10 UPDATE: Star apparently was too popular for Google to absorb, and they’ve imposed new limits on TTS playback. So, for the time being, we’ve switched Star back to FLITE for text-to-speech. To update your server, just run the installer again: /root/install-star

    Taking Star for a Spin

    Here’s a quick summary of the available commands that Star currently supports:

    And here are some sample Wolfram Alpha 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)

    For late-breaking updates and news about the Star platform, visit this thread on the PIAF Forum. Enjoy!

    Originally published: Tuesday, October 6, 2015



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


     
    Awesome Vitelity Special. Vitelity has generously offered a terrific discount for Nerd Vittles readers. 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. When you use our special link to sign up, Nerd Vittles gets a few shekels down the road to support our open source development efforts 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 our 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 and four simultaneous channels for just $3.99 a month. To check availability of local numbers and tiers of service from Vitelity, click here. NOTE: You can only use the Nerd Vittles sign-up 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. Any balance is refundable if you decide to discontinue service with Vitelity.


    ​​3CX is a software PBX that’s easy to install & manage. It includes integrated softphones, WebRTC conferencing and essential add-ons out of the box, at no additional cost. Try the free edition at www.3cx.com.

  • Run on Premise or in the Cloud, on Windows and soon Linux
  • Softphones for iOS, Android, Win & Mac
  • Easy install, backup & restore, version upgrades
  • Automatically configures IP Phones, SIP Trunks & Gateways

  • Some Recent Nerd Vittles Articles of Interest…

    Introducing Incredible PBX GUI for Asterisk 13 and CentOS/Scientific Linux

    If you’re looking for the latest and greatest pure GPL, open source Asterisk® 13 aggregation with a pure GPL, open source graphical user interface, then today’s another lucky day for you. Last week, we introduced the Ubuntu 14 edition of Incredible PBX™ for Asterisk 13, and this week we have the CentOS/Scientific Linux flavor to share. This is an independent aggregation based solely upon GPL code. Unlike the competition, the operating system and cloud repository to support the product also are pure GPL open source code. And the Incredible PBX installers themselves are pure GPL open source code. You are more than welcome (encouraged!) to examine, improve, and share your discoveries.

    Incredible PBX for CentOS 6.7 and 7 follows our standard install procedure which means it’s up to you to first create a CentOS 6.7 or 7 platform. If you prefer Scientific Linux or Oracle Linux, feel free to start there. All work equally well as a base platform and are supported by a worldwide group of developers. Once your OS platform is in place, simply run the Incredible PBX installer. After 30-60 minutes of whirring, you’ll end up with an awesome (free) state-of-the-art Asterisk-based VoIP server with the very latest LTS version of Asterisk 13 as well as dozens of turnkey Incredible PBX applications. So enjoy a nice lunch while the Incredible PBX installer works its magic. No user intervention is required during the installation procedure. All text-to-speech (TTS) applications work out of the box. You can add Google’s Speech Recognition to many Incredible PBX applications by following our 5-minute tutorial. And a GPL installation script for free faxing with HylaFax and AvantFax is also included. Whew!

    Installing a Base CentOS Operating System

    CAUTION: Installing Incredible PBX on the CentOS 7 platform is still a work in progress that is suitable for pioneers only. For production systems, stick with 6.7.

    Let’s begin by installing 64-bit CentOS 6.7 or 7 on your favorite hardware or Desktop. Or you may prefer to use a Cloud provider1 that already offers a preconfigured CentOS image. In the latter case, you can skip this section.

    For those using a dedicated hardware platform or wishing to install CentOS as a virtual machine, the drill is the same. Start by downloading the 64-bit CentOS 6.7 minimal ISO or the CentOS 7 minimal ISO or . Burn the ISO to a DVD unless you’ll be booting from the ISO on a virtual machine platform such as VirtualBox. On virtual platforms, we recommend at least 1GB RAM and a 20GB dedicated drive. For VirtualBox, here are the settings:

    Type: Linux
    Version: RedHat 64-bit
    RAM: 1024MB
    Default Drive Options with 20GB+ space
    Create
    Settings->System: Enable IO APIC and Disable HW Clock (leave rest alone)
    Settings->Audio: Enable
    Settings->Network: Enable, Bridged
    Settings->Storage: Far right CD icon (choose your ISO)
    Start

    Boot your server with the ISO, and start the CentOS install. Here are the simplest installation steps:

    Choose Language and Click Continue
    Click: Install Destination (do not change anything!)
    Click: Done
    Click: Network & Hostname
    Click: ON
    Click: Done
    Click: Begin Installation
    Click: Root Password: password, password, Click Done twice
    Wait for Minimal Software Install and Setup to finish
    Click: Reboot

    Configuring CentOS 6.7 or 7 for Incredible PBX Installation

    Now log into your server as root and issue the following commands to put the basic pieces in place and to reconfigure your Ethernet port as eth0. Make a note of your IP address so you can log in with SSH.

    setenforce 0
    yum -y upgrade --skip-broken
    yum -y install net-tools nano wget tar
    # decipher your server's IP address
    ifconfig
    # patch grub and ignore any errors if your server doesn't use it
    sed -i 's|quiet|quiet net.ifnames=0 biosdevdame=0|' /etc/default/grub
    grub2-mkconfig -o /boot/grub2/grub.cfg
    # for CentOS/Scientific Linux 6.7 platforms, perform these additional steps:
    wget http://incrediblepbx.com/update-kernel-devel
    chmod +x update-kernel-devel
    ./update-kernel-devel
    reboot
    

    If you’re on a virtual machine platform, now would be a good time to make an export or backup of your CentOS image. The minimal install is about 500MB. Don’t forget to first remove your hardware address (HWADDR) and network UUID from /etc/sysconfig/network-scripts/ifcfg-enp0s3 or whatever file name was assigned to your hardware. The saved image will be bootable with DHCP network support anywhere down the road.

    NEWS FLASH: For those wanting to test things out using VirtualBox, a Scientific Linux 7.1 Remix image (2GB) is now available on SourceForge. It gets you to right here in the install process.


    Installing Incredible PBX for CentOS 6.7 or 7

    Adding Incredible PBX to a running CentOS 6.7 or 7 server is a walk in the park. To restate the obvious, your server needs a reliable Internet connection to proceed. Be sure to use SSH (or Putty on a Windows machine) to begin because the installer locks the firewall down to your local network and the IP address of the machine from which you perform the install. Log into your new server as root at the IP address you deciphered in the ifconfig step in the CentOS installation procedure above.

    WARNING: If you’re using a 512MB droplet at Digital Ocean, be advised that their setups do 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.

    Now let’s begin the Incredible PBX install.

    NOTE: To more clearly identify packaging as we move forward, there has been a change in the Incredible PBX naming and numbering scheme. Henceforth, the file name and version reflects the Asterisk version, the GUI version, the Incredible PBX release number, and the OS platform. For example, incrediblepbx13-12.0-centos tells you the product includes Asterisk 13, the version 12 GUI, .0 release number, and the CentOS platform.

    cd /root
    wget http://incrediblepbx.com/incrediblepbx13-12.2-centos.tar.gz
    tar zxvf incrediblepbx*
    #./create-swapfile-DO
    ./IncrediblePBX*
    

    Once you have agreed to the license agreement and terms of use, press Enter and go have a long cup of coffee. The Incredible PBX installer runs unattended so find something to do for the next 30-60 minutes unless you just like watching code compile. When the installation is complete, reboot your server and log back in as root. You should be greeted by something like this showing the status of the major apps as well as your free RAM and DISK space:

    Perform the following steps:

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

    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.

    You can access the Incredible PBX GUI using your favorite web browser to configure your server. Just enter the IP address shown in the status display.

    Choose Incredible GUI Administration from the Admin menu of the Kennonsoft GUI (shown above) by clicking on User to switch. The default username is admin and the password is what you set when the install completed. Now edit extension 701 so you can figure out (or change) the randomized passwords that were set up for your 701 extension and voicemail account: Applications -> Extensions -> 701. If you’re behind a hardware-based firewall, verify the NAT setting: YES.

    Setting Up a Soft Phone to Use with Incredible PBX

    Now you’re ready to set up a telephone so that you can play with Incredible PBX. 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. Choose Settings -> Accounts and click the New button. Fill in the blanks using the IP address of your server, 701 for your account name, and whatever password you created for the extension. Click OK.

    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. Dial a few of these to get started:


    DEMO - Allison's IVR Demo
    947 - Weather by ZIP Code
    951 - Yahoo News
    *61 - Time of Day
    *68 - Wakeup Call
    TODAY - Today in History

    Now you’re ready to connect to the telephones in the rest of the world. If you live in the U.S., the easiest way (at least for now) is to set up a free Google Voice account. Google has threatened to shut this down but as this is written, it still works. We will have an update for OAUTH authentication support soon. The safer long-term solution is to choose several SIP providers and set up redundant trunks for your incoming and outbound calls. The PIAF Forum includes dozens of recommendations to get you started.

    Configuring Google Voice

    If you want to use Google Voice, you’ll need a dedicated Google Voice account to support Incredible PBX. If you want to use the inbound fax capabilities of Incredible Fax, then you’ll need an additional Google Voice line that can be routed to the FAX custom destination using the GUI. 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!

    We’ve tested this extensively using an existing Gmail account, and inbound calling is just not reliable. The reason seems to be that Google always chooses Gmail chat as the inbound call destination if there are multiple registrations from the same IP address. So, be reasonable. Do it our way! Set up a dedicated Gmail and Google Voice account, and use it exclusively with Incredible PBX. It’s free at least through 2013. Google Voice no longer is by invitation only so, if you’re in the U.S. or have a friend that is, head over to the Google Voice site and register.

    You must choose a telephone number (aka DID) for your new account, or Google Voice calling will not work… in either direction. Google used to permit outbound Gtalk calls using a fake CallerID, but that obviously led to abuse so it’s over! You also have to tie your Google Voice account to at least one working phone number as part of the initial setup process. Your cellphone number will work just fine. Don’t skip this step either. Just enter the provided 2-digit confirmation code when you tell Google to place the test call to the phone number you entered. Once the number is registered, you can disable it if you’d like in Settings, Voice Setting, Phones. But…

    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. If you don’t see this option, you may need to call up Gmail and enable Google Chat there first. Then go back to the Google Voice Settings.

    While you’re still in Google Voice Settings, 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 adjust 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 set up your Google Voice trunk in the GUI. After logging in with your browser, click the Connectivity tab and choose Google Voice/Motif. To Add a new Google Voice account, just fill out the form. Do NOT check the third box or incoming calls will never ring!

    IMPORTANT LAST STEP: Google Voice will not work unless you restart Asterisk from the Linux command line at this juncture. Using SSH, log into your server as root and issue the following command: amportal restart.

    If you have trouble getting Google Voice to work (especially if you have previously used your Google Voice account from a different IP address), try this Google Voice Reset Procedure. It usually fixes connectivity problems. If it still doesn’t work, enable Less Secure Apps using this Google tool.

    Troubleshooting Audio and DTMF Problems

    You can avoid one-way audio on calls and touchtones that don’t work with these simple settings in the GUI: Settings -> Asterisk SIP Settings. Just plug in your public IP address and your private IP subnet. Then set ULAW as the only Audio Codec.

    A Few Words about the Incredible PBX Security Model for CentOS

    Incredible PBX for CentOS joins our previous Ubuntu build as our most secure turnkey PBX implementation. As configured, it is protected by both Fail2Ban and a hardened configuration of the IPtables Linux firewall. The latest release also includes Port Knocker for simple, secure access from any remote computer or smartphone. You can get up to speed on how the technology works by reading the Nerd Vittles tutorial. Your Port Knocker credentials are stored in /root/knock.FAQ together with activation instructions for your server and mobile devices. The NeoRouter VPN client also is included for rock-solid, secure connectivity to remote users. Read our previous tutorial for setup instructions. As configured, nobody can access your PBX without your credentials AND an IP address that is either on your private network or that matches the IP address of your server or the PC from which you installed Incredible PBX. You can whitelist additional IP addresses by running the command-line utility /root/add-ip. You can remove whitelisted IP addresses by running /root/del-acct. Incredible PBX is preconfigured to let you connect to many of the leading SIP hosting providers without additional firewall tweaking. We always recommend you also add an extra layer of protection by running your server behind a hardware-based firewall with no Internet port exposure, but that’s your call. And it’s your phone bill. 😉

    The IPtables firewall is a complex piece of software. If you need assistance with configuring it, visit the PIAF Forum for some friendly assistance.

    Incredible Backup and Restore

    We’re pleased to introduce our latest backup and restore utilities for Incredible PBX. Running /root/incrediblebackup will create a backup image of your server in /tmp. This backup image then can be copied to any other medium desired for storage. To restore it to another Incredible PBX server, simply copy the image to a server running Asterisk 13 and the same version of the Incredible PBX GUI. Then run /root/incrediblerestore. Doesn’t get much simpler than that.

    Incredible PBX Automatic Update Utility

    Every time you log into your server as root, Incredible PBX will ping the IncrediblePBX.com web site to determine whether one or more updates are available to bring your server up to current specs. We recommend you log in at least once a week just in case some new security vulnerability should come along.

    In the meantime, we encourage you to sign up for an account on the PIAF Forum and join the discussion. In addition to providing first-class, free support, we think you’ll enjoy the camaraderie.

    Originally published: Monday, July 13, 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.


     
    Awesome Vitelity Special. Vitelity has generously offered a terrific discount for Nerd Vittles readers. 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. When you use our special link to sign up, Nerd Vittles gets a few shekels down the road to support our open source development efforts 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 our 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 and four simultaneous channels for just $3.99 a month. To check availability of local numbers and tiers of service from Vitelity, click here. NOTE: You can only use the Nerd Vittles sign-up 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. Any balance is refundable if you decide to discontinue service with Vitelity.


    ​​3CX is a software PBX that’s easy to install & manage. It includes integrated softphones, WebRTC conferencing and essential add-ons out of the box, at no additional cost. Try the free edition at www.3cx.com.

  • Run on Premise or in the Cloud, on Windows and soon Linux
  • Softphones for iOS, Android, Win & Mac
  • Easy install, backup & restore, version upgrades
  • Automatically configures IP Phones, SIP Trunks & Gateways

  • Some Recent Nerd Vittles Articles of Interest…

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

    Introducing Incredible PBX 13-12 with Incredible GUI for the Ubuntu 14 Platform

    Two months ago we turned the page on Asterisk® GUIs by introducing a new GUI that hopefully provides the best of both worlds. It preserves the GPL components of the FreePBX® product that many of us have nurtured for almost a decade while removing the commercial pieces that have introduced some friction into the equation for users and companies that simply wished to deploy or redistribute a graphical user interface for Asterisk in accordance with the free GPL licenses under which the product and its components were licensed. We followed up by opening up the cloud component which serves as the lynchpin for GPL module administration within the GUI itself. We remain hopeful that these two tweaks will encourage Sangoma, the new owner of the FreePBX project, to do the right thing and get the non-commercial pieces of the project back on the right track moving forward. As we’ve stressed all along, we do not want to tarnish the incredibly hard work that dozens of developers in the open source community have poured into both of these projects over the past decade. We continue to be amazed at what they’ve been able to achieve, and we salute their accomplishments. The Asterisk 12 and 13 revolution never would have happened without the contributions of the FreePBX development team. We think the new Incredible PBX GUI stands as a testament to what can be accomplished while preserving the true spirit of open source development and the terms of the GPL licenses under which this product and its numerous modules are licensed.

    Today we take the next step in the journey with release of a production-ready version of Asterisk 13 LTS for the Ubuntu 14 platform. It has all the bells and whistles to which you have become accustomed including Incredible Fax featuring HylaFax and AvantFax. It also includes literally dozens of turnkey applications that show off the very best features of Asterisk. In addition to Incredible PBX, you also gain unfettered access to our new GPL repository to maintain release 12 of the GUI. No strings, no gotchas, and no murky licenses. Pure GPL in Plain View!

    Why Not Use FreePBX 13? Glad you asked. Despite the freepbx.org facelift1 and the eternal message that “The ‘Free’ Stands for Freedom,” it turns out the business practices haven’t changed much since the Sangoma takeover. If your idea of “freedom” is a closed source VoIP platform with no way to emulate the repository used to manage and upgrade the “GPL” components in FreePBX 13 and no way to install the FreePBX 13 GUI or its “GPL” components other than switching to the proprietary FreePBX Distro, then FreePBX 13 may be just the ticket. If you’d prefer a RealGPL platform that lets you choose which components you’d like on your server, then keep reading. And drop the Sangoma and Digium honchos a note and let them know how you feel about FREEDOM.

    William J. Wignall, President and CEO
    Sangoma Technologies
    100 Renfrew Drive, Suite 100
    Markham ON L3R 9R6 CANADA

    Danny Windham, CEO
    Digium, Inc.
    445 Jan Davis Drive Northwest
    Huntsville, AL 35806 USA

    Mark Spencer, Founder and CTO
    Digium, Inc.
    445 Jan Davis Drive Northwest
    Huntsville, AL 35806 USA

    Update: A GPL release of FreePBX 13 beta miraculously appeared shortly after publication of this article. Still no GPL repository is available that is compatible with the integrated Admin Module component of the product.

    Building an Ubuntu 14.04 Platform for Incredible PBX

    As a result of the trademark and copyright morass, we’ve steered away from the bundled operating system in favor of a methodology that relies upon you to put in place the operating system platform on which to run PBX in a Flash or Incredible PBX. The good news is it’s easy! With many cloud-based providers2, you can simply click a button to choose your favorite OS flavor and within minutes, you’re ready to go. With many virtual machine platforms such as VirtualBox, it’s equally simple to find a pre-built Ubuntu 14.04 image or roll your own.

    If you’re new to VoIP or to Nerd Vittles, here’s our best piece of advice. Don’t take our word for anything! Try it for yourself in the Cloud! You can build an Ubuntu 14.04 image on Digital Ocean in under one minute and install today’s Incredible PBX for Ubuntu 14.04 in about 15 minutes. Then try it out for two full months. It won’t cost you a dime. Use our referral link to sign up for an account. Enter a valid credit card to verify you’re who you say you are. Create an Ubuntu 14.04 (not 14.10!) 512MB droplet of the cheapest flavor ($5/mo.). Go to the Billing section of the site, and enter the following promo code: UBUNTUDROPLET. That’s all there is to it. A $10 credit will be added to your account, and you can play to your heart’s content. Delete droplets, add droplets, and enjoy the free ride!

    For today, we’ll walk you through building your own stand-alone server using the Ubuntu 14.04 mini.iso. If you’re using Digital Ocean in the Cloud, skip down to Installing Incredible PBX 13-12 (HINT: 13 tells you the Asterisk release and 12 tells you the GUI release). If you’re using your own hardware, to get started, download the 64-bit Ubuntu 14.04 “Trusty Tahr” Minimal ISO from here. Yes, the 32-bit platform is also supported. Now burn the ISO 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 those that would prefer to build your Ubuntu 14.04 Wonder Machine using VirtualBox on any Windows, Mac, or existing Linux Desktop, here are the simple steps. Create a new virtual machine specifying the 64-bit version of Ubuntu. Allocate 1024MB of RAM (512MB also works fine with a swap file) 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. Simple!

    Here are the steps to get Ubuntu 14.04 humming on your new server or virtual machine once you’ve booted up. If you can bake cookies from a recipe, you can do this:

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

    Installing Incredible PBX 13-12 on Your Ubuntu 14.04 Server

    Adding Incredible PBX 13-12 to a running Ubuntu 14.04 server is a walk in the park. 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, make sure to run the update step for Ubuntu below before you begin the install. This is especially important if you’re using a cloud-based Ubuntu 14 server. If errors appear during the update, just run it again.

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

    WARNING: If you’re using a 512MB droplet at Digital Ocean, be advised that the DO 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.

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

    cd /root
    wget http://incrediblepbx.com/incrediblepbx13-12.2-ubuntu14.tar.gz
    tar zxvf incrediblepbx*
    apt-get install dialog
    #./create-swapfile-DO
    ./Incredible*
    

    Once you have agreed to the license agreement and terms of use, press Enter and go have a 30-minute cup of coffee. The Incredible PBX installer runs unattended so find something to do for a bit unless you just like watching code compile. When you see “Have a nice day”, your installation is complete. Hit the Enter key to reboot the server unless you need to add additional entries to your firewall whitelist.

    Once the server restarts, log back in as root and you should be greeted with a status display that looks something like this after the Automatic Update Utility runs:

    Assuming you’ve already created a very secure root password (update it by running passwd), perform the following 5 Steps to get everything locked down:

    1. Create an admin password for GUI access: /root/admin-pw-change
    2. Create an admin password for Apache web access: htpasswd /etc/pbx/wwwpasswd admin
    3. Configure the correct timezone for your server: /root/timezone-setup
    4. Retrieve your PortKnocker setup like this: cat /root/knock.FAQ
    5. Add IPtables WhiteList entries for remote access: /root/add-ip or /root/add-fqdn

    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.

    You can access the Incredible PBX GUI using your favorite web browser to configure your server. Just enter the IP address shown in the status display.

    When the Kennonsoft menu (shown above) appears, click on the User tab to open the Admin menu. Then click on Incredible GUI Administration to access the Incredible PBX GUI. The default username is admin with the password you created above. Now edit extension 701 so you can figure out (or change) the randomized passwords that were set up for default 701 extension and voicemail: Applications -> Extensions -> 701.

    Setting Up a Soft Phone to Use with Incredible PBX

    Now you’re ready to set up a telephone so that you can play with Incredible PBX. 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. Choose Settings -> Accounts and click the New button. Fill in the blanks using the IP address of your server, 701 for your account name, and whatever password you created for the extension. Click OK.

    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. You can dial a few of these to get started or, better yet, take Allison’s Incredible PBX IVR for a spin by dialing D-E-M-O (3366). NOTE: The Voice Recognition options will not work until you first enter your credentials (covered below).

    123 - Reminders
    222 - ODBC Demo (use acct: 12345)
    947 - Weather by ZIP Code
    951 - Yahoo News
    *61 - Time of Day
    *68 - Wakeup Call
    TODAY - Today in History

    The next step is establishing an interface on your PBX to connect to the telephones in the rest of the world. If you live in the U.S., the easiest way (at least for now) is to use an existing (free) Google Voice account. Google has threatened to shut this down but as this is written, it still works with previously set up Google Voice accounts. The more desirable long-term solution is to choose several SIP providers and set up redundant trunks for your incoming and outbound calls. The PIAF Forum includes dozens of recommendations to get you started.

    Configuring Google Voice

    If you want to use Google Voice, you’ll need a dedicated Google Voice account to support Incredible PBX. If you want to use the inbound fax capabilities of Incredible Fax 11, then you’ll need an additional Google Voice line that can be routed to the FAX custom destination using the GUI. 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!

    We’ve tested this extensively using an existing Google Voice account, and inbound calling is just not reliable. The reason seems to be that Google always chooses Gmail chat as the inbound call destination if there are multiple registrations from the same IP address. So, be reasonable. Do it our way! Use a previously configured and dedicated Gmail and Google Voice account, and use it exclusively with Incredible PBX 11.

    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. If you don’t see this option, you’re probably out of luck. Google has disabled the option in newly created accounts as well as some old ones that had Google Chat disabled. Now go back to the Google Voice Settings.

    While you’re still in Google Voice Settings, 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 adjust 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 set up your Google Voice trunk in the GUI. After logging in with your browser, click the Connectivity tab and choose Google Voice/Motif. To Add a new Google Voice account, just fill out the form. Do NOT check the third box or incoming calls will never ring!

    IMPORTANT LAST STEP: Google Voice will not work unless you restart Asterisk from the Linux command line at this juncture. Using SSH, log into your server as root and issue the following command: amportal restart.

    If you have trouble getting Google Voice to work (especially if you have previously used your Google Voice account from a different IP address), try this Google Voice Reset Procedure. It usually fixes connectivity problems. If it still doesn’t work, enable Less Secure Apps using this Google tool.

    And here’s another way to access Google Voice securely using an inexpensive commercial SIP gateway:

    Troubleshooting Audio and DTMF Problems

    You can avoid one-way audio on calls and touchtones that don’t work by entering these simple settings in the GUI: Settings -> Asterisk SIP Settings. Just plug in your public IP address and your private IP subnet. Then set ULAW as the only Audio Codec.

    Adding Voice Recognition to Incredible PBX

    To support many of our applications, Incredible PBX has included Google’s speech recognition service for years. These applications include Weather Reports by City (949), AsteriDex Voice Dialing by Name (411), and Wolfram Alpha for Asterisk (4747), all of which use Lefteris Zafiris’ terrific speech-recog AGI script. Unfortunately (for some), Google now has tightened up the terms of use for their free speech recognition service. Now you can only use it for “personal and development use.” If you meet those criteria, keep reading. Here’s how to activate speech recognition on Incredible PBX. Don’t skip any steps!

    1. Using an existing Google/Gmail account to 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 Speech API by clicking on its Status button in the far right margin.

    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 in as root and issue the following command: nano -w speech-recog.agi

    8. When the nano editor opens, go to line 72 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.

    Now you’re ready to try out the speech recognition apps. Dial 949 and say the name of a city and state/province/country to get a current weather forecast from Yahoo. Dial 411 and say “American Airlines” to be connected to American.

    To use Wolfram Alpha by phone, you first must install it. Obtain your free Wolfram Alpha APP-ID here. Then run the one-click installer: /root/wolfram/wolframalpha-oneclick.sh. Insert your APP-ID when prompted. Now dial 4747 to access Wolfram Alpha by phone and enter your query, e.g. “What planes are overhead.” Read the Nerd Vittles tutorial for additional examples and tips.

    A Few Words about the Incredible PBX Security Model for Ubuntu

    Incredible PBX for Ubuntu 14 is a very secure, turnkey PBX implementation. As configured, your server is protected by both Fail2Ban and a hardened configuration of the IPtables Linux firewall. Nobody can access your PBX without your credentials AND an IP address that is either on your private network or that matches the IP address of your server or the PC from which you installed Incredible PBX. Incredible PBX is preconfigured to let you connect to many of the leading SIP hosting providers without additional firewall tweaking.

    You can whitelist additional IP addresses for remote access in several ways. First, you can use the command-line utilities: /root/add-ip and /root/add-fqdn. You can also remove whitelisted IP addresses by running /root/del-acct. Second, you can dial into extension 864 (or use a DID pointed to extension 864 aka TM4) and enter an IP address to whitelist. Before Travelin’ Man 4 will work, you’ll need to add credentials for each caller using the tools in /root/tm4. You must add at least one account before dial-in whitelisting will be enabled. Third, you can temporarily whitelist an IP address by successfully executing the PortKnocker 3-knock code established for your server. You’ll find the details and the codes in /root/knock.FAQ. Be advised that IP addresses whitelisted with PortKnocker (only!) go away whenever your server is rebooted or the IPtables firewall is restarted. For further information on the PortKnocker technology and available clients for iOS and Android devices, review the Nerd Vittles tutorial.

    HINT: The reason that storing your PortKnocker codes in a safe place is essential is because it may be your only available way to gain access to your server if your IP address changes. You obviously can’t use the command-line tools to whitelist a new IP address if you cannot gain access to your server at the new IP address.

    We always recommend you also add an extra layer of protection by running your server behind a hardware-based firewall with no Internet port exposure, but that’s your call. If you use a hardware-based firewall, be sure to map the three PortKnocker ports to the internal IP address of your server!

    The NeoRouter VPN client also is included for rock-solid, secure connectivity for remote users. Read our previous tutorial for setup instructions.

    As one would expect, the IPtables firewall is a complex piece of software. If you need assistance configuring it, visit the PIAF Forum for some friendly assistance.

    Adding Incredible Fax 11 to Your Server

    Once you’ve completed the Incredible PBX install, log out and log back in to load the latest automatic updates. Then reboot. Now you’re ready to continue your adventure by installing Incredible Fax 11 for Ubuntu. Special thanks to Josh North for all his hard work on this! The latest download includes the Incredible Fax 11 installer. So just run the script:

    cd /root
    ./incrediblefax11_ubuntu14.sh
    

    Accept all of the defaults during the installation process. IMPORTANT: Once you complete the install, reboot your server. After rebooting, log into the GUI and choose Module Admin and enable the AvantFax module. When you log out of the GUI, there now will be an option for AvantFax on the GUI’s main login screen. Choose it and enter admin:password to login and change your default password. You also can set your AvantFax admin password by logging into the Linux CLI and… /root/avantfax-pw-change.

    Incredible Backup and Restore

    We’re pleased to introduce our latest backup and restore utilities for Incredible PBX. Running /root/incrediblebackup will create a backup image of your server in /tmp. This backup image then can be copied to any other medium desired for storage. To restore it to another Incredible PBX server, simply copy the image to a server running Asterisk 13 and the Incredible PBX 13-12 GUI. Then run /root/incrediblerestore. Doesn’t get much simpler than that.

    Incredible PBX Automatic Update Utility

    Every time you log into your server as root, Incredible PBX will ping the IncrediblePBX.com web site to determine whether one or more updates are available to bring your server up to current specs. We recommend you log in at least once a week just in case some new security vulnerability should come along. Also be sure to check the PBX in a Flash RSS Feed inside the GUI for the latest security alerts.

    Mastering the Incredible PBX Applications

    Your next stop should be a quick read of the Application User’s Guide for Incredible PBX. Even though the target audience was Raspberry Pi users, the feature set is identical, and this guide will tell you everything you need to know about the dozens of applications for Asterisk that have been installed on your new server.

    We also want to encourage you to sign up for an account on the PIAF Forum and join the discussion. In addition to providing first-class, free support, we think you’ll enjoy the camaraderie. Come join us!

    Originally published: Wednesday, July 8, 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.


     
    Awesome Vitelity Special. Vitelity has generously offered a terrific discount for Nerd Vittles readers. 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. When you use our special link to sign up, Nerd Vittles gets a few shekels down the road to support our open source development efforts 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 our 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 and four simultaneous channels for just $3.99 a month. To check availability of local numbers and tiers of service from Vitelity, click here. NOTE: You can only use the Nerd Vittles sign-up 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. Any balance is refundable if you decide to discontinue service with Vitelity.


    ​​3CX is a software PBX that’s easy to install & manage. It includes integrated softphones, WebRTC conferencing and essential add-ons out of the box, at no additional cost. Try the free edition at www.3cx.com.

  • Run on Premise or in the Cloud, on Windows and soon Linux
  • Softphones for iOS, Android, Win & Mac
  • Easy install, backup & restore, version upgrades
  • Automatically configures IP Phones, SIP Trunks & Gateways

  • Some Recent Nerd Vittles Articles of Interest…

    1. Ironically, the word “GPL” only appears once on the FreePBX web site, and that’s to remind you that Sangoma’s commercial “modules are not Open Source GPL and are only designed to work with CentOS or RHEL systems.” []
    2. With some providers including ones linked in this article, Nerd Vittles receives referral fees which assist in keeping the Nerd Vittles lights burning brightly. []

    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.

    For the reading-impaired, we’ve developed a handy decision tree below to guide you through the selection process. 😉

    Originally published: Tuesday, February 17, 2015



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


     
    Awesome Vitelity Special. Vitelity has generously offered a terrific discount for Nerd Vittles readers. 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. When you use our special link to sign up, Nerd Vittles gets a few shekels down the road to support our open source development efforts 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 our 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 and four simultaneous channels for just $3.99 a month. To check availability of local numbers and tiers of service from Vitelity, click here. NOTE: You can only use the Nerd Vittles sign-up 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. Any balance is refundable if you decide to discontinue service with Vitelity.


    ​​3CX is a software PBX that’s easy to install & manage. It includes integrated softphones, WebRTC conferencing and essential add-ons out of the box, at no additional cost. Try the free edition at www.3cx.com.

  • Run on Premise or in the Cloud, on Windows and soon Linux
  • Softphones for iOS, Android, Win & Mac
  • Easy install, backup & restore, version upgrades
  • Automatically configures IP Phones, SIP Trunks & Gateways

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