* @desc This type contains a list of subscriptions
* @param subscription The URI referring to the subscription
* @param resourceURL Self-referring URL
* @see ETSI GS MEC 045 V3.1.1 (2024-03) Table 6.3.1-1: Definition of type NotificationSubscriptionList
*/
typerecordNotificationSubscriptionList{
Subscriptionsubscriptionoptional,
LinkTyperesourceURL
}
/**
* @desc This type represents a subscription to the notifications from QMS about QoS measurement
* @param subscriptionType Shall be set to "QoSMeasureSubscription"
* @param callbackReference URI exposed by the client on which to receive notifications via HTTP
* @param requestTestNotification Set to TRUE by the service consumer to request a test notification via HTTP on the callbackReference URI
* @param websockNotifConfig Provides details to negotiate and signal the use of a Websocket connection between the location server and the service consumer for notifications
* @param _links Hyperlink related to the resource. This shall be only included in the HTTP responses and in HTTP PUT requests
* @param users Address of user (e.g. 'sip' URI, 'tel' URI, 'acr'URI)
* @param flowInfo The information of the measured flows
* @param numberOfReports If not present, the subscription is active until it is actively terminated via HTTP DELETE
* @param reportingInterval The reportingInterval determines the interval between two contiguous reports.
* @param measuringPeriod It determines measuring frequency.
* @param measuringArea Area constraint for the measuring task
* @param measuringTime Time constraint for the measuring task
* @param metricType The expected measuring result type
* @param expiryDeadline The expiration time of the subscription determined by the QoS Measurement Subscribe Service
* @see ETSI GS MEC 045 V3.1.1 (2024-03) Table 6.3.2-1: Definition of type QoSMeasureSubscription
*/
typerecordQoSMeasureSubscription{
Json.StringsubscriptionType,
Json.AnyURIcallbackReferenceoptional,
Json.BoolrequestTestNotificationoptional,
WebsockNotifConfigwebsockNotifConfigoptional,
Linkslinksoptional,
Usersusersoptional,
FlowInfosflowInfooptional,
Json.UIntegernumberOfReportsoptional,
Json.UIntegerreportingIntervaloptional,
Json.UIntegermeasuringPeriod,
MeasuringAreasmeasuringAreaoptional,
MeasuringTimesmeasuringTimeoptional,
MetricTypesmetricType,
TimeStampexpiryDeadlineoptional
}with{
variant(links)"name as '_links'";
}
typerecordofJson.AnyURIUsers;
/**
* @desc This type represents a subscription to the notifications from QMS about QoS measurement
* @param samplingRate he sampling rate determines the proportion of flows that meet the flowFilter to be measured
* @desc This type represents a subscription to the notifications from QMS about QoS events, e.g. some metrics regarding network performance has achieved the alarm threshold
* @param subscriptionType Shall be set to "QoSEventSubscription"
* @param callbackReference URI exposed by the client on which to receive notifications via HTTP
* @param requestTestNotification Set to TRUE by the service consumer to request a test notification via HTTP on the callbackReference URI
* @param websockNotifConfig Provides details to negotiate and signal the use of a Websocket connection between the location server and the service consumer for notifications
* @param links Hyperlink related to the resource
* @param flowFilter Traffic flow filtering criteria. If the flowFilter field is included, at least one of its subfields shall be included
* @param reportTrigger The trigger leading to the notification
* @param reportingCtrl Provides parameters that ctrl the reporting
* @param measuringPeriod It determines measuring frequency
* @param monitoringArea Area constraint for the monitoring task
* @param monitoringTime Time in a day for the monitoring task
* @param expiryDeadline The expiration time of the subscription determined by the QoS Measurement Subscribe Service
* @see ETSI GS MEC 045 V3.1.1 (2024-03) Table 6.3.3-1: Definition of type QoSEventSubscription
*/
typerecordQoSEventSubscription{
Json.StringsubscriptionType,
Json.AnyURIcallbackReferenceoptional,
Json.BoolrequestTestNotificationoptional,
WebsockNotifConfigwebsockNotifConfigoptional,
Linkslinksoptional,
FlowFiltersflowFilteroptional,
ReportTriggersreportTriggeroptional,
ReportingCtrlreportingCtrloptional,
Json.UIntegermeasuringPeriod,
MonitoringAreasmonitoringAreaoptional,
MonitoringTimesmonitoringTimeoptional,
TimeStampexpiryDeadlineoptional
}with{
variant(links)"name as '_links'";
}
/**
* @desc The trigger leading to the notification
* @param metricType The monitoring metric type
* @param upperThreshold Threshold which if crossed upward shall cause a notification
* @param lowerThreshold Threshold which if crossed downward shall cause a notification
* @see ETSI GS MEC 045 V3.1.1 (2024-03) Table 6.3.3-1: Definition of type QoSEventSubscription
* @param accessPointId The identity of the access point the user is currently on
* @param zoneId The identity of the zone the user is currently within
* @see ETSI GS MEC 045 V3.1.1 (2024-03) Table 6.3.3-1: Definition of type QoSEventSubscription
*/
typerecordMonitoringArea{
AreaInfoareaInfooptional,
Json.StringaccessPointIdoptional,
Json.StringzoneIdoptional
}
typerecordofMonitoringAreaMonitoringAreas;
/**
* @desc Time in a day for the monitoring task
* @param startTime The format is a string representing the hour, and the minute in a day
* @param endTime The format is a string representing the hour, and the minute in a day
* @see ETSI GS MEC 045 V3.1.1 (2024-03) Table 6.3.3-1: Definition of type QoSEventSubscription
*/
typerecordMonitoringTime{
Json.StringstartTime,
Json.StringendTime
}
typerecordofMonitoringTimeMonitoringTimes;
/**
* @desc This type represents a test notification from a location server to determine if the Websocket method is to be utilized for the location server to issue notifications for a subscription
* @member notificationType Shall be set to "TestNotification"
* @member links Object containing hyperlinks related to the resource
* @see ETSI GS MEC 045 V3.1.1 (2024-03) Table 6.4.1-1: Attributes of the TestNotification
*/
typerecordTestNotification{
Json.StringnotificationType,
Linkslinks
}with{
variant(links)"name as '_links'";
}
/**
* @desc This type represents a notification from QMS with regards to QoS measurement
* @member notificationType Shall be set to "QoSMeasureNotification"
* @member timeStamp Time stamp
* @member subscriptionState It shall be absent if the related subscription has no numberOfReports attribute, and shall be present otherwise
* @member qoSMeasureResult The QoS measuring result
* @member links Object containing hyperlinks related to the resource
* @see ETSI GS MEC 045 V3.1.1 (2024-03) Table 6.4.2-1: Attributes of the QoSMeasureNotification
*/
typerecordQoSMeasureNotification{
Json.StringnotificationType,
TimeStamptimeStampoptional,
SubscriptionStatesubscriptionStateoptional,
QoSMeasureResultsqoSMeasureResultoptional,
Linkslinks
}with{
variant(links)"name as '_links'";
}
/**
* @desc It shall be absent if the related subscription has no numberOfReports attribute, and shall be present otherwise
* @see ETSI GS MEC 045 V3.1.1 (2024-03) Table 6.4.2-1: Attributes of the QoSMeasureNotification
*/
typeenumeratedSubscriptionState{
ACTIVE,
FINISHED
}
/**
* @desc The QoS measuring result
* @member user Address of user (e.g. 'sip' URI, 'tel' URI, 'acr' URI)
* @member flow Flow information
* @member measuringArea The area information for measurement reporting
* @member measuringTime The time section for measurement reporting
* @member latency The Unit is millisecond
* @member jitter The Unit is millisecond
* @member throughput The Unit is kbit/s
* @member loss_rate The integer represents percent
* @member error_rate The integer represents percent
* @see ETSI GS MEC 045 V3.1.1 (2024-03) Table 6.4.2-1: Attributes of the QoSMeasureNotification
*/
typerecordQoSMeasureResult{
Json.AnyURIuseroptional,
FlowFilterflow,
MeasuringAreameasuringAreaoptional,
MeasuringTimemeasuringTimeoptional,
Json.UIntegerlatencyoptional,
Json.UIntegerjitteroptional,
Json.UIntegerthroughputoptional,
Json.UIntegerloss_rateoptional,
Json.UIntegererror_rateoptional
}
typerecordofQoSMeasureResultQoSMeasureResults;
/**
* @desc This type represents a notification from QMS with regards to QoS event
* @member notificationType Shall be set to "QoSEventNotification""
* @member timeStamp Time stamp
* @member subscriptionState It shall be absent if the related subscription has no numberOfReports attribute, and shall be present otherwise
* @member qoSMeasureResult The QoS measuring result
* @member links Object containing hyperlinks related to the resource
* @member flow Flow information
* @member metricType The monitoring metric type
* @member qosEvent The reporting event
* @member measuringArea The area information for event reporting
* @member
* @member
* @see ETSI GS MEC 045 V3.1.1 (2024-03) Table 6.4.3-1: Attributes of the QoSEventNotification
*/
typerecordQoSEventNotification{
Json.StringnotificationType,
TimeStamptimeStampoptional,
SubscriptionStatesubscriptionStateoptional,
Json.AnyURIuseroptional,
FlowFiltersflow,
MetricTypemetricType,
QoSEventqosEvent,
MeasuringAreameasuringAreaoptional,
Linkslinks
}with{
variant(links)"name as '_links'";
}
/**
* @desc This type represents the parameters that describe an area