A Discrete-Event Network Simulator
API
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 
34 namespace ns3
35 {
36 
45 class RrcAsn1Header : public Asn1Header
46 {
47  public:
48  RrcAsn1Header();
54  int GetMessageType() const;
55 
56  protected:
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
74  int BandwidthToEnum(uint16_t bandwidth) const;
81  uint16_t EnumToBandwidth(int n) const;
82 
83  // Serialization functions
89  void SerializeSrbToAddModList(std::list<LteRrcSap::SrbToAddMod> srbToAddModList) const;
95  void SerializeDrbToAddModList(std::list<LteRrcSap::DrbToAddMod> drbToAddModList) const;
101  void SerializeLogicalChannelConfig(LteRrcSap::LogicalChannelConfig logicalChannelConfig) const;
108  LteRrcSap::RadioResourceConfigDedicated radioResourceConfigDedicated) const;
115  LteRrcSap::PhysicalConfigDedicated physicalConfigDedicated) const;
128  LteRrcSap::SystemInformationBlockType1 systemInformationBlockType1) const;
135  LteRrcSap::SystemInformationBlockType2 systemInformationBlockType2) const;
142  LteRrcSap::RadioResourceConfigCommon radioResourceConfigCommon) const;
149  LteRrcSap::RadioResourceConfigCommonSib radioResourceConfigCommonSib) const;
155  void SerializeMeasResults(LteRrcSap::MeasResults measResults) const;
161  void SerializePlmnIdentity(uint32_t plmnId) const;
167  void SerializeRachConfigCommon(LteRrcSap::RachConfigCommon rachConfigCommon) const;
173  void SerializeMeasConfig(LteRrcSap::MeasConfig measConfig) const;
180  LteRrcSap::NonCriticalExtensionConfiguration nonCriticalExtensionConfiguration) const;
200  void SerializeQoffsetRange(int8_t qOffsetRange) const;
206  void SerializeThresholdEutra(LteRrcSap::ThresholdEutra thresholdEutra) const;
207 
208  // Deserialization functions
216  Buffer::Iterator DeserializeDrbToAddModList(std::list<LteRrcSap::DrbToAddMod>* drbToAddModLis,
217  Buffer::Iterator bIterator);
225  Buffer::Iterator DeserializeSrbToAddModList(std::list<LteRrcSap::SrbToAddMod>* srbToAddModList,
226  Buffer::Iterator bIterator);
235  LteRrcSap::LogicalChannelConfig* logicalChannelConfig,
236  Buffer::Iterator bIterator);
245  LteRrcSap::RadioResourceConfigDedicated* radioResourceConfigDedicated,
246  Buffer::Iterator bIterator);
255  LteRrcSap::PhysicalConfigDedicated* physicalConfigDedicated,
256  Buffer::Iterator bIterator);
265  LteRrcSap::SystemInformationBlockType1* systemInformationBlockType1,
266  Buffer::Iterator bIterator);
275  LteRrcSap::SystemInformationBlockType2* systemInformationBlockType2,
276  Buffer::Iterator bIterator);
285  LteRrcSap::RadioResourceConfigCommon* radioResourceConfigCommon,
286  Buffer::Iterator bIterator);
295  LteRrcSap::RadioResourceConfigCommonSib* radioResourceConfigCommonSib,
296  Buffer::Iterator bIterator);
305  Buffer::Iterator bIterator);
313  Buffer::Iterator DeserializePlmnIdentity(uint32_t* plmnId, Buffer::Iterator bIterator);
322  Buffer::Iterator bIterator);
331  Buffer::Iterator bIterator);
339  Buffer::Iterator DeserializeQoffsetRange(int8_t* qOffsetRange, Buffer::Iterator bIterator);
348  Buffer::Iterator bIterator);
357  LteRrcSap::NonCriticalExtensionConfiguration* nonCriticalExtension,
358  Buffer::Iterator bIterator);
367  Buffer::Iterator bIterator);
377  Buffer::Iterator bIterator);
387  Buffer::Iterator bIterator);
397  Buffer::Iterator bIterator);
398 
403  void Print(std::ostream& os) const override;
409  void Print(std::ostream& os,
410  LteRrcSap::RadioResourceConfigDedicated radioResourceConfigDedicated) const;
411 
414 };
415 
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:
437  void SerializeUlDcchMessage(int msgType) const;
445 };
446 
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:
468  void SerializeDlDcchMessage(int msgType) const;
476 };
477 
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:
499  void SerializeUlCcchMessage(int msgType) const;
507 };
508 
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:
530  void SerializeDlCcchMessage(int msgType) const;
538 };
539 
544 {
545  public:
547  ~RrcConnectionRequestHeader() override;
548 
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 
564 
570 
575  std::bitset<8> GetMmec() const;
576 
581  std::bitset<32> GetMtmsi() const;
582 
583  private:
584  std::bitset<8> m_mmec;
585  std::bitset<32> m_mTmsi;
586 
588  enum
589  {
597  SPARE1
599 
600  std::bitset<1> m_spare;
601 };
602 
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 
622 
628 
633  uint8_t GetRrcTransactionIdentifier() const;
634 
640 
645  bool HavePhysicalConfigDedicated() const;
646 
652 
657  std::list<LteRrcSap::SrbToAddMod> GetSrbToAddModList() const;
658 
663  std::list<LteRrcSap::DrbToAddMod> GetDrbToAddModList() const;
664 
669  std::list<uint8_t> GetDrbToReleaseList() const;
670 
671  private:
675 };
676 
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 
696 
702 
707  uint8_t GetRrcTransactionIdentifier() const;
708 
709  private:
711 };
712 
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 
733 
739 
744  uint8_t GetRrcTransactionIdentifier() const;
745 
746  private:
748 };
749 
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 
769 
775 
780  bool GetHaveMeasConfig() const;
781 
787 
792  bool GetHaveMobilityControlInfo() const;
793 
799 
805 
811 
816  uint8_t GetRrcTransactionIdentifier() const;
817 
823 
829 
835 
840  bool HavePhysicalConfigDedicated() const;
841 
847 
852  std::list<LteRrcSap::SrbToAddMod> GetSrbToAddModList() const;
853 
858  std::list<LteRrcSap::DrbToAddMod> GetDrbToAddModList() const;
859 
864  std::list<uint8_t> GetDrbToReleaseList() const;
865 
866  private:
878 };
879 
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 
898 
904 
910 
911  private:
913 };
914 
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 
935 
941 
947 
953 
954  private:
957 };
958 
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 
978 
984 
989  uint8_t GetRrcTransactionIdentifier() const;
990 
996 
997  private:
1001 };
1002 
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 
1022 
1028 
1033  uint8_t GetRrcTransactionIdentifier() const;
1034 
1035  private:
1037 };
1038 
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 
1059 
1065 
1066  private:
1069 };
1070 
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 
1090 
1096 
1097  private:
1099 };
1100 
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 
1120 
1126 
1127  private:
1129 };
1130 
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 
1150 
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.
LteRrcSap::AsConfig GetAsConfig() const
Getter for m_asConfig.
virtual uint32_t Deserialize(Buffer::Iterator start)=0
Deserialize the object from a buffer iterator.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
void SetMessage(LteRrcSap::RrcConnectionRequest msg)
Receives a RrcConnectionRequest IE and stores the contents into the class attributes.
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.
enum ns3::RrcConnectionRequestHeader::@61 m_establishmentCause
EstablishmentCause enumeration.
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.
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.
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.
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.
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.
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.
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