Walkthrough: Set-up Attendant with Transfer, Fax Receive and Audiotex Processing

The purpose of the Attendant is to route callers to extensions or departments, voice mailboxes, alternate messages, or Audiotex. The Attendant begins by presenting various options to the caller through prompt 505, the Attendant Main Menu. Then it monitors for touch-tones and searches the Attendant database for a record with Attendant ID matching the caller’s touch-tone input.

When Attendant is the application, CALLMaster:

  1. Plays the Port Greeting (prompts 19, 20, 21 based on the time of day), then the Attendant main menu (prompt 505)
  2. Waits for touchtone input (if no input is received, it goes to Attendant ID 0)
  3. Matches the touchtone input with an Attendant ID record
  4. Takes action based on the 'Type of Transfer' for the selected Attendant ID (plays ‘there is no such extension’ if no match is found)

For this walkthrough, we will be starting all calls in Attendant mode with prompt 505 offering options as follows:
"If you know your party's extension please enter it now.  For sales, press 1.  For product information, press 2.  For the firm directory, press 3.".

Since CALLMaster is shipped with default records, some of these records may already exist.  If they do then modify the existing record.

Walkthrough Overview

In this walkthrough, you will learn to:

  1. Configure CALLMaster to answer in Attendant mode;
  2. Give caller custom options, get their Touch Tone input and process selected option;
  3. Verify Attendant Parameters required to transfer a call, or drop call in case of a busy or no answer;
  4. Define the Global Tone for faxing;
  5. Set-up Mailboxes;
  6. Confirm Voice Mail Parameters and Assign Default Mailbox;
  7. Notify mailbox owner via email when they receive a message or fax in their mailbox;
  8. Notify mailbox owner via phone when they receive a message in their mailbox;
  9. Create Attendant Records to route caller to:- be transferred, to leave a message, to log in to a mailbox, to hear the firm directory, or to an Audiotex module to get information;;
  10. Automatically receive a fax document which will be saved in the default mailbox;Create Audiotex Records/Modules and Associated Scripts;
  11. Set Ports.

Prerequisites and Assumptions

Verify Attendant Parameters.

To transfer calls, you must know the requirements of your phone lines or PBX.  In particular, you need to know the transfer string to initiate a transfer, and the pull back strings to drop a call in case of busy or no answer. Since the caller can enter a variable length extension ID, you need to set the Maximum Extension Length parameter.

Open the CALLMaster Manager. Click on Parameters, then select Attendant.  Confirm values for all the parameters on the list.  Double click on the parameter to change the value if required.  For this walkthrough, we will assume the values below.  Save and close the Attendant Parameters window after making any changes.

Attendant Parameters
Allow Any Transfer Drop 'Busy' Call Drop 'No Answer' Call Max Extension Length Transfer String
No &, &, 4 &,

Define Global Tone for Fax

For the Dialogic board to detect a fax tone, we need to define the tone settings in the Global Tones table.

Open the CALLMaster Manager. Click on Manage, then select Global Tones.  If there is an record for a Fax tone, then just verify the setting.  If not then Add a record to this table with values as below.

Global Tones
Tone Type Characteristic Detection Mode Translation Frequencies (Hz) Cadence (10ms)
Translate to Char Character Tone 1 Freq Tone 1 Dev Tone 2 Freq Tone 2 Dev On Time On Time Dev Off Time Off Time Dev Minimum Repetition Count
Fax Single Tone Leading Edge Yes F 1100 50 0 0 0 0 0 0 1

Confirm Voice Mail Parameters and Assign Default Mailbox

As we are setting up this application to receive faxes to the default mailbox, we need to assign a default mailbox in the Voice Mail Parameter.  We need to also confirm the default values set for the other Voice Mail parameters.

Open the CALLMaster Manager. Click on Parameters, then select Voice Mail.  Double click on each of the parameters to change their values as needed.  We will assign Mailbox 1111 as the default mailbox.

Set-up Mailboxes

In this walkthrough, we will set-up 3 mailbox records as shown below.  We will keep the Voice Mail Parameters Mailbox Length and Password length to 4.  See section below (Confirm Voice Mail Parameters and Assign Default Mailbox) if you need to change these parameters.

If the mailbox owner wishes to receive email notification of messages or faxes received in their mailbox, enter their email address in the Email field.

Note: Keep Mailbox record 0000 with the default settings as CALLMaster requires it.  You should change the password for this record to maintain security.

Open the CALLMaster Manager. Click on Manage, then select Mailboxes.  Let's add Mailbox records in this walkthrough as follows:

Mailbox Records
Mailbox # Password Last Name Email Box Status Allow Log in During Greeting Notification Enabled Notify per Msg
1000 1000 Operator Oper@sscorp.com Administrator Yes    
1111 1111 Sales MB1111@txt.att.net User Yes Yes Yes
2222 2222 MB2222 MB2222@support.com User No Yes  
3333 3333 MB3333 MB3333@service.com;
MB3333@vtext.com
User Yes    

Create Notification Records

As we have Enabled Notification for Mailboxes 1111 and 2222, we need to create Notification records for them.

For each record, set the Earliest Hour to Call, Latest Hour to Call, Days to Call and the Call Attempt Schedule as desired. 

Let's create notification records for Mailbox 1111.

Open the CALLMaster Manager. Click on Manage, then select Notification to add the records specified below. 

See Notification for details.

Notification Records
Mailbox # Record # Call Type Area Code Phone Number
1111 1 Human 914 1111111
2222 1 Human 914 2222222

Create Attendant Records

  The Attendant processing is described below.

 Open the CALLMaster Manager. Click on Manage, then select Attendant to add the Attendant records required for this walkthrough. 

Attendant Records
Attendant ID Time of Day Type of Transfer Number to Dial Failed Transfer Action Additional Settings
Busy No Answer Screened Reject Alt Attendant ID Mailbox # Audiotex Module ID
0 All Day Supervised 100 Mailbox Mailbox     1000  
0 Evening Mailbox           1000  
8000 All Day Mailbox           1000  
9000 All Day Log in to Mailbox           1000  
1 All Day Supervised 111 Mailbox Mailbox     1111  
1 Evening Mailbox           1111  
8001 All Day Mailbox           1111  
9001 All Day Log in to Mailbox           1111  
2 All Day Audiotex Module             100
3 All Day Directory              
222 All Day Supervised 222 Mailbox Mailbox     2222  
222 Evening Mailbox           2222  
8222 All Day Mailbox           2222  
9222 All Day Log in to Mailbox           2222  
333 All Day Supervised 333 Mailbox Mailbox     3333  
333 Evening Transfer 9,1,9143333333            
8333 All Day Mailbox           3333  
9333 All Day Log in to Mailbox           3333  

Create Audiotex Records/Modules and Associated Scripts

As we want to direct the caller to the CALLMaster Attendant, we will use the default Audiotex module 3 to send caller to Attendant.  If the caller selects option 2 (for product information) in the Attendant, they will be redirected back to Audiotex Module 100 per the Attendant set-up to give caller with product information.

Let's create several Audiotex records as shown below to handle this request.  The Label field provides a brief description of each module.  

Audiotex Records
Module ID Label Write Label
to Log File
Module
Action
Next Module ID Fail Module ID Response
Length
Script File to Run
(Must include full path name)
Touch Tone Table
 1 2  3  4 5 6 7 8 9 0
3 Attendant Main Menu Yes Attendant 0 0 0
100 Start call and Initialize values Yes Next Module 105 9900 0 InitializeVal.bas                    
105 Provide options "1 for information about product A, or 2 for information about product B" and get caller response Yes Touch Tone Table 9920 9900 1   110 120 190 190 190 190 190 190 190 190
110  Information about product A Yes Next Module 9999 9900 0                      
120  Information about product B Yes Next Module 9999 9900 0                      
190 Invalid input.  Yes Next Module 191 9900 0 CheckTryCount.bas                    
191 Try again. Yes Next Module 105 9900 0                      
9900 Call Failure Detected Yes Next Module 9999 9999 0 SetCallFailure.bas                    
9910 Caller Hang-up Detected Yes Next Module 9999 9999 0 SetCallerHangup.bas                    
9920 Maximum tries attempted Yes Next Module 9999 9999 0 SetMaxAttempts.bas                    
9999 Last Module - End call Yes Last Module                            

Audiotex Module Description.

 

CALLBasic Script - InitializeVal.bas Copy to Clipboard
Program
'*************************************************************************************************************************************
'     Script:  InitializeVal.bas
'     Function:  This script is used to initialize values
'*************************************************************************************************************************************

     strYes = "Yes"
     strNo = "No"
     intYes = 1
     intNo = 0
     strCallFailure = strNo
     strCallerHangup = strNo
     strMaxAttempts = strNo

     ' Set retry counter and maximum attempts allowed
     intTryCount = 1
     intMaxAttemptsAllowed = 3

     ' Set the module to return to if caller hangs up
     lctrap = 9910

     'Print information to log file for reference and debugging
     pline = "Call received for DNIS " & strRetVar
     PrintNL pline

EndProgram

CALLBasic Script - CheckTryCount.bas Copy to Clipboard
Program
'*************************************************************************************************************************************
'     Script:  CheckTryCount.bas
'     Function:  This script checks the number of invalid input attempts. 
'*************************************************************************************************************************************

     '  If the caller has reached the maximum attempts allowed then the call is routed to module 9920. 
     '  If not then they are returned back to module 105 to retry input based on Next Module ID.
     If intTryCount > intMaxAttemptsAllowed Then
        Return 9920
     Else
        intTryCount = intTryCount + 1
     EndIf

     ' Convert system variable intTryCount from integer to string to be used in concatenated print statement.
     IntegerToString strTryCount  intTryCount

     pline = "***** For channel=" & strchannel
     pline = pline & " TryCount = "
     pline = pline & strTryCount
     PrintNL pline

EndProgram

CALLBasic Script - SetCallFailure.bas Copy to Clipboard
Program
'*************************************************************************************************************************************
'     Script:  SetCallFailure.bas
'     Function:  This script sets the strCallFailure variable to yes and prints information in the call log file.
'*************************************************************************************************************************************

     strCallFailure = strYes

     'Print information to log file for reference and debugging
     pline = "***** Call Failure. *****"
     PrintNL pline

EndProgram

CALLBasic Script - SetCallerHangup.bas Copy to Clipboard
Program
'*************************************************************************************************************************************
'     Script:  SetCallerHangup.bas
'     Function:  This script sets the strCallFailure variable to yes and prints information in the call log file. 
'*************************************************************************************************************************************

     strCallerHangup = strYes

     'Print information to log file for reference and debugging
     pline = "***** Caller Hangup. *****"
     PrintNL pline

EndProgram

CALLBasic Script - SetMaxAttempts.bas Copy to Clipboard
Program
'*************************************************************************************************************************************
'     Script:  SetMaxAttempts.bas
'     Function:  This script sets the strMaxAttempts variable to yes and prints information in the call log file. 
'*************************************************************************************************************************************

     strMaxAttempts  = strYes

     'Print information to log file for reference and debugging
     pline = "***** Maximum Attempts reached to enter valid input *****"
     PrintNL pline

EndProgram

Now you can create the Audiotex modules and reference the scripts above.  Open the CALLMaster Manager, click on Manage, then select Audiotex to add the Audiotex records shown above.

Verify IVR Application List

Open CALLMaster Manager and select Manage | IVR Application List.  Make sure there is the default entry for the Attendant as shown below:

IVR Application List
Audiotex Start Module Application Name
3 Attendant

Set Ports

As a last step, we need set the port(s) to application Attendant.  As this walkthrough uses Notification, make sure at least one port is enabled for Type Outbound; all the ports should be enabled for Inbound. Set the Port Greeting File IDs to the main greeting for all calls if you have recorded one or you can utilize the default Greeting File IDs. Leave all other fields to the default values.  Make sure the Audiotex Start Module field (read only) correctly points to module 3.

If you are working with a demo license or have only one line connected, then make sure the connected port is set as specified below.  All other ports should be set to Application 'Disabled'.

Port Records
Port # Application Audiotex Start Module Port Type
Outbound
Port Greeting File IDs
(Morning, Afternoon, Evening, Closed, Holidays)
1 Attendant 3 No 19, 20, 21, 203, 209
2 Attendant 3 No 19, 20, 21, 203, 209
3 Attendant 3 Yes 19, 20, 21, 203, 209
4 Attendant 3 Yes 19, 20, 21, 203, 209

Test the custom application

Save all your work. 

Stop and restart CALLMaster service.

Make Recordings:

o  Call the system and enter extension 90 (Attendant ID set-up to log in to Administrator Mailbox 1000).

Log in as the Administrator and access the Administrator Options Menu.

-  To re-record Prompts, select Administrator Option 7

Prompt # Proposed Recording
505 If you know your party's extension please enter it now.  For sales, press 1.  For product information, press 2.  For the firm directory, press 3.
19 Good morning.  Thank you for calling My Company
20 Good afternoon.  Thank you for calling My Company
21 Good evening.  Thank you for calling My Company
203 Thank you for calling My Company.  We are closed today.
209 Thank you for calling My Company.  We are closed for the holiday.

-  To make recordings for the Audiotex modules below, select Administrator Option 8

Audiotex Module ID Proposed Recording
105 Press 1 for information about product A, or 2 for information about product B
110 Information about product A
120 Information about product B
190 Invalid option. 
191 Please try again
9900 We are unable to process your call.  Please contact the system administrator for further assistance.
9920 You have reached the maximum attempts allowed for a valid input.  Please contact the system administrator for further assistance.

-  Make Attendant Directory Entries select Administrator Option 9 (See how to Set-up Attendant Directory).

Record Mailbox greetings and name.

-  Have the Mailbox owner call the system and enter the Attendant ID to log in to their mailbox. They can use Voice Mail Menu Option 3 to Set Personal Options for their mailbox.

Make test calls to verify desired functionality.