/** * @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 V2XInformationServiceAPI_Templates { // JSON import from JSON all; // LibCommon import from LibCommon_BasicTypesAndValues all; // LibMec/V2XInformationServiceAPI import from V2XInformationServiceAPI_TypesAndValues all; import from V2XInformationServiceAPI_Pixits all; template (omit) UuUnicastProvisioningInfo m_uu_unicast_provisioning_info( in template (value) ProInfoUuUnicastList p_proInfoUuUnicast, in template (omit) TimeStamp p_timeStamp := omit ) := { proInfoUuUnicast := p_proInfoUuUnicast, timeStamp := p_timeStamp } // End of template m_uu_unicast_provisioning_info template (present) UuUnicastProvisioningInfo mw_uu_unicast_provisioning_info( template (present) ProInfoUuUnicastList p_proInfoUuUnicast := ?, template TimeStamp p_timeStamp := * ) := { proInfoUuUnicast := p_proInfoUuUnicast, timeStamp := p_timeStamp } // End of template mw_uu_unicast_provisioning_info template (omit) UuMbmsProvisioningInfo m_uu_mbms_provisioning_info( in template (value) ProInfoUuMbmsList p_proInfoUuMbms, in template (omit) TimeStamp p_timeStamp := omit ) := { proInfoUuMbms := p_proInfoUuMbms, timeStamp := p_timeStamp } // End of template m_uu_mbms_provisioning_info template (present) UuMbmsProvisioningInfo mw_uu_mbms_provisioning_info( template (present) ProInfoUuMbmsList p_proInfoUuMbms := ?, template TimeStamp p_timeStamp := * ) := { proInfoUuMbms := p_proInfoUuMbms, timeStamp := p_timeStamp } // End of template mw_uu_mbms_provisioning_info template (omit) Pc5ProvisioningInfo m_pc5_provisioning_info( in template (value) Pc5ProvisioningInfoProInfoPc5List p_proInfoPc5, in template (omit) TimeStamp p_timeStamp := omit ) := { proInfoPc5 := p_proInfoPc5, timeStamp := p_timeStamp } // End of template m_pc5_provisioning_info template (present) Pc5ProvisioningInfo mw_pc5_provisioning_info( template (present) Pc5ProvisioningInfoProInfoPc5List p_proInfoPc5 := ?, template TimeStamp p_timeStamp := * ) := { proInfoPc5 := p_proInfoPc5, timeStamp := p_timeStamp } // End of template mw_pc5_provisioning_info template (omit) PredictedQos m_predicted_qos( in template (value) JSON.String p_locationGranularity, in template (value) PredictedQosRoutesList p_routes, in template (omit) TimeStamp p_timeGranularity := omit ) := { timeGranularity := p_timeGranularity, locationGranularity := p_locationGranularity, routes := p_routes } // End of template m_predicted_qos template PredictedQos mw_predicted_qos( template (present) JSON.String p_locationGranularity := ?, template (present) PredictedQosRoutesList p_routes := ?, template TimeStamp p_timeGranularity := * ) := { timeGranularity := p_timeGranularity, locationGranularity := p_locationGranularity, routes := p_routes } // End of template mw_predicted_qos template (value) PredictedQosRoutes m_predicted_qos_routes( in template (value) RouteInfoList p_routeinfo ) := { routeinfo := p_routeinfo } // End of template m_predicted_qos_routes template (present) PredictedQosRoutes mw_predicted_qos_routes( template (present) RouteInfoList p_routeinfo := ? ) := { routeinfo := p_routeinfo } // End of template mw_predicted_qos_routes template (omit) RouteInfo m_route_info( in template (value) LocationInfo p_location, in template (omit) TimeStamp p_time := omit, in template (omit) UInt8 p_rsrp := omit, in template (omit) UInt8 p_rsrq := omit ) := { location := p_location, time := p_time, rsrp := p_rsrp, rsrq := p_rsrq } // End of template m_route_info template RouteInfo mw_route_info( template (present) LocationInfo p_location := ?, template TimeStamp p_time := *, template UInt8 p_rsrp := *, template UInt8 p_rsrq := * ) := { location := p_location, time := p_time, rsrp := p_rsrp, rsrq := p_rsrq } // End of template mw_route_info template (omit) LocationInfo m_location_info( in template (value) Ecgi p_ecgi, in template (omit) LocationInfoGeoArea p_geoArea := omit ) := { ecgi := p_ecgi, geoArea := p_geoArea } // End of template m_location_info template LocationInfo mw_location_info( template (present) Ecgi p_ecgi := ?, template LocationInfoGeoArea p_geoArea := * ) := { ecgi := p_ecgi, geoArea := p_geoArea } // End of template mw_location_info template (value) LocationInfoGeoArea m_location_info_geo_area( in JSON.Number p_latitude, in JSON.Number p_longitude ) := { latitude := p_latitude, longitude := p_longitude } // End of m_location_info_geo_area template (present) LocationInfoGeoArea mw_location_info_geo_area( template (present) JSON.Number p_latitude := ?, template (present) JSON.Number p_longitude := ? ) := { latitude := p_latitude, longitude := p_longitude } // End of mw_location_info_geo_area template (value) Ecgi m_ecgi( in JSON.String p_cellId, in template (value) Plmn p_plmn ) := { cellId := { cellId := p_cellId }, plmn := p_plmn } // End of template m_ecgi template (present) Ecgi mw_ecgi( template (present) JSON.String p_cellId := ?, template (present) Plmn p_plmn := ? ) := { cellId := { cellId := p_cellId }, plmn := p_plmn } // End of template mw_ecgi template (value) Plmn m_plmn( in JSON.String p_mcc, in JSON.String p_mnc ) := { mcc := p_mcc, mnc := p_mnc } // End of template m_plmn template (present) Plmn mw_plmn( template (present) JSON.String p_mcc := ?, template (present) JSON.String p_mnc := ? ) := { mcc := p_mcc, mnc := p_mnc } // End of template mw_plmn template (value) V2xMsgPublication m_v2x_message( in JSON.String p_msgContent := "AgIAEPQ9JwVAWXGJVq3AIK5gAgAgADDUHgAAASAWhAMQpQcz/+H/+gAQAA==", in JSON.String p_msgEncodeFormat := "base64", in MsgType p_msgType := cam, in StdOrganization p_stdOrganization := ETSI ) := { msgContent := p_msgContent, msgEncodeFormat := p_msgEncodeFormat, msgType := p_msgType, stdOrganization := p_stdOrganization } // End of template m_v2x_message template (present) V2xMsgPublication mw_v2x_message( template (present) JSON.String p_msgContent := ?, template (present) JSON.String p_msgEncodeFormat := "base64", template (present) MsgType p_msgType := ?, template (present) StdOrganization p_stdOrganization := ETSI ) := { msgContent := p_msgContent, msgEncodeFormat := p_msgEncodeFormat, msgType := p_msgType, stdOrganization := p_stdOrganization } // End of template mw_v2x_message template (omit) ProvChgUuUniSubscription m_prov_chg_uu_uni_subscription( in template (value) JSON.AnyURI p_callbackReference, in template (value) ProvChgUuUniSubscriptionFilterCriteria p_filterCriteria, in template (omit) LinkType p_links := omit, in template (omit) TimeStamp p_expiryDeadline := omit ) := { links := p_links, callbackReference := p_callbackReference, expiryDeadline := p_expiryDeadline, filterCriteria := p_filterCriteria, subscriptionType := "ProvChgUuUniSubscription" } // End of template m_prov_chg_uu_uni_subscription template (omit) ProvChgUuUniSubscription m_prov_chg_uu_uni_subscription_invalid( in template (value) JSON.AnyURI p_callbackReference, in template (value) ProvChgUuUniSubscriptionFilterCriteria p_filterCriteria, in template (omit) LinkType p_links := omit, in template (omit) TimeStamp p_expiryDeadline := omit ) := { links := p_links, callbackReference := p_callbackReference, expiryDeadline := p_expiryDeadline, filterCriteria := p_filterCriteria, subscriptionType := "InvalidProvChgUuUniSubscription" } // End of template m_prov_chg_uu_uni_subscription template ProvChgUuUniSubscription mw_prov_chg_uu_uni_subscription( template (present) JSON.AnyURI p_callbackReference := ?, template (present) ProvChgUuUniSubscriptionFilterCriteria p_filterCriteria := ?, template LinkType p_links := *, template TimeStamp p_expiryDeadline := * ) := { links := p_links, callbackReference := p_callbackReference, expiryDeadline := p_expiryDeadline, filterCriteria := p_filterCriteria, subscriptionType := "ProvChgUuUniSubscription" } // End of template mw_prov_chg_uu_uni_subscription template (omit) ProvChgUuUniSubscriptionFilterCriteria m_prov_chg_uu_uni_filter_criteria( in template (value) LocationInfo p_location_info, in template (value) V2xApplicationServer p_v2xApplicationServer, in template (omit) UuMbmsNeighbourCellInfoList p_neighbourCellInfo := omit ) := { locationInfo := p_location_info, neighbourCellInfo := p_neighbourCellInfo, v2xApplicationServer := p_v2xApplicationServer } // End of template m_prov_chg_uu_uni_filter_criteria template ProvChgUuUniSubscriptionFilterCriteria mw_prov_chg_uu_uni_filter_criteria( template (present) LocationInfo p_location_info := ?, template (present) V2xApplicationServer p_v2xApplicationServer := ?, template UuMbmsNeighbourCellInfoList p_neighbourCellInfo := * ) := { locationInfo := p_location_info, neighbourCellInfo := p_neighbourCellInfo, v2xApplicationServer := p_v2xApplicationServer } // End of template mw_prov_chg_uu_uni_filter_criteria template (value) V2xApplicationServer m_v2x_application_server( in JSON.String p_ip_address, in JSON.String p_udp_port ) := { ipAddress := p_ip_address, udpPort := p_udp_port } // End of template m_v2x_application_server template (present) V2xApplicationServer mw_v2x_application_server( template (present) JSON.String p_ip_address := ?, template (present) JSON.String p_udp_port := ? ) := { ipAddress := p_ip_address, udpPort := p_udp_port } // End of template mw_v2x_application_server template (omit) ProvChgUuMbmsSubscription m_prov_chg_uu_mbms_subscription( in template (value) JSON.AnyURI p_callbackReference, in template (value) ProvChgUuMbmsSubscriptionFilterCriteria p_filterCriteria, in template (omit) LinkType p_links := omit, in template (omit) TimeStamp p_expiryDeadline := omit ) := { links := p_links, callbackReference := p_callbackReference, expiryDeadline := p_expiryDeadline, filterCriteria := p_filterCriteria, subscriptionType := "ProvChgUuMbmsSubscription" } // End of template m_prov_chg_uu_mbms_subscription template ProvChgUuMbmsSubscription mw_prov_chg_uu_mbms_subscription( template (present) JSON.AnyURI p_callbackReference := ?, template (present) ProvChgUuMbmsSubscriptionFilterCriteria p_filterCriteria := ?, template LinkType p_links := *, template TimeStamp p_expiryDeadline := * ) := { links := p_links, callbackReference := p_callbackReference, expiryDeadline := p_expiryDeadline, filterCriteria := p_filterCriteria, subscriptionType := "ProvChgUuMbmsSubscription" } // End of template mw_prov_chg_uu_mbms_subscription template (omit) ProvChgUuMbmsSubscriptionFilterCriteria m_prov_chg_uu_mbms_filter_criteria( in template (value) LocationInfo p_locationInfo, in template (value) V2xServerUsd p_v2xServerUsd, template (omit) UuMbmsNeighbourCellInfoList p_neighbourCellInfo := omit ) := { locationInfo := p_locationInfo, neighbourCellInfo := p_neighbourCellInfo, v2xServerUsd := p_v2xServerUsd } // End of template m_prov_chg_uu_mbms_filter_criteria template (present) ProvChgUuMbmsSubscriptionFilterCriteria mw_prov_chg_uu_mbms_filter_criteria( template (present) LocationInfo p_locationInfo := ?, template (present) V2xServerUsd p_v2xServerUsd := ?, template UuMbmsNeighbourCellInfoList p_neighbourCellInfo := * ) := { locationInfo := p_locationInfo, neighbourCellInfo := p_neighbourCellInfo, v2xServerUsd := p_v2xServerUsd } // End of template mw_prov_chg_uu_mbms_filter_criteria template (value) V2xServerUsd m_v2x_server_usd( in template (value) ServiceAreaIdentifier p_serviceAreaIdentifier, in template (value) SdpInfo p_sdpInfo, in template (value) Tmgi p_tmgi ) := { serviceAreaIdentifier := p_serviceAreaIdentifier, sdpInfo := p_sdpInfo, tmgi := p_tmgi } // End of template m_v2x_server_usd template (present) V2xServerUsd mw_v2x_server_usd( template (present) ServiceAreaIdentifier p_serviceAreaIdentifier := ?, template (present) SdpInfo p_sdpInfo := ?, template (present) Tmgi p_tmgi := ? ) := { serviceAreaIdentifier := p_serviceAreaIdentifier, sdpInfo := p_sdpInfo, tmgi := p_tmgi } // End of template mw_v2x_server_usd template (value) SdpInfo m_sdp_info( in JSON.String p_ipMulticastAddress, in JSON.String p_portNumber ) := { ipMulticastAddress := p_ipMulticastAddress, portNumber := p_portNumber } // End of template m_sdp_info template (present) SdpInfo mw_sdp_info( template (present) JSON.String p_ipMulticastAddress := ?, template (present) JSON.String p_portNumber := ? ) := { ipMulticastAddress := p_ipMulticastAddress, portNumber := p_portNumber } // End of template mw_sdp_info template (value) Tmgi m_tmgi( in JSON.String p_mbmsServiceId, in JSON.String p_mcc, in JSON.String p_mnc ) := { mbmsServiceId := p_mbmsServiceId, mcc := p_mcc, mnc := p_mnc } // End of template m_tmgi template (present) Tmgi mw_tmgi( template (present) JSON.String p_mbmsServiceId := ?, template (present) JSON.String p_mcc := ?, template (present) JSON.String p_mnc := ? ) := { mbmsServiceId := p_mbmsServiceId, mcc := p_mcc, mnc := p_mnc } // End of template mw_tmgi template (omit) ProvChgPc5Subscription m_prov_chg_pc5_subscription( in template (value) JSON.AnyURI p_callbackReference, in template (value) FilterCriteria p_filterCriteria, in template (omit) LinkType p_links := omit, in template (omit) TimeStamp p_expiryDeadline := omit ) := { links := p_links, callbackReference := p_callbackReference, expiryDeadline := p_expiryDeadline, filterCriteria := p_filterCriteria, subscriptionType := "ProvChgPc5Subscription" } // End of template m_prov_chg_pc5_subscription template (present) ProvChgPc5Subscription mw_prov_chg_pc5_subscription( template (present) JSON.AnyURI p_callbackReference := ?, template (present) FilterCriteria p_filterCriteria := ?, template LinkType p_links := *, template TimeStamp p_expiryDeadline := * ) := { links := p_links, callbackReference := p_callbackReference, expiryDeadline := p_expiryDeadline, filterCriteria := p_filterCriteria, subscriptionType := "ProvChgPc5Subscription" } // End of template mw_prov_chg_pc5_subscription template (omit) FilterCriteria m_filter_criteria( in template (value) JSON.String p_dstLayer2Id, in template (value) LocationInfo p_locationInfo, in template (omit) Pc5NeighbourCellInfoList p_neighbourCellInfo := omit ) := { dstLayer2Id := p_dstLayer2Id, locationInfo := p_locationInfo, neighbourCellInfo := p_neighbourCellInfo } // End of template m_filter_criteria template (present) FilterCriteria mw_filter_criteria( template (present) JSON.String p_dstLayer2Id := ?, template (present) LocationInfo p_locationInfo := ?, template Pc5NeighbourCellInfoList p_neighbourCellInfo := * ) := { dstLayer2Id := p_dstLayer2Id, locationInfo := p_locationInfo, neighbourCellInfo := p_neighbourCellInfo } // End of template mw_filter_criteria template (omit) V2xMsgSubscription m_v2x_msg_subscription( in template (value) JSON.AnyURI p_callbackReference, in template (value) V2xMsgSubscriptionFilterCriteria p_filterCriteria, in template (omit) LinkType p_links := omit, in template (omit) TimeStamp p_expiryDeadline := omit ) := { links := p_links, callbackReference := p_callbackReference, expiryDeadline := p_expiryDeadline, filterCriteria := p_filterCriteria, subscriptionType := "V2xMsgSubscription" } // End of template m_v2x_msg_subscription template (present) V2xMsgSubscription mw_v2x_msg_subscription( template (present) JSON.AnyURI p_callbackReference := ?, template (present) V2xMsgSubscriptionFilterCriteria p_filterCriteria := ?, template LinkType p_links := *, template TimeStamp p_expiryDeadline := * ) := { links := p_links, callbackReference := p_callbackReference, expiryDeadline := p_expiryDeadline, filterCriteria := p_filterCriteria, subscriptionType := "V2xMsgSubscription" } // End of template mw_v2x_msg_subscription template (omit) V2xMsgSubscriptionFilterCriteria m_v2x_msg_subscription_filter_criteria( in StdOrganization p_stdOrganization := ETSI, in template (omit) MsgTypeList p_msgType := { cam, denm } ) := { msgType := p_msgType, stdOrganization := p_stdOrganization } // End of template m_v2x_msg_subscription_filter_criteria template (present) V2xMsgSubscriptionFilterCriteria mw_v2x_msg_subscription_filter_criteria( template (present) StdOrganization p_stdOrganization := ETSI, template MsgTypeList p_msgType := * ) := { msgType := p_msgType, stdOrganization := p_stdOrganization } // End of template mw_v2x_msg_subscription_filter_criteria } // End of module V2XInformationServiceAPI_Templates