typedef enum { TreatmentUnknown, TreatmentIVR, TreatmentMusic, TreatmentRingBack, TreatmentSilence, TreatmentBusy, TreatmentCollectDigits, TreatmentPlayAnnouncement, TreatmentPlayAnnouncementAndDigits, TreatmentVerifyDigits, TreatmentRecordUserAnnouncement, TreatmentDeleteUserAnnouncement, TreatmentCancelCall, TreatmentPlayApplication, TreatmentSetDefaultRoute, TreatmentTextToSpeech, TreatmentTextToSpeechAndDigits, TreatmentFastBusy, TreatmentRAN, } TTreatmentType;
TreatmentUnknown
—
Reserved to catch improperly formatted requests.
TreatmentIVR
—
Treatment type is IVR. Used to connect the call specified
by conn_id
to the IVR.
The following table lists key-value pair(s) used in
the attribute parameters
for TreatmentIVR:
|
|
---|---|
LABEL |
|
DNIS |
|
TreatmentMusic
—
Treatment type is music. Music Treatment is used to connect
the call specified by conn_id
to the music source.
The following table lists key-value pair(s) used in
the attribute parameters
for TreatmentMusic:
|
|
---|---|
MUSIC_DN
|
|
TreatmentRingBack
—
Treatment type is ring back. Ring back treatment is used
to connect the call specified by conn_id
to a Ring
Back Tone source.
TreatmentSilence
—
Treatment type is silence. Silence treatment is used to connect
the call specified by conn_id
to a silence source.
TreatmentBusy
—
Treatment type is busy. Busy Treatment is used to connect
the call specified by conn_id
to a busy tone source.
TreatmentCollectDigits
—
Treatment type is collect digits. Collect digits is used
to collect digits from the calling party.
The following table lists key-value pair(s) used in
the attribute parameters
for TreatmentCollectDigits:
|
|
---|---|
|
31. Note
that the Maximum number of digits may be equal to
0. In this case, no time should be spent
waiting for the calling party to input digits, and a response should
be returned indicating that 0
digits have been collected.
|
|
|
|
|
|
|
|
TERM_DIGITS, to be returned to the
calling application as the collected digits.
|
|
|
|
GR-1129-CORE protocol implementation. Valid values
are 1 and 2 of type KVTypeInt .
See TClearFlag.
|
|
|
|
|
|
|
TreatmentPlayAnnouncement
—
Treatment type is play announcement. Used to play an announcement
block to the calling party. The entire announcement block can consist
of a series of announcement elements pieced together. Each announcement
element can be Interruptable or non-Interruptable.
TreatmentPlayAnnouncement,
if the INTERRUPTABLE
flag
is missing, then the resulting behavior is device specific.
The following table lists key-value pair(s) used in the
attribute parameters
for TreatmentPlayAnnouncement:
|
|
---|---|
|
1 to 10. |
|
INTERRUPTABLE (Boolean 0/1 )—indicates
whether a caller can interrupt the announcement. One
of the following three options (mutually exclusive): ID integer —ID
of a message to play DIGITS —numbers to pronounce. First
digit defines how the digits are to be pronounced:
0 —one at a time
1 —date
2 —time
3 —phone number
4 —money USER_ID —contains a user ID string
USER_ANN_ID, User Announcement ID (integer),
is returned earlier after successful RecordUserAnnouncement()
request.TEXT —ASCII text to pronounce
using text-to-speech technology (if supported by the IVR equipment).
|
|
English (US) Spanish Mandarin
Cantonese Vietnamese French French (Canada)
German Italian Japanese Korean
Russian |
For more information on the use of key-value pairs with
TreatmentPlayAnnouncement,
See the example in the Comments
section below.
TreatmentPlayAnnouncementAndDigits
—
Treatment type is play announcement and digits. It is used
to play an announcement block and collect digits from the calling
party. Typically, an announcement includes instructions asking the
calling party to provide some information.
TreatmentPlayAnnouncementAndDigits,
if the
INTERRUPTABLE
flag is missing, then the resulting behavior
is device specific.
Key-value pair(s) used in the attribute parameters
for
TreatmentPlayAnnouncementAndDigits:
All
of the PlayAnnouncement
and CollectDigit
parameters are recognized.
TreatmentVerifyDigits
—
Treatment type is digits verification. It is used to prompt
a calling party to enter digits that will be compared with a desired
response.
The following table lists key-value pair(s) used in
the attribute parameters
for TreatmentVerifyDigits:
|
|
---|---|
|
|
|
|
|
|
|
GR-1129-CORE document. Each
announcement block may contain only one announcement element. The
announcement element must be of announcement ID type. Digit announcements
or user announcements must not be used. This means that the only
currently accessible format for these announcements is:“PROMPT.1.ID"=<integer
announcement ID> "REPROMPT.1.ID"=< integer announcement
ID> "FAILURE.1.ID"=< integer announcement ID>
"SUCCESS.1.ID"=< integer announcement ID> |
|
|
|
|
|
COMPARE_<xxxx> options
are mutually exclusive and only one may be present at a time.
|
|
|
|
|
|
|
|
|
|
31. Note
that
NUM_DIGITS may be equal to 0. In
this case, no time should be spent waiting for the caller input
digits, and a response should be returned indicating 0
digits collected.
|
|
|
|
|
|
|
|
TERM_DIGITS, to be returned to the calling
application as collected digits.
|
|
|
|
GR-1129-CORE protocol implementation. Valid values
are 1 and 2 of KVTypeInt type.
See TClearFlag.
|
|
|
|
|
|
|
TreatmentRecordUserAnnouncement
—
Treatment type is record user announcement. It is used to
create a user-specific announcement. Treatment device returns an
announcement ID for a newly created announcement, which the application
may use later to trigger playback of the user-specific announcement.
The following table lists key-value pair(s) used in
the attribute parameters
for TreatmentRecordUserAnnouncement:
|
|
---|---|
|
PlayAnnouncement, with additional limitations
imposed by the current version of the GR-1129-CORE document.
Each announcement block may contain up to 10 announcement elements.
In addition, the announcement element must be of announcement ID type.
Digit announcements or user announcements must not be used.
|
|
|
|
|
|
|
|
|
|
|
|
|
TreatmentDeleteUserAnnouncement
—
Treatment type is delete user announcement. It is used to
remove the user-specific announcement from an IVR.
The following table lists key-value pair(s) used in
the attribute parameters
for TreatmentDeleteUserAnnouncement:
|
|
---|---|
|
|
|
|
TreatmentCancelCall
—
Treatment type is cancel. It is used to terminate processing
asynchronously for a given call in progress (that is, the call should
be disconnected). This message should not be used for the normal
ending of a conversation between T-Server and IVR.
EventReleased
is expected to be sent in
response to the request to cancel. If partial or full input is collected
prior to receiving this treatment, then the appropriate EventTreatmentApplied
and
EventTreatmentEnd
events containing the input data
may be sent just before EventReleased.
The following table lists key-value pair(s) used in
the attribute parameters
for TreatmentCancelCall:
|
|
---|---|
REPORT |
1, T-Server waits for a response
from the IVR that a request was or was not processed. If set to 0 or
not specified, then T-Server does not wait for a confirmation from
the IVR and follows a call scenario.
|
TreatmentPlayApplication
—
Treatment type is play application. It is used to execute
an application or a script on the IVR device. It is possible to
pass parameters to the application and to get some return values.
The standards do not limit what can be exchanged in parameters;
they only specify a way these parameters should be encoded.
The following table lists key-value pair(s) used in
the attribute parameters
for TreatmentPlayApplication:
|
|
---|---|
APP_ID |
|
KVList,
but is converted to or from an integer type
by T-Server. Actual values of these parameters are application specific.
The type of
KVList
entries can be as follows:
Integer
—passed as an integer to the IVR.
String
—passed as digits to the IVR (digits only, no
characters).
Binary
—passed as a string to IVR.
Return parameters from the application are passed in the Extensions
attribute
in EventTreatmentEnd.
Integer IDs are
used as the keys; the values are application specific; and the type
conversion is as follows:
Integer
—passed as a KVList integer.
Boolean
—passed as a KVList boolean.
Digits
—passed as a KVList string.
String
—passed as a KVList string.
Real
—not supported.
TreatmentSetDefaultRoute
—
Treatment type is
SetDefaultRoute.
Sets default routing destination
that is specified in the parameter dn
in the call to
TApplyTreatment()
. The default routing destination
is common for every object controllable
by the IVR. The IVR can forward calls to that destination when there
is no response from Genesys Interaction Router (IR) within the specified
timeout defined in the IVR or when the connection to T-Server is
lost.
TreatmentTextToSpeech
—
Treatment type is text to speech. It is essentially the same
as TreatmentPlayAnnouncement,
where all announcement
elements are of type TEXT.
TextToSpeech,
however, is a less flexible option because it does not allow recorded announcements
with text-to-speech synthesis to be intermixed in a single block;
on less sophisticated equipment, it may be the only option available.
TreatmentTextToSpeech,
if the INTERRUPTABLE
flag
is missing, then the resulting behavior is device specific.
The following table lists key-value pair(s) used in
the attribute parameters
for TreatmentTextToSpeech:
|
|
---|---|
|
1 to 10. |
|
INTERRUPTABLE (Boolean 0/1 )—indicates
whether caller can interrupt the announcement. TEXT —
ASCII text to pronounce using text-to-speech technology.
|
|
|
TreatmentTextToSpeechAndDigits
—
Treatment type that requires generating speech from the text,
then collecting digits. Typically the speech request would include
instructions asking the caller to provide some input.
Key-value pair(s) used in the attribute parameters
for
TreatmentTextToSpeechAndDigits:
All of the
TextToSpeech
and CollectDigit
parameters are recognized.
TreatmentFastBusy
—
Treatment type is
FastBusy.
It is used to connect the call
specified by conn_id
to a fast busy tone source.
Key-value pair(s) used in the attribute parameters
for
TreatmentFastBusy:
none
TreatmentRAN
—
Treatment type is
RAN.
It is used to connect the call specified
by conn_id
to the RAN
source.
One key-value pair is used in the attribute parameters
for
TreatmentRAN:
RAN
—
The directory number of RAN
source.
The following example shows how to use the key-value
pairs for TreatmentPlayAnnouncement.
In this example, the KVList
parameter requests
T-Server to play three announcements in sequence. The first, an
announcement with ID
123,
should be played; the second, an amount
of money ($10
US), should be pronounced; and, finally,
a user-defined announcement (with ID 456
and user ID
1234
) should be played. Only the first announcement is
non-interruptable.
"PROMPT.1.INTERRUPTABLE"=0 "PROMPT.1.ID"=123 "PROMPT.2.INTERRUPTABLE"=1 "PROMPT.2.DIGITS"="31000" "PROMPT.3.INTERRUPTABLE"=1 "PROMPT.3.USER_ID"="1234" "PROMPT.3.USER_ANN_ID"=456
.
) means child; that
is, a KVPair
"INTERRUPTABLE"=0
belongs
to KVList 1,
which in turn belongs to KVList
PROMPT.