Announcement MDCs

Camel announcement MATRIXX Data Containers (MDCs) include MtxAnnouncementServerConnectionData, MtxAnnouncementValueData, MtxAnnouncementVariableValueData, and MtxAnnouncementPromptCollectData.

The Camel announcement MDCs are generated when a PostRating generator is executed for a voice service, and the selected generator returns a profile ID for a list of announcements that use a Camel announcement pod. The Camel announcement MDCs contain details of the announcement pod on which to play the announcements and details of the announcements to play, specifying for each announcement, the elementary message ID and an optional list of up to five variables.

The announcement data is copied to fields in the outgoing MtxDiamRoMsg MDC:

If the announcement pod is external, you can configure the announcement pod to route announcement related voice traffic to the Network Enablers nearest to the engine handling the call by configuring a list of Engine ID to SCF ID mappings for the announcement pod. The list of mappings is included in the AnnouncementServerConnection data in a MtxEngineScfIdData MDC.

If the selected generator returns a profile ID for a list of announcements that use a Voice over Long-Term Evolution (VoLTE) announcement pod, then the service logic generates VoLTE announcement MDCs and announcement requests are sent to the network using the Diameter protocol instead of Camel. For information about VoLTE announcements and VoLTE announcement MDCs, see the discussion about support for handling VoLTE announcements in MATRIXX Diameter Integration.

For information about configuring announcement servers, see the discussion about announcement servers in My MATRIXX Help.

MtxAnnouncementServerConnectionData MDC

The MtxAnnouncementServerConnectionData MDC has the connection details of the pod on which to play announcements. It has the following structure:
MtxAnnouncementServerConnectionData {
    string Address
    bool IsExternal
    bool IsCorrelationIdInAddress
    unsigned int8 AddressPlanFlag
    unsigned int8 AddressType
    string ServiceControlFunctionId
    unsigned int32 TwoWayConnectionFlag
    unsigned int32 CorrelationIdSize
    unsigned int32 ExtraConnectToResourceFlag
    MtxEngineScfIdData EngineScfIdList
}
MtxAnnouncementServerConnectionData MDC Fields describes the MtxAnnouncementServerConnectionData fields.
Table 1. MtxAnnouncementServerConnectionData MDC Fields
MDC Field Type Description
Address String The address (using up to 24 digits) of the announcement pod (IVR).
IsExternal Boolean Whether the announcement pod is internal or external.
IsCorrelationIdInAddress Boolean Whether the correlation ID is included in the address.
AddressPlanFlag UINT 8 The numbering plan to use.
AddressType UINT 8 Nature of address indicator.
ServiceControlFunctionId String The default SCF ID. The SCF ID must contain only hexadecimal characters in the range 0–9, A-F. If IsCorrelationIdInAddress is not set, the SCF ID must contain an even number of characters.
TwoWayConnectionFlag UINT 32 Sets the both way though connection indicator for the announcement pod:
  • 0 — Not set.
  • 1 — Both way path required.
  • 2 — Both way path not required.
CorrelationIdSize UINT 32 Sets the length of correlation ID to use. When set to 0, CCF uses the TCAP transaction ID as the correlation ID.
ExtraConnectToResourceFlag UINT 32 Whether to send an extra ConnectToResource (CTR) operation to the external server in a separate TCAP CONTINUE message before sending the first PlayAnnouncement or PACUI operation. One of:
  • 0 or not present (default). — Do not send an extra CTR.
  • 1 — Send an extra CTR with the bothwayThroughConnectionInd parameter not set.
  • 2 — Send an extra CTR with the bothwayThroughConnectionInd parameter set to 0 (bothway path required).
  • 3 — Send an extra CTR with the bothwayThroughConnectionInd parameter set to 1 (bothway path not required).
Note: Sending an extra CTR before the first PlayAnnouncement or PACUI (prompt and collect) operation is non-standard functionality that is not supported by most external IVRs.
EngineScfIdList List of MtxEngineScfIdData MDCs List of Engine ID to SCF ID mappings. Each SCF ID must contain only hexadecimal characters in the range 0–9, A-F. If IsCorrelationIdInAddress is not set, each SCF ID must contain an even number of characters.
MtxEngineScfIdData MDCs describes MtxEngineScfIdData fields.
Table 2. MtxEngineScfIdData MDCs
MDC Field Type Description
EngineId UNINT 32 The engine ID
ScfId String The SCF ID

MtxAnnouncementValueData MDCs

Each MtxAnnouncementValueData MDC has details of an announcement to play. MtxAnnouncementValueData MDCs have the following structure:
MtxAnnouncementValueData {
    unsigned int32 Order
    unsigned int32 BasicMsgId
    unsigned int16 TimeOutInSeconds
    MtxAnnouncementVariableValueData VariableList
}
MtxAnnouncementValueData MDC Fields describes the MtxAnnouncementValueData fields.
Table 3. MtxAnnouncementValueData MDC Fields
MDC Field Type Description
Order UINT 32 Sets the play order for the announcement.
BasicMsgId UINT 32 Message ID of the announcement on the announcement pod.
TimeOutInSeconds UINT 16 Number of seconds available for playing the announcement before the announcement times out.
VariableList MtxAnnouncementVariableValueData

(MDC)

Optional list of up to five variables to be substituted for values when the announcement is played.

MtxAnnouncementVariableValueData MDC

Each MtxAnnouncementVariableValueData MDC has details of an announcement variable. The VariableList field in the MtxAnnouncementValueData MDC can contain a maximum of five MtxAnnouncementVariableValueData MDCs. The MDCs have the following structure:
MtxAnnouncementVariableValueData {
    unsigned int32 Order
    unsigned int16 Type
    unsigned int32 Int
    string PhoneNumber
    unsigned int16 Time
    unsigned int32 Date
    unsigned int32 Price
}
Note: Each MtxAnnouncementVariableValueData MDC has exactly one of the five variable fields (Int, PhoneNumber, Time, Date, or Price). The variable field matches the variable type.
MtxAnnouncementVariableValueData MDC Fields describes the MtxAnnouncementVariableValueData MDC fields.
Table 4. MtxAnnouncementVariableValueData MDC Fields
MDC Field Type Description
Order UINT 32 Sets the order in which the variable is used in the announcement.
Type UINT 16 Sets the type of variable, one of:
  • 0 — Integer
  • 1 — Number
  • 2 — Time
  • 3 — Date
  • 4 — Price
Int UINT 32 4 byte integer value.
PhoneNumber String Phone number string (up to 24 digits).
Time UINT 16 BCD encoded time in the format HH:MM.
Date UINT 32 BCD encoded date in the format YYYYMMDD.
Price UINT 32 BCD encoded 4 byte integer to interpret as a price in the format AAAAAABB, where AAAAAA represents the digits before an implied decimal point, and BB represents the digits after the implied decimal point.

MtxAnnouncementPromptCollectData MDC

MtxAnnouncementPromptCollectData MDCs contain prompt and collect configuration details as follows:
MtxAnnouncementPromptCollectData {
    unsigned int8 MinDigitCount
    unsigned int8 MaxDigitCount
    string EndOfReplyDigit
    string CancelDigit
    string StartDigit
    unsigned int8 FirstDigitTimeOutInSeconds
    unsigned int8 InterveningDigitTimeOutInSeconds
    unsigned int8 ErrorTreatment
    unsigned int8 InterruptableAnnouncementFlag
    unsigned int8 VoiceInfo
    unsigned int8 VoiceBack
}
MtxAnnouncementPromptCollectData MDC Fields describes the MtxAnnouncementPromptCollectData MDC Fields.
Table 5. MtxAnnouncementPromptCollectData MDC Fields
MDC Field Type Description
MinDigitCount UINT 8 Sets the minimum number of digits to collect (1 to 16).
MaxDigitCount UINT 8 Sets the maximum number of digits to collect (1 to 16).
EndOfReplyDigit String Specifies a maximum of two digits to use to signal the end of input.
CancelDigit String Specifies a maximum of two digits the user can enter to request a retry of the digit collection.
StartDigit String Specifies the digits that indicate the start of valid input. Digits received before the start digits are discarded as invalid.
FirstDigitTimeOutInSeconds UINT 8 Sets the maximum number of seconds allowed for the caller to enter the first digit.
InterveningTimeOutInSeconds UINT 8 Sets the maximum number of seconds allowed between each digit.
ErrorTreatment UINT 8 Specifies the action the SRF (INAP) or gsmSRF (CAP4) must take if an error occurs:
  • 0 — stdErrorAndInfo
  • 1 — help
  • 2 — repeatPrompt
InterruptableAnnouncementFlag UINT 8 Whether the announcement is interrupted after the first digit has been entered. The default value is 1 (true).
VoiceInfo UINT 8 Whether user information must be provided by speech (true) or by DTMF (false). The default value is 0 (false).
VoiceBack UINT 8 Whether to announce the valid digits back to the user immediatedly after the end of input digit is received. The default value is 0 (false).