Add git extension to Golang streaming_protobufs module path name
[ric-plt/streaming-protobufs.git] / proto / 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 import "sgnb_change_required.proto";
44 import "sgnb_change_confirm.proto";
45 import "sgnb_change_refuse.proto";
46 import "sgnb_activity_notification.proto";
47 import "gnb_status_indication.proto";
48
49 /*
50    X2AP Streaming Protocol Buffer definition of a wrapper like container for
51    an X2AP message. Besides an X2AP message itself, container encloses some
52    generic information such as a gNodeB identifier and a timestamp of the
53    event in question.
54
55    Naming convention of the X2AP message in 'x2ap_message' field follows the
56    ASN.1 field naming defined in chapter '9.3 Message and Information Element
57    Abstract Syntax (with ASN.1)' of below document:
58    http://www.3gpp.org/ftp//Specs/archive/36_series/36.423/36423-f40.zip
59
60    Dashes converted to underscores to make protobuf message syntax correct.
61
62    Revision number of this X2AP Streaming protobuf file is:
63        x2ap_streaming_protobuf_revision: v4.0.3
64    The location of X2AP Streaming protobuf files is a Linux Foundation
65    repository:
66        https://gerrit.o-ran-sc.org/r/ric-plt/streaming-protobufs
67    Various versions of protobuf files under the repository are tagged with
68    revision numbers.
69 */
70
71 message X2APStreaming
72 {
73     X2APStreamingHeader header = 1;
74     oneof x2ap_message {
75         RRCTransfer rrcTransfer = 2;
76         SgNBAdditionRequest sgNBAdditionRequest = 3;
77         SgNBAdditionRequestAcknowledge sgNBAdditionRequestAcknowledge = 4;
78         SgNBAdditionRequestReject sgNBAdditionRequestReject = 5;
79         SgNBModificationRequest sgNBModificationRequest = 6;
80         SgNBModificationRequestAcknowledge sgNBModificationRequestAcknowledge = 7;
81         SgNBModificationRequestReject sgNBModificationRequestReject = 8;
82         SgNBModificationRequired sgNBModificationRequired = 9;
83         SgNBModificationConfirm sgNBModificationConfirm = 10;
84         SgNBModificationRefuse sgNBModificationRefuse = 11;
85         SgNBReconfigurationComplete sgNBReconfigurationComplete = 12;
86         SgNBReleaseRequest sgNbReleaseRequest = 13;
87         SgNBReleaseRequestAcknowledge sgNbReleaseRequestAcknowledge = 14;
88         SgNBReleaseRequired sgNbReleaseRequired = 15;
89         SgNBReleaseConfirm sgNbReleaseConfirm = 16;
90         SNStatusTransfer snStatusTransfer = 17;
91         UEContextRelease ueContextRelease = 18;
92         SecondaryRATDataUsageReport secondaryRATDataUsageReport = 19;
93         SgNBChangeRequired sgNBChangeRequired = 20;
94         SgNBChangeConfirm sgNBChangeConfirm = 21;
95         SgNBChangeRefuse sgNBChangeRefuse = 22;
96         SgNBActivityNotification sgNBActivityNotification = 23;
97         GNBStatusIndication gNBStatusIndication = 24;
98     }
99 }
100
101 message X2APStreamingHeader
102 {
103     //The revision number of X2AP streaming protobuf files
104     string protobuf_revision = 1;
105     //Identifier of gNodeB
106     google.protobuf.StringValue gNbID = 2;
107     //The timestamp of RIC INDICATION header, which contains 64-bit
108     //timestamp value as defined in section 6 of IETF RFC 5905.
109     uint64 timestamp = 3;
110 }