A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
epc-x2-sap.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2012 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC)
3 *
4 * SPDX-License-Identifier: GPL-2.0-only
5 *
6 * Author: Manuel Requena <manuel.requena@cttc.es>
7 */
8
9#ifndef EPC_X2_SAP_H
10#define EPC_X2_SAP_H
11
12#include "eps-bearer.h"
13
14#include "ns3/ipv4-address.h"
15#include "ns3/packet.h"
16
17#include <bitset>
18
19namespace ns3
20{
21
22class Node;
23
24/**
25 * The X2 SAP defines the service between the X2 entity and the RRC entity.
26 *
27 * The X2 SAP follows the specification 3GPP TS 36.423: "X2 application protocol (X2AP)"
28 *
29 * The service primitives corresponds to the X2AP procedures and messages and
30 * the service parameters corresponds to the Information Elements
31 *
32 * Note: Any reference in this file refers to the 3GPP TS 36.423 specification
33 */
34
35/**
36 * @brief Common structures for EpcX2SapProvider and EpcX2SapUser
37 */
39{
40 public:
41 virtual ~EpcX2Sap();
42
43 /**
44 * E-RABs to be setup item as
45 * it is used in the HANDOVER REQUEST message.
46 * See section 9.1.1.1 for further info about the parameters
47 */
49 {
50 uint16_t erabId; ///< E-RAB ID
51 EpsBearer erabLevelQosParameters; ///< E-RAB level QOS parameters
52 bool dlForwarding; ///< DL forwarding
53 Ipv4Address transportLayerAddress; ///< transport layer address
54 uint32_t gtpTeid; ///< TEID
55
57 };
58
59 /**
60 * E-RABs admitted item as
61 * it is used in the HANDOVER REQUEST ACKNOWLEDGE message.
62 * See section 9.1.1.2 for further info about the parameters
63 */
65 {
66 uint16_t erabId; ///< E-RAB ID
67 uint32_t ulGtpTeid; ///< uplink GTP TEID
68 uint32_t dlGtpTeid; ///< downlink GTP TEID
69 };
70
71 /**
72 * E-RABs not admitted item as
73 * it is used in the HANDOVER REQUEST ACKNOWLEDGE message.
74 * See section 9.1.1.2 for further info about the parameters
75 */
77 {
78 uint16_t erabId; ///< E-RAB ID
79 uint16_t cause; ///< cause
80 };
81
82 /**
83 * E-RABs subject to status transfer item as
84 * it is used in the SN STATUS TRANSFER message.
85 * See section 9.1.1.4 for further info about the parameters
86 */
87 static const uint16_t m_maxPdcpSn = 4096;
88
89 /// ErabsSubjectToStatusTransferItem structure
91 {
92 uint16_t erabId; ///< ERAB ID
93 std::bitset<m_maxPdcpSn> receiveStatusOfUlPdcpSdus; ///< receive status of UL PDCP SDUs
94 uint16_t ulPdcpSn; ///< UL PDCP SN
95 uint32_t ulHfn; ///< UL HFN
96 uint16_t dlPdcpSn; ///< DL PDCP SN
97 uint32_t dlHfn; ///< DL HFN
98 };
99
100 /**
101 * UL Interference OverloadIndication as
102 * it is used in the LOAD INFORMATION message.
103 * See section 9.2.17 for further info about the values
104 */
111
112 /**
113 * UL High Interference Information as
114 * it is used in the LOAD INFORMATION message.
115 * See section 9.1.2.1 for further info about the parameters
116 */
118 {
119 uint16_t targetCellId; ///< target cell ID
120 std::vector<bool>
121 ulHighInterferenceIndicationList; ///< UL high interference indication list
122 };
123
124 /**
125 * Relative Narrowband Tx Power (RNTP) as
126 * it is used in the LOAD INFORMATION message.
127 * See section 9.2.19 for further info about the parameters
128 *
129 * Note: You can use INT16_MIN value for -infinite value
130 * in the rntpThreshold field
131 */
133 {
134 std::vector<bool> rntpPerPrbList; ///< RNTP per prb list
135 int16_t rntpThreshold{INT16_MIN}; ///< RNTP threshold
136 uint16_t antennaPorts{UINT16_MAX}; ///< antenna ports
137 uint16_t pB{UINT16_MAX}; ///< PB
138 uint16_t pdcchInterferenceImpact{UINT16_MAX}; ///< PDC channel interference list
139 };
140
141 /**
142 * Cell Information Item as
143 * it is used in the LOAD INFORMATION message.
144 * See section 9.1.2.1 for further info about the parameters
145 */
147 {
148 uint16_t sourceCellId; ///< source cell ID
149 std::vector<UlInterferenceOverloadIndicationItem>
150 ulInterferenceOverloadIndicationList; ///< UL interference overload indication list
151 std::vector<UlHighInterferenceInformationItem>
152 ulHighInterferenceInformationList; ///< UL high interference information list
153 RelativeNarrowbandTxBand relativeNarrowbandTxBand; ///< relative narrow transmit band
154 };
155
156 /**
157 * Load Indicator as
158 * it is used in the RESOURCE STATUS UPDATE message.
159 * See section 9.2.36 for further info about the value
160 */
168
169 /**
170 * Composite Available Capacity as
171 * it is used in the RESOURCE STATUS UPDATE message.
172 * See section 9.2.45 for further info about the parameters
173 */
175 {
176 uint16_t cellCapacityClassValue; ///< cell capacity class value
177 uint16_t capacityValue; ///< capacity value
178 };
179
180 /**
181 * Cell Measurement Result Item as
182 * it is used in the RESOURCE STATUS UPDATE message.
183 * See section 9.1.2.14 for further info about the parameters
184 */
186 {
187 uint16_t sourceCellId; ///< source cell id
188
189 LoadIndicator dlHardwareLoadIndicator; ///< DL hardware load indicator
190 LoadIndicator ulHardwareLoadIndicator; ///< UL hardware load indicator
191
192 LoadIndicator dlS1TnlLoadIndicator; ///< DL S1 TNL load indicator
193 LoadIndicator ulS1TnlLoadIndicator; ///< UL S1 TNL load indicator
194
195 uint16_t dlGbrPrbUsage; ///< DL GBR PRB usage
196 uint16_t ulGbrPrbUsage; ///< UL GBR PRB usage
197 uint16_t dlNonGbrPrbUsage; ///< DL Non GBR PRB usage
198 uint16_t ulNonGbrPrbUsage; ///< UL Non GBR PRB usage
199 uint16_t dlTotalPrbUsage; ///< DL Total PRB usage
200 uint16_t ulTotalPrbUsage; ///< UL Total PRB usage
201
202 CompositeAvailCapacity dlCompositeAvailableCapacity; ///< DL composite available capacity
203 CompositeAvailCapacity ulCompositeAvailableCapacity; ///< UL composite available capacity
204 };
205
206 /// Cause ID enumeration
212
213 /**
214 * @brief Parameters of the HANDOVER REQUEST message.
215 *
216 * See section 9.1.1.1 for further info about the parameters
217 */
219 {
220 uint16_t oldEnbUeX2apId; ///< old ENB UE X2 AP ID
221 uint16_t cause; ///< cause
222 uint16_t sourceCellId; ///< source cell ID
223 uint16_t targetCellId; ///< target cell ID
224 uint32_t mmeUeS1apId; ///< MME UE S1 AP ID
225 uint64_t ueAggregateMaxBitRateDownlink; ///< UE aggregate max bit rate downlink
226 uint64_t ueAggregateMaxBitRateUplink; ///< UE aggregate max bit rate uplink
227 std::vector<ErabToBeSetupItem> bearers; ///< bearers
228 Ptr<Packet> rrcContext; ///< RRC context
229 };
230
231 /**
232 * @brief Parameters of the HANDOVER REQUEST ACKNOWLEDGE message.
233 *
234 * See section 9.1.1.2 for further info about the parameters
235 */
237 {
238 uint16_t oldEnbUeX2apId; ///< old ENB UE X2 AP ID
239 uint16_t newEnbUeX2apId; ///< new ENB UE X2 AP ID
240 uint16_t sourceCellId; ///< source cell ID
241 uint16_t targetCellId; ///< target cell ID
242 std::vector<ErabAdmittedItem> admittedBearers; ///< admitted bearers
243 std::vector<ErabNotAdmittedItem> notAdmittedBearers; ///< not admitted bearers
244 Ptr<Packet> rrcContext; ///< RRC context
245 };
246
247 /**
248 * @brief Parameters of the HANDOVER PREPARATION FAILURE message.
249 *
250 * See section 9.1.1.3 for further info about the parameters
251 */
253 {
254 uint16_t oldEnbUeX2apId; ///< old ENB UE X2 AP ID
255 uint16_t sourceCellId; ///< source cell ID
256 uint16_t targetCellId; ///< target cell ID
257 uint16_t cause; ///< cause
258 uint16_t criticalityDiagnostics; ///< criticality diagnostics
259 };
260
261 /**
262 * @brief Parameters of the SN STATUS TRANSFER message.
263 *
264 * See section 9.1.1.4 for further info about the parameters
265 */
267 {
268 uint16_t oldEnbUeX2apId; ///< old ENB UE X2 AP ID
269 uint16_t newEnbUeX2apId; ///< new ENB UE X2 AP ID
270 uint16_t sourceCellId; ///< source cell ID
271 uint16_t targetCellId; ///< target cell ID
272 std::vector<ErabsSubjectToStatusTransferItem>
273 erabsSubjectToStatusTransferList; ///< ERABs subject to status transfer list
274 };
275
276 /**
277 * @brief Parameters of the UE CONTEXT RELEASE message.
278 *
279 * See section 9.1.1.5 for further info about the parameters
280 */
282 {
283 uint16_t oldEnbUeX2apId; ///< old ENB UE X2 AP ID
284 uint16_t newEnbUeX2apId; ///< new ENB UE X2 AP ID
285 uint16_t sourceCellId; ///< source cell ID
286 uint16_t targetCellId; ///< target cell ID
287 };
288
289 /**
290 * @brief Parameters of the LOAD INFORMATION message.
291 *
292 * See section 9.1.2.1 for further info about the parameters
293 */
295 {
296 uint16_t targetCellId{UINT16_MAX}; ///< target cell ID
297 std::vector<CellInformationItem> cellInformationList; ///< cell information list
298 };
299
300 /**
301 * @brief Parameters of the RESOURCE STATUS UPDATE message.
302 *
303 * See section 9.1.2.14 for further info about the parameters
304 */
306 {
307 uint16_t targetCellId; ///< target cell ID
308 uint16_t enb1MeasurementId; ///< ENB1 measurement ID
309 uint16_t enb2MeasurementId; ///< ENB2 measurement ID
310 std::vector<CellMeasurementResultItem>
311 cellMeasurementResultList; ///< cell measurement result list
312 };
313
314 /**
315 * @brief Parameters of the UE DATA primitive
316 *
317 * Forward UE data during the handover procedure from source eNB (sourceCellId)
318 * to target eNB (targetCellId) using a GTP-U tunnel (gtpTeid)
319 */
321 {
322 uint16_t sourceCellId; ///< source cell ID
323 uint16_t targetCellId; ///< target cell ID
324 uint32_t gtpTeid; ///< GTP TEID
325 Ptr<Packet> ueData; ///< UE data
326 };
327
328 /**
329 * @brief Parameters of the HANDOVER CANCEL message.
330 *
331 * See section 9.1.1.6 for further info about the parameters
332 */
334 {
335 uint16_t oldEnbUeX2apId; ///< old ENB UE X2 AP ID
336 uint16_t newEnbUeX2apId; ///< new ENB UE X2 AP ID
337 uint16_t sourceCellId; ///< source cell ID
338 uint16_t targetCellId; ///< target cell ID
339 uint16_t cause; ///< cause
340 };
341};
342
343/**
344 * These service primitives of this part of the X2 SAP
345 * are provided by the X2 entity and issued by RRC entity
346 */
348{
349 public:
350 ~EpcX2SapProvider() override;
351
352 //
353 // Service primitives
354 //
355
356 /**
357 * Send handover request function
358 * @param params handover request parameters
359 */
361
362 /**
363 * Send handover request ack function
364 * @param params the handover request ack parameters
365 */
367
368 /**
369 * Send handover preparation failure function
370 * @param params the handover preparation failure
371 */
373
374 /**
375 * Send SN status transfer function
376 * @param params the SN status transfer parameters
377 */
379
380 /**
381 * Send UE context release function
382 * @param params the UE context release parameters
383 */
385
386 /**
387 * Send load information function
388 * @param params the load information parameters
389 */
391
392 /**
393 * Send resource status update function
394 * @param params the resource statue update parameters
395 */
397
398 /**
399 * Send UE data function
400 * @param params the UE data parameters
401 */
402 virtual void SendUeData(UeDataParams params) = 0;
403
404 /**
405 * @brief Send handover Cancel to the target eNB
406 * @param params the handover cancel parameters
407 */
408 virtual void SendHandoverCancel(HandoverCancelParams params) = 0;
409};
410
411/**
412 * These service primitives of this part of the X2 SAP
413 * are provided by the RRC entity and issued by the X2 entity
414 */
415class EpcX2SapUser : public EpcX2Sap
416{
417 public:
418 ~EpcX2SapUser() override;
419
420 /*
421 * Service primitives
422 */
423
424 /**
425 * Receive handover request function
426 * @param params the handover request parameters
427 */
429
430 /**
431 * Receive handover request ack function
432 * @param params the handover request ack parameters
433 */
435
436 /**
437 * Receive handover preparation failure function
438 * @param params the handover preparation failure parameters
439 */
441
442 /**
443 * Receive SN status transfer function
444 * @param params the SN status transfer parameters
445 */
447
448 /**
449 * Receive UE context release function
450 * @param params the receive UE context release parameters
451 */
453
454 /**
455 * Receive load information function
456 * @param params the load information parameters
457 */
459
460 /**
461 * Receive resource status update function
462 * @param params the resource status update parameters
463 */
465
466 /**
467 * Receive UE data function
468 * @param params UE data parameters
469 */
470 virtual void RecvUeData(UeDataParams params) = 0;
471
472 /**
473 * Receive handover cancel function
474 * @param params the receive handover cancel parameters
475 *
476 */
477 virtual void RecvHandoverCancel(HandoverCancelParams params) = 0;
478};
479
480///////////////////////////////////////
481
482/**
483 * EpcX2SpecificEpcX2SapProvider
484 */
485template <class C>
487{
488 public:
489 /**
490 * Constructor
491 *
492 * @param x2 the owner class
493 */
495
496 // Delete default constructor to avoid misuse
498
499 //
500 // Interface implemented from EpcX2SapProvider
501 //
502
503 /**
504 * Send handover request function
505 * @param params the handover request parameters
506 */
507 void SendHandoverRequest(HandoverRequestParams params) override;
508
509 /**
510 * Send handover request ack function
511 * @param params the handover request ack parameters
512 */
514
515 /**
516 * Send handover preparation failure function
517 * @param params the handover preparation failure parameters
518 */
520
521 /**
522 * Send SN status transfer function
523 * @param params the SN status transfer parameters
524 */
525 void SendSnStatusTransfer(SnStatusTransferParams params) override;
526
527 /**
528 * Send UE context release function
529 * @param params the UE context release parameters
530 */
531 void SendUeContextRelease(UeContextReleaseParams params) override;
532
533 /**
534 * Send load information function
535 * @param params the load information parameters
536 */
537 void SendLoadInformation(LoadInformationParams params) override;
538
539 /**
540 * Send resource status update function
541 * @param params the resource status update parameters
542 */
544
545 /**
546 * Send UE data function
547 * @param params the UE data parameters
548 */
549 void SendUeData(UeDataParams params) override;
550
551 /**
552 * @brief Send handover Cancel to the target eNB
553 * @param params the handover cancel parameters
554 */
555 void SendHandoverCancel(HandoverCancelParams params) override;
556
557 private:
558 C* m_x2; ///< owner class
559};
560
561template <class C>
566
567template <class C>
568void
570{
571 m_x2->DoSendHandoverRequest(params);
572}
573
574template <class C>
575void
577{
578 m_x2->DoSendHandoverRequestAck(params);
579}
580
581template <class C>
582void
585{
586 m_x2->DoSendHandoverPreparationFailure(params);
587}
588
589template <class C>
590void
592{
593 m_x2->DoSendSnStatusTransfer(params);
594}
595
596template <class C>
597void
599{
600 m_x2->DoSendUeContextRelease(params);
601}
602
603template <class C>
604void
606{
607 m_x2->DoSendLoadInformation(params);
608}
609
610template <class C>
611void
613{
614 m_x2->DoSendResourceStatusUpdate(params);
615}
616
617template <class C>
618void
620{
621 m_x2->DoSendUeData(params);
622}
623
624template <class C>
625void
627{
628 m_x2->DoSendHandoverCancel(params);
629}
630
631/**
632 * EpcX2SpecificEpcX2SapUser
633 */
634template <class C>
636{
637 public:
638 /**
639 * Constructor
640 *
641 * @param rrc RRC
642 */
644
645 // Delete default constructor to avoid misuse
647
648 //
649 // Interface implemented from EpcX2SapUser
650 //
651
652 /**
653 * Receive handover request function
654 * @param params the receive handover request parameters
655 */
656 void RecvHandoverRequest(HandoverRequestParams params) override;
657
658 /**
659 * Receive handover request ack function
660 * @param params the receive handover request ack parameters
661 */
663
664 /**
665 * Receive handover preparation failure function
666 * @param params the receive handover preparation failure parameters
667 */
669
670 /**
671 * Receive SN status transfer function
672 * @param params the SN status transfer parameters
673 */
674 void RecvSnStatusTransfer(SnStatusTransferParams params) override;
675
676 /**
677 * Receive UE context release function
678 * @param params the UE context release parameters
679 */
680 void RecvUeContextRelease(UeContextReleaseParams params) override;
681
682 /**
683 * Receive load information function
684 * @param params the load information parameters
685 */
686 void RecvLoadInformation(LoadInformationParams params) override;
687
688 /**
689 * Receive resource status update function
690 * @param params the receive resource status update
691 */
693
694 /**
695 * Receive UE data function
696 * @param params the UE data parameters
697 */
698 void RecvUeData(UeDataParams params) override;
699
700 /**
701 * Receive handover cancel function
702 * @param params the receive handover cancel parameters
703 *
704 */
705 void RecvHandoverCancel(HandoverCancelParams params) override;
706
707 private:
708 C* m_rrc; ///< owner class
709};
710
711template <class C>
716
717template <class C>
718void
720{
721 m_rrc->DoRecvHandoverRequest(params);
722}
723
724template <class C>
725void
727{
728 m_rrc->DoRecvHandoverRequestAck(params);
729}
730
731template <class C>
732void
735{
736 m_rrc->DoRecvHandoverPreparationFailure(params);
737}
738
739template <class C>
740void
742{
743 m_rrc->DoRecvSnStatusTransfer(params);
744}
745
746template <class C>
747void
749{
750 m_rrc->DoRecvUeContextRelease(params);
751}
752
753template <class C>
754void
756{
757 m_rrc->DoRecvLoadInformation(params);
758}
759
760template <class C>
761void
763{
764 m_rrc->DoRecvResourceStatusUpdate(params);
765}
766
767template <class C>
768void
770{
771 m_rrc->DoRecvUeData(params);
772}
773
774template <class C>
775void
777{
778 m_rrc->DoRecvHandoverCancel(params);
779}
780
781} // namespace ns3
782
783#endif // EPC_X2_SAP_H
The X2 SAP defines the service between the X2 entity and the RRC entity.
Definition epc-x2-sap.h:39
static const uint16_t m_maxPdcpSn
E-RABs subject to status transfer item as it is used in the SN STATUS TRANSFER message.
Definition epc-x2-sap.h:87
UlInterferenceOverloadIndicationItem
UL Interference OverloadIndication as it is used in the LOAD INFORMATION message.
Definition epc-x2-sap.h:106
LoadIndicator
Load Indicator as it is used in the RESOURCE STATUS UPDATE message.
Definition epc-x2-sap.h:162
virtual ~EpcX2Sap()
Definition epc-x2-sap.cc:14
IdCause
Cause ID enumeration.
Definition epc-x2-sap.h:208
@ HandoverDesirableForRadioReason
Definition epc-x2-sap.h:209
These service primitives of this part of the X2 SAP are provided by the X2 entity and issued by RRC e...
Definition epc-x2-sap.h:348
virtual void SendHandoverRequestAck(HandoverRequestAckParams params)=0
Send handover request ack function.
~EpcX2SapProvider() override
Definition epc-x2-sap.cc:23
virtual void SendHandoverRequest(HandoverRequestParams params)=0
Send handover request function.
virtual void SendResourceStatusUpdate(ResourceStatusUpdateParams params)=0
Send resource status update function.
virtual void SendSnStatusTransfer(SnStatusTransferParams params)=0
Send SN status transfer function.
virtual void SendHandoverPreparationFailure(HandoverPreparationFailureParams params)=0
Send handover preparation failure function.
virtual void SendHandoverCancel(HandoverCancelParams params)=0
Send handover Cancel to the target eNB.
virtual void SendUeContextRelease(UeContextReleaseParams params)=0
Send UE context release function.
virtual void SendLoadInformation(LoadInformationParams params)=0
Send load information function.
virtual void SendUeData(UeDataParams params)=0
Send UE data function.
These service primitives of this part of the X2 SAP are provided by the RRC entity and issued by the ...
Definition epc-x2-sap.h:416
virtual void RecvUeData(UeDataParams params)=0
Receive UE data function.
virtual void RecvUeContextRelease(UeContextReleaseParams params)=0
Receive UE context release function.
virtual void RecvHandoverCancel(HandoverCancelParams params)=0
Receive handover cancel function.
virtual void RecvSnStatusTransfer(SnStatusTransferParams params)=0
Receive SN status transfer function.
virtual void RecvLoadInformation(LoadInformationParams params)=0
Receive load information function.
virtual void RecvHandoverRequestAck(HandoverRequestAckParams params)=0
Receive handover request ack function.
virtual void RecvResourceStatusUpdate(ResourceStatusUpdateParams params)=0
Receive resource status update function.
virtual void RecvHandoverPreparationFailure(HandoverPreparationFailureParams params)=0
Receive handover preparation failure function.
~EpcX2SapUser() override
Definition epc-x2-sap.cc:27
virtual void RecvHandoverRequest(HandoverRequestParams params)=0
Receive handover request function.
EpcX2SpecificEpcX2SapProvider.
Definition epc-x2-sap.h:487
void SendHandoverCancel(HandoverCancelParams params) override
Send handover Cancel to the target eNB.
Definition epc-x2-sap.h:626
void SendUeData(UeDataParams params) override
Send UE data function.
Definition epc-x2-sap.h:619
void SendUeContextRelease(UeContextReleaseParams params) override
Send UE context release function.
Definition epc-x2-sap.h:598
void SendHandoverPreparationFailure(HandoverPreparationFailureParams params) override
Send handover preparation failure function.
Definition epc-x2-sap.h:583
void SendSnStatusTransfer(SnStatusTransferParams params) override
Send SN status transfer function.
Definition epc-x2-sap.h:591
void SendHandoverRequest(HandoverRequestParams params) override
Send handover request function.
Definition epc-x2-sap.h:569
void SendHandoverRequestAck(HandoverRequestAckParams params) override
Send handover request ack function.
Definition epc-x2-sap.h:576
void SendResourceStatusUpdate(ResourceStatusUpdateParams params) override
Send resource status update function.
Definition epc-x2-sap.h:612
void SendLoadInformation(LoadInformationParams params) override
Send load information function.
Definition epc-x2-sap.h:605
EpcX2SpecificEpcX2SapUser.
Definition epc-x2-sap.h:636
void RecvUeContextRelease(UeContextReleaseParams params) override
Receive UE context release function.
Definition epc-x2-sap.h:748
void RecvHandoverRequest(HandoverRequestParams params) override
Receive handover request function.
Definition epc-x2-sap.h:719
void RecvLoadInformation(LoadInformationParams params) override
Receive load information function.
Definition epc-x2-sap.h:755
void RecvHandoverPreparationFailure(HandoverPreparationFailureParams params) override
Receive handover preparation failure function.
Definition epc-x2-sap.h:733
void RecvResourceStatusUpdate(ResourceStatusUpdateParams params) override
Receive resource status update function.
Definition epc-x2-sap.h:762
void RecvHandoverCancel(HandoverCancelParams params) override
Receive handover cancel function.
Definition epc-x2-sap.h:776
void RecvSnStatusTransfer(SnStatusTransferParams params) override
Receive SN status transfer function.
Definition epc-x2-sap.h:741
void RecvUeData(UeDataParams params) override
Receive UE data function.
Definition epc-x2-sap.h:769
void RecvHandoverRequestAck(HandoverRequestAckParams params) override
Receive handover request ack function.
Definition epc-x2-sap.h:726
This class contains the specification of EPS Bearers.
Definition eps-bearer.h:80
Ipv4 addresses are stored in host order in this class.
Smart pointer class similar to boost::intrusive_ptr.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
Cell Information Item as it is used in the LOAD INFORMATION message.
Definition epc-x2-sap.h:147
uint16_t sourceCellId
source cell ID
Definition epc-x2-sap.h:148
std::vector< UlHighInterferenceInformationItem > ulHighInterferenceInformationList
UL high interference information list.
Definition epc-x2-sap.h:152
RelativeNarrowbandTxBand relativeNarrowbandTxBand
relative narrow transmit band
Definition epc-x2-sap.h:153
std::vector< UlInterferenceOverloadIndicationItem > ulInterferenceOverloadIndicationList
UL interference overload indication list.
Definition epc-x2-sap.h:150
Cell Measurement Result Item as it is used in the RESOURCE STATUS UPDATE message.
Definition epc-x2-sap.h:186
uint16_t ulTotalPrbUsage
UL Total PRB usage.
Definition epc-x2-sap.h:200
LoadIndicator ulHardwareLoadIndicator
UL hardware load indicator.
Definition epc-x2-sap.h:190
LoadIndicator dlHardwareLoadIndicator
DL hardware load indicator.
Definition epc-x2-sap.h:189
uint16_t ulGbrPrbUsage
UL GBR PRB usage.
Definition epc-x2-sap.h:196
uint16_t dlTotalPrbUsage
DL Total PRB usage.
Definition epc-x2-sap.h:199
LoadIndicator dlS1TnlLoadIndicator
DL S1 TNL load indicator.
Definition epc-x2-sap.h:192
uint16_t ulNonGbrPrbUsage
UL Non GBR PRB usage.
Definition epc-x2-sap.h:198
CompositeAvailCapacity dlCompositeAvailableCapacity
DL composite available capacity.
Definition epc-x2-sap.h:202
CompositeAvailCapacity ulCompositeAvailableCapacity
UL composite available capacity.
Definition epc-x2-sap.h:203
uint16_t dlGbrPrbUsage
DL GBR PRB usage.
Definition epc-x2-sap.h:195
LoadIndicator ulS1TnlLoadIndicator
UL S1 TNL load indicator.
Definition epc-x2-sap.h:193
uint16_t dlNonGbrPrbUsage
DL Non GBR PRB usage.
Definition epc-x2-sap.h:197
Composite Available Capacity as it is used in the RESOURCE STATUS UPDATE message.
Definition epc-x2-sap.h:175
uint16_t cellCapacityClassValue
cell capacity class value
Definition epc-x2-sap.h:176
uint16_t capacityValue
capacity value
Definition epc-x2-sap.h:177
E-RABs admitted item as it is used in the HANDOVER REQUEST ACKNOWLEDGE message.
Definition epc-x2-sap.h:65
uint32_t dlGtpTeid
downlink GTP TEID
Definition epc-x2-sap.h:68
uint32_t ulGtpTeid
uplink GTP TEID
Definition epc-x2-sap.h:67
E-RABs not admitted item as it is used in the HANDOVER REQUEST ACKNOWLEDGE message.
Definition epc-x2-sap.h:77
E-RABs to be setup item as it is used in the HANDOVER REQUEST message.
Definition epc-x2-sap.h:49
bool dlForwarding
DL forwarding.
Definition epc-x2-sap.h:52
Ipv4Address transportLayerAddress
transport layer address
Definition epc-x2-sap.h:53
EpsBearer erabLevelQosParameters
E-RAB level QOS parameters.
Definition epc-x2-sap.h:51
ErabsSubjectToStatusTransferItem structure.
Definition epc-x2-sap.h:91
std::bitset< m_maxPdcpSn > receiveStatusOfUlPdcpSdus
receive status of UL PDCP SDUs
Definition epc-x2-sap.h:93
Parameters of the HANDOVER CANCEL message.
Definition epc-x2-sap.h:334
uint16_t oldEnbUeX2apId
old ENB UE X2 AP ID
Definition epc-x2-sap.h:335
uint16_t targetCellId
target cell ID
Definition epc-x2-sap.h:338
uint16_t newEnbUeX2apId
new ENB UE X2 AP ID
Definition epc-x2-sap.h:336
uint16_t sourceCellId
source cell ID
Definition epc-x2-sap.h:337
Parameters of the HANDOVER PREPARATION FAILURE message.
Definition epc-x2-sap.h:253
uint16_t criticalityDiagnostics
criticality diagnostics
Definition epc-x2-sap.h:258
uint16_t oldEnbUeX2apId
old ENB UE X2 AP ID
Definition epc-x2-sap.h:254
Parameters of the HANDOVER REQUEST ACKNOWLEDGE message.
Definition epc-x2-sap.h:237
std::vector< ErabNotAdmittedItem > notAdmittedBearers
not admitted bearers
Definition epc-x2-sap.h:243
std::vector< ErabAdmittedItem > admittedBearers
admitted bearers
Definition epc-x2-sap.h:242
uint16_t sourceCellId
source cell ID
Definition epc-x2-sap.h:240
uint16_t newEnbUeX2apId
new ENB UE X2 AP ID
Definition epc-x2-sap.h:239
uint16_t targetCellId
target cell ID
Definition epc-x2-sap.h:241
uint16_t oldEnbUeX2apId
old ENB UE X2 AP ID
Definition epc-x2-sap.h:238
Ptr< Packet > rrcContext
RRC context.
Definition epc-x2-sap.h:244
Parameters of the HANDOVER REQUEST message.
Definition epc-x2-sap.h:219
uint16_t oldEnbUeX2apId
old ENB UE X2 AP ID
Definition epc-x2-sap.h:220
uint64_t ueAggregateMaxBitRateDownlink
UE aggregate max bit rate downlink.
Definition epc-x2-sap.h:225
uint16_t sourceCellId
source cell ID
Definition epc-x2-sap.h:222
uint64_t ueAggregateMaxBitRateUplink
UE aggregate max bit rate uplink.
Definition epc-x2-sap.h:226
uint16_t targetCellId
target cell ID
Definition epc-x2-sap.h:223
Ptr< Packet > rrcContext
RRC context.
Definition epc-x2-sap.h:228
uint32_t mmeUeS1apId
MME UE S1 AP ID.
Definition epc-x2-sap.h:224
std::vector< ErabToBeSetupItem > bearers
bearers
Definition epc-x2-sap.h:227
Parameters of the LOAD INFORMATION message.
Definition epc-x2-sap.h:295
std::vector< CellInformationItem > cellInformationList
cell information list
Definition epc-x2-sap.h:297
uint16_t targetCellId
target cell ID
Definition epc-x2-sap.h:296
Relative Narrowband Tx Power (RNTP) as it is used in the LOAD INFORMATION message.
Definition epc-x2-sap.h:133
int16_t rntpThreshold
RNTP threshold.
Definition epc-x2-sap.h:135
std::vector< bool > rntpPerPrbList
RNTP per prb list.
Definition epc-x2-sap.h:134
uint16_t pdcchInterferenceImpact
PDC channel interference list.
Definition epc-x2-sap.h:138
Parameters of the RESOURCE STATUS UPDATE message.
Definition epc-x2-sap.h:306
uint16_t enb2MeasurementId
ENB2 measurement ID.
Definition epc-x2-sap.h:309
uint16_t enb1MeasurementId
ENB1 measurement ID.
Definition epc-x2-sap.h:308
std::vector< CellMeasurementResultItem > cellMeasurementResultList
cell measurement result list
Definition epc-x2-sap.h:311
Parameters of the SN STATUS TRANSFER message.
Definition epc-x2-sap.h:267
uint16_t newEnbUeX2apId
new ENB UE X2 AP ID
Definition epc-x2-sap.h:269
std::vector< ErabsSubjectToStatusTransferItem > erabsSubjectToStatusTransferList
ERABs subject to status transfer list.
Definition epc-x2-sap.h:273
uint16_t oldEnbUeX2apId
old ENB UE X2 AP ID
Definition epc-x2-sap.h:268
uint16_t targetCellId
target cell ID
Definition epc-x2-sap.h:271
uint16_t sourceCellId
source cell ID
Definition epc-x2-sap.h:270
Parameters of the UE CONTEXT RELEASE message.
Definition epc-x2-sap.h:282
uint16_t newEnbUeX2apId
new ENB UE X2 AP ID
Definition epc-x2-sap.h:284
uint16_t oldEnbUeX2apId
old ENB UE X2 AP ID
Definition epc-x2-sap.h:283
uint16_t sourceCellId
source cell ID
Definition epc-x2-sap.h:285
uint16_t targetCellId
target cell ID
Definition epc-x2-sap.h:286
Parameters of the UE DATA primitive.
Definition epc-x2-sap.h:321
Ptr< Packet > ueData
UE data.
Definition epc-x2-sap.h:325
uint16_t sourceCellId
source cell ID
Definition epc-x2-sap.h:322
uint32_t gtpTeid
GTP TEID.
Definition epc-x2-sap.h:324
uint16_t targetCellId
target cell ID
Definition epc-x2-sap.h:323
UL High Interference Information as it is used in the LOAD INFORMATION message.
Definition epc-x2-sap.h:118
std::vector< bool > ulHighInterferenceIndicationList
UL high interference indication list.
Definition epc-x2-sap.h:121