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 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation;
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program; if not, write to the Free Software
15 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16 *
17 * Author: Lluis Parcerisa <lparcerisa@cttc.cat>
18 * Modified by:
19 * Danilo Abrignani <danilo.abrignani@unibo.it> (Carrier Aggregation - GSoC 2015)
20 * Biljana Bojovic <biljana.bojovic@cttc.es> (Carrier Aggregation)
21 */
22
23#ifndef RRC_HEADER_H
24#define RRC_HEADER_H
25
26#include "lte-asn1-header.h"
27#include "lte-rrc-sap.h"
28
29#include "ns3/header.h"
30
31#include <bitset>
32#include <string>
33
34namespace ns3
35{
36
37/**
38 * \ingroup lte
39 */
40
41/**
42 * This class extends Asn1Header functions, adding serialization/deserialization
43 * of some Information elements defined in 3GPP TS 36.331
44 */
46{
47 public:
49 /**
50 * Get message type
51 *
52 * \returns the message type
53 */
54 int GetMessageType() const;
55
56 protected:
57 /**
58 * \brief Get the type ID.
59 * \return the object TypeId
60 */
61 static TypeId GetTypeId();
62 // Inherited from Asn1Header
63 TypeId GetInstanceTypeId() const override;
64 uint32_t Deserialize(Buffer::Iterator bIterator) override = 0;
65 void PreSerialize() const override = 0;
66
67 // Auxiliary functions
68 /**
69 * Convert from bandwidth (in RBs) to ENUMERATED value
70 *
71 * \param bandwidth Bandwidth in RBs: 6, 15, 25, 50, 75, 100
72 * \returns ENUMERATED value: 0, 1, 2, 3, 4, 5
73 */
74 int BandwidthToEnum(uint16_t bandwidth) const;
75 /**
76 * Convert from ENUMERATED value to bandwidth (in RBs)
77 *
78 * \param n ENUMERATED value: 0, 1, 2, 3, 4, 5
79 * \returns bandwidth Bandwidth in RBs: 6, 15, 25, 50, 75, 100
80 */
81 uint16_t EnumToBandwidth(int n) const;
82
83 // Serialization functions
84 /**
85 * Serialize SRB to add mod list function
86 *
87 * \param srbToAddModList std::list<LteRrcSap::SrbToAddMod>
88 */
89 void SerializeSrbToAddModList(std::list<LteRrcSap::SrbToAddMod> srbToAddModList) const;
90 /**
91 * Serialize DRB to add mod list function
92 *
93 * \param drbToAddModList std::list<LteRrcSap::SrbToAddMod>
94 */
95 void SerializeDrbToAddModList(std::list<LteRrcSap::DrbToAddMod> drbToAddModList) const;
96 /**
97 * Serialize logicala channel config function
98 *
99 * \param logicalChannelConfig LteRrcSap::LogicalChannelConfig
100 */
101 void SerializeLogicalChannelConfig(LteRrcSap::LogicalChannelConfig logicalChannelConfig) const;
102 /**
103 * Serialize radio resource config function
104 *
105 * \param radioResourceConfigDedicated LteRrcSap::RadioResourceConfigDedicated
106 */
108 LteRrcSap::RadioResourceConfigDedicated radioResourceConfigDedicated) const;
109 /**
110 * Serialize physical config dedicated function
111 *
112 * \param physicalConfigDedicated LteRrcSap::PhysicalConfigDedicated
113 */
115 LteRrcSap::PhysicalConfigDedicated physicalConfigDedicated) const;
116 /**
117 * Serialize physical config dedicated function
118 *
119 * \param pcdsc LteRrcSap::PhysicalConfigDedicatedSCell
120 */
122 /**
123 * Serialize system information block type 1 function
124 *
125 * \param systemInformationBlockType1 LteRrcSap::SystemInformationBlockType1
126 */
128 LteRrcSap::SystemInformationBlockType1 systemInformationBlockType1) const;
129 /**
130 * Serialize system information block type 2 function
131 *
132 * \param systemInformationBlockType2 LteRrcSap::SystemInformationBlockType2
133 */
135 LteRrcSap::SystemInformationBlockType2 systemInformationBlockType2) const;
136 /**
137 * Serialize system information block type 2 function
138 *
139 * \param radioResourceConfigCommon LteRrcSap::RadioResourceConfigCommon
140 */
142 LteRrcSap::RadioResourceConfigCommon radioResourceConfigCommon) const;
143 /**
144 * Serialize radio resource config common SIB function
145 *
146 * \param radioResourceConfigCommonSib LteRrcSap::RadioResourceConfigCommonSib
147 */
149 LteRrcSap::RadioResourceConfigCommonSib radioResourceConfigCommonSib) const;
150 /**
151 * Serialize measure results function
152 *
153 * \param measResults LteRrcSap::MeasResults
154 */
155 void SerializeMeasResults(LteRrcSap::MeasResults measResults) const;
156 /**
157 * Serialize PLMN identity function
158 *
159 * \param plmnId the PLMN ID
160 */
161 void SerializePlmnIdentity(uint32_t plmnId) const;
162 /**
163 * Serialize RACH config common function
164 *
165 * \param rachConfigCommon LteRrcSap::RachConfigCommon
166 */
167 void SerializeRachConfigCommon(LteRrcSap::RachConfigCommon rachConfigCommon) const;
168 /**
169 * Serialize measure config function
170 *
171 * \param measConfig LteRrcSap::MeasConfig
172 */
173 void SerializeMeasConfig(LteRrcSap::MeasConfig measConfig) const;
174 /**
175 * Serialize non critical extension config function
176 *
177 * \param nonCriticalExtensionConfiguration LteRrcSap::NonCriticalExtensionConfiguration
178 */
180 LteRrcSap::NonCriticalExtensionConfiguration nonCriticalExtensionConfiguration) const;
181 /**
182 * Serialize radio resource config common SCell function
183 *
184 * \param rrccsc LteRrcSap::RadioResourceConfigCommonSCell
185 */
188 /**
189 * Serialize radio resource dedicated SCell function
190 *
191 * \param rrcdsc LteRrcSap::RadioResourceConfigDedicatedSCell
192 */
195 /**
196 * Serialize Q offset range function
197 *
198 * \param qOffsetRange q offset range
199 */
200 void SerializeQoffsetRange(int8_t qOffsetRange) const;
201 /**
202 * Serialize threshold eutra function
203 *
204 * \param thresholdEutra LteRrcSap::ThresholdEutra
205 */
206 void SerializeThresholdEutra(LteRrcSap::ThresholdEutra thresholdEutra) const;
207
208 // Deserialization functions
209 /**
210 * Deserialize DRB to add mod list function
211 *
212 * \param drbToAddModLis std::list<LteRrcSap::DrbToAddMod> *
213 * \param bIterator buffer iterator
214 * \returns buffer iterator
215 */
216 Buffer::Iterator DeserializeDrbToAddModList(std::list<LteRrcSap::DrbToAddMod>* drbToAddModLis,
217 Buffer::Iterator bIterator);
218 /**
219 * Deserialize SRB to add mod list function
220 *
221 * \param srbToAddModList std::list<LteRrcSap::SrbToAddMod> *
222 * \param bIterator buffer iterator
223 * \returns buffer iterator
224 */
225 Buffer::Iterator DeserializeSrbToAddModList(std::list<LteRrcSap::SrbToAddMod>* srbToAddModList,
226 Buffer::Iterator bIterator);
227 /**
228 * Deserialize logical channel config function
229 *
230 * \param logicalChannelConfig LteRrcSap::LogicalChannelConfig *
231 * \param bIterator buffer iterator
232 * \returns buffer iterator
233 */
235 LteRrcSap::LogicalChannelConfig* logicalChannelConfig,
236 Buffer::Iterator bIterator);
237 /**
238 * Deserialize radio resource config dedicated function
239 *
240 * \param radioResourceConfigDedicated LteRrcSap::RadioResourceConfigDedicated *
241 * \param bIterator buffer iterator
242 * \returns buffer iterator
243 */
245 LteRrcSap::RadioResourceConfigDedicated* radioResourceConfigDedicated,
246 Buffer::Iterator bIterator);
247 /**
248 * Deserialize physical config dedicated function
249 *
250 * \param physicalConfigDedicated LteRrcSap::PhysicalConfigDedicated *
251 * \param bIterator buffer iterator
252 * \returns buffer iterator
253 */
255 LteRrcSap::PhysicalConfigDedicated* physicalConfigDedicated,
256 Buffer::Iterator bIterator);
257 /**
258 * Deserialize system information block type 1 function
259 *
260 * \param systemInformationBlockType1 LteRrcSap::SystemInformationBlockType1 *
261 * \param bIterator buffer iterator
262 * \returns buffer iterator
263 */
265 LteRrcSap::SystemInformationBlockType1* systemInformationBlockType1,
266 Buffer::Iterator bIterator);
267 /**
268 * Deserialize system information block type 2 function
269 *
270 * \param systemInformationBlockType2 LteRrcSap::SystemInformationBlockType2 *
271 * \param bIterator buffer iterator
272 * \returns buffer iterator
273 */
275 LteRrcSap::SystemInformationBlockType2* systemInformationBlockType2,
276 Buffer::Iterator bIterator);
277 /**
278 * Deserialize radio resource config common function
279 *
280 * \param radioResourceConfigCommon LteRrcSap::RadioResourceConfigCommon *
281 * \param bIterator buffer iterator
282 * \returns buffer iterator
283 */
285 LteRrcSap::RadioResourceConfigCommon* radioResourceConfigCommon,
286 Buffer::Iterator bIterator);
287 /**
288 * Deserialize radio resource config common SIB function
289 *
290 * \param radioResourceConfigCommonSib LteRrcSap::RadioResourceConfigCommonSib *
291 * \param bIterator buffer iterator
292 * \returns buffer iterator
293 */
295 LteRrcSap::RadioResourceConfigCommonSib* radioResourceConfigCommonSib,
296 Buffer::Iterator bIterator);
297 /**
298 * Deserialize measure results function
299 *
300 * \param measResults LteRrcSap::MeasResults *
301 * \param bIterator buffer iterator
302 * \returns buffer iterator
303 */
305 Buffer::Iterator bIterator);
306 /**
307 * Deserialize PLMN identity function
308 *
309 * \param plmnId the PLMN ID
310 * \param bIterator buffer iterator
311 * \returns buffer iterator
312 */
314 /**
315 * Deserialize RACH config common function
316 *
317 * \param rachConfigCommon LteRrcSap::RachConfigCommon *
318 * \param bIterator buffer iterator
319 * \returns buffer iterator
320 */
322 Buffer::Iterator bIterator);
323 /**
324 * Deserialize measure config function
325 *
326 * \param measConfig LteRrcSap::MeasConfig *
327 * \param bIterator buffer iterator
328 * \returns buffer iterator
329 */
331 Buffer::Iterator bIterator);
332 /**
333 * Deserialize Qoffset range function
334 *
335 * \param qOffsetRange Qoffset range
336 * \param bIterator buffer iterator
337 * \returns buffer iterator
338 */
340 /**
341 * Deserialize threshold eutra function
342 *
343 * \param thresholdEutra LteRrcSap::ThresholdEutra *
344 * \param bIterator buffer iterator
345 * \returns buffer iterator
346 */
348 Buffer::Iterator bIterator);
349 /**
350 * Deserialize non critical extension config function
351 *
352 * \param nonCriticalExtension LteRrcSap::NonCriticalExtensionConfiguration *
353 * \param bIterator buffer iterator
354 * \returns buffer iterator
355 */
358 Buffer::Iterator bIterator);
359 /**
360 * Deserialize cell identification function
361 *
362 * \param ci LteRrcSap::CellIdentification *
363 * \param bIterator buffer iterator
364 * \returns buffer iterator
365 */
367 Buffer::Iterator bIterator);
368 /**
369 * Deserialize radio resource config common SCell function
370 *
371 * \param rrccsc LteRrcSap::RadioResourceConfigCommonSCell *
372 * \param bIterator buffer iterator
373 * \returns buffer iterator
374 */
377 Buffer::Iterator bIterator);
378 /**
379 * Deserialize radio resource config dedicated SCell function
380 *
381 * \param rrcdsc LteRrcSap::RadioResourceConfigDedicatedSCell *
382 * \param bIterator buffer iterator
383 * \returns buffer iterator
384 */
387 Buffer::Iterator bIterator);
388 /**
389 * Deserialize physical config dedicated SCell function
390 *
391 * \param pcdsc LteRrcSap::PhysicalConfigDedicatedSCell *
392 * \param bIterator buffer iterator
393 * \returns buffer iterator
394 */
397 Buffer::Iterator bIterator);
398
399 /**
400 * This function prints the object, for debugging purposes.
401 * @param os The output stream to use (i.e. std::cout)
402 */
403 void Print(std::ostream& os) const override;
404 /**
405 * This function prints RadioResourceConfigDedicated IE, for debugging purposes.
406 * @param os The output stream to use (i.e. std::cout)
407 * @param radioResourceConfigDedicated The information element to be printed
408 */
409 void Print(std::ostream& os,
410 LteRrcSap::RadioResourceConfigDedicated radioResourceConfigDedicated) const;
411
412 /// Stores RRC message type, according to 3GPP TS 36.331
414};
415
416/**
417 * This class only serves to discriminate which message type has been received
418 * in uplink (ue to eNb) for channel DCCH
419 */
421{
422 public:
424 ~RrcUlDcchMessage() override;
425
426 // Inherited from RrcAsn1Header
427 uint32_t Deserialize(Buffer::Iterator bIterator) override;
428 void Print(std::ostream& os) const override;
429 void PreSerialize() const override;
430
431 protected:
432 /**
433 * Serialize UL DCCH message function
434 *
435 * \param msgType message type
436 */
437 void SerializeUlDcchMessage(int msgType) const;
438 /**
439 * Deserialize UL DCCH message function
440 *
441 * \param bIterator buffer iterator
442 * \returns buffer iterator
443 */
445};
446
447/**
448 * This class only serves to discriminate which message type has been received
449 * in downlink (eNb to ue) for channel DCCH
450 */
452{
453 public:
455 ~RrcDlDcchMessage() override;
456
457 // Inherited from RrcAsn1Header
458 uint32_t Deserialize(Buffer::Iterator bIterator) override;
459 void Print(std::ostream& os) const override;
460 void PreSerialize() const override;
461
462 protected:
463 /**
464 * Serialize DL DCCH message function
465 *
466 * \param msgType message type
467 */
468 void SerializeDlDcchMessage(int msgType) const;
469 /**
470 * Deserialize DL DCCH message function
471 *
472 * \param bIterator buffer iterator
473 * \returns buffer iterator
474 */
476};
477
478/**
479 * This class only serves to discriminate which message type has been received
480 * in uplink (ue to eNb) for channel CCCH
481 */
483{
484 public:
486 ~RrcUlCcchMessage() override;
487
488 // Inherited from RrcAsn1Header
489 uint32_t Deserialize(Buffer::Iterator bIterator) override;
490 void Print(std::ostream& os) const override;
491 void PreSerialize() const override;
492
493 protected:
494 /**
495 * Serialize UL CCCH message function
496 *
497 * \param msgType message type
498 */
499 void SerializeUlCcchMessage(int msgType) const;
500 /**
501 * Deserialize DL CCCH message function
502 *
503 * \param bIterator buffer iterator
504 * \returns buffer iterator
505 */
507};
508
509/**
510 * This class only serves to discriminate which message type has been received
511 * in downlink (eNb to ue) for channel CCCH
512 */
514{
515 public:
517 ~RrcDlCcchMessage() override;
518
519 // Inherited from RrcAsn1Header
520 uint32_t Deserialize(Buffer::Iterator bIterator) override;
521 void Print(std::ostream& os) const override;
522 void PreSerialize() const override;
523
524 protected:
525 /**
526 * Serialize DL CCCH message function
527 *
528 * \param msgType message type
529 */
530 void SerializeDlCcchMessage(int msgType) const;
531 /**
532 * Deserialize DL CCCH message function
533 *
534 * \param bIterator buffer iterator
535 * \returns buffer iterator
536 */
538};
539
540/**
541 * This class manages the serialization/deserialization of RrcConnectionRequest IE
542 */
544{
545 public:
548
549 /**
550 * \brief Get the type ID.
551 * \return the object TypeId
552 */
553 static TypeId GetTypeId();
554 // Inherited from RrcAsn1Header
555 void PreSerialize() const override;
556 uint32_t Deserialize(Buffer::Iterator bIterator) override;
557 void Print(std::ostream& os) const override;
558
559 /**
560 * Receives a RrcConnectionRequest IE and stores the contents into the class attributes
561 * @param msg The information element to parse
562 */
564
565 /**
566 * Returns a RrcConnectionRequest IE from the values in the class attributes
567 * @return A RrcConnectionRequest, as defined in LteRrcSap
568 */
570
571 /**
572 * Get MMEC attribute
573 * @return m_mmec attribute
574 */
575 std::bitset<8> GetMmec() const;
576
577 /**
578 * Get M-TMSI attribute
579 * @return m_tmsi attribute
580 */
581 std::bitset<32> GetMtmsi() const;
582
583 private:
584 std::bitset<8> m_mmec; ///< MMEC
585 std::bitset<32> m_mTmsi; ///< TMSI
586
587 /// EstablishmentCause enumeration
588 enum
589 {
597 SPARE1
598 } m_establishmentCause; ///< the establishent cause
599
600 std::bitset<1> m_spare; ///< spare bit
601};
602
603/**
604 * This class manages the serialization/deserialization of RrcConnectionSetup IE
605 */
607{
608 public:
610 ~RrcConnectionSetupHeader() override;
611
612 // Inherited from RrcAsn1Header
613 void PreSerialize() const override;
614 uint32_t Deserialize(Buffer::Iterator bIterator) override;
615 void Print(std::ostream& os) const override;
616
617 /**
618 * Receives a RrcConnectionSetup IE and stores the contents into the class attributes
619 * @param msg The information element to parse
620 */
622
623 /**
624 * Returns a RrcConnectionSetup IE from the values in the class attributes
625 * @return A RrcConnectionSetup, as defined in LteRrcSap
626 */
628
629 /**
630 * Getter for m_rrcTransactionIdentifier
631 * @return m_rrcTransactionIdentifier
632 */
633 uint8_t GetRrcTransactionIdentifier() const;
634
635 /**
636 * Getter for m_radioResourceConfigDedicated
637 * @return m_radioResourceConfigDedicated
638 */
640
641 /**
642 * Gets m_radioResourceConfigDedicated.havePhysicalConfigDedicated
643 * @return m_radioResourceConfigDedicated.havePhysicalConfigDedicated
644 */
645 bool HavePhysicalConfigDedicated() const;
646
647 /**
648 * Gets m_radioResourceConfigDedicated.physicalConfigDedicated
649 * @return m_radioResourceConfigDedicated.physicalConfigDedicated
650 */
652
653 /**
654 * Gets m_radioResourceConfigDedicated.srbToAddModList
655 * @return m_radioResourceConfigDedicated.srbToAddModList
656 */
657 std::list<LteRrcSap::SrbToAddMod> GetSrbToAddModList() const;
658
659 /**
660 * Gets m_radioResourceConfigDedicated.drbToAddModList
661 * @return m_radioResourceConfigDedicated.drbToAddModList
662 */
663 std::list<LteRrcSap::DrbToAddMod> GetDrbToAddModList() const;
664
665 /**
666 * Gets m_radioResourceConfigDedicated.drbToReleaseList
667 * @return m_radioResourceConfigDedicated.drbToReleaseList
668 */
669 std::list<uint8_t> GetDrbToReleaseList() const;
670
671 private:
672 uint8_t m_rrcTransactionIdentifier; ///< RRC transaction identifier
674 m_radioResourceConfigDedicated; ///< radio resource config dedicated
675};
676
677/**
678 * This class manages the serialization/deserialization of RrcConnectionSetupComplete IE
679 */
681{
682 public:
685
686 // Inherited from RrcAsn1Header
687 void PreSerialize() const override;
688 uint32_t Deserialize(Buffer::Iterator bIterator) override;
689 void Print(std::ostream& os) const override;
690
691 /**
692 * Receives a RrcConnectionSetupCompleted IE and stores the contents into the class attributes
693 * @param msg The information element to parse
694 */
696
697 /**
698 * Returns a RrcConnectionSetupCompleted IE from the values in the class attributes
699 * @return A RrcConnectionSetupCompleted, as defined in LteRrcSap
700 */
702
703 /**
704 * Getter for m_rrcTransactionIdentifier
705 * @return m_rrcTransactionIdentifier
706 */
707 uint8_t GetRrcTransactionIdentifier() const;
708
709 private:
710 uint8_t m_rrcTransactionIdentifier; ///< RRC transaction identifier
711};
712
713/**
714 * This class manages the serialization/deserialization of RrcConnectionSetupComplete IE
715 */
717{
718 public:
721
722 // Inherited from RrcAsn1Header
723 void PreSerialize() const override;
724 uint32_t Deserialize(Buffer::Iterator bIterator) override;
725 void Print(std::ostream& os) const override;
726
727 /**
728 * Receives a RrcConnectionReconfigurationCompleted IE and stores the contents into the class
729 * attributes
730 * @param msg The information element to parse
731 */
733
734 /**
735 * Returns a RrcConnectionReconfigurationCompleted IE from the values in the class attributes
736 * @return A RrcConnectionReconfigurationCompleted, as defined in LteRrcSap
737 */
739
740 /**
741 * Getter for m_rrcTransactionIdentifier
742 * @return m_rrcTransactionIdentifier
743 */
744 uint8_t GetRrcTransactionIdentifier() const;
745
746 private:
747 uint8_t m_rrcTransactionIdentifier; ///< RRC transaction identifier
748};
749
750/**
751 * This class manages the serialization/deserialization of RrcConnectionReconfiguration IE
752 */
754{
755 public:
758
759 // Inherited from RrcAsn1Header
760 void PreSerialize() const override;
761 uint32_t Deserialize(Buffer::Iterator bIterator) override;
762 void Print(std::ostream& os) const override;
763
764 /**
765 * Receives a RrcConnectionReconfiguration IE and stores the contents into the class attributes
766 * @param msg The information element to parse
767 */
769
770 /**
771 * Returns a RrcConnectionReconfiguration IE from the values in the class attributes
772 * @return A RrcConnectionReconfiguration, as defined in LteRrcSap
773 */
775
776 /**
777 * Getter for m_haveMeasConfig
778 * @return m_haveMeasConfig
779 */
780 bool GetHaveMeasConfig() const;
781
782 /**
783 * Getter for m_measConfig
784 * @return m_measConfig
785 */
787
788 /**
789 * Getter for m_haveMobilityControlInfo
790 * @return m_haveMobilityControlInfo
791 */
792 bool GetHaveMobilityControlInfo() const;
793
794 /**
795 * Getter for m_mobilityControlInfo
796 * @return m_mobilityControlInfo
797 */
799
800 /**
801 * Getter for m_haveRadioResourceConfigDedicated
802 * @return m_haveRadioResourceConfigDedicated
803 */
805
806 /**
807 * Getter for m_radioResourceConfigDedicated
808 * @return m_radioResourceConfigDedicated
809 */
811
812 /**
813 * Getter for m_rrcTransactionIdentifier
814 * @return m_rrcTransactionIdentifier
815 */
816 uint8_t GetRrcTransactionIdentifier() const;
817
818 /**
819 * Getter for m_radioResourceConfigDedicated
820 * @return m_radioResourceConfigDedicated
821 */
823
824 /**
825 * Getter for m_haveNonCriticalExtension
826 * @return m_haveNonCriticalExtension
827 */
829
830 /**
831 * Getter for m_nonCriticalExtension
832 * @return m_nonCriticalExtension
833 */
835
836 /**
837 * Gets m_radioResourceConfigDedicated.havePhysicalConfigDedicated
838 * @return m_radioResourceConfigDedicated.havePhysicalConfigDedicated
839 */
840 bool HavePhysicalConfigDedicated() const;
841
842 /**
843 * Gets m_radioResourceConfigDedicated.physicalConfigDedicated
844 * @return m_radioResourceConfigDedicated.physicalConfigDedicated
845 */
847
848 /**
849 * Gets m_radioResourceConfigDedicated.srbToAddModList
850 * @return m_radioResourceConfigDedicated.srbToAddModList
851 */
852 std::list<LteRrcSap::SrbToAddMod> GetSrbToAddModList() const;
853
854 /**
855 * Gets m_radioResourceConfigDedicated.drbToAddModList
856 * @return m_radioResourceConfigDedicated.drbToAddModList
857 */
858 std::list<LteRrcSap::DrbToAddMod> GetDrbToAddModList() const;
859
860 /**
861 * Gets m_radioResourceConfigDedicated.drbToReleaseList
862 * @return m_radioResourceConfigDedicated.drbToReleaseList
863 */
864 std::list<uint8_t> GetDrbToReleaseList() const;
865
866 private:
867 uint8_t m_rrcTransactionIdentifier; ///< RRC transaction identifier
868 bool m_haveMeasConfig; ///< have measure config?
869 LteRrcSap::MeasConfig m_measConfig; ///< the measure config
870 bool m_haveMobilityControlInfo; ///< have mobility control info?
872 bool m_haveRadioResourceConfigDedicated; ///< have radio resource config dedicated?
874 m_radioResourceConfigDedicated; ///< the radio resource config dedicated
875 bool m_haveNonCriticalExtension; ///< Have non-critical extension
877 m_nonCriticalExtension; ///< the non-critical extension
878};
879
880/**
881 * This class manages the serialization/deserialization of HandoverPreparationInfo IE
882 */
884{
885 public:
887
888 // Inherited from RrcAsn1Header
889 void PreSerialize() const override;
890 uint32_t Deserialize(Buffer::Iterator bIterator) override;
891 void Print(std::ostream& os) const override;
892
893 /**
894 * Receives a HandoverPreparationInfo IE and stores the contents into the class attributes
895 * @param msg The information element to parse
896 */
898
899 /**
900 * Returns a HandoverPreparationInfo IE from the values in the class attributes
901 * @return A HandoverPreparationInfo, as defined in LteRrcSap
902 */
904
905 /**
906 * Getter for m_asConfig
907 * @return m_asConfig
908 */
910
911 private:
913};
914
915/**
916 * This class manages the serialization/deserialization of RRCConnectionReestablishmentRequest IE
917 */
919{
920 public:
923
924 // Inherited from RrcAsn1Header
925 void PreSerialize() const override;
926 uint32_t Deserialize(Buffer::Iterator bIterator) override;
927 void Print(std::ostream& os) const override;
928
929 /**
930 * Receives a RrcConnectionReestablishmentRequest IE and stores the contents into the class
931 * attributes
932 * @param msg The information element to parse
933 */
935
936 /**
937 * Returns a RrcConnectionReestablishmentRequest IE from the values in the class attributes
938 * @return A RrcConnectionReestablishmentRequest, as defined in LteRrcSap
939 */
941
942 /**
943 * Getter for m_ueIdentity
944 * @return m_ueIdentity
945 */
947
948 /**
949 * Getter for m_reestablishmentCause
950 * @return m_reestablishmentCause
951 */
953
954 private:
957};
958
959/**
960 * This class manages the serialization/deserialization of RrcConnectionReestablishment IE
961 */
963{
964 public:
967
968 // Inherited from RrcAsn1Header
969 void PreSerialize() const override;
970 uint32_t Deserialize(Buffer::Iterator bIterator) override;
971 void Print(std::ostream& os) const override;
972
973 /**
974 * Receives a RrcConnectionReestablishment IE and stores the contents into the class attributes
975 * @param msg The information element to parse
976 */
978
979 /**
980 * Returns a RrcConnectionReestablishment IE from the values in the class attributes
981 * @return A RrcConnectionReestablishment, as defined in LteRrcSap
982 */
984
985 /**
986 * Getter for m_rrcTransactionIdentifier attribute
987 * @return m_rrcTransactionIdentifier
988 */
989 uint8_t GetRrcTransactionIdentifier() const;
990
991 /**
992 * Getter for m_radioResourceConfigDedicated attribute
993 * @return m_radioResourceConfigDedicated
994 */
996
997 private:
998 uint8_t m_rrcTransactionIdentifier; ///< RRC transaction identifier
1000 m_radioResourceConfigDedicated; ///< radio resource config dedicated
1001};
1002
1003/**
1004 * This class manages the serialization/deserialization of RrcConnectionReestablishmentComplete IE
1005 */
1007{
1008 public:
1010
1011 // Inherited from RrcAsn1Header
1012 void PreSerialize() const override;
1013 uint32_t Deserialize(Buffer::Iterator bIterator) override;
1014 void Print(std::ostream& os) const override;
1015
1016 /**
1017 * Receives a RrcConnectionReestablishmentComplete IE and stores the contents into the class
1018 * attributes
1019 * @param msg The information element to parse
1020 */
1022
1023 /**
1024 * Returns a RrcConnectionReestablishmentComplete IE from the values in the class attributes
1025 * @return A RrcConnectionReestablishmentComplete, as defined in LteRrcSap
1026 */
1028
1029 /**
1030 * Getter for m_rrcTransactionIdentifier attribute
1031 * @return m_rrcTransactionIdentifier
1032 */
1033 uint8_t GetRrcTransactionIdentifier() const;
1034
1035 private:
1036 uint8_t m_rrcTransactionIdentifier; ///< RRC transaction identifier
1037};
1038
1039/**
1040 * This class manages the serialization/deserialization of RrcConnectionReestablishmentReject IE
1041 */
1043{
1044 public:
1047
1048 // Inherited from RrcAsn1Header
1049 void PreSerialize() const override;
1050 uint32_t Deserialize(Buffer::Iterator bIterator) override;
1051 void Print(std::ostream& os) const override;
1052
1053 /**
1054 * Receives a RrcConnectionReestablishmentReject IE and stores the contents into the class
1055 * attributes
1056 * @param msg The information element to parse
1057 */
1059
1060 /**
1061 * Returns a RrcConnectionReestablishmentReject IE from the values in the class attributes
1062 * @return A RrcConnectionReestablishmentReject, as defined in LteRrcSap
1063 */
1065
1066 private:
1068 m_rrcConnectionReestablishmentReject; ///< RRC connection reestablishmnet reject
1069};
1070
1071/**
1072 * This class manages the serialization/deserialization of RrcConnectionRelease IE
1073 */
1075{
1076 public:
1078 ~RrcConnectionReleaseHeader() override;
1079
1080 // Inherited from RrcAsn1Header
1081 void PreSerialize() const override;
1082 uint32_t Deserialize(Buffer::Iterator bIterator) override;
1083 void Print(std::ostream& os) const override;
1084
1085 /**
1086 * Receives a RrcConnectionRelease IE and stores the contents into the class attributes
1087 * @param msg The information element to parse
1088 */
1090
1091 /**
1092 * Returns a RrcConnectionRelease IE from the values in the class attributes
1093 * @return A RrcConnectionRelease, as defined in LteRrcSap
1094 */
1096
1097 private:
1099};
1100
1101/**
1102 * This class manages the serialization/deserialization of RrcConnectionReject IE
1103 */
1105{
1106 public:
1108 ~RrcConnectionRejectHeader() override;
1109
1110 // Inherited from RrcAsn1Header
1111 void PreSerialize() const override;
1112 uint32_t Deserialize(Buffer::Iterator bIterator) override;
1113 void Print(std::ostream& os) const override;
1114
1115 /**
1116 * Receives a RrcConnectionReject IE and stores the contents into the class attributes
1117 * @param msg The information element to parse
1118 */
1120
1121 /**
1122 * Returns a RrcConnectionReject IE from the values in the class attributes
1123 * @return A RrcConnectionReject, as defined in LteRrcSap
1124 */
1126
1127 private:
1129};
1130
1131/**
1132 * This class manages the serialization/deserialization of MeasurementReport IE
1133 */
1135{
1136 public:
1138 ~MeasurementReportHeader() override;
1139
1140 // Inherited from RrcAsn1Header
1141 void PreSerialize() const override;
1142 uint32_t Deserialize(Buffer::Iterator bIterator) override;
1143 void Print(std::ostream& os) const override;
1144
1145 /**
1146 * Receives a MeasurementReport IE and stores the contents into the class attributes
1147 * @param msg The information element to parse
1148 */
1150
1151 /**
1152 * Returns a MeasurementReport IE from the values in the class attributes
1153 * @return A MeasurementReport, as defined in LteRrcSap
1154 */
1156
1157 private:
1159};
1160
1161} // namespace ns3
1162
1163#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:100
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
This function prints the object, for debugging purposes.
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.
Definition: lte-rrc-sap.h:614
This class manages the serialization/deserialization of MeasurementReport IE.
void Print(std::ostream &os) const override
This function prints the object, for debugging purposes.
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< 8 > m_mmec
MMEC.
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:59
Every class exported by the ns3 library is enclosed in the ns3 namespace.
AsConfig structure.
Definition: lte-rrc-sap.h:650
CellIdentification structure.
Definition: lte-rrc-sap.h:750
HandoverPreparationInfo structure.
Definition: lte-rrc-sap.h:942
LogicalChannelConfig structure.
Definition: lte-rrc-sap.h:109
MeasConfig structure.
Definition: lte-rrc-sap.h:553
MeasResults structure.
Definition: lte-rrc-sap.h:717
MeasurementReport structure.
Definition: lte-rrc-sap.h:948
MobilityControlInfo structure.
Definition: lte-rrc-sap.h:593
NonCriticalExtensionConfiguration structure.
Definition: lte-rrc-sap.h:874
PhysicalConfigDedicated structure.
Definition: lte-rrc-sap.h:226
PhysicalConfigDedicatedSCell structure.
Definition: lte-rrc-sap.h:821
RachConfigCommon structure.
Definition: lte-rrc-sap.h:275
RadioResourceConfigCommon structure.
Definition: lte-rrc-sap.h:283
RadioResourceConfigCommonSCell.
Definition: lte-rrc-sap.h:846
RadioResourceConfigCommonSib structure.
Definition: lte-rrc-sap.h:289
RadioResourceConfigDedicated structure.
Definition: lte-rrc-sap.h:296
RadioResourceConfigDedicatedSCell structure.
Definition: lte-rrc-sap.h:855
ReestabUeIdentity structure.
Definition: lte-rrc-sap.h:607
RrcConnectionReconfigurationCompleted structure.
Definition: lte-rrc-sap.h:898
RrcConnectionReconfiguration structure.
Definition: lte-rrc-sap.h:881
RrcConnectionReestablishmentComplete structure.
Definition: lte-rrc-sap.h:919
RrcConnectionReestablishment structure.
Definition: lte-rrc-sap.h:911
RrcConnectionReestablishmentReject structure.
Definition: lte-rrc-sap.h:925
RrcConnectionReestablishmentRequest structure.
Definition: lte-rrc-sap.h:904
RrcConnectionReject structure.
Definition: lte-rrc-sap.h:936
RrcConnectionRelease structure.
Definition: lte-rrc-sap.h:930
RrcConnectionRequest structure.
Definition: lte-rrc-sap.h:730
RrcConnectionSetupCompleted structure.
Definition: lte-rrc-sap.h:744
RrcConnectionSetup structure.
Definition: lte-rrc-sap.h:736
SystemInformationBlockType1 structure.
Definition: lte-rrc-sap.h:629
SystemInformationBlockType2 structure.
Definition: lte-rrc-sap.h:636
Threshold for event evaluation.
Definition: lte-rrc-sap.h:360