Partial Session Usage Event Detail Record
While the Event Detail Record (EDR) for aggregated usage generates events every hour, every day, every month or on the bill cycle, the partial session usage EDR generates usage aggregation events by session and time with configurable periods relative to the session start.
MtxSessionMonitorEvent reports partial session usage at a configurable interval relative to the session start time. One MtxSessionMonitorEvent generates per session containing the total usage for each rating group, for the configured interval.
MtxSessionMonitorEvent also generates at the end of the session. Each MtxSessionMonitorEvent has a SessionId, serviceTypeId, SessionMonitor interval start time and end time, and a list of Session Context Usage Quantity Records. Each record definines the ContextId, UsageQuantityType, QuantityUnit and MsgAmount.
MtxServiceTypeObject has additional fields for this feature, including SessionMonitorEventEnabled, which indicates if the MtxSessionMonitorEvents are to generate for the ServiceType. If this option is selected then SessionMonitorIntervalUnit, for example daily or hourly, and SessionMonitorInterval can be configured on the ServiceType. If this flag is set to True, additional fields define the interval type, interval, session monitor event type object id and event mappings, if any.
Service Type Configuration
By default, the MtxSessionMonitorEvents do not generate. If enabled, MtxSessionMonitorEvents generates regardless usage to report for the Rating Groups within the session, within the current interval. The Value of the ServiceTypeObject flag SuppressUsageEventWithNoImpact has no impact on the generation of Session Monitor Events.
The fields SessionMonitorEventTypeObjectId and SessionMonitorEventFieldMapArray on the MtxServiceTypeObject are for use in adding custom fields to the SessionMonitor Events.
- MtxChargingSessionExtension
- MtxSubscriberObject
- MtxGroupObject
- MtxDeviceObject
- MtxUserObject
- MtxUserObjectExtension
The descendants of the above MDCs can also be Source.
The existing Session Field Mapping defined in ServiceTypeObject copies all the fields needed in Event Field Mapping for Usage events as well as SessionMonitor events. Generation of SessionMonitor events is processed in the background.
Event Time and Session
In cases of high load, if session monitor events cannot be generated at the predefined frequency, the subsequent session monitor EDR for the session is x hours from the last event.
For example, if events are to be generated every hour, Session starts at 1:05 pm. An event for the interval from 1:05 pm to 2:05 pm does not generate until 2:07 pm. In this case the delayed event records usage from 1:05 pm to 2:07 pm and the next session monitor event for the next interval generates at 2:07 pm + 1 hr or at 3:07 pm.
When Service Type definition is changed, whether to generate SessionMonitor events, or frequency to generate SessionMonitor events, the existing open charging sessions generate Session monitor events per the configuration in the Service Type definition at the current session start time. The new sessions use the updated information from the Service Type definition.
For example, event generation is changed from every 2 hours to every 3 hours, or, event generation is disabled, in the middle of the charging session, then, the current charging session continues to generate events every 2 hours. Once the current session ends, subsequent charging sessions generate events every 3 hours, or, does not generate any session monitor events.