diff --git a/MEC030/VIS/README.md b/MEC030/VIS/README.md new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/MEC030/VIS/V2XInformationService.robot b/MEC030/VIS/V2XInformationService.robot new file mode 100644 index 0000000000000000000000000000000000000000..606ec7e642ca2d693e50d0c4083ee144f86da966 --- /dev/null +++ b/MEC030/VIS/V2XInformationService.robot @@ -0,0 +1,768 @@ +''[Documentation] robot --outputdir ../../../outputs ./V2XInformationService.robot +... Test Suite to validate V2X Information Service API (VIS) operations. + +*** Settings *** +Resource environment/variables.txt +Resource ../../pics.txt +Resource ../../GenericKeywords.robot +Library REST ${SCHEMA}://${HOST}:${PORT} ssl_verify=false +Library OperatingSystem + +##GET on ${apiRoot}/${apiName}/${apiVersion}/queries/uu_unicast_provisioning_info +*** Test Cases *** +TP_MEC_MEC030_SRV_V2X_001_OK_01 + [Documentation] + ... Check that the IUT responds with a configured provisioning information over Uu unicast when queried by a MEC Application + ... ETSI GS MEC 030 V2.1.1, clause 7.3.3.1 + ... https://forge.etsi.org/rep/mec/gs030-vis-api/blob/master/MEC030_V2XInformationService.yaml + Retrieve configured provisioning information over Uu unicast using ecgi filter ${ECGI} + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is UuUnicastProvisioningInfo + + +TP_MEC_MEC030_SRV_V2X_001_OK_02 + [Documentation] + ... Check that the IUT responds with a configured provisioning information over Uu unicast when queried by a MEC Application + ... ETSI GS MEC 030 V2.1.1, clause 7.3.3.1 + ... https://forge.etsi.org/rep/mec/gs030-vis-api/blob/master/MEC030_V2XInformationService.yaml + Retrieve configured provisioning information over Uu unicast using geographical filter ${LAT_VALUE} ${LON_VALUE} + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is UuUnicastProvisioningInfo + +TP_MEC_MEC030_SRV_V2X_001_BR + [Documentation] + ... Check that the IUT responds with an error when a request with incorrect parameters is sent by a MEC Application + ... ETSI GS MEC 030 V2.1.1, clause 7.3.3.1 + ... https://forge.etsi.org/rep/mec/gs030-vis-api/blob/master/MEC030_V2XInformationService.yaml + Retrieve configured provisioning information over Uu unicast using geographical filter wrong parameter ${LAT_VALUE} ${LON_VALUE} + Check HTTP Response Status Code Is 400 + + + +TP_MEC_MEC030_SRV_V2X_001_NF + [Documentation] + ... Check that the IUT responds with an error when a request with incorrect parameters is sent by a MEC Application + ... ETSI GS MEC 030 V2.1.1, clause 7.3.3.1 + ... https://forge.etsi.org/rep/mec/gs030-vis-api/blob/master/MEC030_V2XInformationService.yaml + Retrieve configured provisioning information over Uu unicast using ecgi filter ${UNKNOWN_ECGI} + Check HTTP Response Status Code Is 404 + + + +##GET on ${apiRoot}/${apiName}/${apiVersion}/queries/uu_mbms_provisioning_info +TP_MEC_MEC030_SRV_V2X_002_OK_01 + [Documentation] + ... Check that the IUT responds with a configured provisioning information over Uu MBM when queried by a MEC Application + ... ETSI GS MEC 030 V2.1.1, clause 7.4.3.1 + Retrieve configured provisioning information over Uu MBM using ecgi filter ${ECGI} + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is UuMbmsProvisioningInfo + +TP_MEC_MEC030_SRV_V2X_002_OK_02 + [Documentation] + ... Check that the IUT responds with a configured provisioning information over Uu MBMS when queried by a MEC Application + ... ETSI GS MEC 030 V2.1.1, clause 7.4.3.1 + ... https://forge.etsi.org/rep/mec/gs030-vis-api/blob/master/MEC030_V2XInformationService.yaml + Retrieve configured provisioning information over Uu MBM using geographical filter ${LAT_VALUE} ${LON_VALUE} + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is UuMbmsProvisioningInfo + +TP_MEC_MEC030_SRV_V2X_002_BR + [Documentation] + ... Check that the IUT responds with an error when a request with incorrect parameters is sent by a MEC Application + ... ETSI GS MEC 030 V2.1.1, clause 7.4.3.1 + ... https://forge.etsi.org/rep/mec/gs030-vis-api/blob/master/MEC030_V2XInformationService.yaml + Retrieve configured provisioning information over Uu MBM using geographical filter wrong parameter ${LAT_VALUE} ${LON_VALUE} + Check HTTP Response Status Code Is 400 + +TP_MEC_MEC030_SRV_V2X_002_NF + [Documentation] + ... Check that the IUT responds with an error when a request with incorrect parameters is sent by a MEC Application + ... ETSI GS MEC 030 V2.1.1, clause 7.4.3.1 + ... https://forge.etsi.org/rep/mec/gs030-vis-api/blob/master/MEC030_V2XInformationService.yaml + Retrieve configured provisioning information over Uu MBM using geographical filter ${UNKNOWN_LAT_VALUE} ${LON_VALUE} + Check HTTP Response Status Code Is 404 + + + +##GET on ${apiRoot}/${apiName}/${apiVersion}/queries/pc5_provisioning_info +TP_MEC_MEC030_SRV_V2X_003_OK_01 + [Documentation] + ... Check that the IUT responds with a configured provisioning information over PC5 when queried by a MEC Application + ... ETSI GS MEC 030 V2.1.1, clause 7.5.3.1 + ... https://forge.etsi.org/rep/mec/gs030-vis-api/blob/master/MEC030_V2XInformationService.yaml + Retrieve configured provisioning information over PC5 using ecgi filter ${ECGI} + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is Pc5ProvisioningInfo + +TP_MEC_MEC030_SRV_V2X_003_OK_02 + [Documentation] + ... Check that the IUT responds with a configured provisioning information over Uu MBMS when queried by a MEC Application + ... ETSI GS MEC 030 V2.1.1, clause 7.5.3.1 + ... https://forge.etsi.org/rep/mec/gs030-vis-api/blob/master/MEC030_V2XInformationService.yaml + Retrieve configured provisioning information over PC5 using geographical filter ${LAT_VALUE} ${LON_VALUE} + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is Pc5ProvisioningInfo + +TP_MEC_MEC030_SRV_V2X_003_BR + [Documentation] + ... Check that the IUT responds with an error when a request with incorrect parameters is sent by a MEC Application + ... ETSI GS MEC 030 V2.1.1, clause 7.5.3.1 + ... https://forge.etsi.org/rep/mec/gs030-vis-api/blob/master/MEC030_V2XInformationService.yaml + Retrieve configured provisioning information over PC5 using geographical filter wrong parameter ${LAT_VALUE} ${LON_VALUE} + Check HTTP Response Status Code Is 400 + + +TP_MEC_MEC030_SRV_V2X_003_NF + [Documentation] + ... Check that the IUT responds with an error when a request with incorrect parameters is sent by a MEC Application + ... ETSI GS MEC 030 V2.1.1, clause 7.5.3.1 + ... https://forge.etsi.org/rep/mec/gs030-vis-api/blob/master/MEC030_V2XInformationService.yaml + Retrieve configured provisioning information over PC5 using ecgi filter ${UNKNOWN_ECGI} + Check HTTP Response Status Code Is 404 + + +##POST on ${apiRoot}/${apiName}/${apiVersion}/provide_predicted_qos +TP_MEC_MEC030_SRV_V2X_004_OK + [Documentation] + ... Check that the IUT sends a request about QoS information for a vehicular UE when queried by a MEC Application + ... ETSI GS MEC 030 V2.1.1, clause 7.6.3.4 + ... https://forge.etsi.org/rep/mec/gs030-vis-api/blob/master/MEC030_V2XInformationService.yaml + Request predicted QoS PredictedQoS.json + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is PredictedQoS + +TP_MEC_MEC030_SRV_V2X_004_BR + [Documentation] + ... Check that the IUT responds with an error when a request with incorrect parameters is sent by a MEC Application + ... ETSI GS MEC 030 V2.1.1, clause 7.6.3.4 + ... https://forge.etsi.org/rep/mec/gs030-vis-api/blob/master/MEC030_V2XInformationService.yaml + ##Wrong parameter into JSON: locality instead of locationGranularity + Request predicted QoS PredictedQoS_BR.json + Check HTTP Response Status Code Is 400 + +TP_MEC_MEC030_SRV_V2X_004_NF + [Documentation] + ... Check that the IUT responds with an error when a request with incorrect parameters is sent by a MEC Application + ... ETSI GS MEC 030 V2.1.1, clause 7.6.3.4 + ... https://forge.etsi.org/rep/mec/gs030-vis-api/blob/master/MEC030_V2XInformationService.yaml + Request predicted QoS PredictedQoS_NF.json + Check HTTP Response Status Code Is 404 + + + +##POST on ${apiRoot}/${apiName}/${apiVersion}/publish_v2x_message +TP_MEC_MEC030_SRV_V2X_005_OK + [Documentation] + ... Check that the IUT processes properly a request to publish a V2X message + ... ETSI GS MEC 030 V2.1.1, clause 7.7.3.4 + ... https://forge.etsi.org/rep/mec/gs030-vis-api/blob/master/MEC030_V2XInformationService.yaml + Publish V2X message V2xMsgPublication.json + Check HTTP Response Status Code Is 204 + +TP_MEC_MEC030_SRV_V2X_005_BR + [Documentation] + ... Check that the IUT responds with an error when a request with incorrect parameters is sent by a MEC Application + ... ETSI GS MEC 030 V2.1.1, clause 7.7.3.4 + ... https://forge.etsi.org/rep/mec/gs030-vis-api/blob/master/MEC030_V2XInformationService.yaml + Publish V2X message V2xMsgPublication_BR.json + Check HTTP Response Status Code Is 400 + + + +##GET on ${apiRoot}/${apiName}/${apiVersion}/subscription +TP_MEC_MEC030_SRV_V2X_006_OK_01 + [Documentation] + ... Check that the IUT responds with the requested list of subscription when queried by a MEC Application + ... ETSI GS MEC 030 V2.1.1, clause 7.8.3.1 + ... https://forge.etsi.org/rep/mec/gs030-vis-api/blob/master/MEC030_V2XInformationService.yaml + + Should Be True ${PIC_MEC_SYSTEM} == 1 + Should Be True ${PIC_SERVICES} == 1 + Retrieve subscription list information ${SUB_TYPE_PROV_CHG_UU_UNI} + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is SubscriptionLinkList + FOR ${sub} IN @{response['body']['_links']['subscriptions']} + ${passed} Run Keyword And Return Status Should Be Equal As Strings ${sub['subscriptionType']} ${SUB_TYPE_RESP_PROV_CHG_UU_UNI} + Exit For Loop If ${passed}==False + END + Should Be True ${passed} + +TP_MEC_MEC030_SRV_V2X_006_OK_02 + [Documentation] + ... Check that the IUT responds with the requested list of subscription when queried by a MEC Application + ... ETSI GS MEC 030 V2.1.1, clause 7.8.3.1 + ... https://forge.etsi.org/rep/mec/gs030-vis-api/blob/master/MEC030_V2XInformationService.yaml + + Should Be True ${PIC_MEC_SYSTEM} == 1 + Should Be True ${PIC_SERVICES} == 1 + Retrieve subscription list information ${SUB_TYPE_PROV_CHG_UU_MBMS} + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is SubscriptionLinkList + FOR ${sub} IN @{response['body']['_links']['subscriptions']} + ${passed} Run Keyword And Return Status Should Be Equal As Strings ${sub['subscriptionType']} ${SUB_TYPE_RESP_PROV_CHG_UU_MBMS} + Exit For Loop If ${passed} + END + Should Be True ${passed} + +TP_MEC_MEC030_SRV_V2X_006_OK_03 + [Documentation] + ... Check that the IUT responds with the requested list of subscription when queried by a MEC Application + ... ETSI GS MEC 030 V2.1.1, clause 7.8.3.1 + ... https://forge.etsi.org/rep/mec/gs030-vis-api/blob/master/MEC030_V2XInformationService.yaml + + Should Be True ${PIC_MEC_SYSTEM} == 1 + Should Be True ${PIC_SERVICES} == 1 + Retrieve subscription list information ${SUB_TYPE_PROV_CHG_PC5} + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is SubscriptionLinkList + FOR ${sub} IN @{response['body']['_links']['subscriptions']} + ${passed} Run Keyword And Return Status Should Be Equal As Strings ${sub['subscriptionType']} ${SUB_TYPE_RESP_PROV_CHG_PC5} + Exit For Loop If ${passed} + END + Should Be True ${passed} + +TP_MEC_MEC030_SRV_V2X_006_OK_04 + [Documentation] + ... Check that the IUT responds with the requested list of subscription when queried by a MEC Application + ... ETSI GS MEC 030 V2.1.1, clause 7.8.3.1 + ... https://forge.etsi.org/rep/mec/gs030-vis-api/blob/master/MEC030_V2XInformationService.yaml + + Should Be True ${PIC_MEC_SYSTEM} == 1 + Should Be True ${PIC_SERVICES} == 1 + Retrieve subscription list information ${SUB_TYPE_V2X_MSG} + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is SubscriptionLinkList + FOR ${sub} IN @{response['body']['_links']['subscriptions']} + ${passed} Run Keyword And Return Status Should Be Equal As Strings ${sub['subscriptionType']} ${SUB_TYPE_RESP_V2X_MSG} + Exit For Loop If ${passed} + END + Should Be True ${passed} + + +TP_MEC_MEC030_SRV_V2X_006_BR + [Documentation] + ... Check that the IUT responds with an error when a request with incorrect parameters is sent by a MEC Application + ... ETSI GS MEC 030 V2.1.1, clause 7.8.3.1 + ... https://forge.etsi.org/rep/mec/gs030-vis-api/blob/master/MEC030_V2XInformationService.yaml + Should Be True ${PIC_MEC_SYSTEM} == 1 + Should Be True ${PIC_SERVICES} == 1 + Retrieve subscription list information ${SUB_TYPE_INVALID} + Check HTTP Response Status Code Is 400 + + +##Below test not done yet. See this issue: https://forge.etsi.org/rep/mec/gs032p2-test-purposes/issues/9 +#TP_MEC_MEC030_SRV_V2X_006_NF +# [Documentation] +# ... Check that the IUT responds with an error when a request with incorrect parameters is sent by a MEC Application +# ... ETSI GS MEC 030 V2.1.1, clause 7.8.3.1 +# ... https://forge.etsi.org/rep/mec/gs030-vis-api/blob/master/MEC030_V2XInformationService.yaml +# +# Should Be True ${PIC_MEC_SYSTEM} == 1 +# Should Be True ${PIC_SERVICES} == 1 +# Retrieve subscription list information ${SUB_TYPE_INVALID} +# Check HTTP Response Status Code Is 404 + +##POST on ${apiRoot}/${apiName}/${apiVersion}/subscription +TP_MEC_MEC030_SRV_V2X_007_OK_01 + [Documentation] + ... Check that the IUT responds with the requested to create a subscription + ... ETSI GS MEC 030 V2.1.1, clause 7.8.3.4 + ... https://forge.etsi.org/rep/mec/gs030-vis-api/blob/master/MEC030_V2XInformationService.yaml + Should Be True ${PIC_MEC_SYSTEM} == 1 + Should Be True ${PIC_SERVICES} == 1 + ${path} Catenate SEPARATOR= jsons/ ProvChgUuUniSubscription.json + ${body} Get File ${path} + ${json_object}= Evaluate json.loads('''${body}''') json + Send a request for creating a subscription ${body} + Check HTTP Response Status Code Is 201 + Check HTTP Response Body Json Schema Is ProvChgUuUniSubscription + Should Be Equal As Strings ${response['body']['subscriptionType']} ${SUB_TYPE_RESP_PROV_CHG_UU_UNI} + Should Be Equal As Strings ${response['body']['callbackReference']} ${CALLBACK_URL} + Should Be Equal As Strings ${json_object['filterCriteria']} ${response['body']['filterCriteria']} + Should Not Be Empty ${response['body']['_links']['self']['href']} + +TP_MEC_MEC030_SRV_V2X_007_OK_02 + [Documentation] + ... Check that the IUT responds with the requested to create a subscription + ... ETSI GS MEC 030 V2.1.1, clause 7.8.3.4 + ... https://forge.etsi.org/rep/mec/gs030-vis-api/blob/master/MEC030_V2XInformationService.yaml + Should Be True ${PIC_MEC_SYSTEM} == 1 + Should Be True ${PIC_SERVICES} == 1 + ${path} Catenate SEPARATOR= jsons/ ProvChgUuMbmsSubscription.json + ${body} Get File ${path} + ${json_object}= Evaluate json.loads('''${body}''') json + Send a request for creating a subscription ${body} + Check HTTP Response Status Code Is 201 + Check HTTP Response Body Json Schema Is ProvChgUuMbmsSubscription + Should Be Equal As Strings ${response['body']['subscriptionType']} ${SUB_TYPE_RESP_PROV_CHG_UU_MBMS} + Should Be Equal As Strings ${response['body']['callbackReference']} ${CALLBACK_URL} + Should Be Equal As Strings ${json_object['filterCriteria']} ${response['body']['filterCriteria']} + Should Not Be Empty ${response['body']['_links']['self']['href']} + + +TP_MEC_MEC030_SRV_V2X_007_OK_03 + [Documentation] + ... Check that the IUT responds with the requested to create a subscription + ... ETSI GS MEC 030 V2.1.1, clause 7.8.3.4 + ... https://forge.etsi.org/rep/mec/gs030-vis-api/blob/master/MEC030_V2XInformationService.yaml + Should Be True ${PIC_MEC_SYSTEM} == 1 + Should Be True ${PIC_SERVICES} == 1 + ${path} Catenate SEPARATOR= jsons/ ProvChgPc5Subscription.json + ${body} Get File ${path} + ${json_object}= Evaluate json.loads('''${body}''') json + Send a request for creating a subscription ${body} + Check HTTP Response Status Code Is 201 + Check HTTP Response Body Json Schema Is ProvChgPc5Subscription + Should Be Equal As Strings ${response['body']['subscriptionType']} ${SUB_TYPE_RESP_PROV_CHG_PC5} + Should Be Equal As Strings ${response['body']['callbackReference']} ${CALLBACK_URL} + Should Be Equal As Strings ${json_object['filterCriteria']} ${response['body']['filterCriteria']} + Should Not Be Empty ${response['body']['_links']['self']['href']} + +TP_MEC_MEC030_SRV_V2X_007_OK_04 + [Documentation] + ... Check that the IUT responds with the requested to create a subscription + ... ETSI GS MEC 030 V2.1.1, clause 7.8.3.4 + ... https://forge.etsi.org/rep/mec/gs030-vis-api/blob/master/MEC030_V2XInformationService.yaml + + Should Be True ${PIC_MEC_SYSTEM} == 1 + Should Be True ${PIC_SERVICES} == 1 + ${path} Catenate SEPARATOR= jsons/ V2xMsgSubscription.json + ${body} Get File ${path} + ${json_object}= Evaluate json.loads('''${body}''') json + Send a request for creating a subscription ${body} + Check HTTP Response Status Code Is 201 + Check HTTP Response Body Json Schema Is V2xMsgSubscription + Should Be Equal As Strings ${response['body']['subscriptionType']} ${SUB_TYPE_RESP_V2X_MSG} + Should Be Equal As Strings ${response['body']['callbackReference']} ${CALLBACK_URL} + Should Be Equal As Strings ${json_object['filterCriteria']} ${response['body']['filterCriteria']} + Should Not Be Empty ${response['body']['_links']['self']['href']} + + +TP_MEC_MEC030_SRV_V2X_007_BR + [Documentation] + ... Check that the IUT responds with the requested to create a subscription + ... ETSI GS MEC 030 V2.1.1, clause 7.8.3.4 + ... https://forge.etsi.org/rep/mec/gs030-vis-api/blob/master/MEC030_V2XInformationService.yaml + Should Be True ${PIC_MEC_SYSTEM} == 1 + Should Be True ${PIC_SERVICES} == 1 + ${path} Catenate SEPARATOR= jsons/ ProvChgUuMbmsSubscription_BR.json + ${body} Get File ${path} + ${json_object}= Evaluate json.loads('''${body}''') json + Send a request for creating a subscription ${body} + Check HTTP Response Status Code Is 400 + + +##GET on ${apiRoot}/${apiName}/${apiVersion}/subscriptions/{subscriptionId} +TP_MEC_MEC030_SRV_V2X_008_OK_01 + [Documentation] + ... Check that the IUT responds with the requested of subscription information when queried by a MEC Application + ... ETSI GS MEC 030 V2.1.1, clause 7.9.3.1 + ... https://forge.etsi.org/rep/mec/gs030-vis-api/blob/master/MEC030_V2XInformationService.yaml + Should Be True ${PIC_MEC_SYSTEM} == 1 + Should Be True ${PIC_SERVICES} == 1 + Retrieve a subscription ${SUB_PROV_CHG_UU_UNI_ID} + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ProvChgUuUniSubscription + Should Be Equal As Strings ${response['body']['subscriptionType']} ${SUB_TYPE_RESP_PROV_CHG_UU_UNI} + Should Be Equal As Strings ${response['body']['callbackReference']} ${CALLBACK_URL} + Should Not Be Empty ${response['body']['filterCriteria']} + Should Not Be Empty ${response['body']['_links']['self']['href']} + +TP_MEC_MEC030_SRV_V2X_008_OK_02 + [Documentation] + ... Check that the IUT responds with the requested of subscription information when queried by a MEC Application + ... ETSI GS MEC 030 V2.1.1, clause 7.9.3.1 + ... https://forge.etsi.org/rep/mec/gs030-vis-api/blob/master/MEC030_V2XInformationService.yaml + Should Be True ${PIC_MEC_SYSTEM} == 1 + Should Be True ${PIC_SERVICES} == 1 + Retrieve a subscription ${SUB_PROV_CHG_UU_MBMS_ID} + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ProvChgUuMbmsSubscription + Should Be Equal As Strings ${response['body']['subscriptionType']} ${SUB_TYPE_RESP_PROV_CHG_UU_MBMS} + Should Be Equal As Strings ${response['body']['callbackReference']} ${CALLBACK_URL} + Should Not Be Empty ${response['body']['filterCriteria']} + Should Not Be Empty ${response['body']['_links']['self']['href']} + + +TP_MEC_MEC030_SRV_V2X_008_OK_03 + [Documentation] + ... Check that the IUT responds with the requested of subscription information when queried by a MEC Application + ... ETSI GS MEC 030 V2.1.1, clause 7.9.3.1 + ... https://forge.etsi.org/rep/mec/gs030-vis-api/blob/master/MEC030_V2XInformationService.yaml + Should Be True ${PIC_MEC_SYSTEM} == 1 + Should Be True ${PIC_SERVICES} == 1 + Retrieve a subscription ${SUB_PROV_CHG_PC5_ID} + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ProvChgPc5Subscription + Should Be Equal As Strings ${response['body']['subscriptionType']} ${SUB_TYPE_RESP_PROV_CHG_PC5} + Should Be Equal As Strings ${response['body']['callbackReference']} ${CALLBACK_URL} + Should Not Be Empty ${response['body']['filterCriteria']} + Should Not Be Empty ${response['body']['_links']['self']['href']} + +TP_MEC_MEC030_SRV_V2X_008_OK_04 + [Documentation] + ... Check that the IUT responds with the requested of subscription information when queried by a MEC Application + ... ETSI GS MEC 030 V2.1.1, clause 7.9.3.1 + ... https://forge.etsi.org/rep/mec/gs030-vis-api/blob/master/MEC030_V2XInformationService.yaml + Should Be True ${PIC_MEC_SYSTEM} == 1 + Should Be True ${PIC_SERVICES} == 1 + Retrieve a subscription ${SUB_V2X_MSG_ID} + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is V2xMsgSubscription + Should Be Equal As Strings ${response['body']['subscriptionType']} ${SUB_TYPE_RESP_V2X_MSG} + Should Be Equal As Strings ${response['body']['callbackReference']} ${CALLBACK_URL} + Should Not Be Empty ${response['body']['filterCriteria']} + Should Not Be Empty ${response['body']['_links']['self']['href']} + +TP_MEC_MEC030_SRV_V2X_008_BR + [Documentation] + ... Check that the IUT responds with an error when a request with incorrect parameters is sent by a MEC Application + ... ETSI GS MEC 030 V2.1.1, clause 7.9.3.1 + ... https://forge.etsi.org/rep/mec/gs030-vis-api/blob/master/MEC030_V2XInformationService.yaml + Should Be True ${PIC_MEC_SYSTEM} == 1 + Should Be True ${PIC_SERVICES} == 1 + Retrieve a subscription ${SUB_WRONG_PARAM} + Check HTTP Response Status Code Is 400 + + +TP_MEC_MEC030_SRV_V2X_008_NF + [Documentation] + ... Check that the IUT responds with an error when a request with incorrect parameters is sent by a MEC Application + ... ETSI GS MEC 030 V2.1.1, clause 7.9.3.1 + ... https://forge.etsi.org/rep/mec/gs030-vis-api/blob/master/MEC030_V2XInformationService.yaml + Should Be True ${PIC_MEC_SYSTEM} == 1 + Should Be True ${PIC_SERVICES} == 1 + Retrieve a subscription ${NOT_EXISTING_SUB_ID} + Check HTTP Response Status Code Is 404 + + + +##PUT on ${apiRoot}/${apiName}/${apiVersion}/subscriptions/{subscriptionId} +TP_MEC_MEC030_SRV_V2X_009_OK_01 + [Documentation] + ... Check that the IUT responds with the requested of updating subscription when queried by a MEC Application + ... ETSI GS MEC 030 V2.1.1, clause 7.9.3.2 + ... https://forge.etsi.org/rep/mec/gs030-vis-api/blob/master/MEC030_V2XInformationService.yaml + Should Be True ${PIC_MEC_SYSTEM} == 1 + Should Be True ${PIC_SERVICES} == 1 + ${path} Catenate SEPARATOR= jsons/ ProvChgUuUniSubscriptionUpdate.json + ${body} Get File ${path} + ${json_object}= Evaluate json.loads('''${body}''') json + Update existing subscription ${SUB_PROV_CHG_UU_UNI_ID} ${body} + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ProvChgUuUniSubscription + Should Be Equal As Strings ${response['body']['subscriptionType']} ${SUB_TYPE_RESP_PROV_CHG_UU_UNI} + Should Be Equal As Strings ${response['body']['callbackReference']} ${CALLBACK_URL} + Should Not Be Empty ${response['body']['_links']['self']['href']} + Should Be Equal As Strings ${json_object['filterCriteria']} ${response['body']['filterCriteria']} + +TP_MEC_MEC030_SRV_V2X_009_OK_02 + [Documentation] + ... Check that the IUT responds with the requested of updating subscription when queried by a MEC Application + ... ETSI GS MEC 030 V2.1.1, clause 7.9.3.2 + ... https://forge.etsi.org/rep/mec/gs030-vis-api/blob/master/MEC030_V2XInformationService.yaml + Should Be True ${PIC_MEC_SYSTEM} == 1 + Should Be True ${PIC_SERVICES} == 1 + ${path} Catenate SEPARATOR= jsons/ ProvChgUuMbmsSubscriptionUpdate.json + ${body} Get File ${path} + ${json_object}= Evaluate json.loads('''${body}''') json + Update existing subscription ${SUB_PROV_CHG_UU_MBMS_ID} ${body} + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ProvChgUuMbmsSubscription + Should Be Equal As Strings ${response['body']['subscriptionType']} ${SUB_TYPE_RESP_PROV_CHG_UU_MBMS} + Should Be Equal As Strings ${response['body']['callbackReference']} ${CALLBACK_URL} + Should Not Be Empty ${response['body']['_links']['self']['href']} + Should Be Equal As Strings ${json_object['filterCriteria']} ${response['body']['filterCriteria']} + +TP_MEC_MEC030_SRV_V2X_009_OK_03 + [Documentation] + ... Check that the IUT responds with the requested of updating subscription when queried by a MEC Application + ... ETSI GS MEC 030 V2.1.1, clause 7.9.3.2 + ... https://forge.etsi.org/rep/mec/gs030-vis-api/blob/master/MEC030_V2XInformationService.yaml + Should Be True ${PIC_MEC_SYSTEM} == 1 + Should Be True ${PIC_SERVICES} == 1 + ${path} Catenate SEPARATOR= jsons/ ProvChgPc5SubscriptionUpdate.json + ${body} Get File ${path} + ${json_object}= Evaluate json.loads('''${body}''') json + Update existing subscription ${SUB_PROV_CHG_PC5_ID} ${body} + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ProvChgPc5Subscription + Should Be Equal As Strings ${response['body']['subscriptionType']} ${SUB_TYPE_RESP_PROV_CHG_PC5} + Should Be Equal As Strings ${response['body']['callbackReference']} ${CALLBACK_URL} + Should Not Be Empty ${response['body']['_links']['self']['href']} + Should Be Equal As Strings ${json_object['filterCriteria']} ${response['body']['filterCriteria']} + +TP_MEC_MEC030_SRV_V2X_009_OK_04 + [Documentation] + ... Check that the IUT responds with the requested of updating subscription when queried by a MEC Application + ... ETSI GS MEC 030 V2.1.1, clause 7.9.3.2 + ... https://forge.etsi.org/rep/mec/gs030-vis-api/blob/master/MEC030_V2XInformationService.yaml + Should Be True ${PIC_MEC_SYSTEM} == 1 + Should Be True ${PIC_SERVICES} == 1 + ${path} Catenate SEPARATOR= jsons/ V2xMsgSubscriptionUpdate.json + ${body} Get File ${path} + ${json_object}= Evaluate json.loads('''${body}''') json + Update existing subscription ${SUB_V2X_MSG_ID} ${body} + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is V2xMsgSubscription + Should Be Equal As Strings ${response['body']['subscriptionType']} ${SUB_TYPE_RESP_V2X_MSG} + Should Be Equal As Strings ${response['body']['callbackReference']} ${CALLBACK_URL} + Should Not Be Empty ${response['body']['_links']['self']['href']} + Should Be Equal As Strings ${json_object['filterCriteria']} ${response['body']['filterCriteria']} + +TP_MEC_MEC030_SRV_V2X_009_BR + [Documentation] + ... Check that the IUT responds with the requested of updating subscription when queried by a MEC Application + ... ETSI GS MEC 030 V2.1.1, clause 7.9.3.2 + ... https://forge.etsi.org/rep/mec/gs030-vis-api/blob/master/MEC030_V2XInformationService.yaml + Should Be True ${PIC_MEC_SYSTEM} == 1 + Should Be True ${PIC_SERVICES} == 1 + ${path} Catenate SEPARATOR= jsons/ ProvChgUuUniSubscriptionUpdate_BR.json + ${body} Get File ${path} + ${json_object}= Evaluate json.loads('''${body}''') json + Update existing subscription ${SUB_PROV_CHG_UU_UNI_ID} ${body} + Check HTTP Response Status Code Is 400 + + +##Below test not done yet. See issue https://forge.etsi.org/rep/mec/gs032p2-test-purposes/issues/10 +#TP_MEC_MEC030_SRV_V2X_009_NF +# [Documentation] +# ... Check that the IUT responds with the requested of updating subscription when queried by a MEC Application +# ... ETSI GS MEC 030 V2.1.1, clause 7.9.3.2 +# ... https://forge.etsi.org/rep/mec/gs030-vis-api/blob/master/MEC030_V2XInformationService.yaml +# Should Be True ${PIC_MEC_SYSTEM} == 1 +# Should Be True ${PIC_SERVICES} == 1 +# ${path} Catenate SEPARATOR= jsons/ ProvChgUuUniSubscriptionUpdate_NF.json +# ${body} Get File ${path} +# ${json_object}= Evaluate json.loads('''${body}''') json +# Update existing subscription ${SUB_PROV_CHG_UU_UNI_ID} ${body} +# Check HTTP Response Status Code Is 404 + +##DELETE on ${apiRoot}/${apiName}/${apiVersion}/subscriptions/{subscriptionId} + +##Different implementation respect to the TP. See issue: https://forge.etsi.org/rep/mec/gs032p2-test-purposes/issues/7 +TP_MEC_MEC030_SRV_V2X_010_OK_01 + [Documentation] + ... Check that the IUT responds with the requested of updating subscription when queried by a MEC Application + ... ETSI GS MEC 030 V2.1.1, clause 7.9.3.2 + ... https://forge.etsi.org/rep/mec/gs030-vis-api/blob/master/MEC030_V2XInformationService.yaml + Should Be True ${PIC_MEC_SYSTEM} == 1 + Should Be True ${PIC_SERVICES} == 1 + Remove existing subscription ${SUB_PROV_CHG_UU_UNI_ID} + Check HTTP Response Status Code Is 204 + + +##Different implementation respect to the TP. See issue: https://forge.etsi.org/rep/mec/gs032p2-test-purposes/issues/7 +TP_MEC_MEC030_SRV_V2X_010_NF_01 + [Documentation] + ... Check that the IUT responds with the requested of updating subscription when queried by a MEC Application + ... ETSI GS MEC 030 V2.1.1, clause 7.9.3.2 + ... https://forge.etsi.org/rep/mec/gs030-vis-api/blob/master/MEC030_V2XInformationService.yaml + Should Be True ${PIC_MEC_SYSTEM} == 1 + Should Be True ${PIC_SERVICES} == 1 + Remove existing subscription ${NOT_EXISTING_SUB_ID} + Check HTTP Response Status Code Is 404 + +##TP_MEC_MEC030_SRV_V2X_010_OK_02, TP_MEC_MEC030_SRV_V2X_010_OK_03 and TP_MEC_MEC030_SRV_V2X_010_OK_04 are missing because issue +## https://forge.etsi.org/rep/mec/gs032p2-test-purposes/issues/7 + +##TP with identifier TP_MEC_MEC030_SRV_V2X_010_BR is missing because of following issue: +## https://forge.etsi.org/rep/mec/gs032p2-test-purposes/issues/8 +*** Keywords *** +Retrieve configured provisioning information over Uu unicast using ecgi filter + [Arguments] ${value} + Should Be True ${PIC_MEC_PLAT} == 1 + Should Be True ${PIC_SERVICES} == 1 + Set Headers {"Accept":"application/json"} + Set Headers {"Content-Type":"*/*"} + Set Headers {"Authorization":"${TOKEN}"} + Set Headers {"Content-Length":"0"} + GET ${apiRoot}/${apiName}/${apiVersion}/queries/uu_unicast_provisioning_info?location_info=ecgi,${value} + ${output}= Output response + Set Suite Variable ${response} ${output} + + +Retrieve configured provisioning information over Uu unicast using geographical filter + [Arguments] ${latitude_value} ${longitude_value} + Should Be True ${PIC_MEC_PLAT} == 1 + Should Be True ${PIC_SERVICES} == 1 + Set Headers {"Accept":"application/json"} + Set Headers {"Content-Type":"*/*"} + Set Headers {"Authorization":"${TOKEN}"} + Set Headers {"Content-Length":"0"} + GET ${apiRoot}/${apiName}/${apiVersion}/queries/uu_unicast_provisioning_info?location_info=latitude,${latitude_value},longitude,${longitude_value} + ${output}= Output response + Set Suite Variable ${response} ${output} + + Retrieve configured provisioning information over Uu unicast using geographical filter wrong parameter + [Arguments] ${latitude_value} ${longitude_value} + Should Be True ${PIC_MEC_PLAT} == 1 + Should Be True ${PIC_SERVICES} == 1 + Set Headers {"Accept":"application/json"} + Set Headers {"Content-Type":"*/*"} + Set Headers {"Authorization":"${TOKEN}"} + Set Headers {"Content-Length":"0"} + #wrong parameter lattitude instead of latitude + GET ${apiRoot}/${apiName}/${apiVersion}/queries/uu_unicast_provisioning_info?location_info=lattitude,${latitude_value},longitude,${longitude_value} + ${output}= Output response + Set Suite Variable ${response} ${output} + + +Retrieve configured provisioning information over Uu MBM using ecgi filter + [Arguments] ${value} + Should Be True ${PIC_MEC_PLAT} == 1 + Should Be True ${PIC_SERVICES} == 1 + Set Headers {"Accept":"application/json"} + Set Headers {"Content-Type":"*/*"} + Set Headers {"Authorization":"${TOKEN}"} + Set Headers {"Content-Length":"0"} + GET ${apiRoot}/${apiName}/${apiVersion}/queries/uu_mbms_provisioning_info?location_info=ecgi,${value} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Retrieve configured provisioning information over Uu MBM using geographical filter + [Arguments] ${latitude_value} ${longitude_value} + Should Be True ${PIC_MEC_PLAT} == 1 + Should Be True ${PIC_SERVICES} == 1 + Set Headers {"Accept":"application/json"} + Set Headers {"Content-Type":"*/*"} + Set Headers {"Authorization":"${TOKEN}"} + Set Headers {"Content-Length":"0"} + GET ${apiRoot}/${apiName}/${apiVersion}/queries/uu_mbms_provisioning_info?location_info=latitude,${latitude_value},longitude,${longitude_value} + ${output}= Output response + Set Suite Variable ${response} ${output} + + + Retrieve configured provisioning information over Uu MBM using geographical filter wrong parameter + [Arguments] ${latitude_value} ${longitude_value} + Should Be True ${PIC_MEC_PLAT} == 1 + Should Be True ${PIC_SERVICES} == 1 + Set Headers {"Accept":"application/json"} + Set Headers {"Content-Type":"*/*"} + Set Headers {"Authorization":"${TOKEN}"} + Set Headers {"Content-Length":"0"} + #wrong parameter: lattitude instead of latitude + GET ${apiRoot}/${apiName}/${apiVersion}/queries/uu_mbms_provisioning_info?location_info=lattitude,${latitude_value},longitude,${longitude_value} + ${output}= Output response + Set Suite Variable ${response} ${output} + + +Retrieve configured provisioning information over PC5 using ecgi filter + [Arguments] ${value} + Should Be True ${PIC_MEC_PLAT} == 1 + Should Be True ${PIC_SERVICES} == 1 + Set Headers {"Accept":"application/json"} + Set Headers {"Content-Type":"*/*"} + Set Headers {"Authorization":"${TOKEN}"} + Set Headers {"Content-Length":"0"} + GET ${apiRoot}/${apiName}/${apiVersion}/queries/pc5_provisioning_info?location_info=ecgi,${value} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Retrieve configured provisioning information over PC5 using geographical filter + [Arguments] ${latitude_value} ${longitude_value} + Should Be True ${PIC_MEC_PLAT} == 1 + Should Be True ${PIC_SERVICES} == 1 + Set Headers {"Accept":"application/json"} + Set Headers {"Content-Type":"*/*"} + Set Headers {"Authorization":"${TOKEN}"} + Set Headers {"Content-Length":"0"} + GET ${apiRoot}/${apiName}/${apiVersion}/queries/pc5_provisioning_info?location_info=latitude,${latitude_value},longitude,${longitude_value} + ${output}= Output response + Set Suite Variable ${response} ${output} + + + Retrieve configured provisioning information over PC5 using geographical filter wrong parameter + [Arguments] ${latitude_value} ${longitude_value} + Should Be True ${PIC_MEC_PLAT} == 1 + Should Be True ${PIC_SERVICES} == 1 + Set Headers {"Accept":"application/json"} + Set Headers {"Content-Type":"*/*"} + Set Headers {"Authorization":"${TOKEN}"} + Set Headers {"Content-Length":"0"} + #wrong parameter: lattitude instead of latitude + GET ${apiRoot}/${apiName}/${apiVersion}/queries/pc5_provisioning_info?location_info=lattitude,${latitude_value},longitude,${longitude_value} + ${output}= Output response + Set Suite Variable ${response} ${output} + + +Request predicted QoS + [Arguments] ${content} + Should Be True ${PIC_MEC_PLAT} == 1 + Should Be True ${PIC_SERVICES} == 1 + Set Headers {"Accept":"application/json"} + Set Headers {"Content-Type":"application/json"} + Set Headers {"Authorization":"${TOKEN}"} + Set Headers {"Content-Length":"0"} + ${path} Catenate SEPARATOR= jsons/ ${content} + ${body} Get File ${path} + Post ${apiRoot}/${apiName}/${apiVersion}/provide_predicted_qos ${body} + ${output}= Output response + Set Suite Variable ${response} ${output} + + + +Publish V2X message + [Arguments] ${content} + Should Be True ${PIC_MEC_PLAT} == 1 + Should Be True ${PIC_SERVICES} == 1 + Set Headers {"Accept":"application/json"} + Set Headers {"Content-Type":"application/json"} + Set Headers {"Authorization":"${TOKEN}"} + Set Headers {"Content-Length":"0"} + ${path} Catenate SEPARATOR= jsons/ ${content} + ${body} Get File ${path} + Post ${apiRoot}/${apiName}/${apiVersion}/publish_v2x_message ${body} + ${output}= Output response + Set Suite Variable ${response} ${output} + + +Retrieve subscription list information + [Arguments] ${subscription_type} + Should Be True ${PIC_MEC_SYSTEM} == 1 + Should Be True ${PIC_SERVICES} == 1 + Set Headers {"Accept":"application/json"} + Set Headers {"Content-Type":"*/*"} + Set Headers {"Authorization":"${TOKEN}"} + GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions?subscription_type=${subscription_type} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send a request for creating a subscription + [Arguments] ${body} + Log Creating a new subscription + Set Headers {"Accept":"application/json"} + Set Headers {"Content-Type":"application/json"} + Set Headers {"Authorization":"${TOKEN}"} + Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Retrieve a subscription + [Arguments] ${subscriptionId} + Set Headers {"Accept":"application/json"} + Set Headers {"Content-Type":"*/*"} + Set Headers {"Authorization":"${TOKEN}"} + GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Update existing subscription + [Arguments] ${subscriptionId} ${body} + Set Headers {"Accept":"application/json"} + Set Headers {"Content-Type":"application/json"} + Set Headers {"Authorization":"${TOKEN}"} + PUT ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} ${body} + Log ${body} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Remove existing subscription + [Arguments] ${subscriptionId} + Set Headers {"Accept":"application/json"} + Set Headers {"Content-Type":"*/*"} + Set Headers {"Authorization":"${TOKEN}"} + Delete ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} + ${output}= Output response + Set Suite Variable ${response} ${output} \ No newline at end of file diff --git a/MEC030/VIS/environment/variables.txt b/MEC030/VIS/environment/variables.txt new file mode 100644 index 0000000000000000000000000000000000000000..198cebbdff7d5b1fe505173b11dcded159e64c7f --- /dev/null +++ b/MEC030/VIS/environment/variables.txt @@ -0,0 +1,40 @@ +*** Variables *** +# Generic variables +${SCHEMA} http +${HOST} 127.0.0.1 +${PORT} 8082 +${response} {} +${TOKEN} Basic YWxhZGRpbjpvcGVuc2VzYW1l +${apiRoot} +${apiName} vis +${apiVersion} v1 + +# Specific variables +${LOCATION_INFO_QUERY_PARAM} location_info +${ECGI} 1357924680 +${UNKNOWN_ECGI} 1357924689 + +${LAT_VALUE} 43.7228 +${LON_VALUE} 10.4017 +${UNKNOWN_LAT_VALUE} 10.10 + +${SUB_TYPE_PROV_CHG_UU_UNI} prov_chg_uu_uni +${SUB_TYPE_PROV_CHG_UU_MBMS} prov_chg_uu_mbms +${SUB_TYPE_PROV_CHG_PC5} prov_chg_uu_pc5 +${SUB_TYPE_V2X_MSG} v2x_msg +${SUB_TYPE_INVALID} INVALID_SUB_TYPE + +${SUB_TYPE_RESP_PROV_CHG_UU_UNI} ProvChgUuUniSubscription +${SUB_TYPE_RESP_PROV_CHG_UU_MBMS} ProvChgUuMbmsSubscription +${SUB_TYPE_RESP_PROV_CHG_PC5} ProvChgPc5Subscription +${SUB_TYPE_RESP_V2X_MSG} V2xMsgSubscription + +${SUB_PROV_CHG_UU_UNI_ID} 1 +${SUB_PROV_CHG_UU_MBMS_ID} 2 +${SUB_PROV_CHG_PC5_ID} 3 +${SUB_V2X_MSG_ID} 4 +${SUB_WRONG_PARAM} WRONG_PARAM +${NOT_EXISTING_SUB_ID} NOT_EXISTING_SUB_ID + +${CALLBACK_URL} http://callback.uri/1 + diff --git a/MEC030/VIS/jsons/PredictedQoS.json b/MEC030/VIS/jsons/PredictedQoS.json new file mode 100644 index 0000000000000000000000000000000000000000..e0ff6813a6d16f261c8319166a0bc7084039d9cd --- /dev/null +++ b/MEC030/VIS/jsons/PredictedQoS.json @@ -0,0 +1,41 @@ +{ + "locationGranularity": "10", + "routes": [{ + "routeinfo": [ + { + "location": { + "geoArea": { + "latitude": 43.7228, + "longitude": 10.4017 + }, + "ecgi": { + "plmn": { + "mcc": "135", + "mnc": "792" + }, + "cellId": { + "cellId": "4680" + } + } + } + }, + { + "location": { + "geoArea": { + "latitude": 43.73, + "longitude": 10.41 + }, + "ecgi": { + "plmn": { + "mcc": "135", + "mnc": "792" + }, + "cellId": { + "cellId": "4685" + } + } + } + } + ] + }] +} \ No newline at end of file diff --git a/MEC030/VIS/jsons/PredictedQoS_BR.json b/MEC030/VIS/jsons/PredictedQoS_BR.json new file mode 100644 index 0000000000000000000000000000000000000000..1ddbf46a8e611f12eb7effde6f1592b0a3a07996 --- /dev/null +++ b/MEC030/VIS/jsons/PredictedQoS_BR.json @@ -0,0 +1,41 @@ +{ + "localityGranularity": "10", + "routes": [{ + "routeinfo": [ + { + "location": { + "geoArea": { + "latitude": 43.7228, + "longitude": 10.4017 + }, + "ecgi": { + "plmn": { + "mcc": "135", + "mnc": "792" + }, + "cellId": { + "cellId": "4680" + } + } + } + }, + { + "location": { + "geoArea": { + "latitude": 43.73, + "longitude": 10.41 + }, + "ecgi": { + "plmn": { + "mcc": "135", + "mnc": "792" + }, + "cellId": { + "cellId": "4685" + } + } + } + } + ] + }] +} \ No newline at end of file diff --git a/MEC030/VIS/jsons/PredictedQoS_NF.json b/MEC030/VIS/jsons/PredictedQoS_NF.json new file mode 100644 index 0000000000000000000000000000000000000000..3086833d1bb6ed996a3145b0d1ae1193a4bc6fd6 --- /dev/null +++ b/MEC030/VIS/jsons/PredictedQoS_NF.json @@ -0,0 +1,41 @@ +{ + "locationGranularity": "10", + "routes": [{ + "routeinfo": [ + { + "location": { + "geoArea": { + "latitude": 40, + "longitude": 10 + }, + "ecgi": { + "plmn": { + "mcc": "135", + "mnc": "792" + }, + "cellId": { + "cellId": "4680" + } + } + } + }, + { + "location": { + "geoArea": { + "latitude": 43, + "longitude": 11 + }, + "ecgi": { + "plmn": { + "mcc": "135", + "mnc": "792" + }, + "cellId": { + "cellId": "4685" + } + } + } + } + ] + }] +} \ No newline at end of file diff --git a/MEC030/VIS/jsons/ProvChgPc5Subscription.json b/MEC030/VIS/jsons/ProvChgPc5Subscription.json new file mode 100644 index 0000000000000000000000000000000000000000..8774d999dad432df6dcfead7c5cfb7c8576f1f33 --- /dev/null +++ b/MEC030/VIS/jsons/ProvChgPc5Subscription.json @@ -0,0 +1,22 @@ +{ + "subscriptionType": "ProvChgPc5Subscription", + "callbackReference": "http://callback.uri/1", + "filterCriteria": { + "locationInfo": { + "ecgi": { + "plmn": { + "mcc": "001", + "mnc": "001" + }, + "cellId": { + "cellId": "001" + } + }, + "geoArea": { + "latitude": 42, + "longitude": 10.3 + } + }, + "dstLayer2Id": "1" + } +} \ No newline at end of file diff --git a/MEC030/VIS/jsons/ProvChgPc5SubscriptionUpdate.json b/MEC030/VIS/jsons/ProvChgPc5SubscriptionUpdate.json new file mode 100644 index 0000000000000000000000000000000000000000..1795bf704b1bd9bd371b1e439d73ca96443445e6 --- /dev/null +++ b/MEC030/VIS/jsons/ProvChgPc5SubscriptionUpdate.json @@ -0,0 +1,27 @@ +{ + "subscriptionType": "ProvChgPc5Subscription", + "callbackReference": "http://callback.uri/1", + "filterCriteria": { + "locationInfo": { + "ecgi": { + "plmn": { + "mcc": "003", + "mnc": "002" + }, + "cellId": { + "cellId": "005" + } + }, + "geoArea": { + "latitude": 42, + "longitude": 10.3 + } + }, + "dstLayer2Id": "1" + }, + "_links": { + "self": { + "href": "https://127.0.0.1/v1/vai/subscriptions/3" + } + } +} \ No newline at end of file diff --git a/MEC030/VIS/jsons/ProvChgUuMbmsSubscription.json b/MEC030/VIS/jsons/ProvChgUuMbmsSubscription.json new file mode 100644 index 0000000000000000000000000000000000000000..01c737360aa3a4fbd0d89dffc4d413d340234661 --- /dev/null +++ b/MEC030/VIS/jsons/ProvChgUuMbmsSubscription.json @@ -0,0 +1,33 @@ +{ + "subscriptionType": "ProvChgUuMbmsSubscription", + "callbackReference": "http://callback.uri/1", + "filterCriteria": { + "locationInfo": { + "ecgi": { + "plmn": { + "mcc": "001", + "mnc": "001" + }, + "cellId": { + "cellId": "001" + } + }, + "geoArea": { + "latitude": 42.1, + "longitude": 10.3 + } + }, + "v2xServerUsd": { + "tmgi": { + "mbmsServiceId": "serviceId", + "mcc": "002", + "mnc": "002" + }, + "serviceAreaIdentifier": ["id01"], + "sdpInfo": { + "ipMulticastAddress": "10.10.0.255", + "portNumber": "1234" + } + } + } +} \ No newline at end of file diff --git a/MEC030/VIS/jsons/ProvChgUuMbmsSubscriptionUpdate.json b/MEC030/VIS/jsons/ProvChgUuMbmsSubscriptionUpdate.json new file mode 100644 index 0000000000000000000000000000000000000000..8157fabc3afeb2f82acbfea5533ebf903ea48556 --- /dev/null +++ b/MEC030/VIS/jsons/ProvChgUuMbmsSubscriptionUpdate.json @@ -0,0 +1,38 @@ +{ + "subscriptionType": "ProvChgUuMbmsSubscription", + "callbackReference": "http://callback.uri/1", + "filterCriteria": { + "locationInfo": { + "ecgi": { + "plmn": { + "mcc": "001", + "mnc": "001" + }, + "cellId": { + "cellId": "001" + } + }, + "geoArea": { + "latitude": 43.10, + "longitude": 10.2 + } + }, + "v2xServerUsd": { + "tmgi": { + "mbmsServiceId": "newServiceId", + "mcc": "002", + "mnc": "002" + }, + "serviceAreaIdentifier": ["id01"], + "sdpInfo": { + "ipMulticastAddress": "10.10.0.255", + "portNumber": "1234" + } + } + }, + "_links": { + "self": { + "href": "https://127.0.0.1/v1/vai/subscriptions/1" + } + } +} \ No newline at end of file diff --git a/MEC030/VIS/jsons/ProvChgUuMbmsSubscription_BR.json b/MEC030/VIS/jsons/ProvChgUuMbmsSubscription_BR.json new file mode 100644 index 0000000000000000000000000000000000000000..02d60663cc51485d797adc631b94acaa6a38d59f --- /dev/null +++ b/MEC030/VIS/jsons/ProvChgUuMbmsSubscription_BR.json @@ -0,0 +1,33 @@ +{ + "subscriptionType": "InvalidProvChgUuMbmsSubscription", + "callbackReference": "http://callback.uri/1", + "filterCriteria": { + "locationInfo": { + "ecgi": { + "plmn": { + "mcc": "001", + "mnc": "001" + }, + "cellId": { + "cellId": "001" + } + }, + "geoArea": { + "latitude": -36495271.093864456, + "longitude": -68485808.83181348 + } + }, + "v2xServerUsd": { + "tmgi": { + "mbmsServiceId": "serviceId", + "mcc": "002", + "mnc": "002" + }, + "serviceAreaIdentifier": ["id01"], + "sdpInfo": { + "ipMulticastAddress": "10.10.0.255", + "portNumber": "1234" + } + } + } +} \ No newline at end of file diff --git a/MEC030/VIS/jsons/ProvChgUuUniSubscription.json b/MEC030/VIS/jsons/ProvChgUuUniSubscription.json new file mode 100644 index 0000000000000000000000000000000000000000..586a0f04ddba716e01207eac45ff8ad2d5d878bf --- /dev/null +++ b/MEC030/VIS/jsons/ProvChgUuUniSubscription.json @@ -0,0 +1,25 @@ +{ + "subscriptionType": "ProvChgUuUniSubscription", + "callbackReference": "http://callback.uri/1", + "filterCriteria": { + "locationInfo": { + "ecgi": { + "plmn": { + "mcc": "001", + "mnc": "002" + }, + "cellId": { + "cellId": "002" + } + }, + "geoArea": { + "latitude": 42.1, + "longitude": 10.5 + } + }, + "v2xApplicationServer": { + "ipAddress": "10.10.0.32", + "udpPort": "12345" + } + } +} \ No newline at end of file diff --git a/MEC030/VIS/jsons/ProvChgUuUniSubscriptionUpdate.json b/MEC030/VIS/jsons/ProvChgUuUniSubscriptionUpdate.json new file mode 100644 index 0000000000000000000000000000000000000000..40c61b4dddddff58e2f196ff18c238c73c6b7ed0 --- /dev/null +++ b/MEC030/VIS/jsons/ProvChgUuUniSubscriptionUpdate.json @@ -0,0 +1,30 @@ +{ + "subscriptionType": "ProvChgUuUniSubscription", + "callbackReference": "http://callback.uri/1", + "filterCriteria": { + "locationInfo": { + "ecgi": { + "plmn": { + "mcc": "005", + "mnc": "006" + }, + "cellId": { + "cellId": "007" + } + }, + "geoArea": { + "latitude": 43, + "longitude": 11 + } + }, + "v2xApplicationServer": { + "ipAddress": "10.10.0.33", + "udpPort": "12345" + } + }, + "_links": { + "self": { + "href": "https://127.0.0.1/vis/v1/subscription/1" + } + } +} \ No newline at end of file diff --git a/MEC030/VIS/jsons/ProvChgUuUniSubscriptionUpdate_BR.json b/MEC030/VIS/jsons/ProvChgUuUniSubscriptionUpdate_BR.json new file mode 100644 index 0000000000000000000000000000000000000000..afe63e124ca60602ddec4ab9933dac5453bcf54e --- /dev/null +++ b/MEC030/VIS/jsons/ProvChgUuUniSubscriptionUpdate_BR.json @@ -0,0 +1,30 @@ +{ + "subscriptionType": "InvalidProvChgUuUniSubscription", + "callbackReference": "http://callback.uri/1", + "filterCriteria": { + "locationInfo": { + "ecgi": { + "plmn": { + "mcc": "005", + "mnc": "006" + }, + "cellId": { + "cellId": "007" + } + }, + "geoArea": { + "latitude": 43, + "longitude": 11 + } + }, + "v2xApplicationServer": { + "ipAddress": "10.10.0.33", + "udpPort": "12345" + } + }, + "_links": { + "self": { + "href": "https://127.0.0.1/vis/v1/subscription/1" + } + } +} \ No newline at end of file diff --git a/MEC030/VIS/jsons/V2xMsgPublication.json b/MEC030/VIS/jsons/V2xMsgPublication.json new file mode 100644 index 0000000000000000000000000000000000000000..f987a51f23b64f208716259052066c9ddaa993c0 --- /dev/null +++ b/MEC030/VIS/jsons/V2xMsgPublication.json @@ -0,0 +1,6 @@ +{ + "stdOrganization": "ETSI", + "msgType": 2, + "msgEncodeFormat": "base64", + "msgContent": "V2X message content" +} \ No newline at end of file diff --git a/MEC030/VIS/jsons/V2xMsgPublication_BR.json b/MEC030/VIS/jsons/V2xMsgPublication_BR.json new file mode 100644 index 0000000000000000000000000000000000000000..638f90672157cf744477de3ea153519d2230526f --- /dev/null +++ b/MEC030/VIS/jsons/V2xMsgPublication_BR.json @@ -0,0 +1,6 @@ +{ + "stdOrganization": "UNKNOWN_ORG", + "msgType": 2, + "msgEncodeFormat": "base64", + "msgContent": "V2X message content" +} \ No newline at end of file diff --git a/MEC030/VIS/jsons/V2xMsgSubscription.json b/MEC030/VIS/jsons/V2xMsgSubscription.json new file mode 100644 index 0000000000000000000000000000000000000000..86b60c7f81a3dcab5f8ebf027611c831ecfd24f6 --- /dev/null +++ b/MEC030/VIS/jsons/V2xMsgSubscription.json @@ -0,0 +1,7 @@ +{ + "subscriptionType": "V2xMsgSubscription", + "callbackReference": "http://callback.uri/1", + "filterCriteria": { + "stdOrganization": "ETSI" + } +} \ No newline at end of file diff --git a/MEC030/VIS/jsons/V2xMsgSubscriptionUpdate.json b/MEC030/VIS/jsons/V2xMsgSubscriptionUpdate.json new file mode 100644 index 0000000000000000000000000000000000000000..3aa9348d6235744eff0666eac184902e19432525 --- /dev/null +++ b/MEC030/VIS/jsons/V2xMsgSubscriptionUpdate.json @@ -0,0 +1,12 @@ +{ + "subscriptionType": "V2xMsgSubscription", + "callbackReference": "http://callback.uri/1", + "filterCriteria": { + "stdOrganization": "ETSI" + }, + "_links": { + "self": { + "href": "https://127.0.0.1/v1/vai/subscriptions/1" + } + } +} \ No newline at end of file diff --git a/MEC030/VIS/schemas/Pc5ProvisioningInfo.schema.json b/MEC030/VIS/schemas/Pc5ProvisioningInfo.schema.json new file mode 100644 index 0000000000000000000000000000000000000000..f6d972d890c0a61f2d2d2255d8ab383d841290b4 --- /dev/null +++ b/MEC030/VIS/schemas/Pc5ProvisioningInfo.schema.json @@ -0,0 +1,221 @@ +{ + "properties": { + "proInfoPc5": { + "type": "array", + "items": { + "description": "The provisioning information per location as defined below.", + "properties": { + "dstLayer2Id": { + "description": "For sidelink communication, the Destination Layer-2 ID is set to the ProSe Layer-2 Group ID or Prose UE ID, see ETSI TS 136 321 [i.12].\nPLMN operators coordinate to make sure Destination Layer-2 ID(s) for different V2X services are configured in a consistent manner.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + }, + "locationInfo": { + "properties": { + "ecgi": { + "properties": { + "cellId": { + "properties": { + "cellId": { + "description": "E-UTRAN Cell Identity as a bit string (size (28)).", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + } + }, + "required": [ + "cellId" + ], + "type": "object", + "x-etsi-ref": "6.6.2" + }, + "plmn": { + "properties": { + "mcc": { + "description": "The Mobile Country Code part of PLMN Identity.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + }, + "mnc": { + "description": "The Mobile Network Code part of PLMN Identity.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + } + }, + "required": [ + "mcc", + "mnc" + ], + "type": "object", + "x-etsi-ref": "6.5.4" + } + }, + "required": [ + "plmn", + "cellId" + ], + "type": "object", + "x-etsi-ref": "6.5.5" + }, + "geoArea": { + "description": "Information of a geographical area.", + "properties": { + "latitude": { + "description": "Latitude (DATUM = WGS84) -90 to 90 in decimal degree format DDD.ddd", + "format": "Float", + "type": "number", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Float" + }, + "longitude": { + "description": "Longitude (DATUM = WGS84)-180 to 180 in decimal degree format DDD.ddd", + "format": "Float", + "type": "number", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Float" + } + }, + "required": [ + "latitude", + "longitude" + ], + "type": "object", + "x-etsi-mec-cardinality": "0..1" + } + }, + "type": "object", + "x-etsi-notes": "NOTE:\tEither ecgi or geoArea shall be present, but not both.", + "x-etsi-ref": "6.5.3" + }, + "neighbourCellInfo": { + "description": "The information of the neighbour cells in a visiting PLMN that support V2X communication over PC5.", + "items": { + "properties": { + "ecgi": { + "properties": { + "cellId": { + "properties": { + "cellId": { + "description": "E-UTRAN Cell Identity as a bit string (size (28)).", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + } + }, + "required": [ + "cellId" + ], + "type": "object", + "x-etsi-ref": "6.6.2" + }, + "plmn": { + "properties": { + "mcc": { + "description": "The Mobile Country Code part of PLMN Identity.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + }, + "mnc": { + "description": "The Mobile Network Code part of PLMN Identity.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + } + }, + "required": [ + "mcc", + "mnc" + ], + "type": "object", + "x-etsi-ref": "6.5.4" + } + }, + "required": [ + "plmn", + "cellId" + ], + "type": "object", + "x-etsi-ref": "6.5.5" + }, + "plmn": { + "properties": { + "mcc": { + "description": "The Mobile Country Code part of PLMN Identity.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + }, + "mnc": { + "description": "The Mobile Network Code part of PLMN Identity.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + } + }, + "required": [ + "mcc", + "mnc" + ], + "type": "object", + "x-etsi-ref": "6.5.4" + }, + "siV2xConfig": { + "description": "V2X sidelink communication configuration, as defined in ETSI TS 136 331 [i.11].", + "type": "string" + } + }, + "required": [ + "plmn", + "ecgi", + "siV2xConfig" + ], + "type": "object", + "x-etsi-ref": "6.5.12" + }, + "minItems": 0, + "type": "array", + "x-etsi-mec-cardinality": "0..N", + "x-etsi-mec-origin-type": "Pc5NeighbourCellInfo" + } + }, + "required": [ + "locationInfo", + "dstLayer2Id" + ] + } + }, + "timeStamp": { + "properties": { + "nanoSeconds": { + "description": "The nanoseconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC.", + "format": "Uint32", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Uint32" + }, + "seconds": { + "description": "The seconds part of the time. Time is defined as Unixtime since January 1, 1970, 00:00:00 UTC.", + "format": "Uint32", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Uint32" + } + }, + "required": [ + "seconds", + "nanoSeconds" + ], + "type": "object", + "x-etsi-ref": "6.5.2" + } + }, + "required": [ + "proInfoPc5" + ], + "type": "object", + "x-etsi-ref": "6.2.4" +} \ No newline at end of file diff --git a/MEC030/VIS/schemas/PredictedQoS.schema.json b/MEC030/VIS/schemas/PredictedQoS.schema.json new file mode 100644 index 0000000000000000000000000000000000000000..045f7e37a3af437ae73a7fd7245b5ea9547bcfad --- /dev/null +++ b/MEC030/VIS/schemas/PredictedQoS.schema.json @@ -0,0 +1,174 @@ +{ + "description": "predicted QoS of a vehicular UE", + "properties": { + "timeGranularity": { + "properties": { + "nanoSeconds": { + "description": "The nanoseconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC.", + "format": "Uint32", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Uint32" + }, + "seconds": { + "description": "The seconds part of the time. Time is defined as Unixtime since January 1, 1970, 00:00:00 UTC.", + "format": "Uint32", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Uint32" + } + }, + "required": [ + "seconds", + "nanoSeconds" + ], + "type": "object", + "x-etsi-ref": "6.5.2" + }, + "locationGranularity": { + "description": "Granularity of visited location. Measured in meters", + "type": "string" + }, + "routes": { + "type": "array", + "items": { + "properties": { + "routeinfo": { + "description": "Information relating to a specific route. The first structure shall relate to the route origin and the last to the route destination. Intermediate waypoint locations may also be provided. ", + "type": "array", + "minItems": 2, + "items": { + "required": [ + "location" + ], + "properties": { + "location": { + "properties": { + "ecgi": { + "properties": { + "cellId": { + "properties": { + "cellId": { + "description": "E-UTRAN Cell Identity as a bit string (size (28)).", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + } + }, + "required": [ + "cellId" + ], + "type": "object", + "x-etsi-ref": "6.6.2" + }, + "plmn": { + "properties": { + "mcc": { + "description": "The Mobile Country Code part of PLMN Identity.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + }, + "mnc": { + "description": "The Mobile Network Code part of PLMN Identity.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + } + }, + "required": [ + "mcc", + "mnc" + ], + "type": "object", + "x-etsi-ref": "6.5.4" + } + }, + "required": [ + "plmn", + "cellId" + ], + "type": "object", + "x-etsi-ref": "6.5.5" + }, + "geoArea": { + "description": "Information of a geographical area.", + "properties": { + "latitude": { + "description": "Latitude (DATUM = WGS84) -90 to 90 in decimal degree format DDD.ddd", + "format": "Float", + "type": "number", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Float" + }, + "longitude": { + "description": "Longitude (DATUM = WGS84)-180 to 180 in decimal degree format DDD.ddd", + "format": "Float", + "type": "number", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Float" + } + }, + "required": [ + "latitude", + "longitude" + ], + "type": "object", + "x-etsi-mec-cardinality": "0..1" + } + }, + "type": "object", + "x-etsi-notes": "NOTE:\tEither ecgi or geoArea shall be present, but not both.", + "x-etsi-ref": "6.5.3" + }, + "time": { + "properties": { + "nanoSeconds": { + "description": "The nanoseconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC.", + "format": "Uint32", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Uint32" + }, + "seconds": { + "description": "The seconds part of the time. Time is defined as Unixtime since January 1, 1970, 00:00:00 UTC.", + "format": "Uint32", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Uint32" + } + }, + "required": [ + "seconds", + "nanoSeconds" + ], + "type": "object", + "x-etsi-ref": "6.5.2" + }, + "rsrp": { + "description": "Reference Signal Received Quality as defined in ETSI TS 136 214 [i.13]. Shall only be included in the response", + "type": "integer", + "format": "Uint8" + }, + "rsrq": { + "description": "Reference Signal Received Quality as defined in ETSI TS 136 214 [i.13]. Shall only be included in the response", + "type": "integer", + "format": "Uint8" + } + } + } + } + }, + "required": [ + "routeinfo" + ] + } + } + }, + "required": [ + "locationGranularity", + "routes" + ], + "type": "object", + "x-etsi-mec-cardinality": "0..1" +} \ No newline at end of file diff --git a/MEC030/VIS/schemas/ProvChgPc5Subscription.schema.json b/MEC030/VIS/schemas/ProvChgPc5Subscription.schema.json new file mode 100644 index 0000000000000000000000000000000000000000..73d48dfaafcdf83abd03e3d2b15a0299c1222551 --- /dev/null +++ b/MEC030/VIS/schemas/ProvChgPc5Subscription.schema.json @@ -0,0 +1,259 @@ +{ + "properties": { + "_links": { + "description": "Hyperlink related to the resource. This shall be only included in the HTTP responses and in HTTP PUT requests.", + "properties": { + "self": { + "description": "'This data type represents a type of link'", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "The URI referring to the subscription.", + "type": "string", + "format": "uri" + } + } + } + }, + "required": [ + "self" + ], + "type": "object", + "x-etsi-mec-cardinality": "0..1" + }, + "callbackReference": { + "description": "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.", + "format": "uri", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "URI" + }, + "expiryDeadline": { + "properties": { + "nanoSeconds": { + "description": "The nanoseconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC.", + "format": "Uint32", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Uint32" + }, + "seconds": { + "description": "The seconds part of the time. Time is defined as Unixtime since January 1, 1970, 00:00:00 UTC.", + "format": "Uint32", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Uint32" + } + }, + "required": [ + "seconds", + "nanoSeconds" + ], + "type": "object", + "x-etsi-ref": "6.5.2" + }, + "filterCriteria": { + "description": "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.", + "properties": { + "dstLayer2Id": { + "description": "For sidelink communication, the Destination Layer-2 ID is set to the ProSe Layer-2 Group ID or Prose UE ID, see ETSI TS 136 321 [i.12].", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + }, + "locationInfo": { + "properties": { + "ecgi": { + "properties": { + "cellId": { + "properties": { + "cellId": { + "description": "E-UTRAN Cell Identity as a bit string (size (28)).", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + } + }, + "required": [ + "cellId" + ], + "type": "object", + "x-etsi-ref": "6.6.2" + }, + "plmn": { + "properties": { + "mcc": { + "description": "The Mobile Country Code part of PLMN Identity.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + }, + "mnc": { + "description": "The Mobile Network Code part of PLMN Identity.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + } + }, + "required": [ + "mcc", + "mnc" + ], + "type": "object", + "x-etsi-ref": "6.5.4" + } + }, + "required": [ + "plmn", + "cellId" + ], + "type": "object", + "x-etsi-ref": "6.5.5" + }, + "geoArea": { + "description": "Information of a geographical area.", + "properties": { + "latitude": { + "description": "Latitude (DATUM = WGS84) -90 to 90 in decimal degree format DDD.ddd", + "format": "Float", + "type": "number", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Float" + }, + "longitude": { + "description": "Longitude (DATUM = WGS84)-180 to 180 in decimal degree format DDD.ddd", + "format": "Float", + "type": "number", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Float" + } + }, + "required": [ + "latitude", + "longitude" + ], + "type": "object", + "x-etsi-mec-cardinality": "0..1" + } + }, + "type": "object", + "x-etsi-notes": "NOTE:\tEither ecgi or geoArea shall be present, but not both.", + "x-etsi-ref": "6.5.3" + }, + "neighbourCellInfo": { + "description": "The information of the neighbour cells in a visiting PLMN that support V2X communication over PC5.", + "items": { + "properties": { + "ecgi": { + "properties": { + "cellId": { + "properties": { + "cellId": { + "description": "E-UTRAN Cell Identity as a bit string (size (28)).", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + } + }, + "required": [ + "cellId" + ], + "type": "object", + "x-etsi-ref": "6.6.2" + }, + "plmn": { + "properties": { + "mcc": { + "description": "The Mobile Country Code part of PLMN Identity.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + }, + "mnc": { + "description": "The Mobile Network Code part of PLMN Identity.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + } + }, + "required": [ + "mcc", + "mnc" + ], + "type": "object", + "x-etsi-ref": "6.5.4" + } + }, + "required": [ + "plmn", + "cellId" + ], + "type": "object", + "x-etsi-ref": "6.5.5" + }, + "plmn": { + "properties": { + "mcc": { + "description": "The Mobile Country Code part of PLMN Identity.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + }, + "mnc": { + "description": "The Mobile Network Code part of PLMN Identity.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + } + }, + "required": [ + "mcc", + "mnc" + ], + "type": "object", + "x-etsi-ref": "6.5.4" + }, + "siV2xConfig": { + "description": "V2X sidelink communication configuration, as defined in ETSI TS 136 331 [i.11].", + "type": "string" + } + }, + "required": [ + "plmn", + "ecgi", + "siV2xConfig" + ], + "type": "object", + "x-etsi-ref": "6.5.12" + }, + "minItems": 0, + "type": "array", + "x-etsi-mec-cardinality": "0..N", + "x-etsi-mec-origin-type": "Pc5NeighbourCellInfo" + } + }, + "required": [ + "locationInfo", + "dstLayer2Id" + ], + "type": "object", + "x-etsi-mec-cardinality": "1" + }, + "subscriptionType": { + "description": "Shall be set to \"ProvChgPc5Subscription\".", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + } + }, + "required": [ + "subscriptionType", + "callbackReference", + "filterCriteria" + ], + "type": "object", + "x-etsi-ref": "6.3.4" +} \ No newline at end of file diff --git a/MEC030/VIS/schemas/ProvChgUuMbmsSubscription.schema.json b/MEC030/VIS/schemas/ProvChgUuMbmsSubscription.schema.json new file mode 100644 index 0000000000000000000000000000000000000000..262c1e29e113716356b31756c1cc4bf23c674c62 --- /dev/null +++ b/MEC030/VIS/schemas/ProvChgUuMbmsSubscription.schema.json @@ -0,0 +1,485 @@ +{ + "properties": { + "_links": { + "description": "Hyperlink related to the resource. This shall be only included in the HTTP responses and in HTTP PUT requests.", + "properties": { + "self": { + "description": "'This data type represents a type of link'", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "The URI referring to the subscription.", + "type": "string", + "format": "uri" + } + } + } + }, + "required": [ + "self" + ], + "type": "object", + "x-etsi-mec-cardinality": "0..1" + }, + "callbackReference": { + "description": "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.", + "format": "uri", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "URI" + }, + "expiryDeadline": { + "properties": { + "nanoSeconds": { + "description": "The nanoseconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC.", + "format": "Uint32", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Uint32" + }, + "seconds": { + "description": "The seconds part of the time. Time is defined as Unixtime since January 1, 1970, 00:00:00 UTC.", + "format": "Uint32", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Uint32" + } + }, + "required": [ + "seconds", + "nanoSeconds" + ], + "type": "object", + "x-etsi-ref": "6.5.2" + }, + "filterCriteria": { + "description": "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.", + "properties": { + "locationInfo": { + "properties": { + "ecgi": { + "properties": { + "cellId": { + "properties": { + "cellId": { + "description": "E-UTRAN Cell Identity as a bit string (size (28)).", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + } + }, + "required": [ + "cellId" + ], + "type": "object", + "x-etsi-ref": "6.6.2" + }, + "plmn": { + "properties": { + "mcc": { + "description": "The Mobile Country Code part of PLMN Identity.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + }, + "mnc": { + "description": "The Mobile Network Code part of PLMN Identity.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + } + }, + "required": [ + "mcc", + "mnc" + ], + "type": "object", + "x-etsi-ref": "6.5.4" + } + }, + "required": [ + "plmn", + "cellId" + ], + "type": "object", + "x-etsi-ref": "6.5.5" + }, + "geoArea": { + "description": "Information of a geographical area.", + "properties": { + "latitude": { + "description": "Latitude (DATUM = WGS84) -90 to 90 in decimal degree format DDD.ddd", + "format": "Float", + "type": "number", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Float" + }, + "longitude": { + "description": "Longitude (DATUM = WGS84)-180 to 180 in decimal degree format DDD.ddd", + "format": "Float", + "type": "number", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Float" + } + }, + "required": [ + "latitude", + "longitude" + ], + "type": "object", + "x-etsi-mec-cardinality": "0..1" + } + }, + "type": "object", + "x-etsi-notes": "NOTE:\tEither ecgi or geoArea shall be present, but not both.", + "x-etsi-ref": "6.5.3" + }, + "neighbourCellInfo": { + "description": "The information of the neighbour cells in a visiting PLMN that support V2X communication over Uu MBMS.", + "items": { + "properties": { + "ecgi": { + "properties": { + "cellId": { + "properties": { + "cellId": { + "description": "E-UTRAN Cell Identity as a bit string (size (28)).", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + } + }, + "required": [ + "cellId" + ], + "type": "object", + "x-etsi-ref": "6.6.2" + }, + "plmn": { + "properties": { + "mcc": { + "description": "The Mobile Country Code part of PLMN Identity.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + }, + "mnc": { + "description": "The Mobile Network Code part of PLMN Identity.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + } + }, + "required": [ + "mcc", + "mnc" + ], + "type": "object", + "x-etsi-ref": "6.5.4" + } + }, + "required": [ + "plmn", + "cellId" + ], + "type": "object", + "x-etsi-ref": "6.5.5" + }, + "fddInfo": { + "properties": { + "dlEarfcn": { + "properties": { + "earfcn": { + "description": "E-UTRA Absolute Radio Frequency Channel Number, range (0... 65535)", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Integer" + } + }, + "required": [ + "earfcn" + ], + "type": "object", + "x-etsi-ref": "6.6.3" + }, + "dlTransmissionBandwidth": { + "properties": { + "transmissionBandwidth": { + "description": "Numeric value corresponding to the transmission bandwidth expressed in units of resource blocks as follows:1 = bw6 (6 resource blocks)2 = bw15 (15 resource blocks) 3 = bw25 (25 resource blocks) 4 = bw50 (50 resource blocks) 5 = bw75 (75 resource blocks) 6 = bw100 (100 resource blocks)", + "enum": [ + 1, + 2, + 3, + 4, + 5, + 6 + ], + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Enum" + } + }, + "required": [ + "transmissionBandwidth" + ], + "type": "object", + "x-etsi-ref": "6.6.4" + }, + "ulEarfcn": { + "properties": { + "earfcn": { + "description": "E-UTRA Absolute Radio Frequency Channel Number, range (0... 65535)", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Integer" + } + }, + "required": [ + "earfcn" + ], + "type": "object", + "x-etsi-ref": "6.6.3" + }, + "ulTransmissionBandwidth": { + "properties": { + "transmissionBandwidth": { + "description": "Numeric value corresponding to the transmission bandwidth expressed in units of resource blocks as follows:1 = bw6 (6 resource blocks)2 = bw15 (15 resource blocks) 3 = bw25 (25 resource blocks) 4 = bw50 (50 resource blocks) 5 = bw75 (75 resource blocks) 6 = bw100 (100 resource blocks)", + "enum": [ + 1, + 2, + 3, + 4, + 5, + 6 + ], + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Enum" + } + }, + "required": [ + "transmissionBandwidth" + ], + "type": "object", + "x-etsi-ref": "6.6.4" + } + }, + "required": [ + "ulEarfcn", + "dlEarfcn", + "ulTransmissionBandwidth", + "dlTransmissionBandwidth" + ], + "type": "object", + "x-etsi-ref": "6.5.6" + }, + "mbmsServiceAreaIdentity": { + "description": "Supported MBMS Service Area Identities in the cell.", + "items": { + "type": "string" + }, + "minItems": 1, + "type": "array", + "x-etsi-mec-cardinality": "1..N", + "x-etsi-mec-origin-type": "String" + }, + "pci": { + "description": "Physical Cell Identifier.", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Integer" + }, + "plmn": { + "properties": { + "mcc": { + "description": "The Mobile Country Code part of PLMN Identity.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + }, + "mnc": { + "description": "The Mobile Network Code part of PLMN Identity.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + } + }, + "required": [ + "mcc", + "mnc" + ], + "type": "object", + "x-etsi-ref": "6.5.4" + }, + "tddInfo": { + "properties": { + "earfcn": { + "properties": { + "earfcn": { + "description": "E-UTRA Absolute Radio Frequency Channel Number, range (0... 65535)", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Integer" + } + }, + "required": [ + "earfcn" + ], + "type": "object", + "x-etsi-ref": "6.6.3" + }, + "subframeAssignment": { + "description": "Uplink-downlink subframe configuration information.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + }, + "transmissionBandwidth": { + "properties": { + "transmissionBandwidth": { + "description": "Numeric value corresponding to the transmission bandwidth expressed in units of resource blocks as follows:1 = bw6 (6 resource blocks)2 = bw15 (15 resource blocks) 3 = bw25 (25 resource blocks) 4 = bw50 (50 resource blocks) 5 = bw75 (75 resource blocks) 6 = bw100 (100 resource blocks)", + "enum": [ + 1, + 2, + 3, + 4, + 5, + 6 + ], + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Enum" + } + }, + "required": [ + "transmissionBandwidth" + ], + "type": "object", + "x-etsi-ref": "6.6.4" + } + }, + "required": [ + "earfcn", + "transmissionBandwidth", + "subframeAssignment" + ], + "type": "object", + "x-etsi-ref": "6.5.7" + } + }, + "required": [ + "plmn", + "ecgi", + "pci", + "fddInfo", + "tddInfo", + "mbmsServiceAreaIdentity" + ], + "type": "object", + "x-etsi-ref": "6.5.11" + }, + "minItems": 0, + "type": "array", + "x-etsi-mec-cardinality": "0..N", + "x-etsi-mec-origin-type": "UuMbmsNeighbourCellInfo" + }, + "v2xServerUsd": { + "properties": { + "sdpInfo": { + "description": "SDP with IP multicast address and port number used for V2X communication via MBMS.", + "properties": { + "ipMulticastAddress": { + "description": "", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + }, + "portNumber": { + "description": "", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + } + }, + "required": [ + "ipMulticastAddress", + "portNumber" + ], + "type": "object", + "x-etsi-mec-cardinality": "1" + }, + "serviceAreaIdentifier": { + "description": "A list of service area identifier for the applicable MBMS broadcast area.", + "items": { + "type": "string" + }, + "minItems": 1, + "type": "array", + "x-etsi-mec-cardinality": "1..N", + "x-etsi-mec-origin-type": "String" + }, + "tmgi": { + "description": "Temporary Mobile Group Identity (TMGI), which is used within MBMS to uniquely identify Multicast and Broadcast bearer services.", + "properties": { + "mbmsServiceId": { + "description": "MBMS Service ID consisting of three octets.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + }, + "mcc": { + "description": "The Mobile Country Code part of PLMN Identity.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + }, + "mnc": { + "description": "The Mobile Network Code part of PLMN Identity.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + } + }, + "required": [ + "mbmsServiceId", + "mcc", + "mnc" + ], + "type": "object", + "x-etsi-mec-cardinality": "" + } + }, + "required": [ + "tmgi", + "serviceAreaIdentifier", + "sdpInfo" + ], + "type": "object", + "x-etsi-ref": "6.5.10" + } + }, + "required": [ + "locationInfo", + "v2xServerUsd" + ], + "type": "object", + "x-etsi-mec-cardinality": "1" + }, + "subscriptionType": { + "description": "Shall be set to \"ProvChgUuMbmsSubscription\".", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + } + }, + "required": [ + "subscriptionType", + "callbackReference", + "filterCriteria" + ], + "type": "object", + "x-etsi-ref": "6.3.3" + } \ No newline at end of file diff --git a/MEC030/VIS/schemas/ProvChgUuUniSubscription.schema.json b/MEC030/VIS/schemas/ProvChgUuUniSubscription.schema.json new file mode 100644 index 0000000000000000000000000000000000000000..82c2490526f18eed4f3b375c7306bc5888934d0e --- /dev/null +++ b/MEC030/VIS/schemas/ProvChgUuUniSubscription.schema.json @@ -0,0 +1,422 @@ +{ + "properties": { + "_links": { + "description": "Hyperlink related to the resource. This shall be only included in the HTTP responses and in HTTP PUT requests.", + "properties": { + "self": { + "description": "'This data type represents a type of link'", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "The URI referring to the subscription.", + "type": "string", + "format": "uri" + } + } + } + }, + "required": [ + "self" + ], + "type": "object", + "x-etsi-mec-cardinality": "0..1" + }, + "callbackReference": { + "description": "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.", + "format": "uri", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "URI" + }, + "expiryDeadline": { + "properties": { + "nanoSeconds": { + "description": "The nanoseconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC.", + "format": "Uint32", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Uint32" + }, + "seconds": { + "description": "The seconds part of the time. Time is defined as Unixtime since January 1, 1970, 00:00:00 UTC.", + "format": "Uint32", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Uint32" + } + }, + "required": [ + "seconds", + "nanoSeconds" + ], + "type": "object", + "x-etsi-ref": "6.5.2" + }, + "filterCriteria": { + "description": "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.", + "properties": { + "locationInfo": { + "properties": { + "ecgi": { + "properties": { + "cellId": { + "properties": { + "cellId": { + "description": "E-UTRAN Cell Identity as a bit string (size (28)).", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + } + }, + "required": [ + "cellId" + ], + "type": "object", + "x-etsi-ref": "6.6.2" + }, + "plmn": { + "properties": { + "mcc": { + "description": "The Mobile Country Code part of PLMN Identity.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + }, + "mnc": { + "description": "The Mobile Network Code part of PLMN Identity.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + } + }, + "required": [ + "mcc", + "mnc" + ], + "type": "object", + "x-etsi-ref": "6.5.4" + } + }, + "required": [ + "plmn", + "cellId" + ], + "type": "object", + "x-etsi-ref": "6.5.5" + }, + "geoArea": { + "description": "Information of a geographical area.", + "properties": { + "latitude": { + "description": "Latitude (DATUM = WGS84) -90 to 90 in decimal degree format DDD.ddd", + "format": "Float", + "type": "number", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Float" + }, + "longitude": { + "description": "Longitude (DATUM = WGS84)-180 to 180 in decimal degree format DDD.ddd", + "format": "Float", + "type": "number", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Float" + } + }, + "required": [ + "latitude", + "longitude" + ], + "type": "object", + "x-etsi-mec-cardinality": "0..1" + } + }, + "type": "object", + "x-etsi-notes": "NOTE:\tEither ecgi or geoArea shall be present, but not both.", + "x-etsi-ref": "6.5.3" + }, + "neighbourCellInfo": { + "description": "The information of the neighbour cells in a visiting PLMN that support V2X communication over Uu unicast.", + "items": { + "properties": { + "ecgi": { + "properties": { + "cellId": { + "properties": { + "cellId": { + "description": "E-UTRAN Cell Identity as a bit string (size (28)).", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + } + }, + "required": [ + "cellId" + ], + "type": "object", + "x-etsi-ref": "6.6.2" + }, + "plmn": { + "properties": { + "mcc": { + "description": "The Mobile Country Code part of PLMN Identity.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + }, + "mnc": { + "description": "The Mobile Network Code part of PLMN Identity.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + } + }, + "required": [ + "mcc", + "mnc" + ], + "type": "object", + "x-etsi-ref": "6.5.4" + } + }, + "required": [ + "plmn", + "cellId" + ], + "type": "object", + "x-etsi-ref": "6.5.5" + }, + "fddInfo": { + "properties": { + "dlEarfcn": { + "properties": { + "earfcn": { + "description": "E-UTRA Absolute Radio Frequency Channel Number, range (0... 65535)", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Integer" + } + }, + "required": [ + "earfcn" + ], + "type": "object", + "x-etsi-ref": "6.6.3" + }, + "dlTransmissionBandwidth": { + "properties": { + "transmissionBandwidth": { + "description": "Numeric value corresponding to the transmission bandwidth expressed in units of resource blocks as follows:1 = bw6 (6 resource blocks)2 = bw15 (15 resource blocks) 3 = bw25 (25 resource blocks) 4 = bw50 (50 resource blocks) 5 = bw75 (75 resource blocks) 6 = bw100 (100 resource blocks)", + "enum": [ + 1, + 2, + 3, + 4, + 5, + 6 + ], + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Enum" + } + }, + "required": [ + "transmissionBandwidth" + ], + "type": "object", + "x-etsi-ref": "6.6.4" + }, + "ulEarfcn": { + "properties": { + "earfcn": { + "description": "E-UTRA Absolute Radio Frequency Channel Number, range (0... 65535)", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Integer" + } + }, + "required": [ + "earfcn" + ], + "type": "object", + "x-etsi-ref": "6.6.3" + }, + "ulTransmissionBandwidth": { + "properties": { + "transmissionBandwidth": { + "description": "Numeric value corresponding to the transmission bandwidth expressed in units of resource blocks as follows:1 = bw6 (6 resource blocks)2 = bw15 (15 resource blocks) 3 = bw25 (25 resource blocks) 4 = bw50 (50 resource blocks) 5 = bw75 (75 resource blocks) 6 = bw100 (100 resource blocks)", + "enum": [ + 1, + 2, + 3, + 4, + 5, + 6 + ], + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Enum" + } + }, + "required": [ + "transmissionBandwidth" + ], + "type": "object", + "x-etsi-ref": "6.6.4" + } + }, + "required": [ + "ulEarfcn", + "dlEarfcn", + "ulTransmissionBandwidth", + "dlTransmissionBandwidth" + ], + "type": "object", + "x-etsi-ref": "6.5.6" + }, + "pci": { + "description": "Physical Cell Identifier.", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Integer" + }, + "plmn": { + "properties": { + "mcc": { + "description": "The Mobile Country Code part of PLMN Identity.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + }, + "mnc": { + "description": "The Mobile Network Code part of PLMN Identity.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + } + }, + "required": [ + "mcc", + "mnc" + ], + "type": "object", + "x-etsi-ref": "6.5.4" + }, + "tddInfo": { + "properties": { + "earfcn": { + "properties": { + "earfcn": { + "description": "E-UTRA Absolute Radio Frequency Channel Number, range (0... 65535)", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Integer" + } + }, + "required": [ + "earfcn" + ], + "type": "object", + "x-etsi-ref": "6.6.3" + }, + "subframeAssignment": { + "description": "Uplink-downlink subframe configuration information.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + }, + "transmissionBandwidth": { + "properties": { + "transmissionBandwidth": { + "description": "Numeric value corresponding to the transmission bandwidth expressed in units of resource blocks as follows:1 = bw6 (6 resource blocks)2 = bw15 (15 resource blocks) 3 = bw25 (25 resource blocks) 4 = bw50 (50 resource blocks) 5 = bw75 (75 resource blocks) 6 = bw100 (100 resource blocks)", + "enum": [ + 1, + 2, + 3, + 4, + 5, + 6 + ], + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Enum" + } + }, + "required": [ + "transmissionBandwidth" + ], + "type": "object", + "x-etsi-ref": "6.6.4" + } + }, + "required": [ + "earfcn", + "transmissionBandwidth", + "subframeAssignment" + ], + "type": "object", + "x-etsi-ref": "6.5.7" + } + }, + "required": [ + "plmn", + "ecgi", + "pci", + "fddInfo", + "tddInfo" + ], + "type": "object", + "x-etsi-ref": "6.5.9" + }, + "minItems": 0, + "type": "array", + "x-etsi-mec-cardinality": "0..N", + "x-etsi-mec-origin-type": "UuUniNeighbourCellInfo" + }, + "v2xApplicationServer": { + "properties": { + "ipAddress": { + "description": "", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + }, + "udpPort": { + "description": "", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + } + }, + "required": [ + "ipAddress", + "udpPort" + ], + "type": "object", + "x-etsi-ref": "6.5.8" + } + }, + "required": [ + "locationInfo", + "v2xApplicationServer" + ], + "type": "object", + "x-etsi-mec-cardinality": "1" + }, + "subscriptionType": { + "description": "Shall be set to \"ProvChgUuUniSubscription\".", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + } + }, + "required": [ + "subscriptionType", + "callbackReference", + "filterCriteria" + ], + "type": "object", + "x-etsi-ref": "6.3.2" + } \ No newline at end of file diff --git a/MEC030/VIS/schemas/SubscriptionLinkList.schema.json b/MEC030/VIS/schemas/SubscriptionLinkList.schema.json new file mode 100644 index 0000000000000000000000000000000000000000..c2892e10c7ab9eb64ae52c9d93d26e525a137ab7 --- /dev/null +++ b/MEC030/VIS/schemas/SubscriptionLinkList.schema.json @@ -0,0 +1,59 @@ +{ + "properties": { + "_links": { + "description": "List of hyperlinks related to the resource.", + "properties": { + "self": { + "description": "'This data type represents a type of link'", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "The URI referring to the subscription.", + "type": "string", + "format": "uri" + } + } + }, + "subscriptions": { + "type": "array", + "items": { + "description": "The service consumer’s subscriptions.", + "properties": { + "href": { + "description": "The URI referring to the subscription.", + "format": "uri", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "URI" + }, + "subscriptionType": { + "description": "Type of the subscription. The values are as defined in the \\\"subscriptionType\\\" attribute for each different V2X information event subscription data type.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + } + }, + "required": [ + "href", + "subscriptionType" + ], + "x-etsi-mec-cardinality": "0..N" + } + } + }, + "type": "object", + "required": [ + "self" + ], + "x-etsi-mec-cardinality": "1" + } + }, + "required": [ + "_links" + ], + "type": "object", + "x-etsi-ref": "6.3.6" +} \ No newline at end of file diff --git a/MEC030/VIS/schemas/UuMbmsProvisioningInfo.schema.json b/MEC030/VIS/schemas/UuMbmsProvisioningInfo.schema.json new file mode 100644 index 0000000000000000000000000000000000000000..49aa131e2235c804ff6fbf8bcd93d8290c6bb146 --- /dev/null +++ b/MEC030/VIS/schemas/UuMbmsProvisioningInfo.schema.json @@ -0,0 +1,444 @@ +{ + "properties": { + "proInfoUuMbms": { + "description": "The provisioning information per location as defined below.", + "properties": { + "locationInfo": { + "properties": { + "ecgi": { + "properties": { + "cellId": { + "properties": { + "cellId": { + "description": "E-UTRAN Cell Identity as a bit string (size (28)).", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + } + }, + "required": [ + "cellId" + ], + "type": "object", + "x-etsi-ref": "6.6.2" + }, + "plmn": { + "properties": { + "mcc": { + "description": "The Mobile Country Code part of PLMN Identity.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + }, + "mnc": { + "description": "The Mobile Network Code part of PLMN Identity.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + } + }, + "required": [ + "mcc", + "mnc" + ], + "type": "object", + "x-etsi-ref": "6.5.4" + } + }, + "required": [ + "plmn", + "cellId" + ], + "type": "object", + "x-etsi-ref": "6.5.5" + }, + "geoArea": { + "description": "Information of a geographical area.", + "properties": { + "latitude": { + "description": "Latitude (DATUM = WGS84) -90 to 90 in decimal degree format DDD.ddd", + "format": "Float", + "type": "number", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Float" + }, + "longitude": { + "description": "Longitude (DATUM = WGS84)-180 to 180 in decimal degree format DDD.ddd", + "format": "Float", + "type": "number", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Float" + } + }, + "required": [ + "latitude", + "longitude" + ], + "type": "object", + "x-etsi-mec-cardinality": "0..1" + } + }, + "type": "object", + "x-etsi-notes": "NOTE:\tEither ecgi or geoArea shall be present, but not both.", + "x-etsi-ref": "6.5.3" + }, + "neighbourCellInfo": { + "description": "The information of the neighbour cells in a visiting PLMN that support V2X communication over Uu MBMS.", + "type": "array", + "items": { + "properties": { + "ecgi": { + "properties": { + "cellId": { + "properties": { + "cellId": { + "description": "E-UTRAN Cell Identity as a bit string (size (28)).", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + } + }, + "required": [ + "cellId" + ], + "type": "object", + "x-etsi-ref": "6.6.2" + }, + "plmn": { + "properties": { + "mcc": { + "description": "The Mobile Country Code part of PLMN Identity.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + }, + "mnc": { + "description": "The Mobile Network Code part of PLMN Identity.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + } + }, + "required": [ + "mcc", + "mnc" + ], + "type": "object", + "x-etsi-ref": "6.5.4" + } + }, + "required": [ + "plmn", + "cellId" + ], + "type": "object", + "x-etsi-ref": "6.5.5" + }, + "fddInfo": { + "properties": { + "dlEarfcn": { + "properties": { + "earfcn": { + "description": "E-UTRA Absolute Radio Frequency Channel Number, range (0... 65535)", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Integer" + } + }, + "required": [ + "earfcn" + ], + "type": "object", + "x-etsi-ref": "6.6.3" + }, + "dlTransmissionBandwidth": { + "properties": { + "transmissionBandwidth": { + "description": "Numeric value corresponding to the transmission bandwidth expressed in units of resource blocks as follows:1 = bw6 (6 resource blocks)2 = bw15 (15 resource blocks) 3 = bw25 (25 resource blocks) 4 = bw50 (50 resource blocks) 5 = bw75 (75 resource blocks) 6 = bw100 (100 resource blocks)", + "enum": [ + 1, + 2, + 3, + 4, + 5, + 6 + ], + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Enum" + } + }, + "required": [ + "transmissionBandwidth" + ], + "type": "object", + "x-etsi-ref": "6.6.4" + }, + "ulEarfcn": { + "properties": { + "earfcn": { + "description": "E-UTRA Absolute Radio Frequency Channel Number, range (0... 65535)", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Integer" + } + }, + "required": [ + "earfcn" + ], + "type": "object", + "x-etsi-ref": "6.6.3" + }, + "ulTransmissionBandwidth": { + "properties": { + "transmissionBandwidth": { + "description": "Numeric value corresponding to the transmission bandwidth expressed in units of resource blocks as follows:1 = bw6 (6 resource blocks)2 = bw15 (15 resource blocks) 3 = bw25 (25 resource blocks) 4 = bw50 (50 resource blocks) 5 = bw75 (75 resource blocks) 6 = bw100 (100 resource blocks)", + "enum": [ + 1, + 2, + 3, + 4, + 5, + 6 + ], + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Enum" + } + }, + "required": [ + "transmissionBandwidth" + ], + "type": "object", + "x-etsi-ref": "6.6.4" + } + }, + "required": [ + "ulEarfcn", + "dlEarfcn", + "ulTransmissionBandwidth", + "dlTransmissionBandwidth" + ], + "type": "object", + "x-etsi-ref": "6.5.6" + }, + "mbmsServiceAreaIdentity": { + "description": "Supported MBMS Service Area Identities in the cell.", + "items": { + "type": "string" + }, + "minItems": 1, + "type": "array", + "x-etsi-mec-cardinality": "1..N", + "x-etsi-mec-origin-type": "String" + }, + "pci": { + "description": "Physical Cell Identifier.", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Integer" + }, + "plmn": { + "properties": { + "mcc": { + "description": "The Mobile Country Code part of PLMN Identity.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + }, + "mnc": { + "description": "The Mobile Network Code part of PLMN Identity.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + } + }, + "required": [ + "mcc", + "mnc" + ], + "type": "object", + "x-etsi-ref": "6.5.4" + }, + "tddInfo": { + "properties": { + "earfcn": { + "properties": { + "earfcn": { + "description": "E-UTRA Absolute Radio Frequency Channel Number, range (0... 65535)", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Integer" + } + }, + "required": [ + "earfcn" + ], + "type": "object", + "x-etsi-ref": "6.6.3" + }, + "subframeAssignment": { + "description": "Uplink-downlink subframe configuration information.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + }, + "transmissionBandwidth": { + "properties": { + "transmissionBandwidth": { + "description": "Numeric value corresponding to the transmission bandwidth expressed in units of resource blocks as follows:1 = bw6 (6 resource blocks)2 = bw15 (15 resource blocks) 3 = bw25 (25 resource blocks) 4 = bw50 (50 resource blocks) 5 = bw75 (75 resource blocks) 6 = bw100 (100 resource blocks)", + "enum": [ + 1, + 2, + 3, + 4, + 5, + 6 + ], + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Enum" + } + }, + "required": [ + "transmissionBandwidth" + ], + "type": "object", + "x-etsi-ref": "6.6.4" + } + }, + "required": [ + "earfcn", + "transmissionBandwidth", + "subframeAssignment" + ], + "type": "object", + "x-etsi-ref": "6.5.7" + } + }, + "required": [ + "plmn", + "ecgi", + "pci", + "fddInfo", + "tddInfo", + "mbmsServiceAreaIdentity" + ], + "type": "object", + "x-etsi-ref": "6.5.11" + }, + "minItems": 0, + "x-etsi-mec-cardinality": "0..N", + "x-etsi-mec-origin-type": "UuMbmsNeighbourCellInfo" + }, + "v2xServerUsd": { + "properties": { + "sdpInfo": { + "description": "SDP with IP multicast address and port number used for V2X communication via MBMS.", + "properties": { + "ipMulticastAddress": { + "description": "", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + }, + "portNumber": { + "description": "", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + } + }, + "required": [ + "ipMulticastAddress", + "portNumber" + ], + "type": "object", + "x-etsi-mec-cardinality": "1" + }, + "serviceAreaIdentifier": { + "description": "A list of service area identifier for the applicable MBMS broadcast area.", + "items": { + "type": "string" + }, + "minItems": 1, + "type": "array", + "x-etsi-mec-cardinality": "1..N", + "x-etsi-mec-origin-type": "String" + }, + "tmgi": { + "description": "Temporary Mobile Group Identity (TMGI), which is used within MBMS to uniquely identify Multicast and Broadcast bearer services.", + "properties": { + "mbmsServiceId": { + "description": "MBMS Service ID consisting of three octets.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + }, + "mcc": { + "description": "The Mobile Country Code part of PLMN Identity.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + }, + "mnc": { + "description": "The Mobile Network Code part of PLMN Identity.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + } + }, + "required": [ + "mbmsServiceId", + "mcc", + "mnc" + ], + "type": "object", + "x-etsi-mec-cardinality": "" + } + }, + "required": [ + "tmgi", + "serviceAreaIdentifier", + "sdpInfo" + ], + "type": "object", + "x-etsi-ref": "6.5.10" + } + }, + "required": [ + "locationInfo", + "v2xServerUsd" + ] + }, + "timeStamp": { + "properties": { + "nanoSeconds": { + "description": "The nanoseconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC.", + "format": "Uint32", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Uint32" + }, + "seconds": { + "description": "The seconds part of the time. Time is defined as Unixtime since January 1, 1970, 00:00:00 UTC.", + "format": "Uint32", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Uint32" + } + }, + "required": [ + "seconds", + "nanoSeconds" + ], + "type": "object", + "x-etsi-ref": "6.5.2" + } + }, + "required": [ + "proInfoUuMbms" + ], + "type": "object", + "x-etsi-ref": "6.2.3" + } \ No newline at end of file diff --git a/MEC030/VIS/schemas/UuUnicastProvisioningInfo.schema.json b/MEC030/VIS/schemas/UuUnicastProvisioningInfo.schema.json new file mode 100644 index 0000000000000000000000000000000000000000..1cde221b6c421d094bbb1bf9232dfc0e0a170768 --- /dev/null +++ b/MEC030/VIS/schemas/UuUnicastProvisioningInfo.schema.json @@ -0,0 +1,385 @@ +{ + "properties": { + "proInfoUuUnicast": { + "type": "array", + "items": { + "description": "The provisioning information per location as defined below.", + "properties": { + "locationInfo": { + "properties": { + "ecgi": { + "properties": { + "cellId": { + "properties": { + "cellId": { + "description": "E-UTRAN Cell Identity as a bit string (size (28)).", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + } + }, + "required": [ + "cellId" + ], + "type": "object", + "x-etsi-ref": "6.6.2" + }, + "plmn": { + "properties": { + "mcc": { + "description": "The Mobile Country Code part of PLMN Identity.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + }, + "mnc": { + "description": "The Mobile Network Code part of PLMN Identity.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + } + }, + "required": [ + "mcc", + "mnc" + ], + "type": "object", + "x-etsi-ref": "6.5.4" + } + }, + "required": [ + "plmn", + "cellId" + ], + "type": "object", + "x-etsi-ref": "6.5.5" + }, + "geoArea": { + "description": "Information of a geographical area.", + "properties": { + "latitude": { + "description": "Latitude (DATUM = WGS84) -90 to 90 in decimal degree format DDD.ddd", + "format": "Float", + "type": "number", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Float" + }, + "longitude": { + "description": "Longitude (DATUM = WGS84)-180 to 180 in decimal degree format DDD.ddd", + "format": "Float", + "type": "number", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Float" + } + }, + "required": [ + "latitude", + "longitude" + ], + "type": "object", + "x-etsi-mec-cardinality": "0..1" + } + }, + "type": "object", + "x-etsi-notes": "NOTE:\tEither ecgi or geoArea shall be present, but not both.", + "x-etsi-ref": "6.5.3" + }, + "neighbourCellInfo": { + "description": "The information of the neighbour cells in a visiting PLMN that support V2X communication over Uu unicast.", + "items": { + "properties": { + "ecgi": { + "properties": { + "cellId": { + "properties": { + "cellId": { + "description": "E-UTRAN Cell Identity as a bit string (size (28)).", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + } + }, + "required": [ + "cellId" + ], + "type": "object", + "x-etsi-ref": "6.6.2" + }, + "plmn": { + "properties": { + "mcc": { + "description": "The Mobile Country Code part of PLMN Identity.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + }, + "mnc": { + "description": "The Mobile Network Code part of PLMN Identity.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + } + }, + "required": [ + "mcc", + "mnc" + ], + "type": "object", + "x-etsi-ref": "6.5.4" + } + }, + "required": [ + "plmn", + "cellId" + ], + "type": "object", + "x-etsi-ref": "6.5.5" + }, + "fddInfo": { + "properties": { + "dlEarfcn": { + "properties": { + "earfcn": { + "description": "E-UTRA Absolute Radio Frequency Channel Number, range (0... 65535)", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Integer" + } + }, + "required": [ + "earfcn" + ], + "type": "object", + "x-etsi-ref": "6.6.3" + }, + "dlTransmissionBandwidth": { + "properties": { + "transmissionBandwidth": { + "description": "Numeric value corresponding to the transmission bandwidth expressed in units of resource blocks as follows:1 = bw6 (6 resource blocks)2 = bw15 (15 resource blocks) 3 = bw25 (25 resource blocks) 4 = bw50 (50 resource blocks) 5 = bw75 (75 resource blocks) 6 = bw100 (100 resource blocks)", + "enum": [ + 1, + 2, + 3, + 4, + 5, + 6 + ], + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Enum" + } + }, + "required": [ + "transmissionBandwidth" + ], + "type": "object", + "x-etsi-ref": "6.6.4" + }, + "ulEarfcn": { + "properties": { + "earfcn": { + "description": "E-UTRA Absolute Radio Frequency Channel Number, range (0... 65535)", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Integer" + } + }, + "required": [ + "earfcn" + ], + "type": "object", + "x-etsi-ref": "6.6.3" + }, + "ulTransmissionBandwidth": { + "properties": { + "transmissionBandwidth": { + "description": "Numeric value corresponding to the transmission bandwidth expressed in units of resource blocks as follows:1 = bw6 (6 resource blocks)2 = bw15 (15 resource blocks) 3 = bw25 (25 resource blocks) 4 = bw50 (50 resource blocks) 5 = bw75 (75 resource blocks) 6 = bw100 (100 resource blocks)", + "enum": [ + 1, + 2, + 3, + 4, + 5, + 6 + ], + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Enum" + } + }, + "required": [ + "transmissionBandwidth" + ], + "type": "object", + "x-etsi-ref": "6.6.4" + } + }, + "required": [ + "ulEarfcn", + "dlEarfcn", + "ulTransmissionBandwidth", + "dlTransmissionBandwidth" + ], + "type": "object", + "x-etsi-ref": "6.5.6" + }, + "pci": { + "description": "Physical Cell Identifier.", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Integer" + }, + "plmn": { + "properties": { + "mcc": { + "description": "The Mobile Country Code part of PLMN Identity.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + }, + "mnc": { + "description": "The Mobile Network Code part of PLMN Identity.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + } + }, + "required": [ + "mcc", + "mnc" + ], + "type": "object", + "x-etsi-ref": "6.5.4" + }, + "tddInfo": { + "properties": { + "earfcn": { + "properties": { + "earfcn": { + "description": "E-UTRA Absolute Radio Frequency Channel Number, range (0... 65535)", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Integer" + } + }, + "required": [ + "earfcn" + ], + "type": "object", + "x-etsi-ref": "6.6.3" + }, + "subframeAssignment": { + "description": "Uplink-downlink subframe configuration information.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + }, + "transmissionBandwidth": { + "properties": { + "transmissionBandwidth": { + "description": "Numeric value corresponding to the transmission bandwidth expressed in units of resource blocks as follows:1 = bw6 (6 resource blocks)2 = bw15 (15 resource blocks) 3 = bw25 (25 resource blocks) 4 = bw50 (50 resource blocks) 5 = bw75 (75 resource blocks) 6 = bw100 (100 resource blocks)", + "enum": [ + 1, + 2, + 3, + 4, + 5, + 6 + ], + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Enum" + } + }, + "required": [ + "transmissionBandwidth" + ], + "type": "object", + "x-etsi-ref": "6.6.4" + } + }, + "required": [ + "earfcn", + "transmissionBandwidth", + "subframeAssignment" + ], + "type": "object", + "x-etsi-ref": "6.5.7" + } + }, + "required": [ + "plmn", + "ecgi", + "pci", + "fddInfo", + "tddInfo" + ], + "type": "object", + "x-etsi-ref": "6.5.9" + }, + "minItems": 0, + "type": "array", + "x-etsi-mec-cardinality": "0..N", + "x-etsi-mec-origin-type": "UuUniNeighbourCellInfo" + }, + "v2xApplicationServer": { + "properties": { + "ipAddress": { + "description": "", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + }, + "udpPort": { + "description": "", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + } + }, + "required": [ + "ipAddress", + "udpPort" + ], + "type": "object", + "x-etsi-ref": "6.5.8" + } + }, + "required": [ + "locationInfo", + "v2xApplicationServer" + ], + "x-etsi-mec-cardinality": "1..N" + } + }, + "timeStamp": { + "properties": { + "nanoSeconds": { + "description": "The nanoseconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC.", + "format": "Uint32", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Uint32" + }, + "seconds": { + "description": "The seconds part of the time. Time is defined as Unixtime since January 1, 1970, 00:00:00 UTC.", + "format": "Uint32", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Uint32" + } + }, + "required": [ + "seconds", + "nanoSeconds" + ], + "type": "object", + "x-etsi-ref": "6.5.2" + } + }, + "required": [ + "proInfoUuUnicast" + ], + "type": "object", + "x-etsi-ref": "6.2.2" +} \ No newline at end of file diff --git a/MEC030/VIS/schemas/V2xMsgSubscription.schema.json b/MEC030/VIS/schemas/V2xMsgSubscription.schema.json new file mode 100644 index 0000000000000000000000000000000000000000..5cba0d7d992210c9a5747f4297734db3084f31bf --- /dev/null +++ b/MEC030/VIS/schemas/V2xMsgSubscription.schema.json @@ -0,0 +1,102 @@ +{ + "properties": { + "_links": { + "description": "Hyperlink related to the resource. This shall be only included in the HTTP responses and in HTTP PUT requests.", + "properties": { + "self": { + "description": "'This data type represents a type of link'", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "The URI referring to the subscription.", + "type": "string", + "format": "uri" + } + } + } + }, + "required": [ + "self" + ], + "type": "object", + "x-etsi-mec-cardinality": "0..1" + }, + "callbackReference": { + "description": "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.", + "format": "uri", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "URI" + }, + "expiryDeadline": { + "properties": { + "nanoSeconds": { + "description": "The nanoseconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC.", + "format": "Uint32", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Uint32" + }, + "seconds": { + "description": "The seconds part of the time. Time is defined as Unixtime since January 1, 1970, 00:00:00 UTC.", + "format": "Uint32", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Uint32" + } + }, + "required": [ + "seconds", + "nanoSeconds" + ], + "type": "object", + "x-etsi-ref": "6.5.2" + }, + "filterCriteria": { + "description": "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.", + "properties": { + "msgType": { + "description": "Subscribed V2X message type. Its value is defined by the standardization organization indicated by the attribute stdOrganization. See note 2.", + "items": { + "type": "string" + }, + "minItems": 0, + "type": "array", + "x-etsi-mec-cardinality": "0..N", + "x-etsi-mec-origin-type": "Enum" + }, + "stdOrganization": { + "description": "Standardization organization which defines the subscribed V2X message type: \nETSI: European Telecommunications Standards Institute. \nSee note 1.", + "enum": [ + "ETSI" + ], + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Enum" + } + }, + "required": [ + "stdOrganization" + ], + "type": "object", + "x-etsi-mec-cardinality": "1" + }, + "subscriptionType": { + "description": "Shall be set to \"V2xMsgSubscription\".", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + } + }, + "required": [ + "subscriptionType", + "callbackReference", + "filterCriteria" + ], + "type": "object", + "x-etsi-notes": "NOTE 1:\tOther standardization organizations could be added as needed.\nNOTE 2:\tThe V2X message types of ETSI shall be used as specified in ETSI TS 102 894-2 [6], clause A.114.", + "x-etsi-ref": "6.3.5" +} \ No newline at end of file diff --git a/MEC030/VIS/schemas/vProvChgUuUniSubscription.schema.json b/MEC030/VIS/schemas/vProvChgUuUniSubscription.schema.json new file mode 100644 index 0000000000000000000000000000000000000000..82c2490526f18eed4f3b375c7306bc5888934d0e --- /dev/null +++ b/MEC030/VIS/schemas/vProvChgUuUniSubscription.schema.json @@ -0,0 +1,422 @@ +{ + "properties": { + "_links": { + "description": "Hyperlink related to the resource. This shall be only included in the HTTP responses and in HTTP PUT requests.", + "properties": { + "self": { + "description": "'This data type represents a type of link'", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "The URI referring to the subscription.", + "type": "string", + "format": "uri" + } + } + } + }, + "required": [ + "self" + ], + "type": "object", + "x-etsi-mec-cardinality": "0..1" + }, + "callbackReference": { + "description": "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.", + "format": "uri", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "URI" + }, + "expiryDeadline": { + "properties": { + "nanoSeconds": { + "description": "The nanoseconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC.", + "format": "Uint32", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Uint32" + }, + "seconds": { + "description": "The seconds part of the time. Time is defined as Unixtime since January 1, 1970, 00:00:00 UTC.", + "format": "Uint32", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Uint32" + } + }, + "required": [ + "seconds", + "nanoSeconds" + ], + "type": "object", + "x-etsi-ref": "6.5.2" + }, + "filterCriteria": { + "description": "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.", + "properties": { + "locationInfo": { + "properties": { + "ecgi": { + "properties": { + "cellId": { + "properties": { + "cellId": { + "description": "E-UTRAN Cell Identity as a bit string (size (28)).", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + } + }, + "required": [ + "cellId" + ], + "type": "object", + "x-etsi-ref": "6.6.2" + }, + "plmn": { + "properties": { + "mcc": { + "description": "The Mobile Country Code part of PLMN Identity.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + }, + "mnc": { + "description": "The Mobile Network Code part of PLMN Identity.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + } + }, + "required": [ + "mcc", + "mnc" + ], + "type": "object", + "x-etsi-ref": "6.5.4" + } + }, + "required": [ + "plmn", + "cellId" + ], + "type": "object", + "x-etsi-ref": "6.5.5" + }, + "geoArea": { + "description": "Information of a geographical area.", + "properties": { + "latitude": { + "description": "Latitude (DATUM = WGS84) -90 to 90 in decimal degree format DDD.ddd", + "format": "Float", + "type": "number", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Float" + }, + "longitude": { + "description": "Longitude (DATUM = WGS84)-180 to 180 in decimal degree format DDD.ddd", + "format": "Float", + "type": "number", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Float" + } + }, + "required": [ + "latitude", + "longitude" + ], + "type": "object", + "x-etsi-mec-cardinality": "0..1" + } + }, + "type": "object", + "x-etsi-notes": "NOTE:\tEither ecgi or geoArea shall be present, but not both.", + "x-etsi-ref": "6.5.3" + }, + "neighbourCellInfo": { + "description": "The information of the neighbour cells in a visiting PLMN that support V2X communication over Uu unicast.", + "items": { + "properties": { + "ecgi": { + "properties": { + "cellId": { + "properties": { + "cellId": { + "description": "E-UTRAN Cell Identity as a bit string (size (28)).", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + } + }, + "required": [ + "cellId" + ], + "type": "object", + "x-etsi-ref": "6.6.2" + }, + "plmn": { + "properties": { + "mcc": { + "description": "The Mobile Country Code part of PLMN Identity.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + }, + "mnc": { + "description": "The Mobile Network Code part of PLMN Identity.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + } + }, + "required": [ + "mcc", + "mnc" + ], + "type": "object", + "x-etsi-ref": "6.5.4" + } + }, + "required": [ + "plmn", + "cellId" + ], + "type": "object", + "x-etsi-ref": "6.5.5" + }, + "fddInfo": { + "properties": { + "dlEarfcn": { + "properties": { + "earfcn": { + "description": "E-UTRA Absolute Radio Frequency Channel Number, range (0... 65535)", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Integer" + } + }, + "required": [ + "earfcn" + ], + "type": "object", + "x-etsi-ref": "6.6.3" + }, + "dlTransmissionBandwidth": { + "properties": { + "transmissionBandwidth": { + "description": "Numeric value corresponding to the transmission bandwidth expressed in units of resource blocks as follows:1 = bw6 (6 resource blocks)2 = bw15 (15 resource blocks) 3 = bw25 (25 resource blocks) 4 = bw50 (50 resource blocks) 5 = bw75 (75 resource blocks) 6 = bw100 (100 resource blocks)", + "enum": [ + 1, + 2, + 3, + 4, + 5, + 6 + ], + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Enum" + } + }, + "required": [ + "transmissionBandwidth" + ], + "type": "object", + "x-etsi-ref": "6.6.4" + }, + "ulEarfcn": { + "properties": { + "earfcn": { + "description": "E-UTRA Absolute Radio Frequency Channel Number, range (0... 65535)", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Integer" + } + }, + "required": [ + "earfcn" + ], + "type": "object", + "x-etsi-ref": "6.6.3" + }, + "ulTransmissionBandwidth": { + "properties": { + "transmissionBandwidth": { + "description": "Numeric value corresponding to the transmission bandwidth expressed in units of resource blocks as follows:1 = bw6 (6 resource blocks)2 = bw15 (15 resource blocks) 3 = bw25 (25 resource blocks) 4 = bw50 (50 resource blocks) 5 = bw75 (75 resource blocks) 6 = bw100 (100 resource blocks)", + "enum": [ + 1, + 2, + 3, + 4, + 5, + 6 + ], + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Enum" + } + }, + "required": [ + "transmissionBandwidth" + ], + "type": "object", + "x-etsi-ref": "6.6.4" + } + }, + "required": [ + "ulEarfcn", + "dlEarfcn", + "ulTransmissionBandwidth", + "dlTransmissionBandwidth" + ], + "type": "object", + "x-etsi-ref": "6.5.6" + }, + "pci": { + "description": "Physical Cell Identifier.", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Integer" + }, + "plmn": { + "properties": { + "mcc": { + "description": "The Mobile Country Code part of PLMN Identity.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + }, + "mnc": { + "description": "The Mobile Network Code part of PLMN Identity.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + } + }, + "required": [ + "mcc", + "mnc" + ], + "type": "object", + "x-etsi-ref": "6.5.4" + }, + "tddInfo": { + "properties": { + "earfcn": { + "properties": { + "earfcn": { + "description": "E-UTRA Absolute Radio Frequency Channel Number, range (0... 65535)", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Integer" + } + }, + "required": [ + "earfcn" + ], + "type": "object", + "x-etsi-ref": "6.6.3" + }, + "subframeAssignment": { + "description": "Uplink-downlink subframe configuration information.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + }, + "transmissionBandwidth": { + "properties": { + "transmissionBandwidth": { + "description": "Numeric value corresponding to the transmission bandwidth expressed in units of resource blocks as follows:1 = bw6 (6 resource blocks)2 = bw15 (15 resource blocks) 3 = bw25 (25 resource blocks) 4 = bw50 (50 resource blocks) 5 = bw75 (75 resource blocks) 6 = bw100 (100 resource blocks)", + "enum": [ + 1, + 2, + 3, + 4, + 5, + 6 + ], + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Enum" + } + }, + "required": [ + "transmissionBandwidth" + ], + "type": "object", + "x-etsi-ref": "6.6.4" + } + }, + "required": [ + "earfcn", + "transmissionBandwidth", + "subframeAssignment" + ], + "type": "object", + "x-etsi-ref": "6.5.7" + } + }, + "required": [ + "plmn", + "ecgi", + "pci", + "fddInfo", + "tddInfo" + ], + "type": "object", + "x-etsi-ref": "6.5.9" + }, + "minItems": 0, + "type": "array", + "x-etsi-mec-cardinality": "0..N", + "x-etsi-mec-origin-type": "UuUniNeighbourCellInfo" + }, + "v2xApplicationServer": { + "properties": { + "ipAddress": { + "description": "", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + }, + "udpPort": { + "description": "", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + } + }, + "required": [ + "ipAddress", + "udpPort" + ], + "type": "object", + "x-etsi-ref": "6.5.8" + } + }, + "required": [ + "locationInfo", + "v2xApplicationServer" + ], + "type": "object", + "x-etsi-mec-cardinality": "1" + }, + "subscriptionType": { + "description": "Shall be set to \"ProvChgUuUniSubscription\".", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + } + }, + "required": [ + "subscriptionType", + "callbackReference", + "filterCriteria" + ], + "type": "object", + "x-etsi-ref": "6.3.2" + } \ No newline at end of file