Announcements Components

MATRIXX Engine uses announcement pricing components for determining the list of announcements to play to a subscriber during a voice call, and the language they must be played in. You configure announcement data to be dynamic, so a different result occurs based on conditions that are valid at the time of rating.

You must define the following catalog components for announcements: announcement servers, announcement details, and the list of announcement variables that can be used in variable announcements.

If you are designing announcement menu services, you must also configure:
  • Announcement menu actions containing the announcement menu service IDs.
  • Announcement prompt collect pricing components that define parameters for collecting digits from the subscriber when playing menu option announcements.

You configure announcement servers and then configure the announcement details for each announcement that can be played on each pod. Then you can add lists of announcement details to PostRating profiles. A PostRating profile is selected dynamically during rating by the PostRating generator associated with the service being used, based on the contents of the rating message being processed. The profile determines the list of announcements that can be played to the subscriber and the order in which they are played.

For information about configuring announcement pricing components, see the discussion about configuring announcements in My MATRIXX Help. For information about configuring PostRating pricing components, see the discussion about configuring PostRating in My MATRIXX Help.

Announcement Pods

An announcement pod is a catalog component that specifies the details of an Interactive Voice Response (IVR) system on which to play announcements, such as the address of the IVR, and whether it is internal or external.

Announcement Details

Announcement details are catalog components that specify the details of an announcement to play, such as the message ID and language for the announcement, and the announcement server ID of the Interactive Voice Response (IVR) on which the announcement is played.

An announcement can contain a fixed message or it can contain a message with a maximum of five variable parts, such as place holders for balances, dates, times, and amounts.

Example fixed message:

Your balance is low.

Example variable message:

Your balance is low: n_cents cents has been allocated for this call where n_cents is replaced by the quota in cents allocated for the call.

Announcement Variables

An announcement variable defines the source for a variable you want to use in announcements and the variable type. It can be based on fields in the MtxDiamRoMsg MDC, fields in custom extensions of MtxDiamRoMsg, or subscriber balances (using balance class and an optional balance template). For information about balances in announcements, see the discussion about playing balances in announcements in MATRIXX Call Control Framework Integration.

When you create an announcement variable, it is added to the list of available announcement variables. You can then select and add the variable to announcement details records. The variable is substituted for a value when the announcement is played.
Note: You can use the same announcement variable in multiple announcements.

Announcement Menu Actions

An announcement menu action specifies the service ID of an announcement menu service.

You can assign an announcement menu action to a PostRating profile. If the profile is selected during rating, MATRIXX Engine sends the announcement menu service ID in an MtxMenuNotification MDC to the Notification Server for processing. The Apache Camel Freemarker template files associated with the MtxMenuNotification define the logic used to perform the announcement menu service logic.

When designing an announcement menu service, you must create a PACUI PostRating profile for each menu in the menu hierarchy for which the subscriber is invited to select an option. You must assign a prompt collect to the profile, and add the announcements to the profile to play to the user before the user selects an option from the menu. You can use a PlayAnnouncement profile (one that does not have a prompt collect assigned to it) if the subscriber is not required to select an option, for example, to play announcements confirming the end of the menu service.

For more information about announcement menus, see the discussion about announcements (IVR) and USSD menus in MATRIXX Call Control Framework Integration.

Announcement Prompt Collects

An announcement prompt collect is a catalog component that defines parameters for PromptAndCollectUserInformation (PACUI) operations that can be sent in TCAP messages.

You can assign an announcement prompt collect component to a PostRating profile. If the profile is selected during rating, or as the result of announcement menu service logic, MATRIXX sends the list of announcements to play to the announcement pod in a PACUI operation instead of a PlayAnnouncement operation. The PACUI operation allows the caller to interrupt an announcement playing on the announcement pod by pressing digits on their handset. The digits collected can then be used for determining what action to take next.

Note: You can assign announcement prompt collect objects only to profiles that use an announcement pod for which the Both Way Through Connection field is either set to Both Way Path Required, or to Not Set. These settings allow the announcement pod to use the sound path between it and the caller, in both directions. If the Both Way Through Connection field is set to Both Way Path Not Required, the sound path from the caller to the announcement pod is disabled and you cannot use the announcement pod for PACUI announcements.

Voice over Long-Term Evolution (VoLTE) Announcements

VoLTE announcement requests are sent to the network using the Diameter protocol instead of using the Camel protocol. You can configure announcement servers to handle either VoLTE announcement requests or Camel announcement requests, but not both. You can configure multiple Camel announcement servers per pricing file, but you can configure only one VoLTE announcement pod.

You can configure a PostRating profile to use the VoLTE announcement pod. If the profile, selected by the PostRating generator during rating, uses the VoLTE announcement pod, then announcement requests are sent to the network using the Diameter protocol instead of the Camel protocol. MATRIXX Engine generates Diameter Announcement-Information AVPs to send to the network based on the announcement details records listed in the selected PostRating profile.

For more information about VoLTE announcements and Diameter Announcement-Information AVPs, see the discussion about support for handling VoLTE announcements in MATRIXX Diameter Integration.

PostRating Profiles

A PostRating profile defines the actions that can be applied to a message after it has been processed by rating. You assign different pricing components to a PostRating profile, depending on how it will be used.

You can use PostRating profiles to specify:
  • The announcement pod to use for playing announcements.
  • A list of announcements to play to the subscriber for different languages, where each language can have up to 16 announcements. The list of announcements available for inclusion in the profile is filtered based on the announcement pod assigned to the profile.
  • A menu action where the menu action identifies a menu service to activate.
  • A menu action and list of data modify actions.
  • A list of announcements and a list of data modify actions.
Note: A data modify action in a PostRating profile defines how to manipulate a field value in the Mtx5GMsg MDC, MtxDiamRoMsg MDC, MtxTcapMsg MDC, or descendant of these MDCs, after the message has been processed by rating. You can use data modify actions as an alternative method to selective updates for manipulating field values.

For information about configuring data modify actions, see the discussion about data modify actions in My MATRIXX Help.

The PostRating profile also defines the default language to use for playing announcements. Announcements are played in the subscriber's preferred language, if available. If the ServiceInfo.VcsInfo.Language field in the MtxDiamRoMsg MDC is set, it overrides the subscriber's preferred language so that announcements can be played in that language instead. If the subscriber preference, or VcsInfo override, specifies a language for which there are no announcements in the profile, then the announcements of the profile default language are used.
Note: You can set ServiceInfo.VcsInfo.Language by using a normalizer, system attribute, or selective updates. ServiceInfo is only available in MtxDiamRoMsg.
You add PostRating profiles to PostRating generator tables. The profile selected during rating determines:
  • Which announcements, if any, are played to the caller.
  • Whether to prompt for and collect user information.
  • Whether an announcement menu is activated.
  • Whether any post-rating data modify actions are performed.
You can create an empty profile (one that does not have any post rating actions assigned to it) and add it to a PostRating generator table. When an empty profile is selected during rating because of a decision table, no further actions are performed. The advantage of this approach is that if you have multiple decision tables in the generator and an early decision table determines that no further action is needed, then you can select the empty profile without having to ensure that all following decision tables select SKIP.

PostRating Generators

A PostRating generator is a catalog component that implements the logic that determines which PostRating profile to select dynamically during rating based on normalization results.

The PostRating generator selects which profile to use after the charging logic has determined the appropriate charging rate and reservation. This means that all the information about the size of reservation and the remaining balances is available to the decision tables when selecting which profile to use.

A PostRating generator is comprised of one or more PostRating tables. Each table has a decision table for mapping a set of one or more normalization parameter values to a set of results. Each decision table result is either a PostRating profile or a SKIP. A SKIP value tells MATRIXX Charging Application to skip that table because it does not apply, and to move on to the next table if one exists. If the conditions are valid for a profile in that table, it is selected. If a SKIP value is selected and there are no more PostRating tables to examine, or if an empty profile is selected, then no PostRating actions are performed.