/** * @author ETSI / TTF T012 * @version $Url$ * $Id$ * @desc Types ANd Values for ETSI GS MEC 030 V2.1.1 (2020-04) * @copyright ETSI Copyright Notification * No part may be reproduced except as authorized by written permission. * The copyright and the foregoing restriction extend to reproduction in all media. * All rights reserved. */ module V2XInformationService_TypesAndValues { // JSON import from JSON all; // LibCommon import from LibCommon_BasicTypesAndValues all; /** * @desc E-UTRAN Cell Identity as a bit string (size (28)) * @see ETSI TS 136 413 */ type JSON.String CellId; /** * @desc E-UTRA Absolute Radio Frequency Channel Number, range (0... 65535) * @see ETSI TS 136 413 */ type UInt16 Earfcn; /** * @desc Transmission Bandwidth, which is used to indicate the UL or DL transmission bandwidth expressed in units of resource blocks * @see ETSI TS 136 413 */ type enumerated TransmissionBandwidth { bw6 (1), bw15 (2), bw25 (3), bw50 (4), bw75 (6), bw100 (7) } with { variant "JSON: as number" } /** * @desc E-UTRAN Cell Global Identifier * @member cellId The E-UTRAN Cell Identity * @member plmn Public Land Mobile Network Identity * @see ETSI TS 136 413 */ type record Ecgi { CellId cellId, Plmn plmn } /** * @desc FDD information * @member dlEarfcn Downlink E-UTRA Absolute Radio Frequency Channel Number * @member dlTransmissionBandwidth Downlink Transmission Bandwidth * @member ulEarfcn Uplink E-UTRA Absolute Radio Frequency Channel Number * @member ulTransmissionBandwidth Uplink Transmission Bandwidth * @see ETSI TS 136 413 */ type record FddInfo { Earfcn dlEarfcn, TransmissionBandwidth dlTransmissionBandwidth, Earfcn ulEarfcn, TransmissionBandwidth ulTransmissionBandwidth } /** * @desc The seconds part of the Time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC */ type UInt32 Seconds; /** * @desc The nanoseconds part of the Time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC */ type UInt32 NanoSeconds; /** * @desc Time stamp description * @member seconds The seconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC * @member nanoSeconds The nanoseconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC * @see MEC030 Clause 6.5.2 Type: TimeStamp */ type record TimeStamp { Seconds seconds, NanoSeconds nanoSeconds } /** * @desc Information of a geographical area * @member latitude Latitude (DATUM = WGS84) -90 to 90 in decimal degree format DDD.ddd * @member longitude Longitude (DATUM = WGS84)-180 to 180 in decimal degree format DDD.ddd * @see MEC030 Clause 6.5.3 Type: LocationInfo */ type record LocationInfoGeoArea { JSON.Number latitude, JSON.Number longitude } /** * @desc Location information * @member ecgi E-UTRAN CelI Global Identifier of the serving cell * @member geoArea Information of a geographical area * @see MEC030 Clause 6.5.3 Type: LocationInfo */ type record LocationInfo { Ecgi ecgi, LocationInfoGeoArea geoArea optional } type record of LocationInfo LocationInfoList; /** * @desc Location information * @member ecgi E-UTRAN CelI Global Identifier * @member plmn Public Land Mobile Network Identity * @member siV2xConfig V2X sidelink communication configuration, as defined in ETSI TS 136 331 * @see MEC030 Clause 6.5.12 Type: Pc5NeighbourCellInfo */ type record Pc5NeighbourCellInfo { Ecgi ecgi, Plmn plmn, JSON.String siV2xConfig } type record of Pc5NeighbourCellInfo Pc5NeighbourCellInfoList; /** * @desc The provisioning information per location * @member dstLayer2Id For sidelink communication, the Destination Layer-2 ID is set to the ProSe Layer-2 Group ID or Prose UE ID * @member locationInfo Location information to identify a cell of a base station or a particular geographical area * @member neighbourCellInfo The information of the neighbour cells in a visiting PLMN that support V2X communication over PC5 * @see MEC030 Clause 6.2.4 Type: Pc5ProvisioningInfo */ type record Pc5ProvisioningInfoProInfoPc5 { JSON.String dstLayer2Id, LocationInfoList locationInfo, Pc5NeighbourCellInfoList neighbourCellInfo optional } type record of Pc5ProvisioningInfoProInfoPc5 Pc5ProvisioningInfoProInfoPc5List; /** * @desc Provisioning information required for V2X communication over PC5 * @member proInfoPc5 The provisioning information per location * @member timeStamp Time stamp * @see MEC030 Clause 6.5.12 Type: Pc5NeighbourCellInfo */ type record Pc5ProvisioningInfo { Pc5ProvisioningInfoProInfoPc5List proInfoPc5, TimeStamp timeStamp optional } /** * @desc PLMN Identity * @member mcc The Mobile Country Code part of PLMN Identity * @member mnc The Mobile Network Code part of PLMN Identity * @see MEC030 Clause 6.5.4 Type: Plmn */ type record Plmn { JSON.String mcc, JSON.String mnc } /** * @desc Information relating to a specific route * @member location Vehicular UE location * @member time Estimated time at the location * @member rsrp Reference Signal Received Quality as defined in ETSI TS 136 214 * @member rsrq Reference Signal Received Quality as defined in ETSI TS 136 214 [i.13]. Shall only be included in the response * @see MEC030 Clause 6.2.5 Type: PredictedQos */ type record RouteInfo { LocationInfo location, TimeStamp time optional, UInt8 rsrp optional, UInt8 rsrq optional } type record of RouteInfo RouteInfoList; /** * @desc Information relating to the potential routes of a vehicular UE * @member routeinfo Information relating to a specific route * @see MEC030 Clause 6.2.5 Type: PredictedQos */ type record PredictedQosRoutes { RouteInfoList routeinfo } type record of PredictedQosRoutes PredictedQosRoutesList; /** * @desc Predicted QoS of a vehicular UE * @member timeGranularity Granularity of visited location. Measured in meters * @member locationGranularity Granularity of visited location. Measured in meters * @member routes Information relating to the potential routes of a vehicular UE * @see MEC030 Clause 6.2.5 Type: PredictedQos */ type record PredictedQos { TimeStamp timeGranularity optional, JSON.String locationGranularity, PredictedQosRoutesList routes } /** * @desc Notification from VIS with regards to the provisioning information changes for V2X communication over PC5 * @member dstLayer2Id For sidelink communication, the Destination Layer-2 ID is set to the ProSe Layer-2 Group ID or Prose UE ID * @member locationInfo Location information to identify a cell of a base station or a particular geographical area * @member neighbourCellInfo The information of the neighbour cells in a visiting PLMN that support V2X communication over PC5 * @member notificationType Shall be set to "ProvChgPc5Notification" * @see MEC030 Clause 6.4.4 Type: ProvChgPc5Notification */ type record ProvChgPc5Notification { JSON.String dstLayer2Id optional, LocationInfo locationInfo, Pc5NeighbourCellInfoList neighbourCellInfo optional, JSON.String notificationType, TimeStamp timeStamp optional } /** * @desc Hyperlink related to the resource. This shall be only included in the HTTP responses and in HTTP PUT requests * @member self_ Self-referring URI. The URI shall be unique within the VIS API as it acts as an ID for the subscription * @see MEC030 Clause 6.3.4 Type: ProvChgPc5Subscription */ type record LinkType { JSON.AnyURI self_ } with { variant (self_) "name as 'self'"; } /** * @desc List of filtering criteria for the subscription. Any filtering criteria from below, which is included in the request, shall also be included in the response * @member dstLayer2Id For sidelink communication, the Destination Layer-2 ID is set to the ProSe Layer-2 Group ID or Prose UE ID * @member locationInfo Location information to identify a cell of a base station or a particular geographical area * @member neighbourCellInfo The information of the neighbour cells in a visiting PLMN that support V2X communication over PC5 * @see MEC030 Clause 6.3.4 Type: ProvChgPc5Subscription */ type record FilterCriteria { JSON.String dstLayer2Id, LocationInfo locationInfo, Pc5NeighbourCellInfoList neighbourCellInfo optional } /** * @desc Subscription to the notifications from VIS about the provisioning information changes for V2X communication over PC5 * @member links URI selected by the service consumer to receive notifications on the subscribed VIS information. This shall be included both in the request and in response * @member callbackReference URI selected by the service consumer to receive notifications on the subscribed VIS information. This shall be included both in the request and in response * @member expiryDeadline Time stamp * @member filterCriteria List of filtering criteria for the subscription * @member subscriptionType Shall be set to "ProvChgPc5Subscription" * @see MEC030 Clause 6.3.4 Type: ProvChgPc5Subscription */ type record ProvChgPc5Subscription { LinkType links optional, JSON.AnyURI callbackReference, TimeStamp expiryDeadline optional, FilterCriteria filterCriteria, JSON.String subscriptionType } with { variant (links) "name as '_links'"; } /** * @desc Notification from VIS with regards to the provisioning information changes for V2X communication over Uu MBMS * @member locationInfo Location information to identify a cell of a base station or a particular geographical area * @member The information of the neighbour cells in a visiting PLMN that support V2X communication over Uu MBMS * @member notificationType Shall be set to "ProvChgUuMbmsNotification" * @member timeStamp_ Time stamp * @member v2xServerUsd User Service Description for V2X Application Server is used to configure the UE for receiving local V2X Application Server information when it is provided over MBMS * @see MEC030 Clause 6.4.3 Type: ProvChgUuMbmsNotification */ type record ProvChgUuMbmsNotification { LocationInfo locationInfo, UuMbmsNeighbourCellInfoList neighbourCellInfo optional, JSON.String notificationType, TimeStamp timeStamp optional, V2xServerUsd v2xServerUsd optional } /** * @desc List of filtering criteria for the subscription * @member locationInfo Location information to identify a cell of a base station or a particular geographical area * @member neighbourCellInfo The information of the neighbour cells in a visiting PLMN that support V2X communication over Uu MBMS * @member v2xServerUsd User Service Description for V2X Application Server is used to configure the UE for receiving local V2X Application Server information when it is provided over MBMS * @see MEC030 Clause 6.3.3 Type: ProvChgUuMbmsSubscription */ type record ProvChgUuMbmsSubscriptionFilterCriteria { LocationInfo locationInfo, UuMbmsNeighbourCellInfoList neighbourCellInfo optional, V2xServerUsd v2xServerUsd } /** * @desc Subscription to the notifications from VIS about the provisioning information changes for V2X communication over Uu MBMS * @member links URI selected by the service consumer to receive notifications on the subscribed VIS information. This shall be included both in the request and in response * @member callbackReferenceURI selected by the service consumer to receive notifications on the subscribed VIS information. This shall be included both in the request and in response * @member expiryDeadline Time stamp * @member filterCriteria List of filtering criteria for the subscription * @member subscriptionType Shall be set to "ProvChgUuMbmsSubscription" * @see MEC030 Clause 6.3.3 Type: ProvChgUuMbmsSubscription */ type record ProvChgUuMbmsSubscription { LinkType links optional, JSON.AnyURI callbackReference, TimeStamp expiryDeadline optional, ProvChgUuMbmsSubscriptionFilterCriteria filterCriteria, JSON.String subscriptionType } with { variant (links) "name as '_links'"; } /** * @desc Notification from VIS with regards to the provisioning information changes for V2X communication over Uu unicast * @member locationInfo Location information to identify a cell of a base station or a particular geographical area * @member neighbourCellInfo The information of the neighbour cells in a visiting PLMN that support V2X communication over Uu unicast * @member notificationType Shall be set to "ProvChgUuUniNotification" * @member timeStamp_ Time stamp * @member v2xApplicationServer V2X Application Server address (consisting of IP address and UDP port) for unicast * @see MEC030 Clause 6.4.2 Type: ProvChgUuUniNotification */ type record ProvChgUuUniNotification { LocationInfo locationInfo, UuUniNeighbourCellInfoList neighbourCellInfo optional, JSON.String notificationType, TimeStamp timeStamp optional, V2xApplicationServer v2xApplicationServer optional } /** * @desc List of filtering criteria for the subscription. Any filtering criteria from below, which is included in the request, shall also be included in the response * @member locationInfo Location information to identify a cell of a base station or a particular geographical area * @member neighbourCellInfo The information of the neighbour cells in a visiting PLMN that support V2X communication over Uu MBMS * @member v2xApplicationServer V2X Application Server address (consisting of IP address and UDP port) for unicast * @see MEC030 Clause 6.3.3 Type: ProvChgUuMbmsSubscription */ type record ProvChgUuUniSubscriptionFilterCriteria { LocationInfo locationInfo, UuMbmsNeighbourCellInfoList neighbourCellInfo optional, V2xApplicationServer v2xApplicationServer } /** * @desc Subscription to the notifications from VIS about the provisioning information changes for V2X communication over Uu unicast * @member links URI selected by the service consumer to receive notifications on the subscribed VIS information. This shall be included both in the request and in response * @member callbackReferenceURI selected by the service consumer to receive notifications on the subscribed VIS information. This shall be included both in the request and in response * @member expiryDeadline Time stamp * @member filterCriteria List of filtering criteria for the subscription * @member subscriptionType Shall be set to "ProvChgUuUniSubscription" * @see MEC030 Clause 6.3.2 Type: ProvChgUuUniSubscription */ type record ProvChgUuUniSubscription { LinkType links optional, JSON.AnyURI callbackReference, TimeStamp expiryDeadline optional, ProvChgUuUniSubscriptionFilterCriteria filterCriteria, JSON.String subscriptionType } with { variant (links) "name as '_links'"; } /** * @desc The service consumers subscriptions * @member href The URI referring to the subscription * @member subscriptionType Type of the subscription. The values are as defined in the \"subscriptionType\" attribute for each different V2X information event subscription data type * @see MEC030 Clause 6.3.6 Type: SubscriptionLinkList */ type record SubscriptionsLinks { JSON.AnyURI href, JSON.String subscriptionType } type record of SubscriptionsLinks SubscriptionLinksList; /** * @desc List of hyperlinks related to the resource * @member self_ URI of this resource * @member subscriptions The service consumer’s subscriptions * @see MEC030 Clause 6.3.6 Type: SubscriptionLinkList */ type record SubscriptionLinkListLink { LinkType self_, SubscriptionLinksList subscriptions } with { variant (self_) "name as 'self'"; } /** * @desc List of links related to currently existing subscriptions for the service consumer * @member links List of hyperlinks related to the resource * @see MEC030 Clause 6.3.6 Type: SubscriptionLinkList */ type record SubscriptionLinkList { SubscriptionLinkListLink links } with { variant (links) "name as '_links'"; } /** * @desc TDD information * @member earfcn E-UTRA Absolute Radio Frequency Channel Number * @member subframeAssignment Uplink-downlink subframe configuration information * @member transmissionBandwidth Transmission Bandwidth * @see MEC030 Clause 6.5.7 Type: TddInfo */ type record TddInfo { Earfcn earfcn, JSON.String subframeAssignment, TransmissionBandwidth transmissionBandwidth } /** * @desc Neighbour cell information in a visiting PLMN that supports V2X communication over Uu MBMS * @member ecgi E-UTRAN CelI Global Identifier * @member fddInfo Information for FDD operation * @member mbmsServiceAreaIdentity Supported MBMS Service Area Identities in the cell * @member pci Physical Cell Identifier * @member plmn Public Land Mobile Network Identity * @member tddInfo Information for TDD operation * @see MEC030 Clause 6.5.11 Type: UuMbmsNeighbourCellInfo */ type record UuMbmsNeighbourCellInfo { Ecgi ecgi, FddInfo fddInfo, MbmsServiceAreaIdentityList mbmsServiceAreaIdentity, integer pci, Plmn plmn, TddInfo tddInfo } type record of JSON.String MbmsServiceAreaIdentityList; type record of UuMbmsNeighbourCellInfo UuMbmsNeighbourCellInfoList; /** * @desc The provisioning information per location * @member locationInfo Location information to identify a cell of a base station or a particular geographical area * @member neighbourCellInfo The information of the neighbour cells in a visiting PLMN that support V2X communication over Uu MBMS */ type record ProInfoUuMbms { LocationInfo locationInfo, UuMbmsNeighbourCellInfoList neighbourCellInfo optional, V2xServerUsd v2xServerUsd } type record of ProInfoUuMbms ProInfoUuMbmsList; /** * @desc Provisioning information required for V2X communication over Uu MBMS * @member proInfoUuMbms The provisioning information per location as defined below * @member timeStamp_ TimeStamp * @see MEC030 Clause 6.2.3 Type: UuMbmsProvisioningInfo */ type record UuMbmsProvisioningInfo { ProInfoUuMbmsList proInfoUuMbms, TimeStamp timeStamp } /** * @desc Neighbour cell information in a visiting PLMN that supports V2X communication over Uu unicast * @member ecgi E-UTRAN CelI Global Identifier * @member fddInfo Information for FDD operation * @member pci Physical Cell Identifier * @member plmn Public Land Mobile Network Identity * @member tddInfo Information for TDD operation * @see MEC030 Clause 6.5.9 Type: UuUniNeighbourCellInfo */ type record UuUniNeighbourCellInfo { Ecgi ecgi, FddInfo fddInfo, integer pci, Plmn plmn, TddInfo tddInfo } type record of UuUniNeighbourCellInfo UuUniNeighbourCellInfoList; /** * @desc The provisioning information per location as defined below * @member locationInfo Location information to identify a cell of a base station or a particular geographical area * @member neighbourCellInfoThe information of the neighbour cells in a visiting PLMN that support V2X communication over Uu unicast * @member v2xApplicationServer V2X Application Server address (consisting of IP address and UDP port) for unicast * @see MEC030 Clause 6.2.2 Type: UuUnicastProvisioningInfo */ type record ProInfoUuUnicast { LocationInfo locationInfo, UuUniNeighbourCellInfoList neighbourCellInfo, V2xApplicationServer v2xApplicationServer } type record of ProInfoUuUnicast ProInfoUuUnicastList; /** * @desc Provisioning information required for V2X communication over Uu unicast * @member proInfoUuUnicast The provisioning information per location * @member timeStamp_ Time stamp * @see MEC030 Clause 6.2.2 Type: UuUnicastProvisioningInfo */ type record UuUnicastProvisioningInfo { ProInfoUuUnicastList proInfoUuUnicast, TimeStamp timeStamp optional } /** * @desc V2X Application Server address (consisting of IP address and UDP port) for unicast * @member ipAddress * @member udpPort * @see MEC030 Clause 6.5.8 Type: V2xApplicationServer */ type record V2xApplicationServer { JSON.String ipAddress, JSON.String udpPort } /** * @desc Published V2X message type. Its value is defined by the standardization organization */ type enumerated MsgType { denm (1), cam (2), poi (3), spat (4), map_ (5), ivi (6), ev_rsr(7) } with { variant "JSON: as number" } type record of MsgType MsgTypeList; /** * @desc Standardization organization which defines the published V2X message type */ type enumerated StdOrganization { ETSI } /** * @desc V2X message that a service consumer publishes to VIS * @member msgContent Published V2X message content. Its format is defined by the standardization organization indicated by the attribute stdOrganization * @member msgEncodeFormat The encode format of the V2X message, for example base64 * @member msgType Published V2X message type. Its value is defined by the standardization organization indicated by the attribute stdOrganization * @member stdOrganization Standardization organization which defines the published V2X message type * @see MEC030 Clause 6.2.6 Type: V2xMsgPublication */ type record V2xMsgPublication { JSON.String msgContent, JSON.String msgEncodeFormat, MsgType msgType, StdOrganization stdOrganization } /** * @desc List of filtering criteria for the subscription. Any filtering criteria from below, which is included in the request, shall also be included in the response * @member msgType Subscribed V2X message type. Its value is defined by the standardization organization indicated by the attribute stdOrganization * @member stdOrganization Standardization organization which defines the published V2X message type * @see MEC030 Clause 6.3.5 Type: V2xMsgSubscription */ type record V2xMsgSubscriptionFilterCriteria { MsgTypeList msgType optional, StdOrganization stdOrganization } /** * @desc Subscription to notification of V2X message * @member links Hyperlink related to the resource. This shall be only included in the HTTP responses and in HTTP PUT requests * @member callbackReference URI selected by the service consumer to receive notifications on the subscribed V2X message. This shall be included both in the request and in response * @member expiryDeadline Time stamp * @member filterCriteria List of filtering criteria for the subscription * @member subscriptionType Shall be set to "V2xMsgSubscription" * @see MEC030 Clause 6.3.5 Type: V2xMsgSubscription */ type record V2xMsgSubscription { LinkType links optional, JSON.AnyURI callbackReference, TimeStamp expiryDeadline optional, V2xMsgSubscriptionFilterCriteria filterCriteria, JSON.String subscriptionType } with { variant (links) "name as '_links'"; } /** * @desc Link to resources related to this notification * @member subscription Self-referring URI. The URI shall be unique within the VIS API as it acts as an ID for the subscription * @see MEC030 Clause 6.4.5 Type: V2xMsgNotification */ type record V2xMsgNotificationLinks { LinkType subscription } /** * @desc Notification for informing the subscribers about the V2X message * @member notificationType Shall be set to "V2xMsgNotification" * @member timeStamp_ Time stamp * @member stdOrganization Standardization organization which defines the published V2X message type ETSI: European Telecommunications Standards Institute * @member msgType Published V2X message type. Its value is defined by the standardization organization * @member msgEncodeFormat The encode format of the V2X message, for example base64 * @member msgContent Published V2X message content. The format of the string is defined by the standardization organization * @member links Link to resources related to this notification * @see MEC030 Clause 6.4.5 Type: V2xMsgNotification */ type record V2xMsgNotification { JSON.String notificationType, TimeStamp timeStamp, StdOrganization stdOrganization, MsgType msgType, JSON.String msgEncodeFormat, JSON.String msgContent, V2xMsgNotificationLinks links } with { variant (links) "name as '_links'"; } /** * @desc SDP with IP multicast address and port number used for V2X communication via MBMS * @member ipMulticastAddress * @member portNumber * @see MEC030 Clause 6.5.10 Type: V2xServerUsd */ type record SdpInfo { JSON.String ipMulticastAddress, JSON.String portNumber } type record of SdpInfo SdpInfoList; /** * @desc Temporary Mobile Group Identity (TMGI), which is used within MBMS to uniquely identify Multicast and Broadcast bearer services * @member mbmsServiceId MBMS Service ID consisting of three octets * @member mcc The Mobile Country Code part of PLMN Identity * @member mnc The Mobile Network Code part of PLMN Identity * @see MEC030 Clause 6.5.10 Type: V2xServerUsd */ type record Tmgi { JSON.String mbmsServiceId, JSON.String mcc, JSON.String mnc } /** * @desc Temporary Mobile Group Identity (TMGI), which is used within MBMS to uniquely identify Multicast and Broadcast bearer services * @member serviceAreaIdentifier A list of service area identifier for the applicable MBMS broadcast area * @member sdpInfo SDP with IP multicast address and port number used for V2X communication via MBMS * @member tmgi Temporary Mobile Group Identity (TMGI), which is used within MBMS to uniquely identify Multicast and Broadcast bearer services * @see MEC030 Clause 6.5.10 Type: V2xServerUsd */ type record V2xServerUsd { ServiceAreaIdentifier serviceAreaIdentifier, SdpInfoList sdpInfo, Tmgi tmgi } type record of JSON.String ServiceAreaIdentifier; } with { encode "JSON" } // End of module V2XInformationService_TypesAndValues