Help with Dynamic Prompt?

Status
Not open for further replies.

Brian DArcy

Silver Partner
Advanced Certified
Joined
Sep 6, 2018
Messages
24
Reaction score
5
Hello all,

32SC Customer is about to move from FreePBX to 3CX. One of the functional pieces we need to duplicate is their current Employee Hotline, which works as follows:

Employees dial in to a specific DID, and hear a recorded message from HR about weather, work schedules, etc... Managers can press # during the recording and enter a pin code, which will then prompt to create a new recording which is saved, and played back on each subsequent call into the specific DID.

I've been able to replicate this functionality 100%, but I'm running into problems where the "updated" recording only takes affect after the 3CX Queue Manager services are restarted. From what I've read, use of Dynamic Prompts should allow this to work, but I'm a bit confused on how to name these dynamic prompts, so that it continues to function even after service restarts, or a complete warm reboot. My assumption is, that the dynamic name would have to be stored in a variable somehow, and that variable would need to live persistently somehow.

For example, right now, the playback occurs during a Menu:

Menu Initial prompt (recorded prompt hotline.wav), user can press #, which goes to a userinput routine to compare a PIN number, if pin matches, it goes to a record function, which outputs the file as hotline.wav.

Can anyone offer some advice on this?

Thanks.
 
Well, just did some testing with the prompt type set to dynamic, but instead of creating a name from an expression, I just used a constant string. This still functions as expected, and the menu is able to play the file based on the provided string, however, it still appears to be cached and you do not hear the updated "recording" until the services have been restarted. I can only assume this is because of the static naming convention, and if the recording being created had a unique file name, it may actually work.

Thoughts?
 
Last edited:
WAV files are cached, and changes are not applied until the service is restarted. This is like this by design. If you need a different audio, you need to use a different WAV file name. Then, using the Dynamic Audio File Prompt you can create an expression to return the current file name.
 
Thanks. I couldn't fathom a way to make these different .wav file names persist in a variable across reboots and service restarts, so I went a different route, for those who may be interested.

Folder called "hotline" will be shared out from the 3CX server. HR employees can access and edit a single file called "hotline_message.txt" which contains their current plain text hotline message.

ReadWriteFile1 --> Prompt Playback (ReadWriteFile1.Result) using Polly Text to Speech --> Disconnect call.

Works great, and much easier than dealing with recording and the random file name limitation. The only downside, is they cannot call in from outside the office to record new greetings.
 
When you use the Record component, you can create the file name using an expression. This expression might have, for example, the current date and time. So, this way you ensure that you have a different file name every time you record a new audio. Also, you can write to a text file the name of the last WAV file you created.

Then, on the other callflow, you read the text file containing the name of the last WAV file, and then use that as an expression for the Dynamic Audio Prompt.

This is a pretty simple solution, lets you do everything you need, and also doesn't consume any Amazon Polly credit...
 
Status
Not open for further replies.

Members Online Now

No members online now.

Forum statistics

Threads
111,832
Messages
589,285
Members
164,662
Latest member
DejanMDS