A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
lte-rrc-header.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: Lluis Parcerisa <lparcerisa@cttc.cat>
7 * Modified by:
8 * Danilo Abrignani <danilo.abrignani@unibo.it> (Carrier Aggregation - GSoC 2015)
9 * Biljana Bojovic <biljana.bojovic@cttc.es> (Carrier Aggregation)
10 */
11
12#ifndef RRC_HEADER_H
13#define RRC_HEADER_H
14
15#include "lte-asn1-header.h"
16#include "lte-rrc-sap.h"
17
18#include "ns3/header.h"
19
20#include <bitset>
21#include <string>
22
23namespace ns3
24{
25
26/**
27 * \ingroup lte
28 */
29
30/**
31 * This class extends Asn1Header functions, adding serialization/deserialization
32 * of some Information elements defined in 3GPP TS 36.331
33 */
35{
36 public:
38 /**
39 * Get message type
40 *
41 * \returns the message type
42 */
43 int GetMessageType() const;
44
45 protected:
46 /**
47 * \brief Get the type ID.
48 * \return the object TypeId
49 */
50 static TypeId GetTypeId();
51 // Inherited from Asn1Header
52 TypeId GetInstanceTypeId() const override;
53 uint32_t Deserialize(Buffer::Iterator bIterator) override = 0;
54 void PreSerialize() const override = 0;
55
56 // Auxiliary functions
57 /**
58 * Convert from bandwidth (in RBs) to ENUMERATED value
59 *
60 * \param bandwidth Bandwidth in RBs: 6, 15, 25, 50, 75, 100
61 * \returns ENUMERATED value: 0, 1, 2, 3, 4, 5
62 */
63 int BandwidthToEnum(uint16_t bandwidth) const;
64 /**
65 * Convert from ENUMERATED value to bandwidth (in RBs)
66 *
67 * \param n ENUMERATED value: 0, 1, 2, 3, 4, 5
68 * \returns bandwidth Bandwidth in RBs: 6, 15, 25, 50, 75, 100
69 */
70 uint16_t EnumToBandwidth(int n) const;
71
72 // Serialization functions
73 /**
74 * Serialize SRB to add mod list function
75 *
76 * \param srbToAddModList std::list<LteRrcSap::SrbToAddMod>
77 */
78 void SerializeSrbToAddModList(std::list<LteRrcSap::SrbToAddMod> srbToAddModList) const;
79 /**
80 * Serialize DRB to add mod list function
81 *
82 * \param drbToAddModList std::list<LteRrcSap::SrbToAddMod>
83 */
84 void SerializeDrbToAddModList(std::list<LteRrcSap::DrbToAddMod> drbToAddModList) const;
85 /**
86 * Serialize logicala channel config function
87 *
88 * \param logicalChannelConfig LteRrcSap::LogicalChannelConfig
89 */
91 /**
92 * Serialize radio resource config function
93 *
94 * \param radioResourceConfigDedicated LteRrcSap::RadioResourceConfigDedicated
95 */
97 LteRrcSap::RadioResourceConfigDedicated radioResourceConfigDedicated) const;
98 /**
99 * Serialize physical config dedicated function
100 *
101 * \param physicalConfigDedicated LteRrcSap::PhysicalConfigDedicated
102 */
104 LteRrcSap::PhysicalConfigDedicated physicalConfigDedicated) const;
105 /**
106 * Serialize physical config dedicated function
107 *
108 * \param pcdsc LteRrcSap::PhysicalConfigDedicatedSCell
109 */
111 /**
112 * Serialize system information block type 1 function
113 *
114 * \param systemInformationBlockType1 LteRrcSap::SystemInformationBlockType1
115 */
117 LteRrcSap::SystemInformationBlockType1 systemInformationBlockType1) const;
118 /**
119 * Serialize system information block type 2 function
120 *
121 * \param systemInformationBlockType2 LteRrcSap::SystemInformationBlockType2
122 */
124 LteRrcSap::SystemInformationBlockType2 systemInformationBlockType2) const;
125 /**
126 * Serialize system information block type 2 function
127 *
128 * \param radioResourceConfigCommon LteRrcSap::RadioResourceConfigCommon
129 */
131 LteRrcSap::RadioResourceConfigCommon radioResourceConfigCommon) const;
132 /**
133 * Serialize radio resource config common SIB function
134 *
135 * \param radioResourceConfigCommonSib LteRrcSap::RadioResourceConfigCommonSib
136 */
138 LteRrcSap::RadioResourceConfigCommonSib radioResourceConfigCommonSib) const;
139 /**
140 * Serialize measure results function
141 *
142 * \param measResults LteRrcSap::MeasResults
143 */
144 void SerializeMeasResults(LteRrcSap::MeasResults measResults) const;
145 /**
146 * Serialize PLMN identity function
147 *
148 * \param plmnId the PLMN ID
149 */
150 void SerializePlmnIdentity(uint32_t plmnId) const;
151 /**
152 * Serialize RACH config common function
153 *
154 * \param rachConfigCommon LteRrcSap::RachConfigCommon
155 */
156 void SerializeRachConfigCommon(LteRrcSap::RachConfigCommon rachConfigCommon) const;
157 /**
158 * Serialize measure config function
159 *
160 * \param measConfig LteRrcSap::MeasConfig
161 */
162 void SerializeMeasConfig(LteRrcSap::MeasConfig measConfig) const;
163 /**
164 * Serialize non critical extension config function
165 *
166 * \param nonCriticalExtensionConfiguration LteRrcSap::NonCriticalExtensionConfiguration
167 */
169 LteRrcSap::NonCriticalExtensionConfiguration nonCriticalExtensionConfiguration) const;
170 /**
171 * Serialize radio resource config common SCell function
172 *
173 * \param rrccsc LteRrcSap::RadioResourceConfigCommonSCell
174 */
177 /**
178 * Serialize radio resource dedicated SCell function
179 *
180 * \param rrcdsc LteRrcSap::RadioResourceConfigDedicatedSCell
181 */
184 /**
185 * Serialize Q offset range function
186 *
187 * \param qOffsetRange q offset range
188 */
189 void SerializeQoffsetRange(int8_t qOffsetRange) const;
190 /**
191 * Serialize threshold eutra function
192 *
193 * \param thresholdEutra LteRrcSap::ThresholdEutra
194 */
195 void SerializeThresholdEutra(LteRrcSap::ThresholdEutra thresholdEutra) const;
196
197 // Deserialization functions
198 /**
199 * Deserialize DRB to add mod list function
200 *
201 * \param drbToAddModLis std::list<LteRrcSap::DrbToAddMod> *
202 * \param bIterator buffer iterator
203 * \returns buffer iterator
204 */
205 Buffer::Iterator DeserializeDrbToAddModList(std::list<LteRrcSap::DrbToAddMod>* drbToAddModLis,
206 Buffer::Iterator bIterator);
207 /**
208 * Deserialize SRB to add mod list function
209 *
210 * \param srbToAddModList std::list<LteRrcSap::SrbToAddMod> *
211 * \param bIterator buffer iterator
212 * \returns buffer iterator
213 */
214 Buffer::Iterator DeserializeSrbToAddModList(std::list<LteRrcSap::SrbToAddMod>* srbToAddModList,
215 Buffer::Iterator bIterator);
216 /**
217 * Deserialize logical channel config function
218 *
219 * \param logicalChannelConfig LteRrcSap::LogicalChannelConfig *
220 * \param bIterator buffer iterator
221 * \returns buffer iterator
222 */
224 LteRrcSap::LogicalChannelConfig* logicalChannelConfig,
225 Buffer::Iterator bIterator);
226 /**
227 * Deserialize radio resource config dedicated function
228 *
229 * \param radioResourceConfigDedicated LteRrcSap::RadioResourceConfigDedicated *
230 * \param bIterator buffer iterator
231 * \returns buffer iterator
232 */
234 LteRrcSap::RadioResourceConfigDedicated* radioResourceConfigDedicated,
235 Buffer::Iterator bIterator);
236 /**
237 * Deserialize physical config dedicated function
238 *
239 * \param physicalConfigDedicated LteRrcSap::PhysicalConfigDedicated *
240 * \param bIterator buffer iterator
241 * \returns buffer iterator
242 */
244 LteRrcSap::PhysicalConfigDedicated* physicalConfigDedicated,
245 Buffer::Iterator bIterator);
246 /**
247 * Deserialize system information block type 1 function
248 *
249 * \param systemInformationBlockType1 LteRrcSap::SystemInformationBlockType1 *
250 * \param bIterator buffer iterator
251 * \returns buffer iterator
252 */
254 LteRrcSap::SystemInformationBlockType1* systemInformationBlockType1,
255 Buffer::Iterator bIterator);
256 /**
257 * Deserialize system information block type 2 function
258 *
259 * \param systemInformationBlockType2 LteRrcSap::SystemInformationBlockType2 *
260 * \param bIterator buffer iterator
261 * \returns buffer iterator
262 */
264 LteRrcSap::SystemInformationBlockType2* systemInformationBlockType2,
265 Buffer::Iterator bIterator);
266 /**
267 * Deserialize radio resource config common function
268 *
269 * \param radioResourceConfigCommon LteRrcSap::RadioResourceConfigCommon *
270 * \param bIterator buffer iterator
271 * \returns buffer iterator
272 */
274 LteRrcSap::RadioResourceConfigCommon* radioResourceConfigCommon,
275 Buffer::Iterator bIterator);
276 /**
277 * Deserialize radio resource config common SIB function
278 *
279 * \param radioResourceConfigCommonSib LteRrcSap::RadioResourceConfigCommonSib *
280 * \param bIterator buffer iterator
281 * \returns buffer iterator
282 */
284 LteRrcSap::RadioResourceConfigCommonSib* radioResourceConfigCommonSib,
285 Buffer::Iterator bIterator);
286 /**
287 * Deserialize measure results function
288 *
289 * \param measResults LteRrcSap::MeasResults *
290 * \param bIterator buffer iterator
291 * \returns buffer iterator
292 */
294 Buffer::Iterator bIterator);
295 /**
296 * Deserialize PLMN identity function
297 *
298 * \param plmnId the PLMN ID
299 * \param bIterator buffer iterator
300 * \returns buffer iterator
301 */
303 /**
304 * Deserialize RACH config common function
305 *
306 * \param rachConfigCommon LteRrcSap::RachConfigCommon *
307 * \param bIterator buffer iterator
308 * \returns buffer iterator
309 */
311 Buffer::Iterator bIterator);
312 /**
313 * Deserialize measure config function
314 *
315 * \param measConfig LteRrcSap::MeasConfig *
316 * \param bIterator buffer iterator
317 * \returns buffer iterator
318 */
320 Buffer::Iterator bIterator);
321 /**
322 * Deserialize Qoffset range function
323 *
324 * \param qOffsetRange Qoffset range
325 * \param bIterator buffer iterator
326 * \returns buffer iterator
327 */
329 /**
330 * Deserialize threshold eutra function
331 *
332 * \param thresholdEutra LteRrcSap::ThresholdEutra *
333 * \param bIterator buffer iterator
334 * \returns buffer iterator
335 */
337 Buffer::Iterator bIterator);
338 /**
339 * Deserialize non critical extension config function
340 *
341 * \param nonCriticalExtension LteRrcSap::NonCriticalExtensionConfiguration *
342 * \param bIterator buffer iterator
343 * \returns buffer iterator
344 */
347 Buffer::Iterator bIterator);
348 /**
349 * Deserialize cell identification function
350 *
351 * \param ci LteRrcSap::CellIdentification *
352 * \param bIterator buffer iterator
353 * \returns buffer iterator
354 */
356 Buffer::Iterator bIterator);
357 /**
358 * Deserialize radio resource config common SCell function
359 *
360 * \param rrccsc LteRrcSap::RadioResourceConfigCommonSCell *
361 * \param bIterator buffer iterator
362 * \returns buffer iterator
363 */
366 Buffer::Iterator bIterator);
367 /**
368 * Deserialize radio resource config dedicated SCell function
369 *
370 * \param rrcdsc LteRrcSap::RadioResourceConfigDedicatedSCell *
371 * \param bIterator buffer iterator
372 * \returns buffer iterator
373 */
376 Buffer::Iterator bIterator);
377 /**
378 * Deserialize physical config dedicated SCell function
379 *
380 * \param pcdsc LteRrcSap::PhysicalConfigDedicatedSCell *
381 * \param bIterator buffer iterator
382 * \returns buffer iterator
383 */
386 Buffer::Iterator bIterator);
387
388 /**
389 * This function prints the object, for debugging purposes.
390 * @param os The output stream to use (i.e. std::cout)
391 */
392 void Print(std::ostream& os) const override;
393 /**
394 * This function prints RadioResourceConfigDedicated IE, for debugging purposes.
395 * @param os The output stream to use (i.e. std::cout)
396 * @param radioResourceConfigDedicated The information element to be printed
397 */
398 void Print(std::ostream& os,
399 LteRrcSap::RadioResourceConfigDedicated radioResourceConfigDedicated) const;
400
401 /// Stores RRC message type, according to 3GPP TS 36.331
403};
404
405/**
406 * This class only serves to discriminate which message type has been received
407 * in uplink (ue to eNb) for channel DCCH
408 */
410{
411 public:
413 ~RrcUlDcchMessage() override;
414
415 // Inherited from RrcAsn1Header
416 uint32_t Deserialize(Buffer::Iterator bIterator) override;
417 void Print(std::ostream& os) const override;
418 void PreSerialize() const override;
419
420 protected:
421 /**
422 * Serialize UL DCCH message function
423 *
424 * \param msgType message type
425 */
426 void SerializeUlDcchMessage(int msgType) const;
427 /**
428 * Deserialize UL DCCH message function
429 *
430 * \param bIterator buffer iterator
431 * \returns buffer iterator
432 */
434};
435
436/**
437 * This class only serves to discriminate which message type has been received
438 * in downlink (eNb to ue) for channel DCCH
439 */
441{
442 public:
444 ~RrcDlDcchMessage() override;
445
446 // Inherited from RrcAsn1Header
447 uint32_t Deserialize(Buffer::Iterator bIterator) override;
448 void Print(std::ostream& os) const override;
449 void PreSerialize() const override;
450
451 protected:
452 /**
453 * Serialize DL DCCH message function
454 *
455 * \param msgType message type
456 */
457 void SerializeDlDcchMessage(int msgType) const;
458 /**
459 * Deserialize DL DCCH message function
460 *
461 * \param bIterator buffer iterator
462 * \returns buffer iterator
463 */
465};
466
467/**
468 * This class only serves to discriminate which message type has been received
469 * in uplink (ue to eNb) for channel CCCH
470 */
472{
473 public:
475 ~RrcUlCcchMessage() override;
476
477 // Inherited from RrcAsn1Header
478 uint32_t Deserialize(Buffer::Iterator bIterator) override;
479 void Print(std::ostream& os) const override;
480 void PreSerialize() const override;
481
482 protected:
483 /**
484 * Serialize UL CCCH message function
485 *
486 * \param msgType message type
487 */
488 void SerializeUlCcchMessage(int msgType) const;
489 /**
490 * Deserialize DL CCCH message function
491 *
492 * \param bIterator buffer iterator
493 * \returns buffer iterator
494 */
496};
497
498/**
499 * This class only serves to discriminate which message type has been received
500 * in downlink (eNb to ue) for channel CCCH
501 */
503{
504 public:
506 ~RrcDlCcchMessage() override;
507
508 // Inherited from RrcAsn1Header
509 uint32_t Deserialize(Buffer::Iterator bIterator) override;
510 void Print(std::ostream& os) const override;
511 void PreSerialize() const override;
512
513 protected:
514 /**
515 * Serialize DL CCCH message function
516 *
517 * \param msgType message type
518 */
519 void SerializeDlCcchMessage(int msgType) const;
520 /**
521 * Deserialize DL CCCH message function
522 *
523 * \param bIterator buffer iterator
524 * \returns buffer iterator
525 */
527};
528
529/**
530 * This class manages the serialization/deserialization of RrcConnectionRequest IE
531 */
533{
534 public:
537
538 /**
539 * \brief Get the type ID.
540 * \return the object TypeId
541 */
542 static TypeId GetTypeId();
543 // Inherited from RrcAsn1Header
544 void PreSerialize() const override;
545 uint32_t Deserialize(Buffer::Iterator bIterator) override;
546 void Print(std::ostream& os) const override;
547
548 /**
549 * Receives a RrcConnectionRequest IE and stores the contents into the class attributes
550 * @param msg The information element to parse
551 */
553
554 /**
555 * Returns a RrcConnectionRequest IE from the values in the class attributes
556 * @return A RrcConnectionRequest, as defined in LteRrcSap
557 */
559
560 /**
561 * Get MMEC attribute
562 * @return m_mmec attribute
563 */
564 std::bitset<8> GetMmec() const;
565
566 /**
567 * Get M-TMSI attribute
568 * @return m_tmsi attribute
569 */
570 std::bitset<32> GetMtmsi() const;
571
572 private:
573 std::bitset<8> m_mmec; ///< MMEC
574 std::bitset<32> m_mTmsi; ///< TMSI
575
576 /// EstablishmentCause enumeration
577 enum
578 {
586 SPARE1
587 } m_establishmentCause; ///< the establishent cause
588
589 std::bitset<1> m_spare; ///< spare bit
590};
591
592/**
593 * This class manages the serialization/deserialization of RrcConnectionSetup IE
594 */
596{
597 public:
599 ~RrcConnectionSetupHeader() override;
600
601 // Inherited from RrcAsn1Header
602 void PreSerialize() const override;
603 uint32_t Deserialize(Buffer::Iterator bIterator) override;
604 void Print(std::ostream& os) const override;
605
606 /**
607 * Receives a RrcConnectionSetup IE and stores the contents into the class attributes
608 * @param msg The information element to parse
609 */
611
612 /**
613 * Returns a RrcConnectionSetup IE from the values in the class attributes
614 * @return A RrcConnectionSetup, as defined in LteRrcSap
615 */
617
618 /**
619 * Getter for m_rrcTransactionIdentifier
620 * @return m_rrcTransactionIdentifier
621 */
622 uint8_t GetRrcTransactionIdentifier() const;
623
624 /**
625 * Getter for m_radioResourceConfigDedicated
626 * @return m_radioResourceConfigDedicated
627 */
629
630 /**
631 * Gets m_radioResourceConfigDedicated.havePhysicalConfigDedicated
632 * @return m_radioResourceConfigDedicated.havePhysicalConfigDedicated
633 */
634 bool HavePhysicalConfigDedicated() const;
635
636 /**
637 * Gets m_radioResourceConfigDedicated.physicalConfigDedicated
638 * @return m_radioResourceConfigDedicated.physicalConfigDedicated
639 */
641
642 /**
643 * Gets m_radioResourceConfigDedicated.srbToAddModList
644 * @return m_radioResourceConfigDedicated.srbToAddModList
645 */
646 std::list<LteRrcSap::SrbToAddMod> GetSrbToAddModList() const;
647
648 /**
649 * Gets m_radioResourceConfigDedicated.drbToAddModList
650 * @return m_radioResourceConfigDedicated.drbToAddModList
651 */
652 std::list<LteRrcSap::DrbToAddMod> GetDrbToAddModList() const;
653
654 /**
655 * Gets m_radioResourceConfigDedicated.drbToReleaseList
656 * @return m_radioResourceConfigDedicated.drbToReleaseList
657 */
658 std::list<uint8_t> GetDrbToReleaseList() const;
659
660 private:
661 uint8_t m_rrcTransactionIdentifier; ///< RRC transaction identifier
663 m_radioResourceConfigDedicated; ///< radio resource config dedicated
664};
665
666/**
667 * This class manages the serialization/deserialization of RrcConnectionSetupComplete IE
668 */
670{
671 public:
674
675 // Inherited from RrcAsn1Header
676 void PreSerialize() const override;
677 uint32_t Deserialize(Buffer::Iterator bIterator) override;
678 void Print(std::ostream& os) const override;
679
680 /**
681 * Receives a RrcConnectionSetupCompleted IE and stores the contents into the class attributes
682 * @param msg The information element to parse
683 */
685
686 /**
687 * Returns a RrcConnectionSetupCompleted IE from the values in the class attributes
688 * @return A RrcConnectionSetupCompleted, as defined in LteRrcSap
689 */
691
692 /**
693 * Getter for m_rrcTransactionIdentifier
694 * @return m_rrcTransactionIdentifier
695 */
696 uint8_t GetRrcTransactionIdentifier() const;
697
698 private:
699 uint8_t m_rrcTransactionIdentifier; ///< RRC transaction identifier
700};
701
702/**
703 * This class manages the serialization/deserialization of RrcConnectionSetupComplete IE
704 */
706{
707 public:
710
711 // Inherited from RrcAsn1Header
712 void PreSerialize() const override;
713 uint32_t Deserialize(Buffer::Iterator bIterator) override;
714 void Print(std::ostream& os) const override;
715
716 /**
717 * Receives a RrcConnectionReconfigurationCompleted IE and stores the contents into the class
718 * attributes
719 * @param msg The information element to parse
720 */
722
723 /**
724 * Returns a RrcConnectionReconfigurationCompleted IE from the values in the class attributes
725 * @return A RrcConnectionReconfigurationCompleted, as defined in LteRrcSap
726 */
728
729 /**
730 * Getter for m_rrcTransactionIdentifier
731 * @return m_rrcTransactionIdentifier
732 */
733 uint8_t GetRrcTransactionIdentifier() const;
734
735 private:
736 uint8_t m_rrcTransactionIdentifier; ///< RRC transaction identifier
737};
738
739/**
740 * This class manages the serialization/deserialization of RrcConnectionReconfiguration IE
741 */
743{
744 public:
747
748 // Inherited from RrcAsn1Header
749 void PreSerialize() const override;
750 uint32_t Deserialize(Buffer::Iterator bIterator) override;
751 void Print(std::ostream& os) const override;
752
753 /**
754 * Receives a RrcConnectionReconfiguration IE and stores the contents into the class attributes
755 * @param msg The information element to parse
756 */
758
759 /**
760 * Returns a RrcConnectionReconfiguration IE from the values in the class attributes
761 * @return A RrcConnectionReconfiguration, as defined in LteRrcSap
762 */
764
765 /**
766 * Getter for m_haveMeasConfig
767 * @return m_haveMeasConfig
768 */
769 bool GetHaveMeasConfig() const;
770
771 /**
772 * Getter for m_measConfig
773 * @return m_measConfig
774 */
776
777 /**
778 * Getter for m_haveMobilityControlInfo
779 * @return m_haveMobilityControlInfo
780 */
781 bool GetHaveMobilityControlInfo() const;
782
783 /**
784 * Getter for m_mobilityControlInfo
785 * @return m_mobilityControlInfo
786 */
788
789 /**
790 * Getter for m_haveRadioResourceConfigDedicated
791 * @return m_haveRadioResourceConfigDedicated
792 */
794
795 /**
796 * Getter for m_radioResourceConfigDedicated
797 * @return m_radioResourceConfigDedicated
798 */
800
801 /**
802 * Getter for m_rrcTransactionIdentifier
803 * @return m_rrcTransactionIdentifier
804 */
805 uint8_t GetRrcTransactionIdentifier() const;
806
807 /**
808 * Getter for m_radioResourceConfigDedicated
809 * @return m_radioResourceConfigDedicated
810 */
812
813 /**
814 * Getter for m_haveNonCriticalExtension
815 * @return m_haveNonCriticalExtension
816 */
818
819 /**
820 * Getter for m_nonCriticalExtension
821 * @return m_nonCriticalExtension
822 */
824
825 /**
826 * Gets m_radioResourceConfigDedicated.havePhysicalConfigDedicated
827 * @return m_radioResourceConfigDedicated.havePhysicalConfigDedicated
828 */
829 bool HavePhysicalConfigDedicated() const;
830
831 /**
832 * Gets m_radioResourceConfigDedicated.physicalConfigDedicated
833 * @return m_radioResourceConfigDedicated.physicalConfigDedicated
834 */
836
837 /**
838 * Gets m_radioResourceConfigDedicated.srbToAddModList
839 * @return m_radioResourceConfigDedicated.srbToAddModList
840 */
841 std::list<LteRrcSap::SrbToAddMod> GetSrbToAddModList() const;
842
843 /**
844 * Gets m_radioResourceConfigDedicated.drbToAddModList
845 * @return m_radioResourceConfigDedicated.drbToAddModList
846 */
847 std::list<LteRrcSap::DrbToAddMod> GetDrbToAddModList() const;
848
849 /**
850 * Gets m_radioResourceConfigDedicated.drbToReleaseList
851 * @return m_radioResourceConfigDedicated.drbToReleaseList
852 */
853 std::list<uint8_t> GetDrbToReleaseList() const;
854
855 private:
856 uint8_t m_rrcTransactionIdentifier; ///< RRC transaction identifier
857 bool m_haveMeasConfig; ///< have measure config?
858 LteRrcSap::MeasConfig m_measConfig; ///< the measure config
859 bool m_haveMobilityControlInfo; ///< have mobility control info?
861 bool m_haveRadioResourceConfigDedicated; ///< have radio resource config dedicated?
863 m_radioResourceConfigDedicated; ///< the radio resource config dedicated
864 bool m_haveNonCriticalExtension; ///< Have non-critical extension
866 m_nonCriticalExtension; ///< the non-critical extension
867};
868
869/**
870 * This class manages the serialization/deserialization of HandoverPreparationInfo IE
871 */
873{
874 public:
876
877 // Inherited from RrcAsn1Header
878 void PreSerialize() const override;
879 uint32_t Deserialize(Buffer::Iterator bIterator) override;
880 void Print(std::ostream& os) const override;
881
882 /**
883 * Receives a HandoverPreparationInfo IE and stores the contents into the class attributes
884 * @param msg The information element to parse
885 */
887
888 /**
889 * Returns a HandoverPreparationInfo IE from the values in the class attributes
890 * @return A HandoverPreparationInfo, as defined in LteRrcSap
891 */
893
894 /**
895 * Getter for m_asConfig
896 * @return m_asConfig
897 */
899
900 private:
902};
903
904/**
905 * This class manages the serialization/deserialization of RRCConnectionReestablishmentRequest IE
906 */
908{
909 public:
912
913 // Inherited from RrcAsn1Header
914 void PreSerialize() const override;
915 uint32_t Deserialize(Buffer::Iterator bIterator) override;
916 void Print(std::ostream& os) const override;
917
918 /**
919 * Receives a RrcConnectionReestablishmentRequest IE and stores the contents into the class
920 * attributes
921 * @param msg The information element to parse
922 */
924
925 /**
926 * Returns a RrcConnectionReestablishmentRequest IE from the values in the class attributes
927 * @return A RrcConnectionReestablishmentRequest, as defined in LteRrcSap
928 */
930
931 /**
932 * Getter for m_ueIdentity
933 * @return m_ueIdentity
934 */
936
937 /**
938 * Getter for m_reestablishmentCause
939 * @return m_reestablishmentCause
940 */
942
943 private:
946};
947
948/**
949 * This class manages the serialization/deserialization of RrcConnectionReestablishment IE
950 */
952{
953 public:
956
957 // Inherited from RrcAsn1Header
958 void PreSerialize() const override;
959 uint32_t Deserialize(Buffer::Iterator bIterator) override;
960 void Print(std::ostream& os) const override;
961
962 /**
963 * Receives a RrcConnectionReestablishment IE and stores the contents into the class attributes
964 * @param msg The information element to parse
965 */
967
968 /**
969 * Returns a RrcConnectionReestablishment IE from the values in the class attributes
970 * @return A RrcConnectionReestablishment, as defined in LteRrcSap
971 */
973
974 /**
975 * Getter for m_rrcTransactionIdentifier attribute
976 * @return m_rrcTransactionIdentifier
977 */
978 uint8_t GetRrcTransactionIdentifier() const;
979
980 /**
981 * Getter for m_radioResourceConfigDedicated attribute
982 * @return m_radioResourceConfigDedicated
983 */
985
986 private:
987 uint8_t m_rrcTransactionIdentifier; ///< RRC transaction identifier
989 m_radioResourceConfigDedicated; ///< radio resource config dedicated
990};
991
992/**
993 * This class manages the serialization/deserialization of RrcConnectionReestablishmentComplete IE
994 */
996{
997 public:
999
1000 // Inherited from RrcAsn1Header
1001 void PreSerialize() const override;
1002 uint32_t Deserialize(Buffer::Iterator bIterator) override;
1003 void Print(std::ostream& os) const override;
1004
1005 /**
1006 * Receives a RrcConnectionReestablishmentComplete IE and stores the contents into the class
1007 * attributes
1008 * @param msg The information element to parse
1009 */
1011
1012 /**
1013 * Returns a RrcConnectionReestablishmentComplete IE from the values in the class attributes
1014 * @return A RrcConnectionReestablishmentComplete, as defined in LteRrcSap
1015 */
1017
1018 /**
1019 * Getter for m_rrcTransactionIdentifier attribute
1020 * @return m_rrcTransactionIdentifier
1021 */
1022 uint8_t GetRrcTransactionIdentifier() const;
1023
1024 private:
1025 uint8_t m_rrcTransactionIdentifier; ///< RRC transaction identifier
1026};
1027
1028/**
1029 * This class manages the serialization/deserialization of RrcConnectionReestablishmentReject IE
1030 */
1032{
1033 public:
1036
1037 // Inherited from RrcAsn1Header
1038 void PreSerialize() const override;
1039 uint32_t Deserialize(Buffer::Iterator bIterator) override;
1040 void Print(std::ostream& os) const override;
1041
1042 /**
1043 * Receives a RrcConnectionReestablishmentReject IE and stores the contents into the class
1044 * attributes
1045 * @param msg The information element to parse
1046 */
1048
1049 /**
1050 * Returns a RrcConnectionReestablishmentReject IE from the values in the class attributes
1051 * @return A RrcConnectionReestablishmentReject, as defined in LteRrcSap
1052 */
1054
1055 private:
1057 m_rrcConnectionReestablishmentReject; ///< RRC connection reestablishmnet reject
1058};
1059
1060/**
1061 * This class manages the serialization/deserialization of RrcConnectionRelease IE
1062 */
1064{
1065 public:
1067 ~RrcConnectionReleaseHeader() override;
1068
1069 // Inherited from RrcAsn1Header
1070 void PreSerialize() const override;
1071 uint32_t Deserialize(Buffer::Iterator bIterator) override;
1072 void Print(std::ostream& os) const override;
1073
1074 /**
1075 * Receives a RrcConnectionRelease IE and stores the contents into the class attributes
1076 * @param msg The information element to parse
1077 */
1079
1080 /**
1081 * Returns a RrcConnectionRelease IE from the values in the class attributes
1082 * @return A RrcConnectionRelease, as defined in LteRrcSap
1083 */
1085
1086 private:
1088};
1089
1090/**
1091 * This class manages the serialization/deserialization of RrcConnectionReject IE
1092 */
1094{
1095 public:
1097 ~RrcConnectionRejectHeader() override;
1098
1099 // Inherited from RrcAsn1Header
1100 void PreSerialize() const override;
1101 uint32_t Deserialize(Buffer::Iterator bIterator) override;
1102 void Print(std::ostream& os) const override;
1103
1104 /**
1105 * Receives a RrcConnectionReject IE and stores the contents into the class attributes
1106 * @param msg The information element to parse
1107 */
1109
1110 /**
1111 * Returns a RrcConnectionReject IE from the values in the class attributes
1112 * @return A RrcConnectionReject, as defined in LteRrcSap
1113 */
1115
1116 private:
1118};
1119
1120/**
1121 * This class manages the serialization/deserialization of MeasurementReport IE
1122 */
1124{
1125 public:
1127 ~MeasurementReportHeader() override;
1128
1129 // Inherited from RrcAsn1Header
1130 void PreSerialize() const override;
1131 uint32_t Deserialize(Buffer::Iterator bIterator) override;
1132 void Print(std::ostream& os) const override;
1133
1134 /**
1135 * Receives a MeasurementReport IE and stores the contents into the class attributes
1136 * @param msg The information element to parse
1137 */
1139
1140 /**
1141 * Returns a MeasurementReport IE from the values in the class attributes
1142 * @return A MeasurementReport, as defined in LteRrcSap
1143 */
1145
1146 private:
1148};
1149
1150} // namespace ns3
1151
1152#endif // RRC_HEADER_H
This class has the purpose to encode Information Elements according to ASN.1 syntax,...
iterator in a Buffer instance
Definition buffer.h:89
This class manages the serialization/deserialization of HandoverPreparationInfo IE.
void PreSerialize() const override
This function serializes class attributes to m_serializationResult local Buffer.
void Print(std::ostream &os) const override
void SetMessage(LteRrcSap::HandoverPreparationInfo msg)
Receives a HandoverPreparationInfo IE and stores the contents into the class attributes.
LteRrcSap::HandoverPreparationInfo GetMessage() const
Returns a HandoverPreparationInfo IE from the values in the class attributes.
LteRrcSap::AsConfig m_asConfig
AS config.
uint32_t Deserialize(Buffer::Iterator bIterator) override
LteRrcSap::AsConfig GetAsConfig() const
Getter for m_asConfig.
ReestablishmentCause
ReestablishmentCause enumeration.
This class manages the serialization/deserialization of MeasurementReport IE.
void Print(std::ostream &os) const override
uint32_t Deserialize(Buffer::Iterator bIterator) override
LteRrcSap::MeasurementReport m_measurementReport
measurement report
LteRrcSap::MeasurementReport GetMessage() const
Returns a MeasurementReport IE from the values in the class attributes.
void PreSerialize() const override
This function serializes class attributes to m_serializationResult local Buffer.
void SetMessage(LteRrcSap::MeasurementReport msg)
Receives a MeasurementReport IE and stores the contents into the class attributes.
This class extends Asn1Header functions, adding serialization/deserialization of some Information ele...
void SerializeNonCriticalExtensionConfiguration(LteRrcSap::NonCriticalExtensionConfiguration nonCriticalExtensionConfiguration) const
Serialize non critical extension config function.
void SerializeSrbToAddModList(std::list< LteRrcSap::SrbToAddMod > srbToAddModList) const
Serialize SRB to add mod list function.
void SerializeSystemInformationBlockType2(LteRrcSap::SystemInformationBlockType2 systemInformationBlockType2) const
Serialize system information block type 2 function.
void SerializeRadioResourceConfigCommonSCell(LteRrcSap::RadioResourceConfigCommonSCell rrccsc) const
Serialize radio resource config common SCell function.
void SerializeMeasResults(LteRrcSap::MeasResults measResults) const
Serialize measure results function.
void SerializePhysicalConfigDedicated(LteRrcSap::PhysicalConfigDedicated physicalConfigDedicated) const
Serialize physical config dedicated function.
uint32_t Deserialize(Buffer::Iterator bIterator) override=0
Buffer::Iterator DeserializeCellIdentification(LteRrcSap::CellIdentification *ci, Buffer::Iterator bIterator)
Deserialize cell identification function.
Buffer::Iterator DeserializeLogicalChannelConfig(LteRrcSap::LogicalChannelConfig *logicalChannelConfig, Buffer::Iterator bIterator)
Deserialize logical channel config function.
void SerializeRachConfigCommon(LteRrcSap::RachConfigCommon rachConfigCommon) const
Serialize RACH config common function.
Buffer::Iterator DeserializeMeasConfig(LteRrcSap::MeasConfig *measConfig, Buffer::Iterator bIterator)
Deserialize measure config function.
int GetMessageType() const
Get message type.
Buffer::Iterator DeserializePhysicalConfigDedicated(LteRrcSap::PhysicalConfigDedicated *physicalConfigDedicated, Buffer::Iterator bIterator)
Deserialize physical config dedicated function.
Buffer::Iterator DeserializeNonCriticalExtensionConfig(LteRrcSap::NonCriticalExtensionConfiguration *nonCriticalExtension, Buffer::Iterator bIterator)
Deserialize non critical extension config function.
void SerializeRadioResourceConfigCommonSib(LteRrcSap::RadioResourceConfigCommonSib radioResourceConfigCommonSib) const
Serialize radio resource config common SIB function.
void SerializeSystemInformationBlockType1(LteRrcSap::SystemInformationBlockType1 systemInformationBlockType1) const
Serialize system information block type 1 function.
Buffer::Iterator DeserializeRachConfigCommon(LteRrcSap::RachConfigCommon *rachConfigCommon, Buffer::Iterator bIterator)
Deserialize RACH config common function.
Buffer::Iterator DeserializePlmnIdentity(uint32_t *plmnId, Buffer::Iterator bIterator)
Deserialize PLMN identity function.
uint16_t EnumToBandwidth(int n) const
Convert from ENUMERATED value to bandwidth (in RBs)
void SerializeDrbToAddModList(std::list< LteRrcSap::DrbToAddMod > drbToAddModList) const
Serialize DRB to add mod list function.
Buffer::Iterator DeserializeMeasResults(LteRrcSap::MeasResults *measResults, Buffer::Iterator bIterator)
Deserialize measure results function.
Buffer::Iterator DeserializeRadioResourceConfigCommonSCell(LteRrcSap::RadioResourceConfigCommonSCell *rrccsc, Buffer::Iterator bIterator)
Deserialize radio resource config common SCell function.
void SerializeRadioResourceDedicatedSCell(LteRrcSap::RadioResourceConfigDedicatedSCell rrcdsc) const
Serialize radio resource dedicated SCell function.
void SerializePhysicalConfigDedicatedSCell(LteRrcSap::PhysicalConfigDedicatedSCell pcdsc) const
Serialize physical config dedicated function.
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
Buffer::Iterator DeserializePhysicalConfigDedicatedSCell(LteRrcSap::PhysicalConfigDedicatedSCell *pcdsc, Buffer::Iterator bIterator)
Deserialize physical config dedicated SCell function.
Buffer::Iterator DeserializeThresholdEutra(LteRrcSap::ThresholdEutra *thresholdEutra, Buffer::Iterator bIterator)
Deserialize threshold eutra function.
void SerializeRadioResourceConfigDedicated(LteRrcSap::RadioResourceConfigDedicated radioResourceConfigDedicated) const
Serialize radio resource config function.
void PreSerialize() const override=0
This function serializes class attributes to m_serializationResult local Buffer.
void SerializeThresholdEutra(LteRrcSap::ThresholdEutra thresholdEutra) const
Serialize threshold eutra function.
void SerializeQoffsetRange(int8_t qOffsetRange) const
Serialize Q offset range function.
Buffer::Iterator DeserializeRadioResourceConfigDedicated(LteRrcSap::RadioResourceConfigDedicated *radioResourceConfigDedicated, Buffer::Iterator bIterator)
Deserialize radio resource config dedicated function.
void Print(std::ostream &os) const override
This function prints the object, for debugging purposes.
int m_messageType
Stores RRC message type, according to 3GPP TS 36.331.
Buffer::Iterator DeserializeSystemInformationBlockType1(LteRrcSap::SystemInformationBlockType1 *systemInformationBlockType1, Buffer::Iterator bIterator)
Deserialize system information block type 1 function.
void SerializeLogicalChannelConfig(LteRrcSap::LogicalChannelConfig logicalChannelConfig) const
Serialize logicala channel config function.
static TypeId GetTypeId()
Get the type ID.
Buffer::Iterator DeserializeSystemInformationBlockType2(LteRrcSap::SystemInformationBlockType2 *systemInformationBlockType2, Buffer::Iterator bIterator)
Deserialize system information block type 2 function.
Buffer::Iterator DeserializeQoffsetRange(int8_t *qOffsetRange, Buffer::Iterator bIterator)
Deserialize Qoffset range function.
int BandwidthToEnum(uint16_t bandwidth) const
Convert from bandwidth (in RBs) to ENUMERATED value.
Buffer::Iterator DeserializeDrbToAddModList(std::list< LteRrcSap::DrbToAddMod > *drbToAddModLis, Buffer::Iterator bIterator)
Deserialize DRB to add mod list function.
void SerializePlmnIdentity(uint32_t plmnId) const
Serialize PLMN identity function.
Buffer::Iterator DeserializeRadioResourceConfigCommon(LteRrcSap::RadioResourceConfigCommon *radioResourceConfigCommon, Buffer::Iterator bIterator)
Deserialize radio resource config common function.
Buffer::Iterator DeserializeRadioResourceConfigDedicatedSCell(LteRrcSap::RadioResourceConfigDedicatedSCell *rrcdsc, Buffer::Iterator bIterator)
Deserialize radio resource config dedicated SCell function.
void SerializeRadioResourceConfigCommon(LteRrcSap::RadioResourceConfigCommon radioResourceConfigCommon) const
Serialize system information block type 2 function.
void SerializeMeasConfig(LteRrcSap::MeasConfig measConfig) const
Serialize measure config function.
Buffer::Iterator DeserializeSrbToAddModList(std::list< LteRrcSap::SrbToAddMod > *srbToAddModList, Buffer::Iterator bIterator)
Deserialize SRB to add mod list function.
Buffer::Iterator DeserializeRadioResourceConfigCommonSib(LteRrcSap::RadioResourceConfigCommonSib *radioResourceConfigCommonSib, Buffer::Iterator bIterator)
Deserialize radio resource config common SIB function.
This class manages the serialization/deserialization of RrcConnectionSetupComplete IE.
uint8_t m_rrcTransactionIdentifier
RRC transaction identifier.
void Print(std::ostream &os) const override
This function prints the object, for debugging purposes.
LteRrcSap::RrcConnectionReconfigurationCompleted GetMessage() const
Returns a RrcConnectionReconfigurationCompleted IE from the values in the class attributes.
uint32_t Deserialize(Buffer::Iterator bIterator) override
void PreSerialize() const override
This function serializes class attributes to m_serializationResult local Buffer.
void SetMessage(LteRrcSap::RrcConnectionReconfigurationCompleted msg)
Receives a RrcConnectionReconfigurationCompleted IE and stores the contents into the class attributes...
uint8_t GetRrcTransactionIdentifier() const
Getter for m_rrcTransactionIdentifier.
This class manages the serialization/deserialization of RrcConnectionReconfiguration IE.
bool m_haveNonCriticalExtension
Have non-critical extension.
std::list< LteRrcSap::SrbToAddMod > GetSrbToAddModList() const
Gets m_radioResourceConfigDedicated.srbToAddModList.
bool m_haveMeasConfig
have measure config?
std::list< LteRrcSap::DrbToAddMod > GetDrbToAddModList() const
Gets m_radioResourceConfigDedicated.drbToAddModList.
LteRrcSap::RrcConnectionReconfiguration GetMessage() const
Returns a RrcConnectionReconfiguration IE from the values in the class attributes.
LteRrcSap::NonCriticalExtensionConfiguration GetNonCriticalExtensionConfig()
Getter for m_nonCriticalExtension.
uint32_t Deserialize(Buffer::Iterator bIterator) override
LteRrcSap::RadioResourceConfigDedicated GetRadioResourceConfigDedicated()
Getter for m_radioResourceConfigDedicated.
bool HavePhysicalConfigDedicated() const
Gets m_radioResourceConfigDedicated.havePhysicalConfigDedicated.
LteRrcSap::MobilityControlInfo m_mobilityControlInfo
the modility control info
LteRrcSap::MeasConfig m_measConfig
the measure config
std::list< uint8_t > GetDrbToReleaseList() const
Gets m_radioResourceConfigDedicated.drbToReleaseList.
LteRrcSap::RadioResourceConfigDedicated m_radioResourceConfigDedicated
the radio resource config dedicated
bool GetHaveNonCriticalExtensionConfig() const
Getter for m_haveNonCriticalExtension.
LteRrcSap::PhysicalConfigDedicated GetPhysicalConfigDedicated() const
Gets m_radioResourceConfigDedicated.physicalConfigDedicated.
void PreSerialize() const override
This function serializes class attributes to m_serializationResult local Buffer.
bool m_haveMobilityControlInfo
have mobility control info?
bool GetHaveRadioResourceConfigDedicated() const
Getter for m_haveRadioResourceConfigDedicated.
bool GetHaveMobilityControlInfo() const
Getter for m_haveMobilityControlInfo.
void SetMessage(LteRrcSap::RrcConnectionReconfiguration msg)
Receives a RrcConnectionReconfiguration IE and stores the contents into the class attributes.
void Print(std::ostream &os) const override
This function prints the object, for debugging purposes.
LteRrcSap::NonCriticalExtensionConfiguration m_nonCriticalExtension
the non-critical extension
uint8_t GetRrcTransactionIdentifier() const
Getter for m_rrcTransactionIdentifier.
bool m_haveRadioResourceConfigDedicated
have radio resource config dedicated?
bool GetHaveMeasConfig() const
Getter for m_haveMeasConfig.
uint8_t m_rrcTransactionIdentifier
RRC transaction identifier.
LteRrcSap::RadioResourceConfigDedicated GetRadioResourceConfigDedicated() const
Getter for m_radioResourceConfigDedicated.
LteRrcSap::MeasConfig GetMeasConfig()
Getter for m_measConfig.
LteRrcSap::MobilityControlInfo GetMobilityControlInfo()
Getter for m_mobilityControlInfo.
This class manages the serialization/deserialization of RrcConnectionReestablishmentComplete IE.
void SetMessage(LteRrcSap::RrcConnectionReestablishmentComplete msg)
Receives a RrcConnectionReestablishmentComplete IE and stores the contents into the class attributes.
void Print(std::ostream &os) const override
This function prints the object, for debugging purposes.
uint8_t m_rrcTransactionIdentifier
RRC transaction identifier.
uint32_t Deserialize(Buffer::Iterator bIterator) override
LteRrcSap::RrcConnectionReestablishmentComplete GetMessage() const
Returns a RrcConnectionReestablishmentComplete IE from the values in the class attributes.
void PreSerialize() const override
This function serializes class attributes to m_serializationResult local Buffer.
uint8_t GetRrcTransactionIdentifier() const
Getter for m_rrcTransactionIdentifier attribute.
This class manages the serialization/deserialization of RrcConnectionReestablishment IE.
uint8_t m_rrcTransactionIdentifier
RRC transaction identifier.
LteRrcSap::RadioResourceConfigDedicated m_radioResourceConfigDedicated
radio resource config dedicated
LteRrcSap::RrcConnectionReestablishment GetMessage() const
Returns a RrcConnectionReestablishment IE from the values in the class attributes.
uint8_t GetRrcTransactionIdentifier() const
Getter for m_rrcTransactionIdentifier attribute.
LteRrcSap::RadioResourceConfigDedicated GetRadioResourceConfigDedicated() const
Getter for m_radioResourceConfigDedicated attribute.
void PreSerialize() const override
This function serializes class attributes to m_serializationResult local Buffer.
void SetMessage(LteRrcSap::RrcConnectionReestablishment msg)
Receives a RrcConnectionReestablishment IE and stores the contents into the class attributes.
void Print(std::ostream &os) const override
This function prints the object, for debugging purposes.
uint32_t Deserialize(Buffer::Iterator bIterator) override
This class manages the serialization/deserialization of RrcConnectionReestablishmentReject IE.
void SetMessage(LteRrcSap::RrcConnectionReestablishmentReject msg)
Receives a RrcConnectionReestablishmentReject IE and stores the contents into the class attributes.
void Print(std::ostream &os) const override
This function prints the object, for debugging purposes.
uint32_t Deserialize(Buffer::Iterator bIterator) override
void PreSerialize() const override
This function serializes class attributes to m_serializationResult local Buffer.
LteRrcSap::RrcConnectionReestablishmentReject m_rrcConnectionReestablishmentReject
RRC connection reestablishmnet reject.
LteRrcSap::RrcConnectionReestablishmentReject GetMessage() const
Returns a RrcConnectionReestablishmentReject IE from the values in the class attributes.
This class manages the serialization/deserialization of RRCConnectionReestablishmentRequest IE.
LteRrcSap::RrcConnectionReestablishmentRequest GetMessage() const
Returns a RrcConnectionReestablishmentRequest IE from the values in the class attributes.
void Print(std::ostream &os) const override
This function prints the object, for debugging purposes.
LteRrcSap::ReestablishmentCause m_reestablishmentCause
reestablishment cause
LteRrcSap::ReestablishmentCause GetReestablishmentCause() const
Getter for m_reestablishmentCause.
LteRrcSap::ReestabUeIdentity m_ueIdentity
UE identity.
void SetMessage(LteRrcSap::RrcConnectionReestablishmentRequest msg)
Receives a RrcConnectionReestablishmentRequest IE and stores the contents into the class attributes.
uint32_t Deserialize(Buffer::Iterator bIterator) override
void PreSerialize() const override
This function serializes class attributes to m_serializationResult local Buffer.
LteRrcSap::ReestabUeIdentity GetUeIdentity() const
Getter for m_ueIdentity.
This class manages the serialization/deserialization of RrcConnectionReject IE.
void Print(std::ostream &os) const override
This function prints the object, for debugging purposes.
LteRrcSap::RrcConnectionReject GetMessage() const
Returns a RrcConnectionReject IE from the values in the class attributes.
LteRrcSap::RrcConnectionReject m_rrcConnectionReject
RRC connection reject.
uint32_t Deserialize(Buffer::Iterator bIterator) override
void PreSerialize() const override
This function serializes class attributes to m_serializationResult local Buffer.
void SetMessage(LteRrcSap::RrcConnectionReject msg)
Receives a RrcConnectionReject IE and stores the contents into the class attributes.
This class manages the serialization/deserialization of RrcConnectionRelease IE.
LteRrcSap::RrcConnectionRelease GetMessage() const
Returns a RrcConnectionRelease IE from the values in the class attributes.
void SetMessage(LteRrcSap::RrcConnectionRelease msg)
Receives a RrcConnectionRelease IE and stores the contents into the class attributes.
void PreSerialize() const override
This function serializes class attributes to m_serializationResult local Buffer.
void Print(std::ostream &os) const override
This function prints the object, for debugging purposes.
uint32_t Deserialize(Buffer::Iterator bIterator) override
LteRrcSap::RrcConnectionRelease m_rrcConnectionRelease
RRC connection release.
This class manages the serialization/deserialization of RrcConnectionRequest IE.
void PreSerialize() const override
This function serializes class attributes to m_serializationResult local Buffer.
std::bitset< 8 > GetMmec() const
Get MMEC attribute.
void Print(std::ostream &os) const override
This function prints the object, for debugging purposes.
enum ns3::RrcConnectionRequestHeader::@59 m_establishmentCause
EstablishmentCause enumeration.
void SetMessage(LteRrcSap::RrcConnectionRequest msg)
Receives a RrcConnectionRequest IE and stores the contents into the class attributes.
uint32_t Deserialize(Buffer::Iterator bIterator) override
std::bitset< 1 > m_spare
spare bit
LteRrcSap::RrcConnectionRequest GetMessage() const
Returns a RrcConnectionRequest IE from the values in the class attributes.
static TypeId GetTypeId()
Get the type ID.
std::bitset< 32 > GetMtmsi() const
Get M-TMSI attribute.
std::bitset< 32 > m_mTmsi
TMSI.
This class manages the serialization/deserialization of RrcConnectionSetupComplete IE.
LteRrcSap::RrcConnectionSetupCompleted GetMessage() const
Returns a RrcConnectionSetupCompleted IE from the values in the class attributes.
uint8_t m_rrcTransactionIdentifier
RRC transaction identifier.
void PreSerialize() const override
This function serializes class attributes to m_serializationResult local Buffer.
void Print(std::ostream &os) const override
This function prints the object, for debugging purposes.
void SetMessage(LteRrcSap::RrcConnectionSetupCompleted msg)
Receives a RrcConnectionSetupCompleted IE and stores the contents into the class attributes.
uint8_t GetRrcTransactionIdentifier() const
Getter for m_rrcTransactionIdentifier.
uint32_t Deserialize(Buffer::Iterator bIterator) override
This class manages the serialization/deserialization of RrcConnectionSetup IE.
LteRrcSap::RadioResourceConfigDedicated m_radioResourceConfigDedicated
radio resource config dedicated
void SetMessage(LteRrcSap::RrcConnectionSetup msg)
Receives a RrcConnectionSetup IE and stores the contents into the class attributes.
void PreSerialize() const override
This function serializes class attributes to m_serializationResult local Buffer.
std::list< LteRrcSap::DrbToAddMod > GetDrbToAddModList() const
Gets m_radioResourceConfigDedicated.drbToAddModList.
LteRrcSap::RrcConnectionSetup GetMessage() const
Returns a RrcConnectionSetup IE from the values in the class attributes.
uint32_t Deserialize(Buffer::Iterator bIterator) override
std::list< uint8_t > GetDrbToReleaseList() const
Gets m_radioResourceConfigDedicated.drbToReleaseList.
uint8_t m_rrcTransactionIdentifier
RRC transaction identifier.
std::list< LteRrcSap::SrbToAddMod > GetSrbToAddModList() const
Gets m_radioResourceConfigDedicated.srbToAddModList.
bool HavePhysicalConfigDedicated() const
Gets m_radioResourceConfigDedicated.havePhysicalConfigDedicated.
void Print(std::ostream &os) const override
This function prints the object, for debugging purposes.
LteRrcSap::PhysicalConfigDedicated GetPhysicalConfigDedicated() const
Gets m_radioResourceConfigDedicated.physicalConfigDedicated.
uint8_t GetRrcTransactionIdentifier() const
Getter for m_rrcTransactionIdentifier.
LteRrcSap::RadioResourceConfigDedicated GetRadioResourceConfigDedicated() const
Getter for m_radioResourceConfigDedicated.
This class only serves to discriminate which message type has been received in downlink (eNb to ue) f...
Buffer::Iterator DeserializeDlCcchMessage(Buffer::Iterator bIterator)
Deserialize DL CCCH message function.
uint32_t Deserialize(Buffer::Iterator bIterator) override
void Print(std::ostream &os) const override
This function prints the object, for debugging purposes.
void PreSerialize() const override
This function serializes class attributes to m_serializationResult local Buffer.
void SerializeDlCcchMessage(int msgType) const
Serialize DL CCCH message function.
This class only serves to discriminate which message type has been received in downlink (eNb to ue) f...
void SerializeDlDcchMessage(int msgType) const
Serialize DL DCCH message function.
void PreSerialize() const override
This function serializes class attributes to m_serializationResult local Buffer.
void Print(std::ostream &os) const override
This function prints the object, for debugging purposes.
uint32_t Deserialize(Buffer::Iterator bIterator) override
Buffer::Iterator DeserializeDlDcchMessage(Buffer::Iterator bIterator)
Deserialize DL DCCH message function.
This class only serves to discriminate which message type has been received in uplink (ue to eNb) for...
void SerializeUlCcchMessage(int msgType) const
Serialize UL CCCH message function.
Buffer::Iterator DeserializeUlCcchMessage(Buffer::Iterator bIterator)
Deserialize DL CCCH message function.
void Print(std::ostream &os) const override
This function prints the object, for debugging purposes.
uint32_t Deserialize(Buffer::Iterator bIterator) override
void PreSerialize() const override
This function serializes class attributes to m_serializationResult local Buffer.
This class only serves to discriminate which message type has been received in uplink (ue to eNb) for...
Buffer::Iterator DeserializeUlDcchMessage(Buffer::Iterator bIterator)
Deserialize UL DCCH message function.
uint32_t Deserialize(Buffer::Iterator bIterator) override
void Print(std::ostream &os) const override
This function prints the object, for debugging purposes.
void PreSerialize() const override
This function serializes class attributes to m_serializationResult local Buffer.
void SerializeUlDcchMessage(int msgType) const
Serialize UL DCCH message function.
a unique identifier for an interface.
Definition type-id.h:48
Every class exported by the ns3 library is enclosed in the ns3 namespace.
AsConfig structure.
CellIdentification structure.
HandoverPreparationInfo structure.
LogicalChannelConfig structure.
Definition lte-rrc-sap.h:98
MeasConfig structure.
MeasResults structure.
MeasurementReport structure.
MobilityControlInfo structure.
NonCriticalExtensionConfiguration structure.
PhysicalConfigDedicated structure.
PhysicalConfigDedicatedSCell structure.
RachConfigCommon structure.
RadioResourceConfigCommon structure.
RadioResourceConfigCommonSCell.
RadioResourceConfigCommonSib structure.
RadioResourceConfigDedicated structure.
RadioResourceConfigDedicatedSCell structure.
ReestabUeIdentity structure.
RrcConnectionReconfigurationCompleted structure.
RrcConnectionReconfiguration structure.
RrcConnectionReestablishmentComplete structure.
RrcConnectionReestablishment structure.
RrcConnectionReestablishmentReject structure.
RrcConnectionReestablishmentRequest structure.
RrcConnectionReject structure.
RrcConnectionRelease structure.
RrcConnectionRequest structure.
RrcConnectionSetupCompleted structure.
RrcConnectionSetup structure.
SystemInformationBlockType1 structure.
SystemInformationBlockType2 structure.
Threshold for event evaluation.