2 // Copyright 2019 AT&T Intellectual Property
3 // Copyright 2019 Nokia
5 // Licensed under the Apache License, Version 2.0 (the "License");
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
9 // http://www.apache.org/licenses/LICENSE-2.0
11 // Unless required by applicable law or agreed to in writing, software
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.
17 // This source code is part of the near-RT RIC (RAN Intelligent Controller)
18 // platform project (RICP).
24 "gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/entities"
27 type E2SetupRequestMessage struct {
28 XMLName xml.Name `xml:"E2SetupRequestMessage"`
29 Text string `xml:",chardata"`
31 Text string `xml:",chardata"`
32 InitiatingMessage struct {
33 Text string `xml:",chardata"`
34 ProcedureCode string `xml:"procedureCode"`
36 Text string `xml:",chardata"`
37 Reject string `xml:"reject"`
40 Text string `xml:",chardata"`
41 E2setupRequest struct {
42 Text string `xml:",chardata"`
44 Text string `xml:",chardata"`
45 E2setupRequestIEs []struct {
46 Text string `xml:",chardata"`
49 Text string `xml:",chardata"`
50 Reject string `xml:"reject"`
53 Text string `xml:",chardata"`
54 GlobalE2nodeID struct {
55 Text string `xml:",chardata"`
57 Text string `xml:",chardata"`
59 Text string `xml:",chardata"`
60 PlmnID string `xml:"plmn-id"`
62 Text string `xml:",chardata"`
63 GnbID string `xml:"gnb-ID"`
65 } `xml:"global-gNB-ID"`
68 Text string `xml:",chardata"`
70 Text string `xml:",chardata"`
71 PlmnID string `xml:"plmn-id"`
73 Text string `xml:",chardata"`
74 GnbID string `xml:"gnb-ID"`
76 } `xml:"global-gNB-ID"`
79 Text string `xml:",chardata"`
80 GlobalNgENBID struct {
81 Text string `xml:",chardata"`
82 PlmnID string `xml:"plmn-id"`
84 Text string `xml:",chardata"`
85 GnbID string `xml:"gnb-ID"`
87 } `xml:"global-ng-eNB-ID"`
90 Text string `xml:",chardata"`
92 Text string `xml:",chardata"`
93 PlmnID string `xml:"plmn-id"`
95 Text string `xml:",chardata"`
96 GnbID string `xml:"gnb-ID"`
98 } `xml:"global-eNB-ID"`
100 } `xml:"GlobalE2node-ID"`
101 RANfunctionsList struct {
102 Text string `xml:",chardata"`
103 ProtocolIESingleContainer []struct {
104 Text string `xml:",chardata"`
107 Text string `xml:",chardata"`
108 Reject string `xml:"reject"`
109 } `xml:"criticality"`
111 Text string `xml:",chardata"`
112 RANfunctionItem struct {
113 Text string `xml:",chardata"`
114 RanFunctionID string `xml:"ranFunctionID"`
115 RanFunctionDefinition string `xml:"ranFunctionDefinition"`
116 RanFunctionRevision string `xml:"ranFunctionRevision"`
117 } `xml:"RANfunction-Item"`
119 } `xml:"ProtocolIE-SingleContainer"`
120 } `xml:"RANfunctions-List"`
122 } `xml:"E2setupRequestIEs"`
123 } `xml:"protocolIEs"`
124 } `xml:"E2setupRequest"`
126 } `xml:"initiatingMessage"`
130 func (m *E2SetupRequestMessage) GetNodeType() entities.Node_Type{
131 if id := m.E2APPDU.InitiatingMessage.Value.E2setupRequest.ProtocolIEs.E2setupRequestIEs[0].Value.GlobalE2nodeID.GNB.GlobalGNBID.PlmnID; id!= ""{
132 return entities.Node_GNB
134 if id := m.E2APPDU.InitiatingMessage.Value.E2setupRequest.ProtocolIEs.E2setupRequestIEs[0].Value.GlobalE2nodeID.EnGNB.GlobalGNBID.PlmnID; id!= ""{
135 return entities.Node_GNB
137 if id := m.E2APPDU.InitiatingMessage.Value.E2setupRequest.ProtocolIEs.E2setupRequestIEs[0].Value.GlobalE2nodeID.ENB.GlobalENBID.PlmnID; id!= ""{
138 return entities.Node_ENB
140 if id := m.E2APPDU.InitiatingMessage.Value.E2setupRequest.ProtocolIEs.E2setupRequestIEs[0].Value.GlobalE2nodeID.NgENB.GlobalNgENBID.PlmnID; id!= ""{
141 return entities.Node_GNB
143 return entities.Node_UNKNOWN
146 func (m *E2SetupRequestMessage) GetPlmnId() string{
147 if id := m.E2APPDU.InitiatingMessage.Value.E2setupRequest.ProtocolIEs.E2setupRequestIEs[0].Value.GlobalE2nodeID.GNB.GlobalGNBID.PlmnID; id!= ""{
150 if id := m.E2APPDU.InitiatingMessage.Value.E2setupRequest.ProtocolIEs.E2setupRequestIEs[0].Value.GlobalE2nodeID.EnGNB.GlobalGNBID.PlmnID; id!= ""{
153 if id := m.E2APPDU.InitiatingMessage.Value.E2setupRequest.ProtocolIEs.E2setupRequestIEs[0].Value.GlobalE2nodeID.ENB.GlobalENBID.PlmnID; id!= ""{
156 if id := m.E2APPDU.InitiatingMessage.Value.E2setupRequest.ProtocolIEs.E2setupRequestIEs[0].Value.GlobalE2nodeID.NgENB.GlobalNgENBID.PlmnID; id!= ""{
162 func (m *E2SetupRequestMessage) GetNbId() string{
163 if id := m.E2APPDU.InitiatingMessage.Value.E2setupRequest.ProtocolIEs.E2setupRequestIEs[0].Value.GlobalE2nodeID.GNB.GlobalGNBID.GnbID.GnbID; id!= ""{
166 if id := m.E2APPDU.InitiatingMessage.Value.E2setupRequest.ProtocolIEs.E2setupRequestIEs[0].Value.GlobalE2nodeID.EnGNB.GlobalGNBID.GnbID.GnbID; id!= ""{
169 if id := m.E2APPDU.InitiatingMessage.Value.E2setupRequest.ProtocolIEs.E2setupRequestIEs[0].Value.GlobalE2nodeID.ENB.GlobalENBID.GnbID.GnbID; id!= ""{
172 if id := m.E2APPDU.InitiatingMessage.Value.E2setupRequest.ProtocolIEs.E2setupRequestIEs[0].Value.GlobalE2nodeID.NgENB.GlobalNgENBID.GnbID.GnbID; id!= ""{