Contents

VoiceGuide Help
1. Introduction
Welcome To VoiceGuide
Which version to use
2. System Configuration
System Requirements
Installing v7.x - Dialogic
Installing v7.x - VoIP / HMP
Installing v6.x - Dialogic
Installing v5.x - Voice Modems
Installing v5.x - CAPI compatible cards
Installing v5.x - Dialogic
Installing v5.x - Dialogic Wave Drivers
Text To Speech
Call Transfers and Conferencing
ODBC Data Sources
End of Call Detection
Distinctive Ring Detection
T1/E1 ISDN Configuration
T1/E1 RobbedBit/CAS/R2 Configuration
VoIP Line Registration
Command Line Options
Registering VoiceGuide
Unique System Identifier
3. Script Design
Introduction
Graphical Design Environment
Module Types
Paths
Result Variables
Call Start
Call Finish
Multilanguage Systems
Protected Scripts
Sound files
Testing Scripts
4. Modules Reference
Play
Record
Get Numbers
Say Numbers
Transfer Call
Send Phone Message
Send Pager Message
Send Email
Database Query
Run Program
Time Switch
Evaluate Expression
Run VB Script
Send DDE Command
Hangup Call
5. Voicemail
Introduction
Voicemail System Manager
Voicemail Menus
Message Lamps
6. Outbound Dialing
Loading Numbers to Call
Detect Call Answer
Predictive Dialers
External OutDialQue Source (v7)
External OutDialQue Source (v6)
7. Speech Recognition
Introduction
Grammars
Install LumenVox
8. Logs
Script Logs
Call Detail Records (CDRs)
9. ActiveX / COM Interface
Admin_TraceLogAdd
Dialer_MakeCall
Dialer_OutDialQueAdd
Bridge_Connect
Bridge_Disconnect
Line_Hangup
Line_Pickup
Play_Start
Play_Stop
Record_Stop
Record_Start
Record_2Lines_Start
Run_ResultReturn
RvGet
RvGet_All
RvGet_AllXml
RvSet
RvSet_RvList
Script_Gosub
Script_Goto
Script_Return
Serial_Tx
Vm_Event
Vm_VmbConfig_Get
Vm_VmbConfig_Set
10. PBX Integration (CTI)
Inband Signaling
Ericsson MD110 Voicemail Interface
Legal Information
Copyright & Disclaimer

 
Home
VoiceGuide Online Help
Prev Page Next Page
 
 

VoiceGuide Dialer

The Dialer add-on enables VoiceGuide to dial out and play a message or run a VoiceGuide script once the call has been answered. Outbound calls can be scheduled using any of these methods:

- Dial List Loader program.
- 
Send Phone Message module in a VoiceGuide script.
- 
Using VoiceGuide COM interface function Dialer_OutDialQueAdd.
- Saving list of numbers to be called in an 'Out Dial' file, which VoiceGuide reads in automatically.
- Adding dial entries directly to the OutDialQue database.

When using Dialogic cards the system can detect whether a real person or an answering machine has answered the call. Different messages or scripts can be specified in either case. When an answering machine answers the call the message or script will start after the welcoming message stops playing.

When using a voice modem to dial out a prompt message needs to be specified which will be played in a loop until the person who answers the call presses key on their telephone keypad. This is because a voice modem cannot detect when a call is answered.  Only after the called person presses the key on their telephone keypad will the message or script be played. If an answering machine answers calls placed using voice modems it will end up recording the prompt message being played in a loop.

 

Dial List Loader

Allows easy scheduling of a few or few thousand calls. The main interface allows the user to easily specify all the details of the calls to be made.

Here is some more information on the main fields accessible via the Dial List Loader:

Script / message when a real person answers the call
What VoiceGuide script will be started or what sound file will be played when the call is answered by a real person. Specifying the starting module can be made using notation: Script Filename|Module Title

When an answering machine answers the call
When the call is answered by an answering machine VoiceGuide will play this message/script. Answering machines can only be detected if a Dialogic card is used.

If an answering machine is detected VoiceGuide will wait until the answering machine's welcome message finishes before starting the script/sound file specified here.

If RETRY is specified in this field then VoiceGuide will attempt dialing again if an answering machine is encountered (up to the maximum number of redials allowed).

If IGNORE is specified in this field then VoiceGuide will ignore Dialogic's advice that an answering machine was detected and will just start the script/file specified in the "when a real person answers" text box.

If DISABLE is specified in this field then VoiceGuide will disable Dialogic's detection of when the call has been answered.

Answering Machine detection relies on the Dialogic card listening to the first word spoken by the caller, and determining based on what it heard whether that word sounded like it was spoken by a live person answering the call, or whether that word sounded like it was spoken by an answering machine. This means that VoiceGuide needs to wait until he Dialogic cad hears the word being spoken and then advises VoiceGuide of it's decision. This incurs a delay of about a second after the first word is spoken before VoiceGuide is advised whether to play the "real person" or the "answering machine" script.

If the call is made on T1/E1 ISDN lines (and usually VoIP) VoiceGuide is able to detect the exact time at which the call has been answered. If the "Answering Machine" message option is not used then VoiceGuide will commence playing of the "Real person answered" script immediately when then handset is picked up.

 

Prompt message if a voice modem is used to dial
If a voice modem is used and this file is specified, then this sound file will be played in a loop after the phone number is dialed, and the recipient of the call will have to press a button before the main VoiceGuide script will be executed, or the main message played. If no prompt message is needed this entry can be left blank. Voice modems cannot tell when a call is answered - that is why they need to play the a sound file in a loop to let the person answering the call to indicate to the voice modem that the call has been answered.
The default message supplied with VoiceGuide (AcceptAutoCall.wav) says: "This is an automated call, please press any number on your telephone keypad to accept this call."

Phone Numbers file
Allows to select the text file from which to import the list of numbers to call. The file should contain each number on a new line eg:

5624453
5624457
5624562
5624589

A range of numbers can be specified by placing an "X" in the number location which covers the desired range.  eg: by typing 5627XXX we indicate that a thousand telephone numbers: 5627000 to 5627999 should be called. Typing 56274XX would result in a hundred numbers being called: 5627400 to 5627499.

Phone numbers
The telephone numbers to be dialed can be typed directly into this text box. The numbers should be entered one per line. A range of numbers can be specified by placing an "X" in the number location which covers the desired range. 
eg: by typing 5627XXX (as shown above) we indicate that a thousand telephone numbers: 5627000 to 5627999 should be called. Typing 56274XX would result in a hundred numbers being called: 5627400 to 5627499.

Prefix to add
The number to dial before each of the numbers provided in the ‘Phone numbers’ text box or in the ‘list file’. This entry is used if a certain number has to be dialed to reach an outgoing line or if using an override code when dialing.

Dialing Times Tab

The times at which the calls are to start, and the times and days at which the calls are allowed to be made can also be selected. If dialing is only to be done on selected lines then the lines can also be specified. Line Selection can be specified as a comma separated list of LineIDs (eg: 4,5,6) or a comma separated list of Dialogic device names (eg: dxxxB1C3,dxxxB1C4). Priority level of the call can also be specified on this tab, a lower number indicates a higher priority. ie: 1 is the highest priority, then 2 etc etc. Number of priority levels shown in the dropdown box can be changed in VG.INI file.

Redial Config Tab

Used to set the Answer Timeout, Number of Retries and the Delay Between Retries

Script Params Tab

If any Result Variables are to be made available to the script which will run when the call is answered they can be specified here.

Do Not Call List

You can specify a file containing a list of telephone numbers which will never be called by VoiceGuide, even if they were inadvertently specified in the "Phone numbers to be called" file or text box. The file must contain each number on a separate line. eg:

5624145
5624167
5624181

The numbers do not have to be in any order, but if there are many (10000+) entries in the "Do Not Call List" then the input file should be pre-sorted in ascending order before loading into VoiceGuide.

 

Results files

The result of all outgoing calls placed by VoiceGuide will be saved in VoiceGuide's \data directory, in one of the following files:

OutDial_Contacted_Human.txt
List of calls answered by a real person.

OutDial_Contacted_AM.txt
List of calls answered by an answering machine.

OutDial_Contacted_Fax.txt
List of calls answered by a fax machine person.

OutDial_Uncontactable_NoAnswer.txt
List of calls which were not answered and rung out awaiting answer.

OutDial_Uncontactable_Busy.txt
List of calls which were not answered
as the busy tone was heard.  

OutDial_Uncontactable_OnDontDialList.txt
List of calls which were not made as the telephone number is on a "Don't call list".

OutDial_Uncontactable_NoDialer.txt
List of calls which were not dialed as the VG Dialer option is not enabled.

OutDial_SIT_Reorder.txt
List of calls for which the Special Information Tone (Reorder) was played by the phone company.

OutDial_SIT_NoCircuit.txt
List of calls for which the Special Information Tone (No Circuit) was played by the phone company.

OutDial_SIT_CustIrReg.txt
List of calls for which the Special Information Tone (CustIrReg) was played by the phone company.

OutDial_SIT_Unknown.txt
List of calls for which an unknown Special Information Tone was played by the phone company.


 

Out Dial file

An ‘OutDial’ file can also be used to add new telephone numbers to be dialed by VoiceGuide. When the file is created, VoiceGuide will read in the file and delete it after reading it's contents.

‘OutDial’ file should be created in VoiceGuide's \data subdirectory.

In v6 of VoiceGuide the file must be called OutDial_New.xml

In v7 of VoiceGuide the filename must begin with "OutDial" and have the ".xml" suffix. Eg: OutDial_080521175323a.xml

In v7 multiple files can be created at the same time, and will be read in by VoiceGuide within about a second of them being created.

When supplying outgoing call data to VoiceGuide using input files it is advisable to first create the file under a different name, and after the file writing/copying is completed then rename the file to have the OutDial*.xml name. This would ensure that VoiceGuide would not attempt to open the file while it's contents are still being written to by another process.

 

Out Dial Input file - VoiceGuide v7

The syntax of the OutDial file as used by VoiceGuide v7 is:

<OutDialEntry>
  <PhoneNumber>sPhoneNumber</PhoneNumber>
  <PhoneNumberPrefix>sPhoneNumberPrefix</PhoneNumberPrefix>
  <ActivateTime>sCallTime</ActivateTime>
  <DayTimeStart>sDayTimeStart</DayTimeStart>
  <DayTimeStop>sDayTimeStop</DayTimeStop>
  <DaysCallAllowed>sDaysCallAllowed</DaysCallAllowed>
  <LineSelection>sLineSelection</LineSelection>
  <CampaignName>sCampaignName</CampaignName>
  <Priority>iPriority</Priority>
  <OnAnswerLive>sOnAnswerLive</OnAnswerLive>
  <OnAnswerMachine>sOnAnswerMachine</OnAnswerMachine>
  <OnNotAnswered>sOnNotAnswered</OnNotAnswered>
  <OnRetriesExhausted>sOnRetriesExhausted</OnRetriesExhausted>
  <AnswerTimeout>iAnswerTimeout</AnswerTimeout>
  <RetriesLeft>iRetriesLeft</RetriesLeft>
  <RetriesDelay>iRetriesDelay</RetriesDelay>
  <RV>sRV</RV>
  <CallOptions>sCallOptions</CallOptions>
  <Escalation>
    sEscalation
  </Escalation>
</OutDialEntry>

Where:

sPhoneNumber

Phone number to be dialed.

sPhoneNumberPrefix

Prefix to the phone number to be dialed. Prepended to the phone number before dialing.

sActivateTime 

Time the call is to be made. Format is YYYY-MM-DD HH:NN:SS  If this setting is blank or is omitted then the call will commence immediately. Format may also be: Now+X where X is the number of minutes from the current time that the call should be scheduled for.

sDayTimeStart

Time of the day from which this number can be dialed. Format is: HHNN and the time is specified in 24-hour format. eg: 0800 would mean: this number may be called after 8am. If this setting is blank or is omitted then the call will be allowed to be made from midnight onwards.

sDayTimeStop

Time of the day after which this number can no longer be dialed. Format is: HHNN and the time is specified in 24-hour format. eg: 2100 would mean: do not dial this number after 9pm. If this setting is blank or is omitted then the call will be allowed to be made right up to midnight.

sDaysCallAllowed

On which days of the week can this number be dialed. Format is : [Mo][Tu][We][Th][Fr][Sa][Su]   eg: MoWe would mean: this number may only be called on Mondays and Wednesdays. If this setting is blank or is omitted then the call will be allowed to be made on every day of the week.

sLineSelection

If the outbound call may only be made on particular phone lines then these lines should be listed in this setting. Lines should be specified as a comma delimited list of physical ports (eg: 1,2,3) or of the Dialogic line identifiers (eg: dxxxB1C2,dxxxB1C3). If any of the lines are allowed to to be used setting then this setting should be left blank. eg:  3,4,5 would indicate that the outgoing call can only be made on third, fourth or fifth port.

sCampaignName

User defined name campaign name associated with this call. Used to assist in segregating of outgoing calls based on their porpoise or source etc.

iPriority

At what priority level the calls should be made. A lower number indicates a higher priority. ie: 1 is the highest priority, then 2 etc etc. Number of priority levels is unlimited.

sOnAnswerLive

VoiceGuide script or sound file which will be used when the call is answered by a real person The full path to this script or sound file must be specified. Specifying the starting module can be made using notation: Script Filename|Module Title

sOnAnswerMachine

VoiceGuide script or sound file which will be used when the call is answered by an answering machine. The full path to this sound file or script must be specified. If this setting is blank or is omitted then the sOnAnswerLive setting will be used.
If the word
none is specified, then no file will be played and the call will be hung up. The call will still be considered as having been completed.
If the word retry is specified, then the no file will be played and the call will be hung up, with the call not considered completed - further call attempts will be made.

sOnNotAnswered

VBScript or .EXE/.COM/.BAT/etc. to run when the outgoing call has not been answered.

sOnRetriesExhausted

VBScript or .EXE/.COM/.BAT/etc. to run when the outgoing call has not been answered and there are no more retries left. This command is ran in addition to the OnNotAnswered command.

iAnswerTimeout

How many seconds VoiceGuide will wait for the call to be answered. If this setting is blank or is omitted then the answer timeout will be set to 60 seconds.

iRetriesLeft

How many times VoiceGuide will re-dial the phone number, before abandoning trying to contact this number. If iRetriesLeft is set to 0 then only one call will be made. If this setting is blank or is omitted then a value of 2 will be used. (ie: up to 3 call attempts in total)

iRetriesDelay

How many minutes VoiceGuide will wait between successive attempts (if iCallRetries is set to 1 or more). If this setting is blank or is omitted then a value of 5 will be used.

strRV

List of custom Result Variables which can be used by the VoiceGuide script above. The format of this field is [RvName]{RvValue}. Multiple Result variables can be specified by listing the name-value pairs as needed.

sCallOptions

Used for the specifying of custom call options.

sEscalation

Alternate numbers to be dialed if the call has not been answered. Once the number of retries calling sPhoneNumber is exhausted, then then alternative escalation number will be dialed immediately. Format is in <OutDialEntry>...</OutDialEntry> structure format - this allows for multiple escalation numbers to be specified.

 

Example 1 : Simple message delivery to a single number

Uses :

Any simple message / script delivery.

Scenario: Call a telephone number 5553423, and run script d:\scripts\alarm.vgs when call is answered. Call is to be made immediately. The OutDial file should contain:

<OutDialEntry>
  <PhoneNumber>
5553423</PhoneNumber>
  <
OnAnswerLive>d:\scripts\alarm.vgs</OnAnswerLive>
</OutDialEntry>

 

If the call is not answered then the number will be called up to two more times at 5 minute intervals.

 

Example 2 : Scheduling a call for a particular time.

Uses :

Wake up calls.
Appointment reminder service.
Any announcements which need to be sent out at a particular time.

Scenario: Call the telephone number 5553328 at 6:30 in the morning on a 12th June 2008 and run the script d:\scripts\todays_specials.vgs - passing to the script Result Variables which that script uses (in this case it will be pricing of the items on special for this customer). If an Answering Machine answers then run a modified version of the script which just plays the prices and leaves contact details (d:\scripts\todays_specials_AM.vgs). The OutDial file should contain:

<OutDialEntry>
  <PhoneNumber>
5553328</PhoneNumber>
  <
ActivateTime>2008-06-12 06:30:00</ActivateTime>
  <
OnAnswerLive>d:\scripts\todays_specials.vgs</OnAnswerLive>
  <OnAnswerMachine>
d:\scripts\todays_specials_AM.vgs</OnAnswerMachine>
  <RV>
[ClientID]{123456}[PriceWidget]{125}[PriceDelivery]{7.50}</RV>
</OutDialEntry>

 

Example 3 : Ensuring call is made during particular days/hours.

Uses :

Surveys.
Distributing information to a large client base.
Whenever making a large number of calls and need to ensure that calls are only made between the hours allowed

Scenario: Call the telephone number 5553328 at between 10am and 6pm on any weekday, and run script d:\scripts\paymentoverdue.vgs - passing to the script Result Variables which that script uses (in this case the customer ID and the amount owing). If an Answering Machine answers then run a modified version of the script which just plays the amount owing and leaves contact details (d:\scripts\paymentoverdue_AM.vgs). The OutDial file should contain:

<OutDialEntry>
  <PhoneNumber>
5553328</PhoneNumber>
  <DayTimeStart>1000</DayTimeStart>
  <DayTimeStop>1800</DayTimeStop>
  <DaysCallAllowed>MoTuWeThFr</DaysCallAllowed>
  <
OnAnswerLive>d:\scripts\paymentoverdue.vgs</OnAnswerLive>
  <OnAnswerMachine>
d:\scripts\paymentoverdue_AM.vgs</OnAnswerMachine>
  <RV>
[ClientID]{4453566}[AmountOwing]{14325}</RV>
</OutDialEntry>

 

Specifying the days on which calls can be made and the time range during which the call can be made is useful if a large number of calls are queued and there is a need to ensure that the system will not make the calls on odd days or hours.

When specifying a large number of calls it is usually easier to use the Telephone Number Loader program, rather then specifying all the numbers using the Out Dial file.

Example 4 : Escalated calls

Uses :

Delivering information to on-call staff, with supervisor escalation if calls by main staff not answered.
Follow-me message delivery - where a number of possible contact numbers is given.
Whenever a message needs to be delivered to one of a range of telephone numbers.

Scenario 1: Call the number 5551111 immediately and run the script d:\scripts\alert.vgs - passing to the script Result Variables which that script uses (in this case it will be information on a problem reported by customer). If the number does not answer then wait 5 minutes and try calling it again. If after 3rd call attempt the number still does not answer then try calling 5552222 - again calling up to 3 times at 5 minute intervals. If an answering machine answers the call then start the d:\scripts\alert.vgs script as well (script should be designed to just play the information to caller). If on 3rd call attempt the second number still does not answer then run a VB Script d:\scripts\notanswered.vbs. The OutDial file should contain:

<OutDialEntry>
  <PhoneNumber>
5551111</PhoneNumber>
  <
OnAnswerLive>d:\scripts\alert.vgs</OnAnswerLive>
  <RetriesLeft>2</RetriesLeft>
  <RetriesDelay>5</RetriesDelay>
  <RV>
[ClientID]{554}[Severity]{2}[ContactTel]{5559743}</RV>
  <Escalation>
    <OutDialEntry>
      <PhoneNumber>
5552222</PhoneNumber>
      <
OnAnswerLive>d:\scripts\alert.vgs</OnAnswerLive>
      <RetriesLeft>2</RetriesLeft>
      <RetriesDelay>5</RetriesDelay>
      <RV>
[ClientID]{554}[Severity]{2}[ContactTel]{5559743}</RV>
      <OnRetriesExhausted>
d:\scripts\notanswered.vbs</OnRetriesExhausted>
    </OutDialEntry>
  </Escalation>
</OutDialEntry>

 

Scenario 2: Message delivery to a Line Person only : Call the number 5551111 immediately and run the script d:\scripts\alert.vgs - passing to the script Result Variables which that script uses (in this case it will be information on a problem reported by customer). If the number cannot be reached or if an answering machine answers the call then immediately call another number instead (5552222) and if that number is not answered by a live person then call a third number (5553333). If a live person could not be reached on any of these numbers then wait 10 minutes and try calling all 3 numbers again. If after the second call attempt to all 3 numbers no live person could be reached then run a VB Script d:\scripts\notanswered.vbs In this scenario it is acceptable to deliver the message to a Line Person only, calls answered by Answering Machines will not be regarded as successful message delivery calls and no message will be left on the answering machine. The OutDial file should contain:

<OutDialEntry>
  <PhoneNumber>
5551111</PhoneNumber>
  <
OnAnswerLive>d:\scripts\alert.vgs</OnAnswerLive>
  <OnAnswerMachine>retry</OnAnswerMachine>
  <RetriesLeft>0</RetriesLeft>
  <RV>
[ClientID]{554}[Severity]{2}[ContactTel]{5559743}</RV>
  <Escalation>
    <OutDialEntry>
      <PhoneNumber>
5552222</PhoneNumber>
      <
OnAnswerLive>d:\scripts\alert.vgs</OnAnswerLive>
      <OnAnswerMachine>retry</OnAnswerMachine>
      <RetriesLeft>0</RetriesLeft>
      <RV>
[ClientID]{554}[Severity]{2}[ContactTel]{5559743}</RV>
      <Escalation>
        <OutDialEntry>
          <PhoneNumber>
5553333</PhoneNumber>
          <
OnAnswerLive>d:\scripts\alert.vgs</OnAnswerLive>
          <OnAnswerMachine>retry</OnAnswerMachine>
          <RetriesLeft>0</RetriesLeft>
          <RV>
[ClientID]{554}[Severity]{2}[ContactTel]{5559743}</RV>
          <Escalation>
            <OutDialEntry>
              <PhoneNumber>
5551111</PhoneNumber>
              <CallTime>Now+10</CallTime>
              <
OnAnswerLive>d:\scripts\alert.vgs</OnAnswerLive>
              <OnAnswerMachine>retry</OnAnswerMachine>
              <RetriesLeft>0</RetriesLeft>
              <RV>
[ClientID]{554}[Severity]{2}[ContactTel]{5559743}</RV>
              <Escalation>
                <OutDialEntry>
                  <PhoneNumber>
5552222</PhoneNumber>
                  <
OnAnswerLive>d:\scripts\alert.vgs</OnAnswerLive>
                  <OnAnswerMachine>retry</OnAnswerMachine>
                  <RetriesLeft>0</RetriesLeft>
                  <RV>
[ClientID]{554}[Severity]{2}[ContactTel]{5559743}</RV>
                  <Escalation>
                    <OutDialEntry>
                      <PhoneNumber>
5552222</PhoneNumber>
                      <
OnAnswerLive>d:\scripts\alert.vgs</OnAnswerLive>
                      <OnAnswerMachine>retry</OnAnswerMachine>
                      <RetriesLeft>0</RetriesLeft>
                      <RV>
[ClientID]{554}[Severity]{2}[ContactTel]{5559743}</RV>
                      <OnRetriesExhausted>
d:\scripts\notanswered.vbs</OnRetriesExhausted>
                    </OutDialEntry>
                  </Escalation>
                </OutDialEntry>
              </Escalation>
            </OutDialEntry>
          </Escalation>
        </OutDialEntry>
      </Escalation>
    </OutDialEntry>
  </Escalation>
</OutDialEntry>

 

The above script will result in the numbers being called in the following order : 5551111, 5552222, 5553333, then 10 minutes pause, then 5551111, 5552222, 5553333.

Please note that the above script will only work if Dialogic cards are used - detection of whether a Human or an Answering Machine answers the call can only be made by a Dialogic card - Voice modems report all outgoing calls as 'Connected to a Human' immediately after dialing the number.

 

 

Out Dial file - VoiceGuide v6

The syntax of the OutDial_New.xml file is:

<OutDialEntry>
  <PhoneNumber>sPhoneNumber</PhoneNumber>
  <CallTime>sCallTime</CallTime>
  <DayTimeStart>sDayTimeStart</DayTimeStart>
  <DayTimeStop>sDayTimeStop</DayTimeStop>
  <DaysCallAllowed>sDaysCallAllowed</DaysCallAllowed>
  <LineSelection>sLineSelection</LineSelection>
  <Priority>iPriority</Priority>
  <AnnounceMessage>sAnnounceMessage</AnnounceMessage>
  <OnAnswer>sOnAnswer</OnAnswer>
  <OnAnswerMachine>sOnAnswerMachine</OnAnswerMachine>
  <AnswerTimeout>iAnswerTimeout</AnswerTimeout>
  <CallRetries>iCallRetries</CallRetries>
  <RetryDelay>iRetryDelay</RetryDelay>
  <RV>sRV</RV>
  <OnNotConnected>sOnNotConnected</OnNotConnected>
  <Escalation>
    sEscalation
  </Escalation>
</OutDialEntry>

Where:

sPhoneNumber

Phone number to be dialed.

sCallTime 

Time the call is to be made. Format is any valid time/data format, eg: 5:30 PM, 20 Aug 2004  If this setting is blank or is omitted then the call will commence immediately. Format may also be: Now+X where X is the number of minutes from the current time that the call should be scheduled for.

sDayTimeStart

Time of the day from which this number can be dialed. Format is : HHNN  eg: 0800 would mean: this number may be called after 8am. If this setting is blank or is omitted then the call will be allowed to be made from midnight onwards.

sDayTimeStop

Time of the day after which this number can no longer be dialed. Format is : HHNN  eg: 2100 would mean: do not dial this number after 9pm. If this setting is blank or is omitted then the call will be allowed to be made right up to midnight.

sDaysCallAllowed

On which days of the week can this number be dialed. Format is : [Mo][Tu][We][Th][Fr][Sa][Su]   eg: MoWe would mean: this number may only be called on Mondays and Wednesdays. If this setting is blank or is omitted then the call will be allowed to be made on every day of the week.

sLineSelection

If the outbound call may only be made on particular phone lines then these lines should be listed in this setting. Lines should be specified as a comma delimited list of "LineIDs" (eg: 6,7,8) or of the Dialogic line identifiers (eg: dxxxB1C2,dxxxB1C3). If any of the lines are allowed to to be used setting then this setting should be left blank.

iPriority

At what priority level the calls should be made. A lower number indicates a higher priority. ie: 1 is the highest priority, then 2 etc etc. Number of priority levels is unlimited.

sAnnounceMessage

The sound file which will be played asking the recipient to accept the call if we are using a Voice modem to place calls. If the word none is specified, then no file will be played, and the strOnAnswer setting will be started immediately. The full path to this sound file must be specified.  If this setting is blank or is omitted then VoiceGuide's default sound file will be used.

sOnAnswer

VoiceGuide script or sound file which will be used when the call is answered by a real person (or when a key is pressed by a person accepting the call if a Voice modem is used and we are playing sAnnounceMessage). The full path to this script or sound file must be specified. Specifying the starting module can be made using notation: Script Filename|Module Title

sOnAnswerMachine

VoiceGuide script or sound file which will be used when the call is answered by an answering machine. The full path to this sound file or script must be specified. If this setting is blank or is omitted then the sOnAnswer setting will be used.
If the word
none is specified, then no file will be played and the call will be hung up. The call will still be considered as having been completed.
If the word retry is specified, then the no file will be played and the call will be hung up, with the call not considered completed - further call attempts will be made.

iAnswerTimeout

How many seconds VoiceGuide will wait for the call to be answered. If this setting is blank or is omitted then the answer timeout will be set to 60 seconds.

iCallRetries

How many times VoiceGuide will re-dial the phone number, before abandoning trying to contact this number. If iDialRetries is set to 0 then only one call will be made. If this setting is blank or is omitted then a value of 2 (ie: 3 call attempts in total) will be used.

iRetryDelay

How many minutes VoiceGuide will wait between successive attempts (if iCallRetries is set to 1 or more). If this setting is blank or is omitted then a value of 5 will be used.

strRV

List of custom Result variables which can be used by the VoiceGuide script above. The format of this field is [RvName]{RvValue}. Multiple Result variables can be specified by listing the name-value pairs as needed.

sOnNotConnected

Command or a VB Script to run when the call attempt goes unanswered. Result Variables relating to the call just made may be used as part of the command or VB Script (this includes Result Variables which will indicate if there are any redial retries left for this telephone number).

sEscalation

Alternate numbers to be dialed if the call has not been answered. Once the number of retries calling sPhoneNumber is exhausted, then then alternative escalation number will be dialed immediately. Format is in <OutDialEntry>...</OutDialEntry> structure format - this allows for multiple escalation numbers to be specified.

 

Example 1 : Simple message delivery to a single number

Uses :

Any simple message / script delivery.

Scenario: Call a telephone number 5553423, and run script d:\scripts\alarm.vgs when call is answered. Call is to be made immediately. The OutDial_New.xml file should contain:

<OutDialEntry>
  <PhoneNumber>
5553423</PhoneNumber>
  <OnAnswer>
d:\scripts\alarm.vgs</OnAnswer>
</OutDialEntry>

 

If the call is not answered then the number will be called up to two more times at 5 minute intervals.

 

Example 2 : Scheduling a call for a particular time.

Uses :

Wake up calls.
Appointment reminder service.
Any announcements which need to be sent out at a particular time.

Scenario: Call the telephone number 5553328 at 6:30 in the morning on a 24th August 2004 and run the script d:\scripts\todays_specials.vgs - passing to the script Result Variables which that script uses (in this case it will be pricing of the items on special for this customer). If an Answering Machine answers then run a modified version of the script which just plays the prices and leaves contact details (d:\scripts\todays_specials_AM.vgs). The OutDial_New.xml file should contain:

<OutDialEntry>
  <PhoneNumber>
5553328</PhoneNumber>
  <CallTime>6:30 AM, 24 Aug 04</CallTime>
  <OnAnswer>
d:\scripts\todays_specials.vgs</OnAnswer>
  <OnAnswerMachine>
d:\scripts\todays_specials_AM.vgs</OnAnswerMachine>
  <RV>
[ClientID]{123456}[PriceWidget]{125}[PriceDelivery]{7.50}</RV>
</OutDialEntry>

 

Example 3 : Ensuring call is made during particular days/hours.

Uses :

Surveys.
Distributing information to a large client base.
Whenever making a large number of calls and need to ensure that calls are only made between the hours allowed

Scenario: Call the telephone number 5553328 at between 10am and 6pm on any weekday, and run script d:\scripts\paymentoverdue.vgs - passing to the script Result Variables which that script uses (in this case the customer ID and the amount owing). If an Answering Machine answers then run a modified version of the script which just plays the amount owing and leaves contact details (d:\scripts\paymentoverdue_AM.vgs). The OutDial_New.xml file should contain:

<OutDialEntry>
  <PhoneNumber>
5553328</PhoneNumber>
  <DayTimeStart>1000</DayTimeStart>
  <DayTimeStop>1800</DayTimeStop>
  <DaysCallAllowed>MoTuWeThFr</DaysCallAllowed>
  <OnAnswer>
d:\scripts\paymentoverdue.vgs</OnAnswer>
  <OnAnswerMachine>
d:\scripts\paymentoverdue_AM.vgs</OnAnswerMachine>
  <RV>
[ClientID]{4453566}[AmountOwing]{14325}</RV>
</OutDialEntry>

 

Specifying the days on which calls can be made and the time range during which the call can be made is useful if a large number of calls are queued and there is a need to ensure that the system will not make the calls on odd days or hours.

When specifying a large number of calls it is usually easier to use the Telephone Number Loader program, rather then specifying all the numbers using the Out Dial file.

Example 4 : Escalated calls

Uses :

Delivering information to on-call staff, with supervisor escalation if calls by main staff not answered.
Follow-me message delivery - where a number of possible contact numbers is given.
Whenever a message needs to be delivered to one of a range of telephone numbers.

Scenario 1: Call the number 5551111 immediately and run the script d:\scripts\alert.vgs - passing to the script Result Variables which that script uses (in this case it will be information on a problem reported by customer). If the number does not answer then wait 5 minutes and try calling it again. If after 3rd call attempt the number still does not answer then try calling 5552222 - again calling up to 3 times at 5 minute intervals. If on 3rd call attempt the second number still does not answer then run a VB Script d:\scripts\alert.vgs If an answering machine answers the call then start the d:\scripts\alert.vgs script as well (script should be designed to just play the information to caller). In this scenario it is acceptable to deliver the message to either a Line Person or to an Answering Machine. The OutDial_New.xml file should contain:

<OutDialEntry>
  <PhoneNumber>
5551111</PhoneNumber>
  <OnAnswer>
d:\scripts\alert.vgs</OnAnswer>
  <CallRetries>2</CallRetries>
  <RetryDelay>5</RetryDelay>
  <RV>
[ClientID]{554}[Severity]{2}[ContactTel]{5559743}</RV>
  <Escalation>
    <OutDialEntry>
      <PhoneNumber>
5552222</PhoneNumber>
      <OnAnswer>
d:\scripts\alert.vgs</OnAnswer>
      <OnAnswerMachine>retry</OnAnswerMachine>
      <CallRetries>2</CallRetries>
      <RetryDelay>5</RetryDelay>
      <RV>
[ClientID]{554}[Severity]{2}[ContactTel]{5559743}</RV>
      <OnNotConnected>
d:\scripts\nosupport.vbs</OnNotConnected>
    </OutDialEntry>
  </Escalation>
</OutDialEntry>

 

Scenario 2: Message delivery to a Line Person only : Call the number 5551111 immediately and run the script d:\scripts\alert.vgs - passing to the script Result Variables which that script uses (in this case it will be information on a problem reported by customer). If the number cannot be reached or if an answering machine answers the call then immediately call another number instead (5552222) and if that number is not answered by a live person then call a third number (5553333). If a live person could not be reached on any of these numbers then wait 10 minutes and try calling all 3 numbers again. If after the second call attempt to all 3 numbers no live person could be reached then run a VB Script d:\scripts\nosupport.vbs In this scenario it is acceptable to deliver the message to a Line Person only, calls answered by Answering Machines will not be regarded as successful message delivery calls and not message will be left on the answering machine. The OutDial_New.xml file should contain:

<OutDialEntry>
  <PhoneNumber>
5551111</PhoneNumber>
  <OnAnswer>
d:\scripts\alert.vgs</OnAnswer>
  <OnAnswerMachine>retry</OnAnswerMachine>
  <CallRetries>0</CallRetries>
  <RV>
[ClientID]{554}[Severity]{2}[ContactTel]{5559743}</RV>
  <Escalation>
    <OutDialEntry>
      <PhoneNumber>
5552222</PhoneNumber>
      <OnAnswer>
d:\scripts\alert.vgs</OnAnswer>
      <OnAnswerMachine>retry</OnAnswerMachine>
      <CallRetries>0</CallRetries>
      <RV>
[ClientID]{554}[Severity]{2}[ContactTel]{5559743}</RV>
      <Escalation>
        <OutDialEntry>
          <PhoneNumber>
5553333</PhoneNumber>
          <OnAnswer>
d:\scripts\alert.vgs</OnAnswer>
          <OnAnswerMachine>retry</OnAnswerMachine>
          <CallRetries>0</CallRetries>
          <RV>
[ClientID]{554}[Severity]{2}[ContactTel]{5559743}</RV>
          <Escalation>
            <OutDialEntry>
              <PhoneNumber>
5551111</PhoneNumber>
              <CallTime>Now+10</CallTime>
              <OnAnswer>
d:\scripts\alert.vgs</OnAnswer>
              <OnAnswerMachine>retry</OnAnswerMachine>
              <CallRetries>0</CallRetries>
              <RV>
[ClientID]{554}[Severity]{2}[ContactTel]{5559743}</RV>
              <Escalation>
                <OutDialEntry>
                  <PhoneNumber>
5552222</PhoneNumber>
                  <OnAnswer>
d:\scripts\alert.vgs</OnAnswer>
                  <OnAnswerMachine>retry</OnAnswerMachine>
                  <CallRetries>0</CallRetries>
                  <RV>
[ClientID]{554}[Severity]{2}[ContactTel]{5559743}</RV>
                  <Escalation>
                    <OutDialEntry>
                      <PhoneNumber>
5552222</PhoneNumber>
                      <OnAnswer>
d:\scripts\alert.vgs</OnAnswer>