Commit 82164549 authored by Michel Roy's avatar Michel Roy
Browse files

added v2.1.1 draft version

parent ca92c950
Loading
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -5,8 +5,8 @@ This repository contains OpenAPIs descriptions for the interfaces specified in E
## Online resources
## Online resources


* [Specification document](https://www.etsi.org/deliver/etsi_gs/MEC/001_099/012/01.01.01_60/gs_MEC012v010101p.pdf)
* [Specification document](https://www.etsi.org/deliver/etsi_gs/MEC/001_099/012/01.01.01_60/gs_MEC012v010101p.pdf)
* [Navigate the API in the browser](https://forge.etsi.org/swagger/ui/?url=https://forge.etsi.org/gitlab/mec/gs012-rnis-api/raw/master/RniAPI.yaml).
* [Navigate the API in the browser](https://forge.etsi.org/swagger/ui/?url=https://forge.etsi.org/gitlab/mec/gs012-rnis-api/raw/stf593/RniAPI.yaml).
* [Edit the API online](https://forge.etsi.org/swagger/editor/?url=https://forge.etsi.org/gitlab/mec/gs012-rnis-api/raw/master/RniAPI.yaml).
* [Edit the API online](https://forge.etsi.org/swagger/editor/?url=https://forge.etsi.org/gitlab/mec/gs012-rnis-api/raw/stf593/RniAPI.yaml).


## License
## License


+4869 −6124

File changed.

Preview size limit exceeded, changes collapsed.

RniAPI.proto.txt

deleted100644 → 0
+0 −629
Original line number Original line Diff line number Diff line
/*
info:
  description: 'The ETSI MEC ISG MEC012 RNI API described using Protocol Buffer'
  version: '1.1.1'
  title: 'RNI API, Protobuf'
externalDocs: 
  description: ETSI GS MEC012 Radio Network Information API, V1.1.1
  url: 'http://www.etsi.org/deliver/etsi_gs/MEC/001_099/012/01.01.01_60/gs_mec012v010101p.pdf'
license:
  name: BSD-3-Clause
  url: 'https://forge.etsi.org/legal-matters'
*/

/* START PROTO DEFINITION*/
syntax = "proto3";

message LinkType
{
	string href = 1;
}
message TimeStamp
{
	uint32 seconds = 1;
	uint32 nanoSeconds = 2;
}
message AssociateId
{
	enum Type
	{
		RESERVED = 0;
		UE_IPV4_ADDRESS = 1;
		UE_IPV6_ADDRESS = 2;
		NATED_IP_ADDRESS = 3;
		GTP_TEID = 4;
	}
	Type type = 1;
	string value = 2;
}
message PlmnInfo
{
	message Ecgi
	{
		string mcc = 1;
		string mnc = 2;
		string cellId = 3;
	}
	TimeStamp timeStamp = 1;
	string appInsId = 2;
	repeated Ecgi ecgi =3;
}
message RabInfo
{
	message CellUserInfo
	{
		Ecgi ecgi = 1;
		repeated UeInfo ueInfo = 2;
	}
	message Ecgi
	{
		string mcc = 1;
		string mnc = 2;
		string cellId = 3;
	}
	message UeInfo
	{
		repeated AssociateId associatedId = 1;
		repeated ErabInfo erabInfo = 2;
	}
	message ErabInfo
	{
		uint32 erabId = 1;
		ErabQosParameters erabQosParameters = 2;
	}
	message ErabQosParameters
	{
		uint32 qci = 1;
		QosInformation qosInfo = 2;
	}
	message QosInformation
	{
		uint32 erabMbrDl = 1;
		uint32 erabMbrUl = 2;
		uint32 erabGbrDl = 3;
		uint32 erabGbrUl = 4;
	}
	TimeStamp timeStamp = 1;
	string appInsId = 2;
	string requestId =3;
	repeated CellUserInfo cellUsers = 4;
}
message S1BearerInfo
{
	message TempUeId
	{
		string mmec = 1;
		string mtmsi = 2;
	}
	message Ecgi
	{
		string mcc = 1;
		string mnc = 2;
		string cellId = 3;
	}
	message EnbInfo
	{
		string ipAddress = 1;
		string tunnelId = 2;
	}
	message SGwInfo
	{
		string ipAddress = 1;
		string tunnelId = 2;
	}
	message S1BearerInfoDetailed
	{
		uint32 erabId = 1;
		EnbInfo enbInfo = 2;
		SGwInfo sGwInfo = 3;
	}
	message S1UeInfo
	{
		TempUeId tempUeId = 1;
		repeated AssociateId associateId = 2;
		repeated Ecgi ecgi = 3; 
		repeated S1BearerInfoDetailed s1BearerInfoDetailed = 4;
	}
	TimeStamp timeStamp = 1;
	repeated S1UeInfo s1UeInfo = 2;
}
message CellChangeSubscription
{
	message Plmn
	{
		string mcc = 1;
		string mnc = 2;
	}
	message FilterCriteriaAssocHo
	{
		enum HoStatus
		{
			RESERVED = 0;
			IN_PREPARATION = 1;
			IN_EXECUTION = 2;
			COMPLETED = 3;
			REJECTED = 4;
			CANCELLED = 5;
		}
		string appInsId = 1;
		repeated AssociateId associateId = 2;
		Plmn plmn = 3;
		repeated string cellId = 4;
		repeated HoStatus hoStatus = 5;
	}
	message ExpiryDeadline
	{
		uint32 seconds = 1;
		uint32	nanoSeconds = 2;
	}
	string subscriptionType = 1;
	string callbackUri = 2;
	
	FilterCriteriaAssocHo filterCriteriaAssocHo = 3;
	TimeStamp expiryDeadline = 4;
}
message RabEstSubscription
{
	message Plmn
	{
		string mcc = 1;
		string mnc = 2;
	}
	message FilterCriteriaQci
	{
		string appInsId = 1;
		Plmn plmn = 2;
		repeated string cellId = 3;
		uint32 qci = 4;
	}
	message ExpiryDeadline
	{
		uint32 seconds = 1;
		uint32	nanoSeconds = 2;
	}
	string subscriptionType = 1;
	string callbackUri = 2;
	
	FilterCriteriaQci filterCriteriaQci = 3;
	TimeStamp expiryDeadline = 4;
}
message RabModSubscription
{
	message Plmn
	{
		string mcc = 1;
		string mnc = 2;
	}
	message FilterCriteriaQci
	{
		string appInsId = 1;
		Plmn plmn = 2;
		repeated string cellId = 3;
		uint32 qci = 4;
	}
	message ExpiryDeadline
	{
		uint32 seconds = 1;
		uint32	nanoSeconds = 2;
	}
	string subscriptionType = 1;
	string callbackUri = 2;
	FilterCriteriaQci filterCriteriaQci = 3;
	TimeStamp expiryDeadline = 4;
}
message RabRelSubscription
{
	message Plmn
	{
		string mcc = 1;
		string mnc = 2;
	}
	message FilterCriteriaQci
	{
		string appInsId = 1;
		Plmn plmn = 2;
		repeated string cellId = 3;
		uint32 qci = 4;
	}
	message ExpiryDeadline
	{
		uint32 seconds = 1;
		uint32 nanoSeconds = 2;
	}
	string subscriptionType = 1;
	string callbackUri = 2;
	
	FilterCriteriaQci filterCriteriaQci = 3;
	TimeStamp expiryDeadline = 4;
}
message MeasRepUeSubscription
{
	message Plmn
	{
		string mcc = 1;
		string mnc = 2;
	}
	message FilterCriteriaAssocTri
	{
		enum Trigger 
		{
			RESERVED = 0;
			PERIODICAL_REPORT_STRONGEST_CELLS = 1;
			PERIODICAL_REPORT_STRONGEST_CELLS_FOR_SON = 2;
			PERIODICAL_REPORT_CGI = 3;
			EVENT_A1 = 10;
			EVENT_A2 = 11;
			EVENT_A3 = 12;
			EVENT_A4 = 13;
			EVENT_A5 = 14;
			EVENT_A6 = 15;
			EVENT_B1 = 20;
			EVENT_B2 = 21;
			EVENT_C1 = 30;
			EVENT_C2 = 31;
			EVENT_W1 = 40;
			EVENT_W2 = 41;
			EVENT_W3 = 42;
		}
		string appInsId = 1;
		repeated AssociateId associateId = 2;
		Plmn plmn = 3;
		repeated string cellId = 4;
		repeated Trigger trigger = 5;
	}
	string subscriptionType = 1;
	string callbackUri = 2;
	FilterCriteriaAssocTri filterCriteriaAssocTri = 3;
	TimeStamp expiryDeadline = 4;
}
message MeasTaSubscription
{
	message Plmn
	{
		string mcc = 1;
		string mnc = 2;
	}
	message FilterCriteriaAssoc
	{
		string appInsId = 1;
		repeated AssociateId associateId = 2;
		Plmn plmn = 3;
		repeated string cellId = 4;
	}
	string subscriptionType = 1;
	string callbackUri = 2;
	
	FilterCriteriaAssoc filterCriteriaAssoc = 3;
	TimeStamp expiryDeadline = 4;
}
message CaReconfSubscription
{
	message Plmn
	{
		string mcc = 1;
		string mnc = 2;
	}
	message FilterCriteriaAssoc
	{
		string appInsId = 1;
		repeated AssociateId associateId = 2;
		Plmn plmn = 3;
		repeated string cellId = 4;
	}
	string subscriptionType = 1;
	string callbackUri = 2;
	
	FilterCriteriaAssoc filterCriteriaAssoc = 3;
	TimeStamp expiryDeadline = 4;
}
message S1BearerSubscription
{
	enum EventType 
	{
		RESERVED = 0;
		S1_BEARER_ESTABLISH = 1;
		S1_BEARER_MODIFY = 2;
		S1_BEARER_RELEASE = 3;
	}
	message Plmn
	{
		string mcc = 1;
		string mnc = 2;
	}
	message S1BearerSubscriptionCriteria
	{
		repeated AssociateId associateId = 1;
		Plmn plmn = 2;
		repeated string cellId = 3;
		repeated uint32 erabId = 4;
	}
	string subscriptionType = 1;
	string callbackUri = 2;
	repeated EventType eventType = 3; 
	S1BearerSubscriptionCriteria s1BearerSubscriptionCriteria = 4;
	TimeStamp expiryDeadline = 5;
}
message SubscriptionLinkList
{
	enum SubscriptionType
		{
			RESERVED = 0;
			CELL_CHANGE = 1;
			RAB_ESTABLISHMENT = 2;
			RAB_MODIFICATION = 3;
			RAB_RELEASE = 4;
			MEAS_REPORT_UE = 5;
			MEAS_TIMING_ADVANCE = 6;
			CA_RECONF = 7;
			S1_BEARER = 8;
		}
	message Subscription
	{
		string href = 1;
		SubscriptionType subscriptionType = 2;
	}
	message Links
	{
		LinkType self = 1;
		repeated Subscription subscription = 2;
	}
	Links _links = 1;
}
message CellChangeNotification
{
	enum HoStatus
	{
		RESERVED = 0;
		IN_PREPARATION = 1;
		IN_EXECUTION = 2;
		COMPLETED = 3;
		REJECTED = 4;
		CANCELLED = 5;
	}
	message Ecgi
	{
		string mcc = 1;
		string mnc = 2;
		string cellId = 3;
	}
	message TempUeId
	{
		string mmec = 1;
		string mtmsi = 2;
	}
	TimeStamp timeStamp = 1;
	repeated AssociateId associateId = 2;
	Ecgi srcEcgi = 3;
	Ecgi trgEcgi = 4;
	HoStatus hoStatus = 5;
	TempUeId tempUeId = 6;
} 
message RabEstNotification
{
	message Ecgi
	{
		string mcc = 1;
		string mnc = 2;
		string cellId =3;
	}
	message QosInformation
	{
		uint32 erabMbrDl = 1;
		uint32 erabMbrUl = 2;
		uint32 erabGbrDl = 3;
		uint32 erabGbrUl = 4;
	}
	message ErabQosParameters
	{
		uint32 qci= 1;
		QosInformation qosInformation = 2;
	}
	message TempUeId
	{
		string mmec = 1;
		string mtmsi = 2;
	}
	TimeStamp timeStamp = 1;
	Ecgi ecgi = 2;
	repeated AssociateId associateId = 3;
	uint32 erabId = 4;
	ErabQosParameters erabQosParameters = 5;
	TempUeId tempUeId = 6;
} 
message RabModNotification
{
	message Ecgi
	{
		string mcc = 1;
		string mnc = 2;
		string cellId =3;
	}
	message QosInformation
	{
		uint32 erabMbrDl = 1;
		uint32 erabMbrUl = 2;
		uint32 erabGbrDl = 3;
		uint32 erabGbrUl = 4;
	}
	message ErabQosParameters
	{
		uint32 qci= 1;
		QosInformation qosInformation = 2;
	}
	TimeStamp timeStamp = 1;
	Ecgi ecgi = 2;
	repeated AssociateId associateId = 3;
	uint32 erabId = 4;
	ErabQosParameters erabQosParameters = 5;
} 
message RabRelNotification
{
	message Ecgi
	{
		string mcc = 1;
		string mnc = 2;
		string cellId =3;
	}
	message ErabReleaseInfo
	{
		uint32 erabId = 1;
	}
	TimeStamp timeStamp = 1;
	Ecgi ecgi = 2;
	repeated AssociateId associateId = 3;
	ErabReleaseInfo erabReleaseInfo = 4;
} 
message MeasRepUeNotification
{
	enum Trigger 
	{
		NOT_AVAILABLE = 0;
		PERIODICAL_REPORT_STRONGEST_CELLS = 1;
		PERIODICAL_REPORT_STRONGEST_CELLS_FOR_SON = 2;
		PERIODICAL_REPORT_CGI = 3;
		EVENT_A1 = 10;
		EVENT_A2 = 11;
		EVENT_A3 = 12;
		EVENT_A4 = 13;
		EVENT_A5 = 14;
		EVENT_A6 = 15;
		EVENT_B1 = 20;
		EVENT_B2 = 21;
		EVENT_C1 = 30;
		EVENT_C2 = 31;
		EVENT_W1 = 40;
		EVENT_W2 = 41;
		EVENT_W3 = 42;
	}
	message Ecgi
	{
		string mcc = 1;
		string mnc = 2;
		string cellId =3;
	}
	message EutranNeighborCellMeasInfo
	{
		Ecgi ecgi = 1;
		uint32 rsrp = 2;
		uint32 rsrq = 3;	
	}
	message CarrierAggregationMeasInfo
	{
		string cellIdSrv = 1;
		uint32 rsrpSrv = 2;
		uint32 rsrqSrv = 3;
		string cellIdNei = 4;
		uint32 rsrpNei = 5;
		uint32 rsrqNei = 6;
	}
	TimeStamp timeStamp = 1;
	Ecgi ecgi = 2;
	repeated AssociateId associateId = 3;
	uint32 rsrp = 4;
	uint32 rsrq = 5;
	Trigger trigger = 6;
	repeated EutranNeighborCellMeasInfo eutranNeighborCellMeasInfo = 7;
	repeated CarrierAggregationMeasInfo carrierAggrMeasInfo = 8;
} 
message MeasTaNotification
{
	message Ecgi
	{
		string mcc = 1;
		string mnc = 2;
		string cellId =3;
	}
	TimeStamp timeStamp = 1;
	Ecgi ecgi = 2;
	repeated AssociateId associateId = 3;
	uint32	timingAdvance = 4;
}
message CaReConfNotification
{
	message Ecgi
	{
		string mcc = 1;
		string mnc = 2;
		string cellId =3;
	}
	message SecondaryCellAdd
	{
		Ecgi ecgi = 1;
	}
	message SecondaryCellRemove
	{
		Ecgi ecgi = 1;
	}
	message CarrierAggregationMeasInfo
	{
		string cellIdSrv = 1;
		uint32 rsrpSrv = 2;
		uint32 rsrqSrv = 3;
		string cellIdNei = 4;
		uint32 rsrpNei = 5;
		uint32 rsrqNei = 6;
	}
	TimeStamp timeStamp = 1;
	Ecgi ecgi = 2;
	repeated AssociateId associateId = 3;
	repeated SecondaryCellAdd secCellAdd = 4;
	repeated SecondaryCellRemove secCellRem = 5;
	repeated CarrierAggregationMeasInfo carrAggrMeasInfo = 6;
} 
message ExpiryNotification
{
	message Links
	{
		string self = 1;
	}
	TimeStamp timeStamp = 1;
	Links _links = 2;
	TimeStamp expiryDeadline = 3;
}
message S1BearerNotification
{
	enum S1EventType 
	{
		RESERVED = 0;
		S1_BEARER_ESTABLISH = 1;
		S1_BEARER_MODIFY = 2;
		S1_BEARER_RELEASE = 3;
	}
	message TempUeId
	{
		string mmec = 1;
		string mtmsi = 2;
	}
	message Ecgi
	{
		string mcc = 1;
		string mnc = 2;
		string cellId = 3;
	}
	message EnbInfo
	{
		string ipAddress = 1;
		string tunnelId = 2;
	}
	message SGwInfo
	{
		string ipAddress = 1;
		string tunnelId = 2;
	}
	message S1BearerInfo
	{
		uint32 erabId = 1;
		EnbInfo enbInfo = 2;
		SGwInfo sGwInfo = 3;
	}
	message S1UeInfo
	{
		TempUeId tempUeId = 1;
		AssociateId associateId = 2;
		repeated Ecgi ecgi = 3;
		repeated S1BearerInfo s1BearerInfo = 4;
	}
	TimeStamp timeStamp = 1;
	S1EventType s1Event = 2;
	S1UeInfo s1UeInfo = 3;
}
+3837 −4399

File changed.

Preview size limit exceeded, changes collapsed.

+23 −0
Original line number Original line Diff line number Diff line
# OpenAPI Generator Ignore
# Generated by openapi-generator https://github.com/openapitools/openapi-generator

# Use this file to prevent files from being overwritten by the generator.
# The patterns follow closely to .gitignore or .dockerignore.

# As an example, the C# client generator defines ApiClient.cs.
# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line:
#ApiClient.cs

# You can match any string of characters against a directory, file or extension with a single asterisk (*):
#foo/*/qux
# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux

# You can recursively match patterns against a directory, file or extension with a double asterisk (**):
#foo/**/qux
# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux

# You can also negate patterns with an exclamation (!).
# For example, you can ignore all files in a docs folder with the file extension .md:
#docs/*.md
# Then explicitly reverse the ignore rule for a single file:
#!docs/README.md
Loading