Commit 03b10153 authored by Yann Garcia's avatar Yann Garcia
Browse files

Review MEC0013-LocationAPI based on ETSI GS MEC 013 V2.1.1 (2019-09)

parent 67a92628
......@@ -22,7 +22,16 @@ LibMec_Pics.PICS_RNIS_QUERY := true
LibMec_Pics.PICS_RNIS_ALL_SUBSCRIPTIONS := true
LibMec_Pics.PICS_RNIS_NOTIFICATIONS := true
LocationAPI_Pics.PICS_LOCATION_API_SUPPORTED := true
LibMec_Pixits.PX_ME_APP_Q_ZONE_ID_URI := "/location/v1/zones"
LibMec_Pixits.PX_ME_APP_Q_USERS_LIST_URI := "/location/v1/users"
# Mec-0013 LocationAPI
LocationAPI_Pics.PICS_LOCATION_API_SUPPORTED := true
LocationAPI_Pixits.PX_ZONE_ID := "zone1"
LocationAPI_Pixits.PX_USER := "ue1"
LocationAPI_Pixits.PX_CLIENT_ID := "0123"
LocationAPI_Pixits.PX_SUBSCRIPTION_ID := "subscription0123"
UEidentityAPI_Pics.PICS_UE_IDENTITY_API_SUPPORTED := false
......@@ -31,16 +40,15 @@ BwManagementAPI_Pics.PICS_BWMANAGEMENT_API_SUPPORTED := false
#AppEnablementAPI_Pics.PICS_APP_ENABLEMENT_API_SUPPORTED := true
#AppEnablementAPI_Pics.PICS_ME_APP_SUPPORT_TIMING_CAPS_URI
[LOGGING]
# In this section you can specify the name of the log file and the classes of events
# you want to log into the file or display on console (standard error).
LogFile := "../logs/%e.%h-%r.%s"
FileMask := LOG_ALL | USER | DEBUG | MATCHING
ConsoleMask := LOG_ALL | USER | DEBUG | MATCHING
#FileMask := ERROR | WARNING | USER | MATCHING | EXECUTOR_RUNTIME | VERDICTOP
#ConsoleMask := ERROR | WARNING | USER | MATCHING | EXECUTOR_RUNTIME | VERDICTOP
#FileMask := LOG_ALL | USER | DEBUG | MATCHING
#ConsoleMask := LOG_ALL | USER | DEBUG | MATCHING
FileMask := ERROR | WARNING | USER | MATCHING | EXECUTOR_RUNTIME | VERDICTOP | PORTEVENT
ConsoleMask := ERROR | WARNING | USER | MATCHING | EXECUTOR_RUNTIME | VERDICTOP | PORTEVENT
LogSourceInfo := Stack
LogEntityName:= Yes
LogEventTypes:= Yes
......
......@@ -5,8 +5,8 @@
"version": "1.1.1",
"description": "The ETSI MEC ISG MEC012 Location API described using OpenAPI. The API is based on the Open Mobile Alliance's specification RESTful Network API for Zonal Presence",
"license": {
"name": "ETSI Forge copyright notice",
"url": "https://forge.etsi.org/etsi-forge-copyright-notice.txt"
"name": "BSD-3-Clause",
"url": "https://forge.etsi.org/legal-matters"
}
},
"externalDocs": {
......
......@@ -59,23 +59,44 @@ module LocationAPI_Templates {
template (value) LocationInfo m_location_info(
in JSON.Number p_latitude,
in JSON.Number p_longitude,
in UInt32 p_accuracy
in Shape p_shape := POLYGON,
in VelocityType p_velocityType := HORIZONTAL_VERTICAL_UNCERT
) := {
latitude := p_latitude,
longitude := p_longitude,
altitude := omit,
accuracy := p_accuracy
latitude := p_latitude,
longitude := p_longitude,
altitude := omit,
accuracy := omit,
accuracySemiMinor := omit,
accuracyAltitude := omit,
orientationMajorAxis := omit,
confidence := omit,
innerRadius := omit,
uncertaintyRadius := omit,
offsetAngle := omit,
includedAngle := omit,
shape := p_shape,
velocity := omit
} // End of template m_location_info
template (present) LocationInfo mw_location_info(
template (present) JSON.Number p_latitude := ?,
template (present) JSON.Number p_longitude := ?,
template (present) UInt32 p_accuracy := ?
template (present) Shape p_shape := ?
) := {
latitude := p_latitude,
longitude := p_longitude,
altitude := *,
accuracy := p_accuracy
latitude := p_latitude,
longitude := p_longitude,
altitude := *,
accuracy := *,
accuracySemiMinor := *,
accuracyAltitude := *,
orientationMajorAxis := *,
confidence := *,
innerRadius := *,
uncertaintyRadius := *,
offsetAngle := *,
includedAngle := *,
shape := p_shape,
velocity := *
} // End of template mw_location_info
template (value) ZoneInfo m_zone_info(
......
/**
* @author ETSI / STF569
* @version $Url$
* $Id$
* @desc Types ANd Values for ETSI GS MEC 013 V2.1.1 (2019-09)
* @copyright ETSI Copyright Notification
* No part may be reproduced except as authorized by written permission.
* The copyright and the foregoing restriction extend to reproduction in all media.
* All rights reserved.
*/
module LocationAPI_TypesAndValues {
// JSON
......@@ -20,6 +30,7 @@ module LocationAPI_TypesAndValues {
* @desc
* @member seconds The seconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC
* @member nanoSeconds The nanoseconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC
* @see ETSI GS MEC 013 V2.1.1 (2019-09) Clause 6.5.2 Type: TimeStamp
*/
type record TimeStamp {
Seconds seconds,
......@@ -30,25 +41,70 @@ module LocationAPI_TypesAndValues {
* @desc A type containing list of users.
* @member user Collection of the zone information list.
* @member resourceURL Self referring URL.
* @see ETSI GS MEC 013 V2.1.1 (2019-09) Clause
*/
type record of UserInfo UserInfos;
type record UserList {
UserInfos user optional,
ResourceURL resourceURL
}
/**
* @desc Shape information, as detailed in [14], associated with the reported location coordinate
* @see ETSI GS MEC 013 V2.1.1 (2019-09) Table 6.5.3-1: Definition of type LocationInfo
*/
type enumerated Shape {
ELLIPSOID_ARC (1),
ELLIPSOID_POINT (2),
ELLIPSOID_POINT_ALTITUDE (3),
ELLIPSOID_POINT_ALTITUDE_UNCERT_ELLIPSOID (4),
ELLIPSOID_POINT_UNCERT_CIRCLE (5),
ELLIPSOID_POINT_UNCERT_ELLIPSE (6),
POLYGON (7)
}
/**
* @desc Velocity information, as detailed in [14], associated with the reported location coordinate
* @see ETSI GS MEC 013 V2.1.1 (2019-09) Table 6.5.3-1: Definition of type LocationInfo
*/
type enumerated VelocityType {
HORIZONTAL (1),
HORIZONTAL_VERTICAL (2),
HORIZONTAL_UNCERT (3),
HORIZONTAL_VERTICAL_UNCERT (4)
}
type record Velocity {
VelocityType velocityType,
UInt32 bearing,
UInt32 horizontalSpeed,
Int32 verticalSpeed optional,
UInt32 verticalUncertainty optional
}
/**
* @desc A type containing location information with latitude, longitude and altitude, in addition the accuracy of the information are provided.
* @member latitude
* @member longitude
* @member altitude
* @member accuracy
* @member latitude Location latitude, expressed in the range -90° to +90°. Cardinality greater than one only if "shape" equals 7.
* @member longitude Location longitude, expressed in the range -180° to +180°. Cardinality greater than one only if "shape" equals 7.
* @member altitude Location altitude relative to the WGS84 ellipsoid surface.
* @member accuracy Horizontal accuracy / (semi-major) uncertainty of location provided in meters, as defined in [14]. Present only if "shape" equals 4, 5 or 6
* @see ETSI GS MEC 013 V2.1.1 (2019-09) Clause 6.5.3 Type: LocationInfo
*/
type record LocationInfo {
JSON.Number latitude,
JSON.Number longitude,
JSON.Number altitude optional,
UInt32 accuracy
UInt32 accuracy optional,
UInt32 accuracySemiMinor optional,
UInt32 accuracyAltitude optional,
UInt32 orientationMajorAxis optional,
UInt32 confidence optional,
UInt32 innerRadius optional,
UInt32 uncertaintyRadius optional,
UInt32 offsetAngle optional,
UInt32 includedAngle optional,
Shape shape,
Velocity velocity optional
} // End of type LocationInfo
/**
......@@ -80,6 +136,7 @@ module LocationAPI_TypesAndValues {
/**
* @desc Identifier of access point, <E-CGI><Cell Portion ID> (reference ETSI TS 129 171). Where the E-CGI is made up of the PLMN and Cell Identity (28 bit string). Then the PLMN is made up of the 3 digit MCC & 2 or 3 digit MNC. The Cell Portion is an optional element
* @see ETSI GS MEC 013 V2.1.1 (2019-09) 6.6.1 accessPointId
*/
type JSON.String AccessPointId;
......@@ -117,7 +174,7 @@ module LocationAPI_TypesAndValues {
/**
* @desc Address of user (e.g. \"sip\" URI, \"tel\" URI, \"acr\" URI).
*/
type JSON.String Address
type JSON.AnyURI Address
/**
* @desc Reserved for future use.
......@@ -279,8 +336,9 @@ REST_NetAPI_Common].
* @member zoneId Identifier of zone
* @member resourceURL Self referring URL.
* @member locationInfo A type containing location information with latitude, longitude and altitude, in addition the accuracy of the information are provided.
* @member contextLocationInfo
* @member ancillaryInfo
* @member contextLocationInfo Contextual information of a user location (e.g. aisle, floor, room number, etc.).
* @member ancillaryInfo Reserved for future use
* @see ETSI GS MEC 013 V2.1.1 (2019-09) Clause 6.2.2 Type: UserInfo
*/
type record UserInfo {
Address address_,
......@@ -416,7 +474,20 @@ REST_NetAPI_Common].
} with {
variant (address_) "name as 'address'";
}
/**
* @desc This type contains a list of subscriptions
* @ see ETSI GS MEC 013 V2.1.1 (2019-09) Clause 6.3.3 Type: NotificationSubscriptionList
*/
type record NotificationSubscriptionList {
ZonalTrafficSubscription zonalTrafficSubscription optional,
UserTrackingSubscription userTrackingSubscription optional,
ZoneStatusSubscription zoneStatusSubscription optional,
CircleNotificationSubscription circleNotificationSubscription optional,
PeriodicNotificationSubscription periodicNotificationSubscription optional,
DistanceNotificationSubscription distanceNotificationSubscription optional,
ResourceURL resourceURL
}
} with {
encode "JSON"
}
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment