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>