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:
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:
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 | 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).
o 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.