Just in time for Thanksgiving, we’ve got a great treat for those of you that have taken advantage of the Nerd Vittles special offer from Skyetel which got you a $10 credit to kick the tires and up to $500 of half-price service on their quadruple-redundant VoIP platform. Effective 10/1/2023, $25/month minimum spend required. Today we’re adding not one, but three, SMS messaging utilities to the VitalPBX UC platform. In addition to a command line utility to send SMS messages, we’re also introducing SMS Message Blasting which lets you send an SMS message to as many recipients as you would like. It’s perfect for sports team and community group messaging. To round out the trifecta, we’ve updated our SMS Dictator utility by integrating Skyetel messaging with IBM’s powerful voice recognition software.1 Simply dial S-M-S (767) from any extension on your PBX and dictate an SMS message to send to a recipient of your choice. Gone are the days of wrestling with Google’s ever-changing voice recognition platform.
To get started, you’ll need to have an IBM Watson account with an APIkey for their Speech-to-Text (STT) engine. Next, you will need a Skyetel SMS-enabled DID. Before we install today’s SMS scripts, it should be noted that SMS messages must be sent from the PBX registered as the Skyetel Endpoint Group for the SMS-enabled DID specified in the Skyetel SMS scripts. So let’s begin with the configuration steps to put all the pieces in place.
Getting Started with IBM Watson STT Service
We’ve created a separate tutorial to walk you through obtaining and configuring your IBM Watson credentials. Start there.
Now let’s get IBM’s Speech to Text service activated. Log back in to the IBM Cloud. Click on the (upper left) Menu icon and select Dashboard. 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 or LITE 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 APIkey. Then logout of IBM Watson.
Getting Started with Skyetel Messaging
If you haven’t already signed up for a Skyetel account, read our tutorial and take advantage of the $10 coupon for free service. Sign up for a DID and activate the SMS feature for your number. Create an Endpoint Group with the public IP address of your PBX. Then edit your phone number and link it to the Endpoint Group of your server. If you want to forward incoming SMS messages to either an email address or to your smartphone’s messaging service, configure it under the SMS & MMS tab for each of your phone numbers. Finally, click on the settings icon beside your account name in the upper right corner of the Skyetel portal and then click the API Keys tab. Click the Create button and copy down your SID and SECRET for Skyetel’s API service. This secret is not retrievable once you close the window so put the credentials in a safe place for subsequent use. Once you’re happy with the Skyetel service, fund your account with up to $250 and open a ticket with Skyetel. They’ll match your deposit and also let you port any DIDs you’d like at no cost for 60 days. For now, logout of the Skyetel portal.
Installing the SMS Components on Your PBX
There are three separate applications which we will install in VitalPBX: (1) a stand-alone utility that lets you send SMS messages from the Linux CLI by entering a recipients 11-digit phone number and an SMS message surrounded by quotes, (2) an SMS message blasting utility that lets you send a previously prepared SMS message to a group of recipients whose 11-digit SMS numbers have been entered into a text file, and (3) the SMS Dictator application which lets you pick up any phone on your PBX and dial S-M-S (767) to dictate a message and send it to a recipient whose number you’ve keyed in from your phone. For those not residing in North America, the number of phone number digits can easily be changed in all of the scripts. After we install the three applications, we’ll edit each of the scripts to insert your IBM STT and Skyetel API credentials. Then you’re ready to start messaging.
First, let’s install the stand-alone and message blasting SMS utilities. Log into your server as root and issue the following commands:
cd /root mkdir sms-skyetel cd sms-skyetel wget http://incrediblepbx.com/smsblast-skyetel.tgz tar zxvf smsblast-skyetel.tgz rm -f smsblast-skyetel.tgz
Next, let’s install the SMS Dictator application while still logged into your server:
cd /var/lib/asterisk/agi-bin wget http://incrediblepbx.com/sms-767-vitalpbx.tgz tar zxvf sms-767-vitalpbx.tgz rm -f sms-767-vitalpbx.tgz ./install-sms-dictator.sh
Configuring the Skyetel SMS Components
The last step of the SMS Dictator install script will prompt you to edit smsgen.sh. Leave apikey as your API_USERNAME and insert your actual IBM STT APIkey as API_PASSWORD in the fields provided. Insert your Skyetel SID, SECRET, and 11-digit DID in the fields provided. Then save the file: Ctrl-X, Y, then ENTER.
Next, change directories to /root/sms-skyetel and edit BOTH sms-skyetel and smsblast and insert your Skyetel credentials and DID in the fields provided at the top of both files.
Finally, when you’re ready to use the message blasting application (smsblast), first insert your SMS message in the smsmsg.txt file. Then insert the list of SMS numbers in smslist.txt.
Installing Festival TTS with VitalPBX
If you have not already installed the Festival TTS engine, you’ll need it to use SMS Dictator. Here’s how to install it:
yum -y install festival echo "[general]" > /etc/asterisk/festival.conf asterisk -rx "dialplan reload" festival_server & systemctl restart asterisk echo "/usr/bin/festival_server &" >> /etc/rc.d/rc.local
Testing the Skyetel SMS Components
To try out the SMS Dictator application, dial S-M-S (767) from a phone connected to your PBX. When prompted, enter the 11-digit number of the SMS recipient. When prompted, dictate the message to be sent and press #.
To try out the stand-alone SMS application, navigate to /root/sms-skyetel and issue the following command using the 11-digit number of the SMS recipient followed by a space and an SMS message to be sent surrounded by quotes:
./sms-skyetel 18005551212 "Howdy."
To try out the message blasting SMS application, navigate to /root/sms-skyetel. Enter the message to be sent in smsmsg.txt and enter the list of SMS numbers in smslist.txt. Kick off the message blast by entering the command:
Originally published: Monday, November 11, 2019
Support Issues. With any application as sophisticated as this one, you’re bound to have questions. Blog comments are a difficult place to address support issues although we welcome general comments about our articles and software. If you have particular support issues, we encourage you to get actively involved in the PBX in a Flash Forum. It’s the best Asterisk tech support site in the business, and it’s all free! Please have a look and post your support questions there. Unlike some forums, the PIAF Forum is extremely friendly and is supported by literally hundreds of Asterisk gurus and thousands of users just like you. You won’t have to wait long for an answer to your question.
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.
BOGO Bonaza: Enjoy state-of-the-art VoIP service with a $10 credit and half-price SIP service on up to $500 of Skyetel trunking with free number porting when you fund your Skyetel account. No limits on number of simultaneous calls. Quadruple data center redundancy. $25 monthly minimum spend required. Tutorial and sign up details are here.
The lynchpin of Incredible PBX 2020 and beyond is ClearlyIP components which bring management of FreePBX modules and SIP phone integration to a level never before available with any other Asterisk distribution. And now you can configure and reconfigure your new Incredible PBX phones from the convenience of the Incredible PBX GUI.
VitalPBX is perhaps the fastest-growing PBX offering based upon Asterisk with an installed presence in more than 100 countries worldwide. VitalPBX has generously provided a customized White Label version of Incredible PBX tailored for use with all Incredible PBX and VitalPBX custom applications. Follow this link for a free test drive!
Special Thanks to Vitelity. Vitelity is now Voyant Communications and has halted new registrations for the time being. Our special thanks to Vitelity for their unwavering financial support over many years and to the many Nerd Vittles readers who continue to enjoy the benefits of their service offerings. We will keep everyone posted on further developments.
- Skyetel outbound SMS messages are billed at 1¢/message plus a monthly SMS surcharge of 10¢ per SMS-enabled DID. With IBM’s STT service, users have a choice of the LITE tier providing 100 minutes a month of free transcription or the STANDARD tier providing unlimited message transcription at a cost of 2¢/minute. [↩]