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 "ns3/header.h"
27 #include "ns3/lte-asn1-header.h"
28 #include "ns3/lte-rrc-sap.h"
29 
30 #include <bitset>
31 #include <string>
32 
33 namespace ns3
34 {
35 
44 class RrcAsn1Header : public Asn1Header
45 {
46  public:
47  RrcAsn1Header();
53  int GetMessageType() const;
54 
55  protected:
60  static TypeId GetTypeId();
61  // Inherited from Asn1Header
62  TypeId GetInstanceTypeId() const override;
63  uint32_t Deserialize(Buffer::Iterator bIterator) override = 0;
64  void PreSerialize() const override = 0;
65 
66  // Auxiliary functions
73  int BandwidthToEnum(uint16_t bandwidth) const;
80  uint16_t EnumToBandwidth(int n) const;
81 
82  // Serialization functions
88  void SerializeSrbToAddModList(std::list<LteRrcSap::SrbToAddMod> srbToAddModList) const;
94  void SerializeDrbToAddModList(std::list<LteRrcSap::DrbToAddMod> drbToAddModList) const;
100  void SerializeLogicalChannelConfig(LteRrcSap::LogicalChannelConfig logicalChannelConfig) const;
107  LteRrcSap::RadioResourceConfigDedicated radioResourceConfigDedicated) const;
114  LteRrcSap::PhysicalConfigDedicated physicalConfigDedicated) const;
127  LteRrcSap::SystemInformationBlockType1 systemInformationBlockType1) const;
134  LteRrcSap::SystemInformationBlockType2 systemInformationBlockType2) const;
141  LteRrcSap::RadioResourceConfigCommon radioResourceConfigCommon) const;
148  LteRrcSap::RadioResourceConfigCommonSib radioResourceConfigCommonSib) const;
154  void SerializeMeasResults(LteRrcSap::MeasResults measResults) const;
160  void SerializePlmnIdentity(uint32_t plmnId) const;
166  void SerializeRachConfigCommon(LteRrcSap::RachConfigCommon rachConfigCommon) const;
172  void SerializeMeasConfig(LteRrcSap::MeasConfig measConfig) const;
179  LteRrcSap::NonCriticalExtensionConfiguration nonCriticalExtensionConfiguration) const;
199  void SerializeQoffsetRange(int8_t qOffsetRange) const;
205  void SerializeThresholdEutra(LteRrcSap::ThresholdEutra thresholdEutra) const;
206 
207  // Deserialization functions
215  Buffer::Iterator DeserializeDrbToAddModList(std::list<LteRrcSap::DrbToAddMod>* drbToAddModLis,
216  Buffer::Iterator bIterator);
224  Buffer::Iterator DeserializeSrbToAddModList(std::list<LteRrcSap::SrbToAddMod>* srbToAddModList,
225  Buffer::Iterator bIterator);
234  LteRrcSap::LogicalChannelConfig* logicalChannelConfig,
235  Buffer::Iterator bIterator);
244  LteRrcSap::RadioResourceConfigDedicated* radioResourceConfigDedicated,
245  Buffer::Iterator bIterator);
254  LteRrcSap::PhysicalConfigDedicated* physicalConfigDedicated,
255  Buffer::Iterator bIterator);
264  LteRrcSap::SystemInformationBlockType1* systemInformationBlockType1,
265  Buffer::Iterator bIterator);
274  LteRrcSap::SystemInformationBlockType2* systemInformationBlockType2,
275  Buffer::Iterator bIterator);
284  LteRrcSap::RadioResourceConfigCommon* radioResourceConfigCommon,
285  Buffer::Iterator bIterator);
294  LteRrcSap::RadioResourceConfigCommonSib* radioResourceConfigCommonSib,
295  Buffer::Iterator bIterator);
304  Buffer::Iterator bIterator);
312  Buffer::Iterator DeserializePlmnIdentity(uint32_t* plmnId, Buffer::Iterator bIterator);
321  Buffer::Iterator bIterator);
330  Buffer::Iterator bIterator);
338  Buffer::Iterator DeserializeQoffsetRange(int8_t* qOffsetRange, Buffer::Iterator bIterator);
347  Buffer::Iterator bIterator);
356  LteRrcSap::NonCriticalExtensionConfiguration* nonCriticalExtension,
357  Buffer::Iterator bIterator);
366  Buffer::Iterator bIterator);
376  Buffer::Iterator bIterator);
386  Buffer::Iterator bIterator);
396  Buffer::Iterator bIterator);
397 
402  void Print(std::ostream& os) const override;
408  void Print(std::ostream& os,
409  LteRrcSap::RadioResourceConfigDedicated radioResourceConfigDedicated) const;
410 
413 };
414 
420 {
421  public:
423  ~RrcUlDcchMessage() override;
424 
425  // Inherited from RrcAsn1Header
426  uint32_t Deserialize(Buffer::Iterator bIterator) override;
427  void Print(std::ostream& os) const override;
428  void PreSerialize() const override;
429 
430  protected:
436  void SerializeUlDcchMessage(int msgType) const;
444 };
445 
451 {
452  public:
454  ~RrcDlDcchMessage() override;
455 
456  // Inherited from RrcAsn1Header
457  uint32_t Deserialize(Buffer::Iterator bIterator) override;
458  void Print(std::ostream& os) const override;
459  void PreSerialize() const override;
460 
461  protected:
467  void SerializeDlDcchMessage(int msgType) const;
475 };
476 
482 {
483  public:
485  ~RrcUlCcchMessage() override;
486 
487  // Inherited from RrcAsn1Header
488  uint32_t Deserialize(Buffer::Iterator bIterator) override;
489  void Print(std::ostream& os) const override;
490  void PreSerialize() const override;
491 
492  protected:
498  void SerializeUlCcchMessage(int msgType) const;
506 };
507 
513 {
514  public:
516  ~RrcDlCcchMessage() override;
517 
518  // Inherited from RrcAsn1Header
519  uint32_t Deserialize(Buffer::Iterator bIterator) override;
520  void Print(std::ostream& os) const override;
521  void PreSerialize() const override;
522 
523  protected:
529  void SerializeDlCcchMessage(int msgType) const;
537 };
538 
543 {
544  public:
546  ~RrcConnectionRequestHeader() override;
547 
552  static TypeId GetTypeId();
553  // Inherited from RrcAsn1Header
554  void PreSerialize() const override;
555  uint32_t Deserialize(Buffer::Iterator bIterator) override;
556  void Print(std::ostream& os) const override;
557 
563 
569 
574  std::bitset<8> GetMmec() const;
575 
580  std::bitset<32> GetMtmsi() const;
581 
582  private:
583  std::bitset<8> m_mmec;
584  std::bitset<32> m_mTmsi;
585 
587  enum
588  {
596  SPARE1
598 
599  std::bitset<1> m_spare;
600 };
601 
606 {
607  public:
609  ~RrcConnectionSetupHeader() override;
610 
611  // Inherited from RrcAsn1Header
612  void PreSerialize() const override;
613  uint32_t Deserialize(Buffer::Iterator bIterator) override;
614  void Print(std::ostream& os) const override;
615 
621 
627 
632  uint8_t GetRrcTransactionIdentifier() const;
633 
639 
644  bool HavePhysicalConfigDedicated() const;
645 
651 
656  std::list<LteRrcSap::SrbToAddMod> GetSrbToAddModList() const;
657 
662  std::list<LteRrcSap::DrbToAddMod> GetDrbToAddModList() const;
663 
668  std::list<uint8_t> GetDrbToReleaseList() const;
669 
670  private:
674 };
675 
680 {
681  public:
684 
685  // Inherited from RrcAsn1Header
686  void PreSerialize() const override;
687  uint32_t Deserialize(Buffer::Iterator bIterator) override;
688  void Print(std::ostream& os) const override;
689 
695 
701 
706  uint8_t GetRrcTransactionIdentifier() const;
707 
708  private:
710 };
711 
716 {
717  public:
720 
721  // Inherited from RrcAsn1Header
722  void PreSerialize() const override;
723  uint32_t Deserialize(Buffer::Iterator bIterator) override;
724  void Print(std::ostream& os) const override;
725 
732 
738 
743  uint8_t GetRrcTransactionIdentifier() const;
744 
745  private:
747 };
748 
753 {
754  public:
757 
758  // Inherited from RrcAsn1Header
759  void PreSerialize() const override;
760  uint32_t Deserialize(Buffer::Iterator bIterator) override;
761  void Print(std::ostream& os) const override;
762 
768 
774 
779  bool GetHaveMeasConfig() const;
780 
786 
791  bool GetHaveMobilityControlInfo() const;
792 
798 
804 
810 
815  uint8_t GetRrcTransactionIdentifier() const;
816 
822 
828 
834 
839  bool HavePhysicalConfigDedicated() const;
840 
846 
851  std::list<LteRrcSap::SrbToAddMod> GetSrbToAddModList() const;
852 
857  std::list<LteRrcSap::DrbToAddMod> GetDrbToAddModList() const;
858 
863  std::list<uint8_t> GetDrbToReleaseList() const;
864 
865  private:
877 };
878 
883 {
884  public:
886 
887  // Inherited from RrcAsn1Header
888  void PreSerialize() const override;
889  uint32_t Deserialize(Buffer::Iterator bIterator) override;
890  void Print(std::ostream& os) const override;
891 
897 
903 
909 
910  private:
912 };
913 
918 {
919  public:
922 
923  // Inherited from RrcAsn1Header
924  void PreSerialize() const override;
925  uint32_t Deserialize(Buffer::Iterator bIterator) override;
926  void Print(std::ostream& os) const override;
927 
934 
940 
946 
952 
953  private:
956 };
957 
962 {
963  public:
966 
967  // Inherited from RrcAsn1Header
968  void PreSerialize() const override;
969  uint32_t Deserialize(Buffer::Iterator bIterator) override;
970  void Print(std::ostream& os) const override;
971 
977 
983 
988  uint8_t GetRrcTransactionIdentifier() const;
989 
995 
996  private:
1000 };
1001 
1006 {
1007  public:
1009 
1010  // Inherited from RrcAsn1Header
1011  void PreSerialize() const override;
1012  uint32_t Deserialize(Buffer::Iterator bIterator) override;
1013  void Print(std::ostream& os) const override;
1014 
1021 
1027 
1032  uint8_t GetRrcTransactionIdentifier() const;
1033 
1034  private:
1036 };
1037 
1042 {
1043  public:
1046 
1047  // Inherited from RrcAsn1Header
1048  void PreSerialize() const override;
1049  uint32_t Deserialize(Buffer::Iterator bIterator) override;
1050  void Print(std::ostream& os) const override;
1051 
1058 
1064 
1065  private:
1068 };
1069 
1074 {
1075  public:
1077  ~RrcConnectionReleaseHeader() override;
1078 
1079  // Inherited from RrcAsn1Header
1080  void PreSerialize() const override;
1081  uint32_t Deserialize(Buffer::Iterator bIterator) override;
1082  void Print(std::ostream& os) const override;
1083 
1089 
1095 
1096  private:
1098 };
1099 
1104 {
1105  public:
1107  ~RrcConnectionRejectHeader() override;
1108 
1109  // Inherited from RrcAsn1Header
1110  void PreSerialize() const override;
1111  uint32_t Deserialize(Buffer::Iterator bIterator) override;
1112  void Print(std::ostream& os) const override;
1113 
1119 
1125 
1126  private:
1128 };
1129 
1134 {
1135  public:
1137  ~MeasurementReportHeader() override;
1138 
1139  // Inherited from RrcAsn1Header
1140  void PreSerialize() const override;
1141  uint32_t Deserialize(Buffer::Iterator bIterator) override;
1142  void Print(std::ostream& os) const override;
1143 
1149 
1155 
1156  private:
1158 };
1159 
1160 } // namespace ns3
1161 
1162 #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.
enum ns3::RrcConnectionRequestHeader::@62 m_establishmentCause
EstablishmentCause enumeration.
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.
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:60
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