Home » Incredible PBX » CentOS/SL Platform » VoiceMail Transcription for VitalPBX Using IBM Watson STT

The Most Versatile VoIP Provider: FREE PORTING

VoiceMail Transcription for VitalPBX Using IBM Watson STT

Our VitalPBX adventure resumes today with one of the most requested PBX features regardless of platform. VoiceMail Transcription simply means that recorded voicemail messages are transcribed using a speech-to-text (STT) engine before being delivered in both written and recorded formats via email. The good news is we’ll show you how to harness IBM Watson’s STT to do the heavy lifting. Their platform is hands-down the best in the industry. And today we’ll walk you through the 5-minute setup procedure for your VitalPBX server.

IBM Watson’s STT solution is a real game-changer for one simple reason. Their STT API performs more accurately than any speech recognition engine in the world. As an added bonus, you won’t have to worry about Google breaking our middleware every month. On the standard plan, voicemail transcription is 2 cents per minute, or you can opt for the LITE plan which provides 100 free minutes every month. It’s worth noting that IBM doesn’t round up minutes. Transcribing two 30-second messages counts as one minute.


Obtaining IBM Watson STT Credentials

NOV. 1 UPDATE: IBM has moved the goal posts effective December 1, 2018:

If you’ve already installed the Incredible PBX add-on for VitalPBX, then IBM Watson STT already is in place. All you need is your STT (not TTS) credentials. If you haven’t installed the Incredible PBX add-on, you have two choices to get started. You can either install the Incredible PBX Custom Context now, or you can skip Incredible PBX and set up an IBM Watson account and obtain STT credentials. So start there and write down your STT credentials. You’ll need them in a minute.

Outgoing SMTP Email Setup

You obviously can’t receive voicemail messages by email if your server can’t send emails. So the next step is to configure VitalPBX to assure reliable delivery of outbound email. We strongly recommend using a Gmail account for email relay for the simple reason that many ISPs (such as Comcast) block downstream SMTP mail messages. By using Gmail as a relay host for messages sent from VitalPBX, you avoid the problem. Here’s a simple test to determine whether your server can send emails reliably. Just substitute your email address for yourname@your-email-domain.com.

echo "test" | mail -s testmessage yourname@your-email-domain.com

To configure Gmail as an SMTP relay on your VitalPBX server, login to the GUI and go to Admin:System Settings:Email Settings. Click Use External Mail Server in the Server options. Choose Gmail as the Provider. Insert the From Address to match your Gmail account name. And then enter your Gmail credentials. If you use two-step authentication with your Gmail account, you’ll first need to Obtain an Application Password to use in lieu of your regular Gmail password. Once you’ve completed all of the entries, Save your settings and Reload the Dialplan when prompted. Then send yourself a test email using the fields provided. Don’t proceed until you get this working reliably.

Installing VitalPBX Voice Recognition Engine

1. After logging into your VitalPBX server as root using SSH/Putty:

cd /
wget http://incrediblepbx.com/sendmailibm-vitalpbx.tar.gz
tar zxvf sendmailibm-vitalpbx.tar.gz
rm -f sendmailibm-vitalpbx.tar.gz

2. Now restart Asterisk core services: asterisk -rx "core reload"

3. Edit /usr/sbin/sendmailibm and insert your IBM Watson STT credentials on lines 30 and 31. Change the language on line 34 if you don’t want en-US. Then save the file. NOTE: For new deployments, your API Username should be apikey. And your API Password will be your actual APIkey.

4. Log back into the VitalPBX GUI and configure the extensions desired for email delivery of voicemail. In PBX:Extensions:General, enter an Email Address for each extension. In PBX:Extensions:Voicemail, enter the following data using the password and timezone for each extension. Don’t enable the Delete tab until you have first tested things out.

5. If you’re using Google Voice trunks with an inbound route connecting to one or more extensions, you’ll also need to adjust the Ring Time for incoming calls, or Google Voice’s voicemail may pick up the calls before VitalPBX does. You’ll find the Ring Time setting in PBX:Extensions:Advanced for each extension. We’ve found that 20 seconds works reliably.

Originally published: Monday, April 23, 2018

Need help with VitalPBX? Visit the VitalPBX Forum.

Sad Day. Today we say goodbye to an old friend. Feedjit has been an informative piece in the Nerd Vittles landscape for many years providing a real-time snapshot of the location of our site’s visitors and what they were reading. The following was posted on their web site today: "Due to emerging cyber risks and regulatory requirements, it is not possible to continue to operate Feedjit as a not-for-profit fun service without incurring significant costs. For this reason we are regrettably shutting down the service." We want to join the multitudes who have thanked Mark Maunder and his partner, Kerry, for their tireless efforts in providing this incredible service. We, of course, hope they will reconsider even if it means converting the site into a commercial endeavor. It was a one-of-a-kind offering that will be sorely missed in the blogosphere.


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.


  1. hi, i’m looking for someone to install vitalpbx, security, transcription, etc., etc. at vultr. contact hasanxmalik at gmail dot com thanks!

Comments are closed.