Home » Incredible PBX » CentOS/SL Platform » A Better Way to Deploy Incredible PBX in the Google Cloud

The Most Versatile VoIP Provider: FREE PORTING

A Better Way to Deploy Incredible PBX in the Google Cloud

blank

Last week we introduced you to Incredible PBX 13-13.10 for the Google Cloud. This week we’ll take off the training wheels and show you how to deploy Incredible PBX in the Google Cloud in exactly 3 minutes using Google Cloud’s Image repository. And you can repeat the drill to deploy as many PBXs as you like at 3 minutes a pop. If you’re still cruising along on your $300 credit from Google, then your PBX should be cost-free for the entire first year. After that, you can decide which Google Cloud Machine Type best meets your requirements and those of your wallet. The free tier is an option, but don’t expect much more performance-wise than what you’d get with the original Raspberry Pi. As the saying goes, "It ain’t pretty, but it works." We would encourage you to move up to the Standard machine type for consistent performance.

Before we get started, let us just offer a little constructive criticism regarding Google’s methodology. If a developer builds an application as we have and wants to make it publicly available at no cost, wouldn’t it make sense to allow the developer to host the image in the Google Cloud (for a fee) so that other users could quickly deploy it on their own Google Cloud platforms? That apparently makes too much sense so Google requires you to jump through all sorts of hoops to use free software unless we’re willing to type in the Google email address of every user authorized to deploy the software. Sorry but we’ve got better ways to waste our time. This is the corporate mentality run amuck. Don’t Be Evil, Google. Remember?

So here’s the drill to get you to the place that Google already should have provided. Download the 3GB tarball image to your desktop from SourceForge. After you’ve created your Google Cloud account, create a Bucket (storage locker) on the platform to house your files and upload the tarball into your own Bucket. Next, transform the tarball into what Google calls an Image that can be used to quickly build VM Instances (5 minutes). Finally, start up the instance. The Incredible PBX installer will work its magic letting you set your passwords, and then your PBX platform is ready for use (3 minutes). The real install time is under 10 minutes, but Google has managed to turn it into a project of an hour or more depending upon the speed of your Internet connection. Our apologies, but it beats the tedium of last week’s methodology.

Downloading Incredible PBX for the Google Cloud

Unlike Google and to its eternal credit, SourceForge still hosts open source projects with tarballs of enormous size which can be downloaded at no cost other than what your Internet service provider may charge for bandwidth. Begin your Incredible PBX adventure by downloading the tarball image (3GB) which was designed specifically for the Google Cloud. Depending upon the speed of your Internet connection, this takes some time. Here’s the link.

Creating a Google Cloud Account

If you haven’t already done so, hop over to https://cloud.google.com/free and claim your $300 credit by signing up for a Google Cloud account.

Creating a Bucket in the Google Cloud

To begin, log in to your Google Cloud Console using your Google credentials. If you haven’t already done so, Create a Project from your Dashboard. This Project will house your Compute Engine VM Instances. In Plain English, a Google Cloud VM Instance is nothing more than an application that happens to run in the Google Cloud.

Next, click on the 3-bar image blank in the upper left corner of your Dashboard. This exposes the Navigation Menu. Scroll down to the STORAGE section and choose Storage -> Browser.

blank

Click on the CREATE BUCKET button. When the dialog window opens, Name your bucket something unique and creative in lower case letters. Fill in the rest of the form as shown and choose the Region in which you want to store your stuff. Then click Create.

blank

Uploading Incredible PBX into Google Cloud Bucket

Once you have created your Bucket, the Bucket Details dialog will open. Click on the Upload Files tab and choose the Incredible PBX tarball that you downloaded from SourceForge. Or you can simply drag the file to the area reserved for uploads in the dialog window.

Once the file upload completes, the Browser window will appear displaying your Bucket. You can click on the Bucket name to display the files in your Bucket which should now include the uploaded Incredible PBX tarball:

blank

Transforming Incredible PBX Tarball into an Image

Google Cloud can create Instances from Images, but not from tarballs in your Bucket. So the next step is to create an Image from the Incredible PBX tarball. Once that is done, you can delete the tarball and bucket from your Google Cloud platform so you don’t have to pay monthly storage fees. Up to this step is where Google could have handled setup transparently by simply allowing us to share our bucket with anonymous users without this knuckle drill, but…

So now we need to create an Image which will transform the Incredible PBX tarball into a format that can be used to create Instances.

Click on the Navigation Menu blank (the 3-bar image in the upper left corner of your Dashboard). Navigate to COMPUTE -> Compute Engine -> Images. Click CREATE IMAGE.

When the Create Image dialog opens, fill in the form as shown below and click on the Browse button to choose the Incredible PBX tarball from your Bucket. Then click Create.

blank

Creating an Instance from a Cloud Image

It takes about 5 minutes for Google Cloud to transmogrify the Incredible PBX tarball into an Image that can actually be used to create Instances. So be patient. Once your image has been created, it will appear at the top of the Images listing.

blank

Click on the checkbox blank to the left of the Image to select it as shown above. Then click CREATE INSTANCE at the top of the form.

blank

The Create Instance dialog window will appear. Fill in the form as shown above using a unique Name for your Instance. Adjust the Region to match your closest location. This choice may also affect the performance of your instance so picking the default is not a good idea if you want to stick with the freebie platform. Note that the Standard Machine Type (1vCPU) is selected by default. If you still have remaining credits, this won’t be a problem. Otherwise, you’ll have to pay about $25/month for this Machine Type level once your credits expire. We’ve had fair to good results using the Small Machine Type which costs under $15/month.

HINT #1: Never use the default zone for your PBX if you plan to use one of the shared vCPU machine types (micro or small). If you prefer the freebie which we strongly discourage because of performance issues, change the Machine Type to micro in the pull-down. Also note that the Boot Disk defaults to 10GB in size. This won’t work for long, and we’d recommend upping it to at least 20GB. Up to 30GB is provided at no cost using the micro Machine Type. Simply click the Change button to adjust the disk size. Once you’ve made your desired changes, click Create to build the Incredible PBX instance and bring it on line.

HINT #2: If you’re not going to move up to at least the small Machine Type, we would strongly urge you try one of our recommended $1/month VPS providers, all of whom offer considerably better performance at much less cost. In fact, you can bring up a redundant platform with a second VPS provider and still spend about the same money for a year that you would spend with a Google Cloud Standard VPS for one month.

While your Instance is being created and activated, navigate blank to COMPUTE -> Compute Engine -> VM Instances to display the status of your instances and to decipher the public IP address of your server. After you complete the next section, we’ll make a couple additional modifications using the Google Cloud Console by changing your public IP address from ephemeral (dynamic) to static and and adjusting the Google Cloud firewall. Delay making these changes at this time for the reason covered in the Word of Caution which follows.

A Word of Caution: Incredible PBX for the Google Cloud installs with a default root password of blank That obviously makes your running instance susceptible to compromise if someone else reads this article. So IMMEDIATELY after creating and activating a new Incredible PBX instance, make sure you complete the setup process in the next step during which you will be prompted to reset all of your passwords including the root password.

Completing the Incredible PBX Setup Process

Login to Incredible PBX as root using the default password at the public IP address of your instance using SSH or Putty. The Incredible PBX license agreement should display. If not, your server may have already been compromised. Accept the license agreement and enter very secure passwords for your server when prompted. Once the setup process finishes, reboot your server and wait about a minute for the reboot process to finish. Then log back into your server and allow the Automatic Update Utility to bring your server up to current specs. Once the pbxstatus screen displays, make sure everything is up and running. If not, wait another minute and rerun pbxstatus. Now issue the command user and make certain that you are the only root user on your server. If not, or if you didn’t see the license agreement when you first logged in, or if you couldn’t log in with the default root password, immediately shut down and destroy your instance and create a new one from your Google Cloud Image as documented in the previous section. TIP: If you see connection refused when you first attempt to log in, don’t be alarmed. Just count to 60 and try to log in again. The instance has to have time to boot up after activation before you can log in.

Finalizing Your Google Cloud Setup

Now that you’ve completed the Incredible PBX setup process, here are a couple of changes that need to be made using the Google Cloud GUI. First, you’ll need to permanently assign your IP address to your instance so that you don’t risk having Google change it when your server is rebooted. We also need to make a couple adjustments in the Google Cloud Firewall. Login again to the Google Cloud Console using your Google credentials.

From the Navigation Menu blank scroll down to the NETWORKING section and choose VPS Network -> External IP Addresses. Change the Type of your existing address to Static and Name it staticip. Next, choose Firewall Rules in the VPS Network section and click CREATE FIREWALL RULE. Fill in the template like the following leaving the other fields with their default entries. Then click CREATE.

Name: incrediblepbx-udp
Target Tags: udp-in
Source IP Range: 0.0.0.0/0
Protocols/Ports: udp: all

If you plan to use HTTPS with your server, you’ll also need to add another firewall rule similar to the existing default-allow-http rule. Simply change the Port to tcp:443 and Name it default-allow-https with a Target Tag of https-in.

CAUTION: Before these firewall rules will be activated for your instance, they also must be specified in the Network Tags section for your instance by adding the udp-in and https-in tags and restarting your instance.

It should be noted that Incredible PBX includes its own Travelin’ Man 3 firewall that manages a whitelist of IP addresses that are allowed ANY access to your server. So we will primarily use the firewall component of the Google Cloud instance to allow sufficient access to Incredible PBX to allow it to actually control server access.

Once you’ve verified that your instance is functioning properly, it’s safe to go back to your Bucket and delete it together with its contents. This will save you having to pay monthly storage fees even though they are quite reasonable.

Getting Started with Incredible PBX

Most of the configuration of your PBX will be performed using the web-based Incredible PBX GUI with its FreePBX® 13 GPL modules. Use a browser pointed to the IP address of your server and choose Incredible PBX Admin. Log in as admin with the password you configured above. HINT: You can always change it if you happen to forget it: /root/admin-pw-change

blank

Configuring Trunks with Incredible PBX

Before you can actually make and receive calls, you’ll need to add one or more VoIP trunks with providers, create extensions for your phones, and add inbound and outbound routes that link your extensions to your trunks. Here’s how a PBX works. Phones connect to extensions. Extensions connect to outbound routes that direct calls to specific trunks, a.k.a. commercial providers that complete your outbound calls to any phone in the world. Coming the other way, incoming calls are directed to your phone number, otherwise known as a DID. DIDs are assigned by providers. Some require trunk registration using credentials handed out by these providers. Others including Skyetel use the IP address of your PBX to make connections. Incoming calls are routed to your DIDs which use inbound routes telling the PBX how to direct the calls internally. A call could go to an extension to ring a phone, or it could go to a group of extensions known as a ring group to ring a group of phones. It could also go to a conference that joins multiple people into a single call. Finally, it could be routed to an IVR or AutoAttendant providing a list of options from which callers could choose by pressing various keys on their phone.

We’ve done most of the prep work for you with Incredible PBX. We’ve set up an Extension to which you can connect a SIP phone or softphone. We’ve set up an Inbound Route that, by default, sends all incoming calls from registered trunks to a Demo IVR. And we’ve built dozens of trunks for some of the best providers in the business. Sign up with the ones you prefer, plug in your credentials, and you’re done.

Unlike traditional telephone service, you need not and probably 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). Keep in mind that you only pay for the calls you make with each provider so you have little to lose by choosing several. The PIAF Forum also has dozens of recommendations on VoIP providers.

With the preconfigured trunks in Incredible PBX, all you need are your credentials for each provider and the domain name of their server. Log into Incredible PBX GUI Administration as admin using a browser. From the System Status menu, click Connectivity -> Trunks. Click on each provider you have chosen and fill in your credentials including the host entry. Be sure to uncheck the Disable Trunk checkbox! Fill in the appropriate information for the Register String. Save your settings by clicking Submit Changes. Then click the red Apply Config button.

blank

Introducing Skyetel SIP Trunking for Incredible PBX

As frequent visitors already know, Skyetel is a Platinum Sponsor of Nerd Vittles and our open source projects including Incredible PBX. Their financial support keeps the lights on while all of our software remains free for the taking. Today we’re pleased to introduce a special new Skyetel offering for Nerd Vittles readers. If you loved BOGO deals at your favorite grocery store, then you’re going to love this new Skyetel offer which starts today. By signing up through this Nerd Vittles link, Skyetel will match any deposit originally made to your new account up to $250. For example, if you deposit $50, you’ll get $100 of SIP trunking service credit. Deposit $250, and you’ll get $500 of SIP trunking service credit. Basically, it’s half price service, and you get to choose how much you’d like. Skyetel also offers free porting of your DIDs for the first 60 days after you open your account plus a 10% reduction in your current origination rate and DID costs by presenting your last month’s bill.1 Complete details and configuration instructions on the Skyetel service are available in this tutorial. It only takes a minute or two to get up and running. Effective 10/1/2023, $25/month minimum spend at Skyetel is required.

Adding Skyetel Trunks to Incredible PBX

The Skyetel trunks were configured as part of the default install of Incredible PBX. All that’s required on your part is to sign up for Skyetel service to take advantage of the Nerd Vittles special offer. First, complete the Prequalification Form here. You then will be provided a link to the Skyetel site to complete your registration. Once you have registered on the Skyetel site and your account has been activated, open a support ticket and request the BOGO credit for your account by referencing the Nerd Vittles special offer. Greed will get you nowhere. Credit is limited to one per person/company/address/location. If you want to take advantage of the 10% discount on your current service, open another ticket and attach a copy of your last month’s bill. See footnote 1 for the fine print. If you have high call volume requirements, document these in your Prequalification Form, and we will be in touch. Easy Peasy!

Unlike many VoIP providers, Skyetel does not use SIP registrations to make connections to your PBX. Instead, Skyetel utilizes Endpoint Groups to identify which servers can communicate with the Skyetel service. An Endpoint Group consists of a Name, an IP address, a UDP or TCP port for the connection, and a numerical Priority for the group. For incoming calls destined to your PBX, DIDs are associated with an Endpoint Group to route the calls to your PBX. For outgoing calls from your PBX, a matching Endpoint Group is required to authorize outbound calls through the Skyetel network. Thus, the first step in configuring the Skyetel side for use with your PBX is to set up an Endpoint Group. A typical setup for use with Incredible PBX®, Asterisk®, or FreePBX® would look like the following:

  • Name: MyPBX
  • Priority: 1
  • IP Address: PBX-Public-IP-Address
  • Port: 5060
  • Protocol: UDP
  • Description: server1.incrediblepbx.com

To receive incoming PSTN calls, you’ll need at least one DID. On the Skyetel site, you acquire DIDs under the Phone Numbers tab. You have the option of Porting in Existing Numbers (free for the first 60 days after you sign up for service) or purchasing new ones under the Buy Phone Numbers menu option.

Once you have acquired one or more DIDs, navigate to the Local Numbers or Toll Free Numbers tab and specify the desired SIP Format and Endpoint Group for each DID. Add SMS/MMS and E911 support, if desired. Call Forwarding and Failover are also supported. That completes the VoIP setup on the Skyetel side. System Status is always available here.

Configuring a Skyetel Inbound Route

Because there is no SIP registration with Skyetel, incoming calls to Skyetel trunks will NOT be sent to the Default Inbound Route configured on your PBX because FreePBX treats the calls as blocked anonymous calls without an Inbound Route pointing to the 11-digit number of each Skyetel DID. From the GUI, choose Connectivity -> Inbound Routes -> Add Inbound Route. For both the Description and DID fields, enter the 11-digit phone number beginning with a 1. Set the Destination for the incoming DID as desired and click Submit. Reload the Dialplan when prompted. Place a test call to each of your DIDs after configuring the Inbound Routes.

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

Configuring a Skyetel Outbound Route

If Skyetel will be your primary provider, you can use both 10-digit and 11-digit dialing to process outbound calls through your Skyetel account. It’s preconfigured to support Skyetel in Connectivity -> Outbound Routes -> Add Outbound Route. The recommended setup is shown below. Just add the CallerID Number you wish to associate with your outbound calls through Skyetel:

blank

Under the Dial Patterns tab, you’ll find the default rules as shown below. Adjust them to meet your own requirements.

blank

There are a million ways to design outbound calling schemes on PBXs with multiple trunks. One of the simplest ways is to use no dial prefix for the primary trunk and then use dialing prefixes for the remaining trunks.

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

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

Audio Issues with Skyetel

If you experience one-way or no audio on some calls, make sure you have filled in the NAT Settings section in the GUI under Settings -> Asterisk SIP Settings -> General. In addition to adding your external and internal IP addresses there, be sure to add your external IP address in /etc/asterisk/sip_general_custom.conf like the following example and restart Asterisk:

externip=xxx.xxx.xxx.xxx

If you’re using PJSIP trunks or extensions on your PBX, implement this fix as well.

Receiving SMS Messages Through Skyetel

Most Skyetel DIDs support SMS messaging. Once you have purchased one or more DIDs, you can edit each number and, under the SMS & MMS tab, you can redirect incoming SMS messages to an email or SMS destination of your choice using the following example:


blank

Sending SMS Messages Through Skyetel

We’ve created a simple script that will let you send SMS messages from the Linux CLI using your Skyetel DIDs. In order to send SMS messages, you first will need to create an SID key and password in the Skyetel portal. From the Settings icon, choose API Keys -> Create. Once the credentials appear, copy both your SID and Password. Then click SAVE.

Next, from the Linux CLI, issue the following commands to download the sms-skyetel script into your /root folder. Then edit the file and insert your SID, secret, and DID credentials in the fields at the top of the script. Save the file, and you’re all set.

cd /root
wget http://incrediblepbx.com/sms-skyetel
chmod +x sms-skyetel
nano -w sms-skyetel

To send an SMS message, use the following syntax where 18005551212 is the 11-digit SMS destination: sms-skyetel 18005551212 "Some message"

Configuring a Softphone for Incredible PBX

We’re in the home stretch now. You can connect virtually any kind of telephone to your new PBX. Plain Old Phones require an analog telephone adapter (ATA). With a cloud-based PBX, you need 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 701 extension on Incredible PBX. You’ll need the IP address of your server plus your extension 701 password. Choose Applications _> Extensions -> 701 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, 701 for your Username, and whatever Password you assigned to the extension when you installed Incredible PBX. Click OK to save your entries.

blank

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

One cautionary note if you have multiple SIP softphones behind the same NAT-based router. Getting SIP packets routed back to the appropriate desktop machine can be problematic and typically results in missing audio on calls. The easy workaround is to set up the NeoRouter VPN on both your instance and each of your desktop computers. Then register the softphones to the NeoRouter private IP address of your instance. The NeoRouter client already is installed on your server, but you’ll need to set up a NeoRouter server somewhere and connect to it by running nrclientcmd.

Introducing the Incredible PBX Security Model

Incredible PBX includes one of the most secure turnkey PBX implementations on the planet. As configured, it is protected by both Fail2Ban and a hardened configuration of the IPtables Linux firewall. This 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 blank your credentials AND blank an IP address 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. The Google Cloud firewall adds an extra layer of protection.

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/incrediblebackup13 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/incrediblerestore13. 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.

Upgrading to IBM Speech Engines

If you’ve endured Google’s Death by a Thousand Cuts with text-to-speech (TTS) and voice recognition (STT) over the years, then we don’t have to tell you what a welcome addition IBM’s new speech utilities are. We can’t say enough good things about the new IBM Watson TTS and STT offerings. With IBM’s services, you have a choice of free or commercial tiers. Let’s put the pieces in place so you’ll be ready to play with the Whole Enchilada.

Getting Started with IBM Watson TTS Service

We’ve created a separate tutorial to walk you through obtaining and configuring your IBM Watson credentials. Start there.

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

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

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

Getting Started with IBM Watson STT Service

Now let’s get IBM’s Speech to Text service activated. Log back in to the IBM Cloud. Click on the Speech to Text app. Choose a Region to deploy in, choose your Organization from the pull-down menu, and select STT as your Space. Choose the Standard Pricing Plan. Then click Create. When Speech to Text Portal opens, click the Service Credentials tab. In the Actions column, click View Credentials and copy down your STT username and password.

Finally, login to your Incredible PBX server and issue these commands to edit getnumber.sh:

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

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

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

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

Using Gmail as a SmartHost for SendMail

Many Internet service providers including Google block email transmissions from downstream servers (that’s you) to reduce spam. The simple solution is to use your Gmail account as a smarthost for SendMail. Here’s how. Log into your server as root and issue the following commands:

cd /etc/mail
hostname -f > genericsdomain
touch genericstable
makemap -r hash genericstable.db < genericstable
mv sendmail.mc sendmail.mc.original
wget http://incrediblepbx.com/sendmail.mc.gmail
cp sendmail.mc.gmail sendmail.mc
mkdir -p auth
chmod 700 auth
cd auth
echo AuthInfo:smtp.gmail.com \\"U:smmsp\\" \\"I:user_id\\" \\"P:password\\" \\"M:PLAIN\\" > client-info
echo AuthInfo:smtp.gmail.com:587 \\"U:smmsp\\" \\"I:user_id\\" \\"P:password\\" \\"M:PLAIN\\" >> client-info
echo AuthInfo:smtp.gmail.com:465 \\"U:smmsp\\" \\"I:user_id\\" \\"P:password\\" \\"M:PLAIN\\" >> client-info
nano -w client-info

When the nano editor opens the client-info file, change the 3 user_id entries to your Gmail account name without @gmail.com and change the 3 password entries to your actual Gmail password. Save the file: Ctrl-X, Y, then ENTER.

Now issue the following commands:

chmod 600 client-info
makemap -r hash client-info.db < client-info
cd ..
make
service sendmail restart

Finally, send yourself a test message. Be sure to check your spam folder!

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

Check mail success with: tail /var/log/mail.log. If you have trouble getting a successful Gmail registration (especially if you have previously used this Google 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.

Originally published: Monday, April 1, 2019


Continue Reading: Configuring Extensions, Trunks & Routes

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


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


blank
Need help with Asterisk? Visit the VoIP-info Forum.


 

Special Thanks to Our Generous Sponsors


FULL DISCLOSURE: ClearlyIP, Skyetel, Vitelity, DigitalOcean, Vultr, VoIP.ms, 3CX, Sangoma, TelecomsXchange and VitalPBX have provided financial support to Nerd Vittles and our open source projects through advertising, referral revenue, and/or merchandise. As an Amazon Associate and Best Buy Affiliate, we also earn from qualifying purchases. We’ve chosen these providers not the other way around. Our decisions are based upon their corporate reputation and the quality of their offerings and pricing. Our recommendations regarding technology are reached without regard to financial compensation except in situations in which comparable products at comparable pricing are available from multiple sources. In this limited case, we support our sponsors because our sponsors support us.

blankBOGO Bonaza: Enjoy state-of-the-art VoIP service with a $10 credit and half-price SIP service on up to $500 of Skyetel trunking with free number porting when you fund your Skyetel account. No limits on number of simultaneous calls. Quadruple data center redundancy. $25 monthly minimum spend required. Tutorial and sign up details are here.

blankThe lynchpin of Incredible PBX 2020 and beyond is ClearlyIP components which bring management of FreePBX modules and SIP phone integration to a level never before available with any other Asterisk distribution. And now you can configure and reconfigure your new Incredible PBX phones from the convenience of the Incredible PBX GUI.

blankVitalPBX is perhaps the fastest-growing PBX offering based upon Asterisk with an installed presence in more than 100 countries worldwide. VitalPBX has generously provided a customized White Label version of Incredible PBX tailored for use with all Incredible PBX and VitalPBX custom applications. Follow this link for a free test drive!
 

blankSpecial Thanks to Vitelity. Vitelity is now Voyant Communications and has halted new registrations for the time being. Our special thanks to Vitelity for their unwavering financial support over many years and to the many Nerd Vittles readers who continue to enjoy the benefits of their service offerings. We will keep everyone posted on further developments.
 



blank

  1. In the unlikely event that Skyetel cannot provide a 10% reduction in your current origination rate and/or DID costs, Skyetel will give you an additional $50 credit to use with the Skyetel service. []