Voicemail transcription services

We are seriously considering FreePBX as we are looking to upgrade from a Nortel system. The one feature that everyone wants is voicemail to email or text transcription. The only options I can find are some scripts that work with Google or IBM. I would much rather pay someone to handle this part of the package - are there reasonably priced automated transcription services available to do this for me?


Voicemail to email works perfectly on FreePBX.
We were also looking into voicemail transcript, but we never really had a client that wants it for production.
Another note, look at Google Voice transcripts, it’s sometimes so not accurate or similar to the actual message.

If you find something that works for you, hmu.

Are you looking for human transcriptions or computer transcriptions?

I know there are human transcription services out there, never looked at them before.

Current we use those scripts to send are voicemail attachments to IBM Watson, it transcribes the and sends back the text to be inserted into the email message.

My user get both an MP3 of the voicemail and text transcriptions. It’s really not that hard to get going, depending on your volume it’s pretty low cost ( we generally stay within the free limits of Watson)

If your not comfortable with the Linux shell there are lots of organizations that provide support, for a side note; Microsoft’s Bing transcription service was terrible, Watson has proven to be far better. Never tested Google.

1 Like

I am looking for computer transcriptions. I saw some scripts for the IBM Watson, and that might work. How stable is it? I don’t want to spend time every few months tweaking because of API changes, or other troubleshooting.

Watson is rock solid.

1 Like

I hacked this inelegant script for IBM, which is based a project that is itself 2.5 years old. No changes to the API were required, so based on that it appears to be stable.

If you are looking for simple, there are services like Nexiwave where you simply configure the PBX to send the VM attachment to an email address, and it forwards the attachment and transcription back to you.


Sounds great. Will check out the script and Watson. Thanks for the info!

I tried setting this up for a customer about four years ago (before Watson) and was disappointed with the results. In the middle of the project, there was a death in the family that pulled me off of everything for about six months. When I came back, the one vendor we’d found that had a solution had closed up shop.

Try Lorne’s script and see if that does what you need. If so, launch. If not, you may have to wait a while longer.

To be clear, IMHO this is a service that (if it’s for a customer) you need to be paying for. It helps keep your supplier in business and gives you some top-cover if there are problems.

I know this is an older thread, but right up the line of what I’m looking for (whether it be IBM, Google, or Amazon transcription). I was able to follow the instructions in the script and install it (it’s able to send mail still and now an added line of text indicates transcription is there), but it’s empty. I’m assuming it’s not able to log into IBM’s API to do the work. I’ve gotten my service credentials from the JSON script, but they’re not in the form of Username/Password.

Anyone know how to achieve that - how I can actually extract the username/pass from the JSON file I got?

I do wish there were a simple module to just install and configure.

I have found this to be an awesome tool, but IBM Watson changed its authentication and I wanted to post somewhere - since this took time to figure out - as to how to modify Igaetz’s code to work with the new authentication. Rather than using
change it to this:
"curl -s $CURL_OPTS -k -u "apikey:{API KEY}" -X POST \"

Your API key is accessible from the Bluemix Console Dashboard.

This is another really helpful resource on how to install the Bluemix transcription on FreePBX: https://www.freepbxhosting.com/blog/howto-adventures-in-voicemail-transcripts/

1 Like

What about on lines 27-28?


You change those, or just comment out?
Maybe change to API_KEY=“xxxx”?

I commented them out and inserted it directly, but changing the variable name and using that instead would be closer to the original script. Either approach would work (though I’m sure someone knows the best practice for this)

1 Like