I HAVE A DREAM Implementing TTS Apps with 3CX

wardmundy

Nerd Uno
Joined
Oct 12, 2007
Messages
19,201
Reaction score
5,220
This is still on my Wish List for 3CX, but I thought I would sketch out a possible way 3CX could easily implement support for text-to-speech applications and see if anyone else has suggestions before passing this along to @Nick Galea & Co.

I think the easiest design would be using Custom Extensions. In its most rudimentary form...

Custom Extension Template

Extension Number
Extension Label
Opening Prompt (.wav or .gsm)
App Name (custom directory would house scripts which could be bash, PHP, perl, etc)
Custom Variables for App (separated by commas)
Results Prompt (could be generated by App as a result or canned prompt like Opening Prompt)
Failed Call Prompt

How This Would Work

When the custom extension was called either directly or from an IVR, the system would answer the call, play the Opening Prompt (if any), and then execute the App passing a current time stamp and CallerID number/extension number plus the Custom Variables (if any). The current time stamp is important because it will be used by the App as the file name to return the TTS result in .wav or .gsm format. The CallerID is important because it gives the App a way to look up a particular caller's account info in a database.

The App itself will parse the variables and then perform its magic, e.g. generating a news report or weather forecast. The App results will be stored in a sound file in /tmp as timestamp.gsm or timestamp.wav. Control then is returned to 3CX which plays the Closing Prompt (/tmp/timestamp) and then hangs up the call. There would need to be some sort of timeout value for the App so that 3CX kills the App after x number of seconds and plays the Failed Call Prompt before hanging up.

Bells & Whistles

Don't want to be too greedy in proposing this but, when we get the basics working, the next big thing would be to process one or more prompts for additional info from the caller. This initially could be touchtone input for an account number or zip code. This could be handled by additional fields in the Custom Extension Template for Voice Prompt 1, Result 1 and Voice Prompt 2, Result 2. These results would be passed to the App as the final variable in a Results array which could be populated or empty.

Down the road it could be STT voice input (.gsm or .wav files instead of text) that could be converted to text by the App and then processed.
 

hawk#1

Well-Known Member
Joined
Nov 3, 2015
Messages
716
Reaction score
309
Thanks for the update. I had overlooked this thread, the updated post opened my eyes.
 

Members online

Forum statistics

Threads
25,810
Messages
167,755
Members
19,240
Latest member
nikko
Get 3CX - Absolutely Free!

Link up your team and customers Phone System Live Chat Video Conferencing

Hosted or Self-managed. Up to 10 users free forever. No credit card. Try risk free.

3CX
A 3CX Account with that email already exists. You will be redirected to the Customer Portal to sign in or reset your password if you've forgotten it.
Top