017cd20076d36dcc6c6293db1a24469bd3c1fb70
[ric-plt/streaming-protobufs.git] / x2ap_streaming.proto
1 /*
2    Copyright (c) 2019 AT&T Intellectual Property.
3    Copyright (c) 2019 Nokia.
4
5    Licensed under the Creative Commons Attribution 4.0 International
6    Public License (the "License"); you may not use this file except
7    in compliance with the License. You may obtain a copy of the License at
8
9        https://creativecommons.org/licenses/by/4.0/
10
11    Unless required by applicable law or agreed to in writing, documentation
12    distributed under the License is distributed on an "AS IS" BASIS,
13    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14    See the License for the specific language governing permissions and
15    limitations under the License.
16 */
17
18 syntax = "proto3";
19
20 package streaming_protobufs;
21
22 option go_package = "gerrit.o-ran-sc.org/r/ric-plt/streaming-protobufs";
23
24 import "google/protobuf/wrappers.proto";
25 import "rrctransfer.proto";
26 import "sgnb_addition_request.proto";
27 import "sgnb_addition_request_acknowledge.proto";
28 import "sgnb_addition_request_reject.proto";
29 import "sgnb_modification_request.proto";
30 import "sgnb_modification_request_acknowledge.proto";
31 import "sgnb_modification_request_reject.proto";
32 import "sgnb_modification_required.proto";
33 import "sgnb_modification_confirm.proto";
34 import "sgnb_modification_refuse.proto";
35 import "sgnb_release_request.proto";
36 import "sgnb_release_request_acknowledge.proto";
37 import "sgnb_release_required.proto";
38 import "sgnb_release_confirm.proto";
39 import "sgnb_reconfiguration_complete.proto";
40 import "sn_status_transfer.proto";
41 import "ue_context_release.proto";
42 import "secondary_rat_data_usage_report.proto";
43
44 /*
45    X2AP Streaming Protocol Buffer definition of a wrapper like container for
46    an X2AP message. Besides an X2AP message itself, container encloses some
47    generic information such as a gNodeB identifier and a timestamp of the
48    event in question.
49
50    Naming convention of the X2AP message in 'x2ap_message' field follows the
51    ASN.1 field naming defined in chapter '9.3 Message and Information Element
52    Abstract Syntax (with ASN.1)' of below document:
53    http://www.3gpp.org/ftp//Specs/archive/36_series/36.423/36423-f40.zip
54
55    Dashes converted to underscores to make protobuf message syntax correct.
56
57    Revision number of this X2AP Streaming protobuf file is:
58        x2ap_streaming_protobuf_revision: v0.2.2
59    The location of X2AP Streaming protobuf files is a Linux Foundation
60    repository:
61        https://gerrit.o-ran-sc.org/r/ric-plt/streaming-protobufs
62    Various versions of protobuf files under the repository are tagged with
63    revision numbers.
64 */
65
66 message X2APStreaming
67 {
68     X2APStreamingHeader header = 1;
69     oneof x2ap_message {
70         RRCTransfer rrcTransfer = 2;
71         SgNBAdditionRequest sgNBAdditionRequest = 3;
72         SgNBAdditionRequestAcknowledge sgNBAdditionRequestAcknowledge = 4;
73         SgNBAdditionRequestReject sgNBAdditionRequestReject = 5;
74         SgNBModificationRequest sgNBModificationRequest = 6;
75         SgNBModificationRequestAcknowledge sgNBModificationRequestAcknowledge = 7;
76         SgNBModificationRequestReject sgNBModificationRequestReject = 8;
77         SgNBModificationRequired sgNBModificationRequired = 9;
78         SgNBModificationConfirm sgNBModificationConfirm = 10;
79         SgNBModificationRefuse sgNBModificationRefuse = 11;
80         SgNBReconfigurationComplete sgNBReconfigurationComplete = 12;
81         SgNBReleaseRequest sgNbReleaseRequest = 13;
82         SgNBReleaseRequestAcknowledge sgNbReleaseRequestAcknowledge = 14;
83         SgNBReleaseRequired sgNbReleaseRequired = 15;
84         SgNBReleaseConfirm sgNbReleaseConfirm = 16;
85         SNStatusTransfer snStatusTransfer = 17;
86         UEContextRelease ueContextRelease = 18;
87         SecondaryRATDataUsageReport secondaryRATDataUsageReport = 19;
88     }
89 }
90
91 message X2APStreamingHeader
92 {
93     //The revision number of X2AP streaming protobuf files
94     string protobuf_revision = 1;
95     //Identifier of gNodeB
96     google.protobuf.StringValue gNbID = 2;
97     //The timestamp of RIC INDICATION header, which contains 64-bit
98     //timestamp value as defined in section 6 of IETF RFC 5905.
99     uint64 timestamp = 3;
100 }