A sample prompt recording script for UCCX

Good morning!
As you know, scripting for UCCX or Cisco IP IVR always requires some pre-recorded wav files. These are all kinds of greetings, instructions for performing certain actions, voice menus, etc. Typically, these wav files are recorded with an external sound editor and then uploaded to the UCCX / IP IVR repository.

However, you can record audio messages and save them directly to the repository using the UCCX / IP IVR itself, i.e. with the help of a script. The user calls to the application, and then the application  plays the instructions for recording. The user pronounces the required phrase, it is recorded and placed in the repository. This post describes how to make such a script for prompt recording.

An example of our prompt recording script is shown in the figure below. Of course, we will discuss the basic idea of it or template there. The script can be modified and customized to the desired functionality:

As usual, first it is necessary to create variables. Here are their names, types and values:

1. recordMsg – used to store a recorded message temporarily while the script is still running
2. recordPrompt – an audio message containing instructions for recording a prompt (“Please record your message after the tone”)
3. recordUser – it is used to store the user account which will be used to save  the file the Repository (for authentication reasons).
4. recordUserID – it carries user login. In our example, the username and password of the user are the same, so the same variable will also be used as a password.
5. successfulPrompt – a prompt confirming successful file recording
6. welcomeMsg – a prompt containing a greeting.

Now let’s talk about the structure of the script. Its beginning is very simple: the call is accepted and the greeting is played. Then, using the Recording step, the script plays the instruction for recording, records user’s voice and stores it in the variable named recordMsgRecording step properties are as follows:

After the user’s message has been recorded into the recordMsg variable, we proceed to saving the contents of this variable as the wav file to the repository. This procedure requires а UCCX user with administrator role or privilleges to save the file. We define the user name (instructor) using the string variable recordUserID, but the UCCX must check if this user really exists and it must convert the username into a variable with type User (recordUser). The Get User step is used for this purpose:

But besides this, authentication of this user is also required, that is, verification of his password and rights. In our example, the username and password are the same (ie, instructor / instructor), so we use the same recordUserID variable as the password. User authentication is done with the Authenticate User step. UCCX checks if the user recordUser really has the password recordUserID:

And then we upload the recorded message into the repository using the Upload Prompt step. In its properties we specify the variable with the user’s phrase (recordMsg), the user name for the save procedure (recordUser), the language of Repository’s root folder (en_US) and the name for the new file (New MsgfromCaller.wav, it means that a completely new folder named New appears in the root en_US folder and it will already contain the MsgfromCaller.wav file):

After the file has been successfully uploaded to the repository, the user hears a message about the successful recording and the recorded message itself. In order to make the script logic like that, in the Successful branch of the Upload Prompt step, two steps of Play Prompt are set.
 
That’s actually the whole story. 🙂  For those who prefer to still record their prompts using the audio editor, I provide the format of prompts for UCCX / IP IVR:

– codec G.711 or G.729
– ITU-T
– 8 bit
– 8 kb/s sample rate
– mono
– mu-Law
– .wav file extension