src/lte/model/lte-rrc-sap.h
author Peter D. Barnes, Jr. <barnes26@llnl.gov>
Thu, 13 Aug 2015 12:10:01 -0700
changeset 11577 0210ca11dad1
parent 10955 8fae7d21dfa8
permissions -rw-r--r--
GetDevice() should be const.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
     1
/* -*-  Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
     2
/*
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
     3
 * Copyright (c) 2012 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC)
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
     4
 *
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
     5
 * This program is free software; you can redistribute it and/or modify
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
     6
 * it under the terms of the GNU General Public License version 2 as
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
     7
 * published by the Free Software Foundation;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
     8
 *
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
     9
 * This program is distributed in the hope that it will be useful,
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
    10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
    11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
    12
 * GNU General Public License for more details.
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
    13
 *
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
    14
 * You should have received a copy of the GNU General Public License
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
    15
 * along with this program; if not, write to the Free Software
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
    16
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
    17
 *
9595
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
    18
 * Authors: Nicola Baldo <nbaldo@cttc.es>
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
    19
 *          Lluis Parcerisa <lparcerisa@cttc.cat>
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
    20
 */
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
    21
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
    22
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
    23
#ifndef LTE_RRC_SAP_H
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
    24
#define LTE_RRC_SAP_H
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
    25
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
    26
#include <stdint.h>
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
    27
#include <list>
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
    28
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
    29
#include <ns3/ptr.h>
9580
7f5eb0ebc639 LteRrcSap now scheduling DoRecvXxx methods instead of direct call
Nicola Baldo <nbaldo@cttc.es>
parents: 9510
diff changeset
    30
#include <ns3/simulator.h>
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
    31
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
    32
namespace ns3 {
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
    33
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
    34
class LteRlcSapUser;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
    35
class LtePdcpSapUser;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
    36
class LteRlcSapProvider;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
    37
class LtePdcpSapProvider;
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
    38
class Packet;
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
    39
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
    40
/**
10263
fa253ff619ba Constructor for ReportConfigEutra
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10028
diff changeset
    41
 * \ingroup lte
fa253ff619ba Constructor for ReportConfigEutra
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10028
diff changeset
    42
 *
fa253ff619ba Constructor for ReportConfigEutra
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10028
diff changeset
    43
 * \brief Class holding definition common to all UE/eNodeB SAP Users/Providers.
fa253ff619ba Constructor for ReportConfigEutra
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10028
diff changeset
    44
 *
fa253ff619ba Constructor for ReportConfigEutra
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10028
diff changeset
    45
 * See 3GPP TS 36.331 for reference.
fa253ff619ba Constructor for ReportConfigEutra
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10028
diff changeset
    46
 *
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
    47
 * Note that only those values that are (expected to be) used by the
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
    48
 * ns-3 model are mentioned here. The naming of the variables that are
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
    49
 * defined here is the same of 36.331, except for removal of "-" and
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
    50
 * conversion to CamelCase or ALL_CAPS where needed in order to follow
10263
fa253ff619ba Constructor for ReportConfigEutra
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10028
diff changeset
    51
 * the ns-3 coding style. Due to the 1-to-1 mapping with TS 36.331,
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
    52
 * detailed doxygen documentation is omitted, so please refer to
10023
d0cec03b1409 Fix valgrind error reported on Task #983
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9995
diff changeset
    53
 * 36.331 for the meaning of these data structures / fields.
10263
fa253ff619ba Constructor for ReportConfigEutra
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10028
diff changeset
    54
 *
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
    55
 */
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
    56
class LteRrcSap
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
    57
{
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
    58
public:
9423
7127b2b9668f fix compilation error with gcc-4.7
Nicola Baldo <nbaldo@cttc.es>
parents: 9413
diff changeset
    59
  virtual ~LteRrcSap ();
7127b2b9668f fix compilation error with gcc-4.7
Nicola Baldo <nbaldo@cttc.es>
parents: 9413
diff changeset
    60
9988
9d9eb2a87eef Add const values in RRC SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9662
diff changeset
    61
  // Constraint values
9d9eb2a87eef Add const values in RRC SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9662
diff changeset
    62
9d9eb2a87eef Add const values in RRC SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9662
diff changeset
    63
  static const uint8_t MaxReportCells = 255;
9d9eb2a87eef Add const values in RRC SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9662
diff changeset
    64
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
    65
  // Information Elements
9988
9d9eb2a87eef Add const values in RRC SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9662
diff changeset
    66
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
    67
  struct PlmnIdentityInfo
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
    68
  {
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
    69
    uint32_t plmnIdentity;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
    70
  };
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
    71
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
    72
  struct CellAccessRelatedInfo
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
    73
  {
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
    74
    PlmnIdentityInfo plmnIdentityInfo;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
    75
    uint32_t cellIdentity;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
    76
    bool csgIndication;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
    77
    uint32_t csgIdentity;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
    78
  };
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
    79
10288
ea6c9b15169c Attempt to initial synchronization, cell search, MIB and SIB1
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10271
diff changeset
    80
  struct CellSelectionInfo
ea6c9b15169c Attempt to initial synchronization, cell search, MIB and SIB1
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10271
diff changeset
    81
  {
ea6c9b15169c Attempt to initial synchronization, cell search, MIB and SIB1
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10271
diff changeset
    82
    int8_t qRxLevMin; ///< INTEGER (-70..-22), actual value = IE value * 2 [dBm].
ea6c9b15169c Attempt to initial synchronization, cell search, MIB and SIB1
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10271
diff changeset
    83
    int8_t qQualMin; ///< INTEGER (-34..-3), actual value = IE value [dB].
ea6c9b15169c Attempt to initial synchronization, cell search, MIB and SIB1
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10271
diff changeset
    84
  };
ea6c9b15169c Attempt to initial synchronization, cell search, MIB and SIB1
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10271
diff changeset
    85
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
    86
  struct FreqInfo
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
    87
  {
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
    88
    uint16_t ulCarrierFreq;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
    89
    uint8_t ulBandwidth;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
    90
  };
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
    91
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
    92
  struct RlcConfig
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
    93
  {
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
    94
    enum
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
    95
    {
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
    96
      AM,
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
    97
      UM_BI_DIRECTIONAL,
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
    98
      UM_UNI_DIRECTIONAL_UL,
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
    99
      UM_UNI_DIRECTIONAL_DL
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   100
    } choice;
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   101
  };
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   102
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   103
  struct LogicalChannelConfig
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   104
  {
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   105
    uint8_t priority;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   106
    uint16_t prioritizedBitRateKbps;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   107
    uint16_t bucketSizeDurationMs;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   108
    uint8_t logicalChannelGroup;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   109
  };
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   110
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   111
  struct SoundingRsUlConfigCommon
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   112
  {
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   113
    enum
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   114
    {
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   115
      SETUP, RESET
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   116
    } type;
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   117
    uint8_t srsBandwidthConfig;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   118
    uint8_t srsSubframeConfig;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   119
  };
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   120
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   121
  struct SoundingRsUlConfigDedicated
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   122
  {
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   123
    enum
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   124
    {
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   125
      SETUP, RESET
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   126
    } type;
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   127
    uint8_t srsBandwidth;
9409
4513a6e69157 more LTE RRC test cases
Nicola Baldo <nbaldo@cttc.es>
parents: 9406
diff changeset
   128
    uint16_t srsConfigIndex;
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   129
  };
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   130
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   131
  struct AntennaInfoDedicated
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   132
  {
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   133
    uint8_t transmissionMode;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   134
  };
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   135
10892
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10425
diff changeset
   136
  struct PdschConfigCommon
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10425
diff changeset
   137
  {
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10425
diff changeset
   138
	int8_t referenceSignalPower;  // INTEGER (-60..50),
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10425
diff changeset
   139
    int8_t pb;                    // INTEGER (0..3),
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10425
diff changeset
   140
  };
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10425
diff changeset
   141
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10425
diff changeset
   142
  struct PdschConfigDedicated
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10425
diff changeset
   143
  {
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10425
diff changeset
   144
    /*
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10425
diff changeset
   145
     * P_A values, TS 36.331 6.3.2 PDSCH-Config
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10425
diff changeset
   146
     * ENUMERATED { dB-6, dB-4dot77, dB-3, dB-1dot77, dB0, dB1, dB2, dB3 }
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10425
diff changeset
   147
     */
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10425
diff changeset
   148
    enum
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10425
diff changeset
   149
    {
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10425
diff changeset
   150
      dB_6,
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10425
diff changeset
   151
      dB_4dot77,
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10425
diff changeset
   152
      dB_3,
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10425
diff changeset
   153
      dB_1dot77,
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10425
diff changeset
   154
      dB0,
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10425
diff changeset
   155
      dB1,
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10425
diff changeset
   156
      dB2,
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10425
diff changeset
   157
      dB3
10955
8fae7d21dfa8 silence uninitialized variable warning for unused member
Tom Henderson <tomh@tomh.org>
parents: 10892
diff changeset
   158
    };
10892
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10425
diff changeset
   159
    uint8_t pa;
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10425
diff changeset
   160
  };
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10425
diff changeset
   161
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10425
diff changeset
   162
  static double ConvertPdschConfigDedicated2Double (PdschConfigDedicated pdschConfigDedicated)
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10425
diff changeset
   163
  {
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10425
diff changeset
   164
    double pa = 0;
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10425
diff changeset
   165
    switch (pdschConfigDedicated.pa)
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10425
diff changeset
   166
      {
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10425
diff changeset
   167
      case PdschConfigDedicated::dB_6:
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10425
diff changeset
   168
        pa = -6;
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10425
diff changeset
   169
        break;
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10425
diff changeset
   170
      case PdschConfigDedicated::dB_4dot77:
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10425
diff changeset
   171
        pa = -4.77;
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10425
diff changeset
   172
        break;
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10425
diff changeset
   173
      case PdschConfigDedicated::dB_3:
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10425
diff changeset
   174
        pa = -3;
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10425
diff changeset
   175
        break;
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10425
diff changeset
   176
      case PdschConfigDedicated::dB_1dot77:
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10425
diff changeset
   177
        pa = -1.77;
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10425
diff changeset
   178
        break;
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10425
diff changeset
   179
      case PdschConfigDedicated::dB0:
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10425
diff changeset
   180
        pa = 0;
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10425
diff changeset
   181
        break;
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10425
diff changeset
   182
      case PdschConfigDedicated::dB1:
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10425
diff changeset
   183
        pa = 1;
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10425
diff changeset
   184
        break;
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10425
diff changeset
   185
      case PdschConfigDedicated::dB2:
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10425
diff changeset
   186
        pa = 2;
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10425
diff changeset
   187
        break;
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10425
diff changeset
   188
      case PdschConfigDedicated::dB3:
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10425
diff changeset
   189
        pa = 3;
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10425
diff changeset
   190
        break;
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10425
diff changeset
   191
      default:
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10425
diff changeset
   192
        break;
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10425
diff changeset
   193
      }
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10425
diff changeset
   194
    return pa;
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10425
diff changeset
   195
  }
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   196
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   197
  struct PhysicalConfigDedicated
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   198
  {
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   199
    bool haveSoundingRsUlConfigDedicated;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   200
    SoundingRsUlConfigDedicated soundingRsUlConfigDedicated;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   201
    bool haveAntennaInfoDedicated;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   202
    AntennaInfoDedicated antennaInfo;
10892
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10425
diff changeset
   203
    bool havePdschConfigDedicated;
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10425
diff changeset
   204
    PdschConfigDedicated pdschConfigDedicated;
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   205
  };
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   206
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   207
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   208
  struct SrbToAddMod
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   209
  {
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   210
    uint8_t srbIdentity;
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   211
    LogicalChannelConfig logicalChannelConfig;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   212
  };
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   213
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   214
  struct DrbToAddMod
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   215
  {
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   216
    uint8_t epsBearerIdentity;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   217
    uint8_t drbIdentity;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   218
    RlcConfig rlcConfig;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   219
    uint8_t logicalChannelIdentity;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   220
    LogicalChannelConfig logicalChannelConfig;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   221
  };
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   222
9413
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9409
diff changeset
   223
  struct PreambleInfo
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9409
diff changeset
   224
  {
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9409
diff changeset
   225
    uint8_t numberOfRaPreambles;
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9409
diff changeset
   226
  };
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   227
9413
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9409
diff changeset
   228
  struct RaSupervisionInfo
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9409
diff changeset
   229
  {
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9409
diff changeset
   230
    uint8_t preambleTransMax;
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9409
diff changeset
   231
    uint8_t raResponseWindowSize;
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9409
diff changeset
   232
  };
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9409
diff changeset
   233
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9409
diff changeset
   234
  struct RachConfigCommon
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9409
diff changeset
   235
  {
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9409
diff changeset
   236
    PreambleInfo preambleInfo;
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9409
diff changeset
   237
    RaSupervisionInfo raSupervisionInfo;
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9409
diff changeset
   238
  };
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9409
diff changeset
   239
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   240
  struct RadioResourceConfigCommon
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   241
  {
9413
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9409
diff changeset
   242
    RachConfigCommon rachConfigCommon;
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   243
  };
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   244
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   245
  struct RadioResourceConfigCommonSib
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   246
  {
9413
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9409
diff changeset
   247
    RachConfigCommon rachConfigCommon;
10892
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10425
diff changeset
   248
    PdschConfigCommon pdschConfigCommon;
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   249
  };
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   250
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   251
  struct RadioResourceConfigDedicated
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   252
  {
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   253
    std::list<SrbToAddMod> srbToAddModList;
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   254
    std::list<DrbToAddMod> drbToAddModList;
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   255
    std::list<uint8_t> drbToReleaseList;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   256
    bool havePhysicalConfigDedicated;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   257
    PhysicalConfigDedicated physicalConfigDedicated;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   258
  };
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   259
9595
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   260
  struct QuantityConfig
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   261
  {
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   262
    uint8_t filterCoefficientRSRP;
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   263
    uint8_t filterCoefficientRSRQ;
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   264
  };
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   265
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   266
  struct CellsToAddMod
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   267
  {
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   268
    uint8_t cellIndex;
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   269
    uint16_t physCellId;
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   270
    int8_t cellIndividualOffset;
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   271
  };
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   272
9595
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   273
  struct PhysCellIdRange
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   274
  {
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   275
    uint16_t start;
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   276
    bool haveRange;
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   277
    uint16_t range;
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   278
  };
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   279
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   280
  struct BlackCellsToAddMod
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   281
  {
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   282
    uint8_t cellIndex;
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   283
    PhysCellIdRange physCellIdRange;
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   284
  };
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   285
9595
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   286
  struct MeasObjectEutra
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   287
  {
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   288
    uint16_t carrierFreq;
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   289
    uint8_t allowedMeasBandwidth;
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   290
    bool presenceAntennaPort1;
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   291
    uint8_t neighCellConfig;
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   292
    int8_t offsetFreq;
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   293
    std::list<uint8_t> cellsToRemoveList;
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   294
    std::list<CellsToAddMod> cellsToAddModList;
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   295
    std::list<uint8_t> blackCellsToRemoveList;
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   296
    std::list<BlackCellsToAddMod> blackCellsToAddModList;
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   297
    bool haveCellForWhichToReportCGI;
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   298
    uint8_t cellForWhichToReportCGI;
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   299
  };
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   300
10271
6f6ffd9379b0 Changes based on peer review: typos in documentation, conversion functions for Hysteresis and a3-Offset, separated constructor implementation of ReportConfigEutra, and removed dead code in LteUeRrc.
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10263
diff changeset
   301
  /**
6f6ffd9379b0 Changes based on peer review: typos in documentation, conversion functions for Hysteresis and a3-Offset, separated constructor implementation of ReportConfigEutra, and removed dead code in LteUeRrc.
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10263
diff changeset
   302
   * \brief Threshold for event evaluation.
6f6ffd9379b0 Changes based on peer review: typos in documentation, conversion functions for Hysteresis and a3-Offset, separated constructor implementation of ReportConfigEutra, and removed dead code in LteUeRrc.
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10263
diff changeset
   303
   *
6f6ffd9379b0 Changes based on peer review: typos in documentation, conversion functions for Hysteresis and a3-Offset, separated constructor implementation of ReportConfigEutra, and removed dead code in LteUeRrc.
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10263
diff changeset
   304
   * For RSRP-based threshold, the actual value is (value - 140) dBm. While for
6f6ffd9379b0 Changes based on peer review: typos in documentation, conversion functions for Hysteresis and a3-Offset, separated constructor implementation of ReportConfigEutra, and removed dead code in LteUeRrc.
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10263
diff changeset
   305
   * RSRQ-based threshold, the actual value is (value - 40) / 2 dB. This is in
6f6ffd9379b0 Changes based on peer review: typos in documentation, conversion functions for Hysteresis and a3-Offset, separated constructor implementation of ReportConfigEutra, and removed dead code in LteUeRrc.
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10263
diff changeset
   306
   * accordance with section 9.1.4 and 9.1.7 of 3GPP TS 36.133.
6f6ffd9379b0 Changes based on peer review: typos in documentation, conversion functions for Hysteresis and a3-Offset, separated constructor implementation of ReportConfigEutra, and removed dead code in LteUeRrc.
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10263
diff changeset
   307
   *
6f6ffd9379b0 Changes based on peer review: typos in documentation, conversion functions for Hysteresis and a3-Offset, separated constructor implementation of ReportConfigEutra, and removed dead code in LteUeRrc.
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10263
diff changeset
   308
   * \sa ns3::EutranMeasurementMapping
6f6ffd9379b0 Changes based on peer review: typos in documentation, conversion functions for Hysteresis and a3-Offset, separated constructor implementation of ReportConfigEutra, and removed dead code in LteUeRrc.
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10263
diff changeset
   309
   */
9595
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   310
  struct ThresholdEutra
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   311
  {
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   312
    enum
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   313
    {
10271
6f6ffd9379b0 Changes based on peer review: typos in documentation, conversion functions for Hysteresis and a3-Offset, separated constructor implementation of ReportConfigEutra, and removed dead code in LteUeRrc.
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10263
diff changeset
   314
      THRESHOLD_RSRP, ///< RSRP is used for the threshold.
6f6ffd9379b0 Changes based on peer review: typos in documentation, conversion functions for Hysteresis and a3-Offset, separated constructor implementation of ReportConfigEutra, and removed dead code in LteUeRrc.
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10263
diff changeset
   315
      THRESHOLD_RSRQ ///< RSRQ is used for the threshold.
6f6ffd9379b0 Changes based on peer review: typos in documentation, conversion functions for Hysteresis and a3-Offset, separated constructor implementation of ReportConfigEutra, and removed dead code in LteUeRrc.
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10263
diff changeset
   316
    } choice;
6f6ffd9379b0 Changes based on peer review: typos in documentation, conversion functions for Hysteresis and a3-Offset, separated constructor implementation of ReportConfigEutra, and removed dead code in LteUeRrc.
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10263
diff changeset
   317
    uint8_t range; ///< Value range used in RSRP/RSRQ threshold.
9595
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   318
  };
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   319
10263
fa253ff619ba Constructor for ReportConfigEutra
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10028
diff changeset
   320
  /// Specifies criteria for triggering of an E-UTRA measurement reporting event.
9595
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   321
  struct ReportConfigEutra
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   322
  {
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   323
    enum
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   324
    {
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   325
      EVENT,
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   326
      PERIODICAL
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   327
    } triggerType;
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   328
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   329
    enum
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   330
    {
10263
fa253ff619ba Constructor for ReportConfigEutra
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10028
diff changeset
   331
      EVENT_A1, ///< Event A1: Serving becomes better than absolute threshold.
fa253ff619ba Constructor for ReportConfigEutra
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10028
diff changeset
   332
      EVENT_A2, ///< Event A2: Serving becomes worse than absolute threshold.
fa253ff619ba Constructor for ReportConfigEutra
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10028
diff changeset
   333
      EVENT_A3, ///< Event A3: Neighbour becomes amount of offset better than PCell.
fa253ff619ba Constructor for ReportConfigEutra
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10028
diff changeset
   334
      EVENT_A4, ///< Event A4: Neighbour becomes better than absolute threshold.
fa253ff619ba Constructor for ReportConfigEutra
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10028
diff changeset
   335
      EVENT_A5 ///< Event A5: PCell becomes worse than absolute `threshold1` AND Neighbour becomes better than another absolute `threshold2`.
fa253ff619ba Constructor for ReportConfigEutra
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10028
diff changeset
   336
fa253ff619ba Constructor for ReportConfigEutra
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10028
diff changeset
   337
    } eventId; ///< Choice of E-UTRA event triggered reporting criteria.
fa253ff619ba Constructor for ReportConfigEutra
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10028
diff changeset
   338
fa253ff619ba Constructor for ReportConfigEutra
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10028
diff changeset
   339
    ThresholdEutra threshold1; ///< Threshold for event A1, A2, A4, and A5.
fa253ff619ba Constructor for ReportConfigEutra
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10028
diff changeset
   340
    ThresholdEutra threshold2; ///< Threshold for event A5.
fa253ff619ba Constructor for ReportConfigEutra
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10028
diff changeset
   341
fa253ff619ba Constructor for ReportConfigEutra
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10028
diff changeset
   342
    /// Indicates whether or not the UE shall initiate the measurement reporting procedure when the leaving condition is met for a cell in `cellsTriggeredList`, as specified in 5.5.4.1 of 3GPP TS 36.331.
fa253ff619ba Constructor for ReportConfigEutra
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10028
diff changeset
   343
    bool reportOnLeave;
fa253ff619ba Constructor for ReportConfigEutra
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10028
diff changeset
   344
fa253ff619ba Constructor for ReportConfigEutra
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10028
diff changeset
   345
    /// Offset value for Event A3. An integer between -30 and 30. The actual value is (value * 0.5) dB.
fa253ff619ba Constructor for ReportConfigEutra
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10028
diff changeset
   346
    int8_t a3Offset;
fa253ff619ba Constructor for ReportConfigEutra
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10028
diff changeset
   347
fa253ff619ba Constructor for ReportConfigEutra
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10028
diff changeset
   348
    /// Parameter used within the entry and leave condition of an event triggered reporting condition. The actual value is (value * 0.5) dB.
9595
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   349
    uint8_t hysteresis;
10263
fa253ff619ba Constructor for ReportConfigEutra
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10028
diff changeset
   350
fa253ff619ba Constructor for ReportConfigEutra
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10028
diff changeset
   351
    /// Time during which specific criteria for the event needs to be met in order to trigger a measurement report.
9595
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   352
    uint16_t timeToTrigger;
10263
fa253ff619ba Constructor for ReportConfigEutra
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10028
diff changeset
   353
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   354
    enum
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   355
    {
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   356
      REPORT_STRONGEST_CELLS,
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   357
      REPORT_CGI
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   358
    } purpose;
10263
fa253ff619ba Constructor for ReportConfigEutra
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10028
diff changeset
   359
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   360
    enum
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   361
    {
10263
fa253ff619ba Constructor for ReportConfigEutra
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10028
diff changeset
   362
      RSRP, ///< Reference Signal Received Power
fa253ff619ba Constructor for ReportConfigEutra
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10028
diff changeset
   363
      RSRQ ///< Reference Signal Received Quality
fa253ff619ba Constructor for ReportConfigEutra
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10028
diff changeset
   364
    } triggerQuantity; ///< The quantities used to evaluate the triggering condition for the event, see 3GPP TS 36.214.
fa253ff619ba Constructor for ReportConfigEutra
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10028
diff changeset
   365
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   366
    enum
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   367
    {
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   368
      SAME_AS_TRIGGER_QUANTITY,
10263
fa253ff619ba Constructor for ReportConfigEutra
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10028
diff changeset
   369
      BOTH ///< Both the RSRP and RSRQ quantities are to be included in the measurement report.
fa253ff619ba Constructor for ReportConfigEutra
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10028
diff changeset
   370
    } reportQuantity; ///< The quantities to be included in the measurement report, always assumed to be BOTH.
fa253ff619ba Constructor for ReportConfigEutra
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10028
diff changeset
   371
fa253ff619ba Constructor for ReportConfigEutra
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10028
diff changeset
   372
    /// Maximum number of cells, excluding the serving cell, to be included in the measurement report.
9595
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   373
    uint8_t maxReportCells;
10263
fa253ff619ba Constructor for ReportConfigEutra
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10028
diff changeset
   374
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   375
    enum
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   376
    {
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   377
      MS120,
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   378
      MS240,
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   379
      MS480,
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   380
      MS640,
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   381
      MS1024,
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   382
      MS2048,
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   383
      MS5120,
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   384
      MS10240,
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   385
      MIN1,
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   386
      MIN6,
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   387
      MIN12,
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   388
      MIN30,
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   389
      MIN60,
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   390
      SPARE3,
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   391
      SPARE2,
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   392
      SPARE1
10263
fa253ff619ba Constructor for ReportConfigEutra
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10028
diff changeset
   393
    } reportInterval; ///< Indicates the interval between periodical reports.
fa253ff619ba Constructor for ReportConfigEutra
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10028
diff changeset
   394
fa253ff619ba Constructor for ReportConfigEutra
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10028
diff changeset
   395
    /// Number of measurement reports applicable, always assumed to be infinite.
9595
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   396
    uint8_t reportAmount;
10263
fa253ff619ba Constructor for ReportConfigEutra
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10028
diff changeset
   397
10271
6f6ffd9379b0 Changes based on peer review: typos in documentation, conversion functions for Hysteresis and a3-Offset, separated constructor implementation of ReportConfigEutra, and removed dead code in LteUeRrc.
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10263
diff changeset
   398
    ReportConfigEutra ();
10263
fa253ff619ba Constructor for ReportConfigEutra
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10028
diff changeset
   399
10271
6f6ffd9379b0 Changes based on peer review: typos in documentation, conversion functions for Hysteresis and a3-Offset, separated constructor implementation of ReportConfigEutra, and removed dead code in LteUeRrc.
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10263
diff changeset
   400
  }; // end of struct ReportConfigEutra
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   401
9595
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   402
  struct MeasObjectToAddMod
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   403
  {
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   404
    uint8_t measObjectId;
9595
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   405
    MeasObjectEutra measObjectEutra;
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   406
  };
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   407
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   408
  struct ReportConfigToAddMod
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   409
  {
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   410
    uint8_t reportConfigId;
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   411
    ReportConfigEutra reportConfigEutra;
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   412
  };
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   413
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   414
  struct MeasIdToAddMod
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   415
  {
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   416
    uint8_t measId;
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   417
    uint8_t measObjectId;
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   418
    uint8_t reportConfigId;
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   419
  };
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   420
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   421
  struct MeasGapConfig
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   422
  {
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   423
    enum
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   424
    {
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   425
      SETUP, RESET
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   426
    } type;
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   427
    enum
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   428
    {
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   429
      GP0, GP1
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   430
    } gapOffsetChoice;
9595
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   431
    uint8_t gapOffsetValue;
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   432
  };
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   433
9595
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   434
  struct MobilityStateParameters
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   435
  {
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   436
    uint8_t tEvaluation;
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   437
    uint8_t tHystNormal;
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   438
    uint8_t nCellChangeMedium;
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   439
    uint8_t nCellChangeHigh;
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   440
  };
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   441
9595
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   442
  struct SpeedStateScaleFactors
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   443
  {
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   444
    // 25 = oDot25, 50 = oDot5, 75 = oDot75, 100 = lDot0
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   445
    uint8_t sfMedium;
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   446
    uint8_t sfHigh;
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   447
  };
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   448
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   449
  struct SpeedStatePars
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   450
  {
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   451
    enum
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   452
    {
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   453
      SETUP,
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   454
      RESET
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   455
    } type;
9595
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   456
    MobilityStateParameters mobilityStateParameters;
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   457
    SpeedStateScaleFactors timeToTriggerSf;
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   458
  };
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   459
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   460
  struct MeasConfig
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   461
  {
9595
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   462
    std::list<uint8_t> measObjectToRemoveList;
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   463
    std::list<MeasObjectToAddMod> measObjectToAddModList;
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   464
    std::list<uint8_t> reportConfigToRemoveList;
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   465
    std::list<ReportConfigToAddMod> reportConfigToAddModList;
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   466
    std::list<uint8_t> measIdToRemoveList;
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   467
    std::list<MeasIdToAddMod> measIdToAddModList;
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   468
    bool haveQuantityConfig;
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   469
    QuantityConfig quantityConfig;
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   470
    bool haveMeasGapConfig;
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   471
    MeasGapConfig measGapConfig;
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   472
    bool haveSmeasure;
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   473
    uint8_t sMeasure;
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   474
    bool haveSpeedStatePars;
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   475
    SpeedStatePars speedStatePars;
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   476
  };
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   477
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   478
  struct CarrierFreqEutra
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   479
  {
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   480
    uint16_t dlCarrierFreq;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   481
    uint16_t ulCarrierFreq;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   482
  };
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   483
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   484
  struct CarrierBandwidthEutra
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   485
  {
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   486
    uint8_t dlBandwidth;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   487
    uint8_t ulBandwidth;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   488
  };
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   489
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   490
  struct RachConfigDedicated
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   491
  {
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   492
    uint8_t raPreambleIndex;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   493
    uint8_t raPrachMaskIndex;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   494
  };
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   495
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   496
  struct MobilityControlInfo
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   497
  {
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   498
    uint16_t targetPhysCellId;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   499
    bool haveCarrierFreq;
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   500
    CarrierFreqEutra carrierFreq;
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   501
    bool haveCarrierBandwidth;
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   502
    CarrierBandwidthEutra carrierBandwidth;
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   503
    uint16_t newUeIdentity;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   504
    RadioResourceConfigCommon radioResourceConfigCommon;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   505
    bool haveRachConfigDedicated;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   506
    RachConfigDedicated rachConfigDedicated;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   507
  };
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   508
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   509
  struct ReestabUeIdentity
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   510
  {
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   511
    uint16_t cRnti;
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   512
    uint16_t physCellId;
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   513
  };
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   514
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   515
  enum ReestablishmentCause
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   516
  {
9595
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   517
    RECONFIGURATION_FAILURE,
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   518
    HANDOVER_FAILURE,
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   519
    OTHER_FAILURE
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   520
  };
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   521
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   522
  struct MasterInformationBlock
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   523
  {
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   524
    uint8_t dlBandwidth;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   525
    uint8_t systemFrameNumber;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   526
  };
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   527
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   528
  struct SystemInformationBlockType1
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   529
  {
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   530
    CellAccessRelatedInfo cellAccessRelatedInfo;
10288
ea6c9b15169c Attempt to initial synchronization, cell search, MIB and SIB1
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10271
diff changeset
   531
    CellSelectionInfo cellSelectionInfo;
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   532
  };
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   533
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   534
  struct SystemInformationBlockType2
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   535
  {
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   536
    RadioResourceConfigCommonSib radioResourceConfigCommon;
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   537
    FreqInfo freqInfo;
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   538
  };
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   539
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   540
  struct SystemInformation
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   541
  {
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   542
    bool haveSib2;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   543
    SystemInformationBlockType2 sib2;
9595
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   544
  };
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   545
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   546
  struct AsConfig
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   547
  {
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   548
    MeasConfig sourceMeasConfig;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   549
    RadioResourceConfigDedicated sourceRadioResourceConfig;
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   550
    uint16_t sourceUeIdentity;
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   551
    MasterInformationBlock sourceMasterInformationBlock;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   552
    SystemInformationBlockType1 sourceSystemInformationBlockType1;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9621
diff changeset
   553
    SystemInformationBlockType2 sourceSystemInformationBlockType2;
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   554
    uint16_t sourceDlCarrierFreq;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   555
  };
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   556
9602
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   557
  struct CgiInfo
9595
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   558
  {
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   559
    uint32_t plmnIdentity;
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   560
    uint32_t cellIdentity;
9602
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   561
    uint16_t trackingAreaCode;
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   562
    std::list<uint32_t> plmnIdentityList;
9595
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   563
  };
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   564
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   565
  struct MeasResultEutra
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   566
  {
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   567
    uint16_t physCellId;
9602
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   568
    bool haveCgiInfo;
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   569
    CgiInfo cgiInfo;
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   570
    bool haveRsrpResult;
9595
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   571
    uint8_t rsrpResult;
9602
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   572
    bool haveRsrqResult;
9595
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   573
    uint8_t rsrqResult;
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   574
  };
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   575
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   576
  struct MeasResults
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   577
  {
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   578
    uint8_t measId;
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   579
    uint8_t rsrpResult;
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   580
    uint8_t rsrqResult;
9602
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   581
    bool haveMeasResultNeighCells;
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
   582
    std::list<MeasResultEutra> measResultListEutra;
9595
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   583
  };
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   584
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   585
  // Messages
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   586
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   587
  struct RrcConnectionRequest
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   588
  {
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   589
    uint64_t ueIdentity;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   590
  };
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   591
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   592
  struct RrcConnectionSetup
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   593
  {
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   594
    uint8_t rrcTransactionIdentifier;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   595
    RadioResourceConfigDedicated radioResourceConfigDedicated;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   596
  };
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   597
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   598
  struct RrcConnectionSetupCompleted
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   599
  {
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   600
    uint8_t rrcTransactionIdentifier;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   601
  };
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   602
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   603
  struct RrcConnectionReconfiguration
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   604
  {
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   605
    uint8_t rrcTransactionIdentifier;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   606
    bool haveMeasConfig;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   607
    MeasConfig measConfig;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   608
    bool haveMobilityControlInfo;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   609
    MobilityControlInfo mobilityControlInfo;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   610
    bool haveRadioResourceConfigDedicated;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   611
    RadioResourceConfigDedicated radioResourceConfigDedicated;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   612
  };
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   613
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   614
  struct RrcConnectionReconfigurationCompleted
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   615
  {
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   616
    uint8_t rrcTransactionIdentifier;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   617
  };
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   618
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   619
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   620
  struct RrcConnectionReestablishmentRequest
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   621
  {
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   622
    ReestabUeIdentity ueIdentity;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   623
    ReestablishmentCause reestablishmentCause;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   624
  };
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   625
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   626
  struct RrcConnectionReestablishment
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   627
  {
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   628
    uint8_t rrcTransactionIdentifier;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   629
    RadioResourceConfigDedicated radioResourceConfigDedicated;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   630
  };
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   631
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   632
  struct RrcConnectionReestablishmentComplete
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   633
  {
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   634
    uint8_t rrcTransactionIdentifier;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   635
  };
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   636
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   637
  struct RrcConnectionReestablishmentReject
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   638
  {
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   639
  };
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   640
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   641
  struct RrcConnectionRelease
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   642
  {
9496
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9447
diff changeset
   643
    uint8_t rrcTransactionIdentifier;
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   644
  };
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   645
9509
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9496
diff changeset
   646
  struct RrcConnectionReject
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9496
diff changeset
   647
  {
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9496
diff changeset
   648
    uint8_t waitTime;
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9496
diff changeset
   649
  };
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9496
diff changeset
   650
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   651
  struct HandoverPreparationInfo
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   652
  {
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   653
    AsConfig asConfig;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   654
  };
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   655
9595
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   656
  struct MeasurementReport
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   657
  {
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   658
    MeasResults measResults;
fb601af485c1 Definition of RRC SAP structures for RRC protocol measurement support
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9580
diff changeset
   659
  };
9995
32e393c01fdb added support for measurements in LteUeRrc
Nicola Baldo <nbaldo@cttc.es>
parents: 9988
diff changeset
   660
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   661
};
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   662
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   663
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   664
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   665
/**
10425
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   666
 * \brief Part of the RRC protocol. This Service Access Point (SAP) is used by
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   667
 *        the UE RRC to send messages to the eNB. Each method defined in this
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   668
 *        class corresponds to the transmission of a message that is defined in
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   669
 *        Section 6.2.2 of TS 36.331.
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   670
 */
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   671
class LteUeRrcSapUser : public LteRrcSap
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   672
{
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   673
public:
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   674
  struct SetupParameters
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   675
  {
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   676
    LteRlcSapProvider* srb0SapProvider;
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   677
    LtePdcpSapProvider* srb1SapProvider;
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   678
  };
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   679
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   680
  virtual void Setup (SetupParameters params) = 0;
10425
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   681
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   682
  /**
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   683
   * \brief Send an _RRCConnectionRequest message to the serving eNodeB
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   684
   *        during an RRC connection establishment procedure
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   685
   *        (Section 5.3.3 of TS 36.331).
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   686
   * \param msg the message
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   687
   */
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   688
  virtual void SendRrcConnectionRequest (RrcConnectionRequest msg) = 0;
10425
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   689
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   690
  /**
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   691
   * \brief Send an _RRCConnectionSetupComplete_ message to the serving eNodeB
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   692
   *        during an RRC connection establishment procedure
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   693
   *        (Section 5.3.3 of TS 36.331).
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   694
   * \param msg the message
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   695
   */
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   696
  virtual void SendRrcConnectionSetupCompleted (RrcConnectionSetupCompleted msg) = 0;
10425
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   697
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   698
  /**
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   699
   * \brief Send an _RRCConnectionReconfigurationComplete_ message to the serving eNodeB
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   700
   *        during an RRC connection reconfiguration procedure
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   701
   *        (Section 5.3.5 of TS 36.331).
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   702
   * \param msg the message
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   703
   */
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   704
  virtual void SendRrcConnectionReconfigurationCompleted (RrcConnectionReconfigurationCompleted msg) = 0;
10425
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   705
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   706
  /**
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   707
   * \brief Send an _RRCConnectionReestablishmentRequest_ message to the serving eNodeB
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   708
   *        during an RRC connection re-establishment procedure
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   709
   *        (Section 5.3.7 of TS 36.331).
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   710
   * \param msg the message
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   711
   */
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   712
  virtual void SendRrcConnectionReestablishmentRequest (RrcConnectionReestablishmentRequest msg) = 0;
10425
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   713
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   714
  /**
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   715
   * \brief Send an _RRCConnectionReestablishmentComplete_ message to the serving eNodeB
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   716
   *        during an RRC connection re-establishment procedure
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   717
   *        (Section 5.3.7 of TS 36.331).
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   718
   * \param msg the message
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   719
   */
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   720
  virtual void SendRrcConnectionReestablishmentComplete (RrcConnectionReestablishmentComplete msg) = 0;
10425
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   721
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   722
  /**
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   723
   * \brief Send a _MeasurementReport_ message to the serving eNodeB
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   724
   *        during a measurement reporting procedure
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   725
   *        (Section 5.5.5 of TS 36.331).
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   726
   * \param msg the message
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   727
   */
9995
32e393c01fdb added support for measurements in LteUeRrc
Nicola Baldo <nbaldo@cttc.es>
parents: 9988
diff changeset
   728
  virtual void SendMeasurementReport (MeasurementReport msg) = 0;
10425
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   729
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   730
};
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   731
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   732
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   733
/**
10425
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   734
 * \brief Part of the RRC protocol. This Service Access Point (SAP) is used to
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   735
 *        let the UE RRC receive a message from the eNB RRC. Each method defined
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   736
 *        in this class corresponds to the reception of a message that is
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   737
 *        defined in Section 6.2.2 of TS 36.331.
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   738
 */
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   739
class LteUeRrcSapProvider : public LteRrcSap
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   740
{
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   741
public:
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   742
  struct CompleteSetupParameters
9447
f836d3a3b71a added LteUeRrcSapProvider::CompleteSetup ()
Nicola Baldo <nbaldo@cttc.es>
parents: 9423
diff changeset
   743
  {
f836d3a3b71a added LteUeRrcSapProvider::CompleteSetup ()
Nicola Baldo <nbaldo@cttc.es>
parents: 9423
diff changeset
   744
    LteRlcSapUser* srb0SapUser;
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   745
    LtePdcpSapUser* srb1SapUser;
9447
f836d3a3b71a added LteUeRrcSapProvider::CompleteSetup ()
Nicola Baldo <nbaldo@cttc.es>
parents: 9423
diff changeset
   746
  };
f836d3a3b71a added LteUeRrcSapProvider::CompleteSetup ()
Nicola Baldo <nbaldo@cttc.es>
parents: 9423
diff changeset
   747
f836d3a3b71a added LteUeRrcSapProvider::CompleteSetup ()
Nicola Baldo <nbaldo@cttc.es>
parents: 9423
diff changeset
   748
  virtual void CompleteSetup (CompleteSetupParameters params) = 0;
10425
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   749
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   750
  /**
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   751
   * \brief Receive a _SystemInformation_ message from the serving eNodeB
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   752
   *        during a system information acquisition procedure
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   753
   *        (Section 5.2.2 of TS 36.331).
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   754
   * \param msg the message
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   755
   */
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   756
  virtual void RecvSystemInformation (SystemInformation msg) = 0;
10425
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   757
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   758
  /**
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   759
   * \brief Receive an _RRCConnectionSetup_ message from the serving eNodeB
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   760
   *        during an RRC connection establishment procedure
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   761
   *        (Section 5.3.3 of TS 36.331).
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   762
   * \param msg the message
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   763
   */
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   764
  virtual void RecvRrcConnectionSetup (RrcConnectionSetup msg) = 0;
10425
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   765
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   766
  /**
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   767
   * \brief Receive an _RRCConnectionReconfiguration_ message from the serving eNodeB
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   768
   *        during an RRC connection reconfiguration procedure
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   769
   *        (Section 5.3.5 of TS 36.331).
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   770
   * \param msg the message
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   771
   */
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   772
  virtual void RecvRrcConnectionReconfiguration (RrcConnectionReconfiguration msg) = 0;
10425
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   773
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   774
  /**
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   775
   * \brief Receive an _RRCConnectionReestablishment_ message from the serving eNodeB
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   776
   *        during an RRC connection re-establishment procedure
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   777
   *        (Section 5.3.7 of TS 36.331).
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   778
   * \param msg the message
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   779
   */
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   780
  virtual void RecvRrcConnectionReestablishment (RrcConnectionReestablishment msg) = 0;
10425
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   781
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   782
  /**
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   783
   * \brief Receive an _RRCConnectionReestablishmentReject_ message from the serving eNodeB
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   784
   *        during an RRC connection re-establishment procedure
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   785
   *        (Section 5.3.7 of TS 36.331).
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   786
   * \param msg the message
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   787
   */
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   788
  virtual void RecvRrcConnectionReestablishmentReject (RrcConnectionReestablishmentReject msg) = 0;
10425
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   789
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   790
  /**
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   791
   * \brief Receive an _RRCConnectionRelease_ message from the serving eNodeB
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   792
   *        during an RRC connection release procedure
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   793
   *        (Section 5.3.8 of TS 36.331).
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   794
   * \param msg the message
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   795
   */
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   796
  virtual void RecvRrcConnectionRelease (RrcConnectionRelease msg) = 0;
10425
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   797
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   798
  /**
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   799
   * \brief Receive an _RRCConnectionReject_ message from the serving eNodeB
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   800
   *        during an RRC connection establishment procedure
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   801
   *        (Section 5.3.3 of TS 36.331).
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   802
   * \param msg the message
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   803
   */
9510
1f57ceb87c95 Add functions in SAP's to send/receive ConnRej msg.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
   804
  virtual void RecvRrcConnectionReject (RrcConnectionReject msg) = 0;
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   805
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   806
};
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   807
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   808
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   809
/**
10425
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   810
 * \brief Part of the RRC protocol. This Service Access Point (SAP) is used by
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   811
 *        the eNB RRC to send messages to the UE RRC.  Each method defined in
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   812
 *        this class corresponds to the transmission of a message that is
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   813
 *        defined in Section 6.2.2 of TS 36.331.
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   814
 */
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   815
class LteEnbRrcSapUser : public LteRrcSap
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   816
{
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   817
public:
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   818
  struct SetupUeParameters
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   819
  {
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   820
    LteRlcSapProvider* srb0SapProvider;
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   821
    LtePdcpSapProvider* srb1SapProvider;
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   822
  };
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   823
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   824
  virtual void SetupUe (uint16_t rnti, SetupUeParameters params) = 0;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   825
  virtual void RemoveUe (uint16_t rnti) = 0;
10425
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   826
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   827
  /**
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   828
   * \brief Send a _SystemInformation_ message to all attached UEs
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   829
   *        during a system information acquisition procedure
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   830
   *        (Section 5.2.2 of TS 36.331).
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   831
   * \param msg the message
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   832
   */
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   833
  virtual void SendSystemInformation (SystemInformation msg) = 0;
10425
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   834
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   835
  /**
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   836
   * \brief Send an _RRCConnectionSetup_ message to a UE
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   837
   *        during an RRC connection establishment procedure
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   838
   *        (Section 5.3.3 of TS 36.331).
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   839
   * \param rnti the RNTI of the destination UE
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   840
   * \param msg the message
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   841
   */
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   842
  virtual void SendRrcConnectionSetup (uint16_t rnti, RrcConnectionSetup msg) = 0;
10425
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   843
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   844
  /**
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   845
   * \brief Send an _RRCConnectionReconfiguration_ message to a UE
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   846
   *        during an RRC connection reconfiguration procedure
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   847
   *        (Section 5.3.5 of TS 36.331).
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   848
   * \param rnti the RNTI of the destination UE
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   849
   * \param msg the message
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   850
   */
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   851
  virtual void SendRrcConnectionReconfiguration (uint16_t rnti, RrcConnectionReconfiguration msg) = 0;
10425
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   852
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   853
  /**
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   854
   * \brief Send an _RRCConnectionReestablishment_ message to a UE
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   855
   *        during an RRC connection re-establishment procedure
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   856
   *        (Section 5.3.7 of TS 36.331).
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   857
   * \param rnti the RNTI of the destination UE
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   858
   * \param msg the message
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   859
   */
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   860
  virtual void SendRrcConnectionReestablishment (uint16_t rnti, RrcConnectionReestablishment msg) = 0;
10425
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   861
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   862
  /**
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   863
   * \brief Send an _RRCConnectionReestablishmentReject_ message to a UE
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   864
   *        during an RRC connection re-establishment procedure
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   865
   *        (Section 5.3.7 of TS 36.331).
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   866
   * \param rnti the RNTI of the destination UE
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   867
   * \param msg the message
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   868
   */
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   869
  virtual void SendRrcConnectionReestablishmentReject (uint16_t rnti, RrcConnectionReestablishmentReject msg) = 0;
10425
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   870
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   871
  /**
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   872
   * \brief Send an _RRCConnectionRelease_ message to a UE
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   873
   *        during an RRC connection release procedure
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   874
   *        (Section 5.3.8 of TS 36.331).
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   875
   * \param rnti the RNTI of the destination UE
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   876
   * \param msg the message
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   877
   */
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   878
  virtual void SendRrcConnectionRelease (uint16_t rnti, RrcConnectionRelease msg) = 0;
10425
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   879
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   880
  /**
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   881
   * \brief Send an _RRCConnectionReject_ message to a UE
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   882
   *        during an RRC connection establishment procedure
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   883
   *        (Section 5.3.3 of TS 36.331).
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   884
   * \param rnti the RNTI of the destination UE
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   885
   * \param msg the message
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   886
   */
9510
1f57ceb87c95 Add functions in SAP's to send/receive ConnRej msg.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
   887
  virtual void SendRrcConnectionReject (uint16_t rnti, RrcConnectionReject msg) = 0;
10425
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   888
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   889
  virtual Ptr<Packet> EncodeHandoverPreparationInformation (HandoverPreparationInfo msg) = 0;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   890
  virtual HandoverPreparationInfo DecodeHandoverPreparationInformation (Ptr<Packet> p) = 0;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   891
  virtual Ptr<Packet> EncodeHandoverCommand (RrcConnectionReconfiguration msg) = 0;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   892
  virtual RrcConnectionReconfiguration DecodeHandoverCommand (Ptr<Packet> p) = 0;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   893
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   894
};
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   895
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   896
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   897
/**
10425
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   898
 * \brief Part of the RRC protocol. This Service Access Point (SAP) is used to
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   899
 *        let the eNB RRC receive a message from a UE RRC.  Each method defined
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   900
 *        in this class corresponds to the reception of a message that is
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   901
 *        defined in Section 6.2.2 of TS 36.331.
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   902
 */
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   903
class LteEnbRrcSapProvider : public LteRrcSap
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   904
{
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   905
public:
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   906
  struct CompleteSetupUeParameters
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   907
  {
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   908
    LteRlcSapUser* srb0SapUser;
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   909
    LtePdcpSapUser* srb1SapUser;
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   910
  };
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   911
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   912
  virtual void CompleteSetupUe (uint16_t rnti, CompleteSetupUeParameters params) = 0;
10425
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   913
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   914
  /**
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   915
   * \brief Receive an _RRCConnectionRequest_ message from a UE
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   916
   *        during an RRC connection establishment procedure
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   917
   *        (Section 5.3.3 of TS 36.331).
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   918
   * \param rnti the RNTI of UE which sent the message
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   919
   * \param msg the message
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   920
   */
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   921
  virtual void RecvRrcConnectionRequest (uint16_t rnti,
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   922
                                         RrcConnectionRequest msg) = 0;
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   923
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   924
  /**
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   925
   * \brief Receive an _RRCConnectionSetupComplete_ message from a UE
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   926
   *        during an RRC connection establishment procedure
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   927
   *        (Section 5.3.3 of TS 36.331).
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   928
   * \param rnti the RNTI of UE which sent the message
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   929
   * \param msg the message
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   930
   */
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   931
  virtual void RecvRrcConnectionSetupCompleted (uint16_t rnti,
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   932
                                                RrcConnectionSetupCompleted msg) = 0;
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   933
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   934
  /**
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   935
   * \brief Receive an _RRCConnectionReconfigurationComplete_ message from a UE
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   936
   *        during an RRC connection reconfiguration procedure
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   937
   *        (Section 5.3.5 of TS 36.331).
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   938
   * \param rnti the RNTI of UE which sent the message
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   939
   * \param msg the message
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   940
   */
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   941
  virtual void RecvRrcConnectionReconfigurationCompleted (uint16_t rnti,
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   942
                                                          RrcConnectionReconfigurationCompleted msg) = 0;
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   943
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   944
  /**
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   945
   * \brief Receive an _RRCConnectionReestablishmentRequest_ message from a UE
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   946
   *        during an RRC connection re-establishment procedure
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   947
   *        (Section 5.3.7 of TS 36.331).
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   948
   * \param rnti the RNTI of UE which sent the message
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   949
   * \param msg the message
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   950
   */
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   951
  virtual void RecvRrcConnectionReestablishmentRequest (uint16_t rnti,
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   952
                                                        RrcConnectionReestablishmentRequest msg) = 0;
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   953
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   954
  /**
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   955
   * \brief Receive an _RRCConnectionReestablishmentComplete_ message from a UE
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   956
   *        during an RRC connection re-establishment procedure
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   957
   *        (Section 5.3.7 of TS 36.331).
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   958
   * \param rnti the RNTI of UE which sent the message
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   959
   * \param msg the message
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   960
   */
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   961
  virtual void RecvRrcConnectionReestablishmentComplete (uint16_t rnti,
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   962
                                                         RrcConnectionReestablishmentComplete msg) = 0;
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   963
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   964
  /**
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   965
   * \brief Receive a _MeasurementReport_ message from a UE
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   966
   *        during a measurement reporting procedure
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   967
   *        (Section 5.5.5 of TS 36.331).
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   968
   * \param rnti the RNTI of UE which sent the message
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   969
   * \param msg the message
1867d8c25aa7 doxygen warnings for lte module
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10288
diff changeset
   970
   */
9601
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
   971
  virtual void RecvMeasurementReport (uint16_t rnti, MeasurementReport msg) = 0;
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   972
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   973
};
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   974
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   975
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   976
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   977
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   978
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   979
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   980
////////////////////////////////////
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   981
//   templates
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   982
////////////////////////////////////
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   983
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   984
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   985
/**
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   986
 * Template for the implementation of the LteUeRrcSapUser as a member
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   987
 * of an owner class of type C to which all methods are forwarded
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
   988
 *
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   989
 */
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   990
template <class C>
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   991
class MemberLteUeRrcSapUser : public LteUeRrcSapUser
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   992
{
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   993
public:
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   994
  MemberLteUeRrcSapUser (C* owner);
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   995
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   996
  // inherited from LteUeRrcSapUser
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   997
  virtual void Setup (SetupParameters params);
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   998
  virtual void SendRrcConnectionRequest (RrcConnectionRequest msg);
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
   999
  virtual void SendRrcConnectionSetupCompleted (RrcConnectionSetupCompleted msg);
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1000
  virtual void SendRrcConnectionReconfigurationCompleted (RrcConnectionReconfigurationCompleted msg);
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1001
  virtual void SendRrcConnectionReestablishmentRequest (RrcConnectionReestablishmentRequest msg);
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1002
  virtual void SendRrcConnectionReestablishmentComplete (RrcConnectionReestablishmentComplete msg);
9995
32e393c01fdb added support for measurements in LteUeRrc
Nicola Baldo <nbaldo@cttc.es>
parents: 9988
diff changeset
  1003
  virtual void SendMeasurementReport (MeasurementReport msg);
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
  1004
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1005
private:
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1006
  MemberLteUeRrcSapUser ();
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1007
  C* m_owner;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1008
};
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1009
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1010
template <class C>
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1011
MemberLteUeRrcSapUser<C>::MemberLteUeRrcSapUser (C* owner)
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1012
  : m_owner (owner)
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1013
{
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1014
}
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1015
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1016
template <class C>
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1017
MemberLteUeRrcSapUser<C>::MemberLteUeRrcSapUser ()
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1018
{
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1019
}
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1020
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1021
template <class C>
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
  1022
void
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1023
MemberLteUeRrcSapUser<C>::Setup (SetupParameters params)
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1024
{
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1025
  m_owner->DoSetup (params);
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1026
}
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1027
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1028
template <class C>
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
  1029
void
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1030
MemberLteUeRrcSapUser<C>::SendRrcConnectionRequest (RrcConnectionRequest msg)
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1031
{
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1032
  m_owner->DoSendRrcConnectionRequest (msg);
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1033
}
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1034
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1035
template <class C>
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
  1036
void
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1037
MemberLteUeRrcSapUser<C>::SendRrcConnectionSetupCompleted (RrcConnectionSetupCompleted msg)
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1038
{
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1039
  m_owner->DoSendRrcConnectionSetupCompleted (msg);
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1040
}
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1041
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1042
template <class C>
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
  1043
void
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
  1044
MemberLteUeRrcSapUser<C>::SendRrcConnectionReconfigurationCompleted (RrcConnectionReconfigurationCompleted msg)
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1045
{
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
  1046
  m_owner->DoSendRrcConnectionReconfigurationCompleted (msg);
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1047
}
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1048
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1049
template <class C>
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
  1050
void
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1051
MemberLteUeRrcSapUser<C>::SendRrcConnectionReestablishmentRequest (RrcConnectionReestablishmentRequest msg)
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1052
{
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1053
  m_owner->DoSendRrcConnectionReestablishmentRequest (msg);
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1054
}
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1055
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1056
template <class C>
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
  1057
void
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1058
MemberLteUeRrcSapUser<C>::SendRrcConnectionReestablishmentComplete (RrcConnectionReestablishmentComplete msg)
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1059
{
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1060
  m_owner->DoSendRrcConnectionReestablishmentComplete (msg);
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1061
}
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1062
9995
32e393c01fdb added support for measurements in LteUeRrc
Nicola Baldo <nbaldo@cttc.es>
parents: 9988
diff changeset
  1063
template <class C>
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
  1064
void
9995
32e393c01fdb added support for measurements in LteUeRrc
Nicola Baldo <nbaldo@cttc.es>
parents: 9988
diff changeset
  1065
MemberLteUeRrcSapUser<C>::SendMeasurementReport (MeasurementReport msg)
32e393c01fdb added support for measurements in LteUeRrc
Nicola Baldo <nbaldo@cttc.es>
parents: 9988
diff changeset
  1066
{
32e393c01fdb added support for measurements in LteUeRrc
Nicola Baldo <nbaldo@cttc.es>
parents: 9988
diff changeset
  1067
  m_owner->DoSendMeasurementReport (msg);
32e393c01fdb added support for measurements in LteUeRrc
Nicola Baldo <nbaldo@cttc.es>
parents: 9988
diff changeset
  1068
}
32e393c01fdb added support for measurements in LteUeRrc
Nicola Baldo <nbaldo@cttc.es>
parents: 9988
diff changeset
  1069
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1070
/**
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1071
 * Template for the implementation of the LteUeRrcSapProvider as a member
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1072
 * of an owner class of type C to which all methods are forwarded
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
  1073
 *
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1074
 */
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1075
template <class C>
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1076
class MemberLteUeRrcSapProvider : public LteUeRrcSapProvider
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1077
{
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1078
public:
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1079
  MemberLteUeRrcSapProvider (C* owner);
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1080
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
  1081
  // methods inherited from LteUeRrcSapProvider go here
9447
f836d3a3b71a added LteUeRrcSapProvider::CompleteSetup ()
Nicola Baldo <nbaldo@cttc.es>
parents: 9423
diff changeset
  1082
  virtual void CompleteSetup (CompleteSetupParameters params);
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1083
  virtual void RecvSystemInformation (SystemInformation msg);
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1084
  virtual void RecvRrcConnectionSetup (RrcConnectionSetup msg);
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1085
  virtual void RecvRrcConnectionReconfiguration (RrcConnectionReconfiguration msg);
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1086
  virtual void RecvRrcConnectionReestablishment (RrcConnectionReestablishment msg);
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1087
  virtual void RecvRrcConnectionReestablishmentReject (RrcConnectionReestablishmentReject msg);
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1088
  virtual void RecvRrcConnectionRelease (RrcConnectionRelease msg);
9510
1f57ceb87c95 Add functions in SAP's to send/receive ConnRej msg.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  1089
  virtual void RecvRrcConnectionReject (RrcConnectionReject msg);
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1090
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1091
private:
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1092
  MemberLteUeRrcSapProvider ();
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1093
  C* m_owner;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1094
};
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1095
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1096
template <class C>
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1097
MemberLteUeRrcSapProvider<C>::MemberLteUeRrcSapProvider (C* owner)
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1098
  : m_owner (owner)
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1099
{
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1100
}
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1101
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1102
template <class C>
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1103
MemberLteUeRrcSapProvider<C>::MemberLteUeRrcSapProvider ()
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1104
{
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1105
}
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1106
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1107
template <class C>
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
  1108
void
9447
f836d3a3b71a added LteUeRrcSapProvider::CompleteSetup ()
Nicola Baldo <nbaldo@cttc.es>
parents: 9423
diff changeset
  1109
MemberLteUeRrcSapProvider<C>::CompleteSetup (CompleteSetupParameters params)
f836d3a3b71a added LteUeRrcSapProvider::CompleteSetup ()
Nicola Baldo <nbaldo@cttc.es>
parents: 9423
diff changeset
  1110
{
f836d3a3b71a added LteUeRrcSapProvider::CompleteSetup ()
Nicola Baldo <nbaldo@cttc.es>
parents: 9423
diff changeset
  1111
  m_owner->DoCompleteSetup (params);
f836d3a3b71a added LteUeRrcSapProvider::CompleteSetup ()
Nicola Baldo <nbaldo@cttc.es>
parents: 9423
diff changeset
  1112
}
f836d3a3b71a added LteUeRrcSapProvider::CompleteSetup ()
Nicola Baldo <nbaldo@cttc.es>
parents: 9423
diff changeset
  1113
f836d3a3b71a added LteUeRrcSapProvider::CompleteSetup ()
Nicola Baldo <nbaldo@cttc.es>
parents: 9423
diff changeset
  1114
template <class C>
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
  1115
void
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1116
MemberLteUeRrcSapProvider<C>::RecvSystemInformation (SystemInformation msg)
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1117
{
9580
7f5eb0ebc639 LteRrcSap now scheduling DoRecvXxx methods instead of direct call
Nicola Baldo <nbaldo@cttc.es>
parents: 9510
diff changeset
  1118
  Simulator::ScheduleNow (&C::DoRecvSystemInformation, m_owner, msg);
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1119
}
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1120
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1121
template <class C>
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
  1122
void
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1123
MemberLteUeRrcSapProvider<C>::RecvRrcConnectionSetup (RrcConnectionSetup msg)
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1124
{
9580
7f5eb0ebc639 LteRrcSap now scheduling DoRecvXxx methods instead of direct call
Nicola Baldo <nbaldo@cttc.es>
parents: 9510
diff changeset
  1125
  Simulator::ScheduleNow (&C::DoRecvRrcConnectionSetup, m_owner, msg);
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1126
}
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1127
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1128
template <class C>
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
  1129
void
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1130
MemberLteUeRrcSapProvider<C>::RecvRrcConnectionReconfiguration (RrcConnectionReconfiguration msg)
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1131
{
9580
7f5eb0ebc639 LteRrcSap now scheduling DoRecvXxx methods instead of direct call
Nicola Baldo <nbaldo@cttc.es>
parents: 9510
diff changeset
  1132
  Simulator::ScheduleNow (&C::DoRecvRrcConnectionReconfiguration, m_owner, msg);
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1133
}
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1134
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1135
template <class C>
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
  1136
void
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1137
MemberLteUeRrcSapProvider<C>::RecvRrcConnectionReestablishment (RrcConnectionReestablishment msg)
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1138
{
9580
7f5eb0ebc639 LteRrcSap now scheduling DoRecvXxx methods instead of direct call
Nicola Baldo <nbaldo@cttc.es>
parents: 9510
diff changeset
  1139
  Simulator::ScheduleNow (&C::DoRecvRrcConnectionReestablishment, m_owner, msg);
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1140
}
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1141
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1142
template <class C>
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
  1143
void
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1144
MemberLteUeRrcSapProvider<C>::RecvRrcConnectionReestablishmentReject (RrcConnectionReestablishmentReject msg)
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1145
{
9580
7f5eb0ebc639 LteRrcSap now scheduling DoRecvXxx methods instead of direct call
Nicola Baldo <nbaldo@cttc.es>
parents: 9510
diff changeset
  1146
  Simulator::ScheduleNow (&C::DoRecvRrcConnectionReestablishmentReject, m_owner, msg);
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1147
}
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1148
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1149
template <class C>
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
  1150
void
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1151
MemberLteUeRrcSapProvider<C>::RecvRrcConnectionRelease (RrcConnectionRelease msg)
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1152
{
9580
7f5eb0ebc639 LteRrcSap now scheduling DoRecvXxx methods instead of direct call
Nicola Baldo <nbaldo@cttc.es>
parents: 9510
diff changeset
  1153
  Simulator::ScheduleNow (&C::DoRecvRrcConnectionRelease, m_owner, msg);
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1154
}
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1155
9510
1f57ceb87c95 Add functions in SAP's to send/receive ConnRej msg.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  1156
template <class C>
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
  1157
void
9510
1f57ceb87c95 Add functions in SAP's to send/receive ConnRej msg.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  1158
MemberLteUeRrcSapProvider<C>::RecvRrcConnectionReject (RrcConnectionReject msg)
1f57ceb87c95 Add functions in SAP's to send/receive ConnRej msg.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  1159
{
9580
7f5eb0ebc639 LteRrcSap now scheduling DoRecvXxx methods instead of direct call
Nicola Baldo <nbaldo@cttc.es>
parents: 9510
diff changeset
  1160
  Simulator::ScheduleNow (&C::DoRecvRrcConnectionReject, m_owner, msg);
9510
1f57ceb87c95 Add functions in SAP's to send/receive ConnRej msg.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  1161
}
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1162
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1163
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1164
/**
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1165
 * Template for the implementation of the LteEnbRrcSapUser as a member
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1166
 * of an owner class of type C to which all methods are forwarded
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
  1167
 *
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1168
 */
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1169
template <class C>
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1170
class MemberLteEnbRrcSapUser : public LteEnbRrcSapUser
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1171
{
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1172
public:
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1173
  MemberLteEnbRrcSapUser (C* owner);
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1174
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1175
  // inherited from LteEnbRrcSapUser
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1176
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1177
  virtual void SetupUe (uint16_t rnti, SetupUeParameters params);
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1178
  virtual void RemoveUe (uint16_t rnti);
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1179
  virtual void SendSystemInformation (SystemInformation msg);
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1180
  virtual void SendRrcConnectionSetup (uint16_t rnti, RrcConnectionSetup msg);
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1181
  virtual void SendRrcConnectionReconfiguration (uint16_t rnti, RrcConnectionReconfiguration msg);
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1182
  virtual void SendRrcConnectionReestablishment (uint16_t rnti, RrcConnectionReestablishment msg);
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1183
  virtual void SendRrcConnectionReestablishmentReject (uint16_t rnti, RrcConnectionReestablishmentReject msg);
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1184
  virtual void SendRrcConnectionRelease (uint16_t rnti, RrcConnectionRelease msg);
9510
1f57ceb87c95 Add functions in SAP's to send/receive ConnRej msg.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  1185
  virtual void SendRrcConnectionReject (uint16_t rnti, RrcConnectionReject msg);
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1186
  virtual Ptr<Packet> EncodeHandoverPreparationInformation (HandoverPreparationInfo msg);
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1187
  virtual HandoverPreparationInfo DecodeHandoverPreparationInformation (Ptr<Packet> p);
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1188
  virtual Ptr<Packet> EncodeHandoverCommand (RrcConnectionReconfiguration msg);
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1189
  virtual RrcConnectionReconfiguration DecodeHandoverCommand (Ptr<Packet> p);
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1190
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1191
private:
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1192
  MemberLteEnbRrcSapUser ();
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1193
  C* m_owner;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1194
};
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1195
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1196
template <class C>
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1197
MemberLteEnbRrcSapUser<C>::MemberLteEnbRrcSapUser (C* owner)
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1198
  : m_owner (owner)
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1199
{
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1200
}
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1201
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1202
template <class C>
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1203
MemberLteEnbRrcSapUser<C>::MemberLteEnbRrcSapUser ()
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1204
{
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1205
}
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1206
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1207
template <class C>
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
  1208
void
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1209
MemberLteEnbRrcSapUser<C>::SetupUe (uint16_t rnti, SetupUeParameters params)
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1210
{
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1211
  m_owner->DoSetupUe (rnti, params);
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1212
}
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1213
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1214
template <class C>
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
  1215
void
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1216
MemberLteEnbRrcSapUser<C>::RemoveUe (uint16_t rnti)
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1217
{
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1218
  m_owner->DoRemoveUe (rnti);
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1219
}
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1220
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1221
template <class C>
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
  1222
void
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1223
MemberLteEnbRrcSapUser<C>::SendSystemInformation (SystemInformation msg)
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1224
{
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1225
  m_owner->DoSendSystemInformation (msg);
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1226
}
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1227
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1228
template <class C>
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
  1229
void
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
  1230
MemberLteEnbRrcSapUser<C>::SendRrcConnectionSetup (uint16_t rnti, RrcConnectionSetup msg)
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1231
{
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
  1232
  m_owner->DoSendRrcConnectionSetup (rnti, msg);
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1233
}
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1234
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1235
template <class C>
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
  1236
void
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1237
MemberLteEnbRrcSapUser<C>::SendRrcConnectionReconfiguration (uint16_t rnti, RrcConnectionReconfiguration msg)
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1238
{
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1239
  m_owner->DoSendRrcConnectionReconfiguration (rnti, msg);
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1240
}
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1241
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1242
template <class C>
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
  1243
void
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1244
MemberLteEnbRrcSapUser<C>::SendRrcConnectionReestablishment (uint16_t rnti, RrcConnectionReestablishment msg)
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1245
{
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1246
  m_owner->DoSendRrcConnectionReestablishment (rnti, msg);
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1247
}
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1248
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1249
template <class C>
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
  1250
void
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1251
MemberLteEnbRrcSapUser<C>::SendRrcConnectionReestablishmentReject (uint16_t rnti, RrcConnectionReestablishmentReject msg)
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1252
{
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1253
  m_owner->DoSendRrcConnectionReestablishmentReject (rnti, msg);
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1254
}
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1255
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1256
template <class C>
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
  1257
void
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1258
MemberLteEnbRrcSapUser<C>::SendRrcConnectionRelease (uint16_t rnti, RrcConnectionRelease msg)
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1259
{
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1260
  m_owner->DoSendRrcConnectionRelease (rnti, msg);
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1261
}
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1262
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1263
template <class C>
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
  1264
void
9510
1f57ceb87c95 Add functions in SAP's to send/receive ConnRej msg.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  1265
MemberLteEnbRrcSapUser<C>::SendRrcConnectionReject (uint16_t rnti, RrcConnectionReject msg)
1f57ceb87c95 Add functions in SAP's to send/receive ConnRej msg.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  1266
{
1f57ceb87c95 Add functions in SAP's to send/receive ConnRej msg.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  1267
  m_owner->DoSendRrcConnectionReject (rnti, msg);
1f57ceb87c95 Add functions in SAP's to send/receive ConnRej msg.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  1268
}
1f57ceb87c95 Add functions in SAP's to send/receive ConnRej msg.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  1269
1f57ceb87c95 Add functions in SAP's to send/receive ConnRej msg.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
  1270
template <class C>
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
  1271
Ptr<Packet>
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1272
MemberLteEnbRrcSapUser<C>::EncodeHandoverPreparationInformation (HandoverPreparationInfo msg)
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1273
{
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1274
  return m_owner->DoEncodeHandoverPreparationInformation (msg);
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1275
}
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1276
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1277
template <class C>
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
  1278
LteRrcSap::HandoverPreparationInfo
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1279
MemberLteEnbRrcSapUser<C>::DecodeHandoverPreparationInformation (Ptr<Packet> p)
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1280
{
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1281
  return m_owner->DoDecodeHandoverPreparationInformation (p);
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1282
}
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1283
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1284
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1285
template <class C>
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
  1286
Ptr<Packet>
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1287
MemberLteEnbRrcSapUser<C>::EncodeHandoverCommand (RrcConnectionReconfiguration msg)
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1288
{
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1289
  return m_owner->DoEncodeHandoverCommand (msg);
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1290
}
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1291
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1292
template <class C>
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
  1293
LteRrcSap::RrcConnectionReconfiguration
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1294
MemberLteEnbRrcSapUser<C>::DecodeHandoverCommand (Ptr<Packet> p)
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1295
{
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1296
  return m_owner->DoDecodeHandoverCommand (p);
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1297
}
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1298
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1299
/**
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1300
 * Template for the implementation of the LteEnbRrcSapProvider as a member
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1301
 * of an owner class of type C to which all methods are forwarded
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
  1302
 *
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1303
 */
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1304
template <class C>
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1305
class MemberLteEnbRrcSapProvider : public LteEnbRrcSapProvider
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1306
{
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1307
public:
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1308
  MemberLteEnbRrcSapProvider (C* owner);
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1309
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
  1310
  // methods inherited from LteEnbRrcSapProvider go here
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
  1311
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1312
  virtual void CompleteSetupUe (uint16_t rnti, CompleteSetupUeParameters params);
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1313
  virtual void RecvRrcConnectionRequest (uint16_t rnti, RrcConnectionRequest msg);
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1314
  virtual void RecvRrcConnectionSetupCompleted (uint16_t rnti, RrcConnectionSetupCompleted msg);
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1315
  virtual void RecvRrcConnectionReconfigurationCompleted (uint16_t rnti, RrcConnectionReconfigurationCompleted msg);
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1316
  virtual void RecvRrcConnectionReestablishmentRequest (uint16_t rnti, RrcConnectionReestablishmentRequest msg);
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1317
  virtual void RecvRrcConnectionReestablishmentComplete (uint16_t rnti, RrcConnectionReestablishmentComplete msg);
9601
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  1318
  virtual void RecvMeasurementReport (uint16_t rnti, MeasurementReport msg);
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1319
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1320
private:
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1321
  MemberLteEnbRrcSapProvider ();
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1322
  C* m_owner;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1323
};
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1324
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1325
template <class C>
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1326
MemberLteEnbRrcSapProvider<C>::MemberLteEnbRrcSapProvider (C* owner)
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1327
  : m_owner (owner)
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1328
{
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1329
}
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1330
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1331
template <class C>
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1332
MemberLteEnbRrcSapProvider<C>::MemberLteEnbRrcSapProvider ()
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1333
{
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1334
}
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1335
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1336
template <class C>
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
  1337
void
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1338
MemberLteEnbRrcSapProvider<C>::CompleteSetupUe (uint16_t rnti, CompleteSetupUeParameters params)
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1339
{
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1340
  m_owner->DoCompleteSetupUe (rnti, params);
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1341
}
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1342
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1343
template <class C>
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
  1344
void
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1345
MemberLteEnbRrcSapProvider<C>::RecvRrcConnectionRequest (uint16_t rnti, RrcConnectionRequest msg)
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1346
{
9580
7f5eb0ebc639 LteRrcSap now scheduling DoRecvXxx methods instead of direct call
Nicola Baldo <nbaldo@cttc.es>
parents: 9510
diff changeset
  1347
  Simulator::ScheduleNow (&C::DoRecvRrcConnectionRequest, m_owner, rnti, msg);
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1348
}
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1349
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1350
template <class C>
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
  1351
void
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1352
MemberLteEnbRrcSapProvider<C>::RecvRrcConnectionSetupCompleted (uint16_t rnti, RrcConnectionSetupCompleted msg)
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1353
{
9580
7f5eb0ebc639 LteRrcSap now scheduling DoRecvXxx methods instead of direct call
Nicola Baldo <nbaldo@cttc.es>
parents: 9510
diff changeset
  1354
  Simulator::ScheduleNow (&C::DoRecvRrcConnectionSetupCompleted, m_owner, rnti, msg);
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1355
}
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1356
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1357
template <class C>
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
  1358
void
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1359
MemberLteEnbRrcSapProvider<C>::RecvRrcConnectionReconfigurationCompleted (uint16_t rnti, RrcConnectionReconfigurationCompleted msg)
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1360
{
9580
7f5eb0ebc639 LteRrcSap now scheduling DoRecvXxx methods instead of direct call
Nicola Baldo <nbaldo@cttc.es>
parents: 9510
diff changeset
  1361
  Simulator::ScheduleNow (&C::DoRecvRrcConnectionReconfigurationCompleted, m_owner, rnti, msg);
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1362
}
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1363
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1364
template <class C>
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
  1365
void
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1366
MemberLteEnbRrcSapProvider<C>::RecvRrcConnectionReestablishmentRequest (uint16_t rnti, RrcConnectionReestablishmentRequest msg)
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1367
{
9580
7f5eb0ebc639 LteRrcSap now scheduling DoRecvXxx methods instead of direct call
Nicola Baldo <nbaldo@cttc.es>
parents: 9510
diff changeset
  1368
  Simulator::ScheduleNow (&C::DoRecvRrcConnectionReestablishmentRequest, m_owner, rnti, msg);
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1369
}
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1370
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1371
template <class C>
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
  1372
void
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1373
MemberLteEnbRrcSapProvider<C>::RecvRrcConnectionReestablishmentComplete (uint16_t rnti, RrcConnectionReestablishmentComplete msg)
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1374
{
9580
7f5eb0ebc639 LteRrcSap now scheduling DoRecvXxx methods instead of direct call
Nicola Baldo <nbaldo@cttc.es>
parents: 9510
diff changeset
  1375
  Simulator::ScheduleNow (&C::DoRecvRrcConnectionReestablishmentComplete, m_owner, rnti, msg);
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1376
}
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1377
9601
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  1378
template <class C>
10028
f988b82ef6ec Capitalize constants in enums, according to ns3 coding style.
Llu?s Parcerisa <parcerisa@gmail.com>
parents: 10023
diff changeset
  1379
void
9601
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  1380
MemberLteEnbRrcSapProvider<C>::RecvMeasurementReport (uint16_t rnti, MeasurementReport msg)
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  1381
{
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  1382
  Simulator::ScheduleNow (&C::DoRecvMeasurementReport, m_owner, rnti, msg);
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9595
diff changeset
  1383
}
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1384
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1385
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1386
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1387
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1388
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1389
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1390
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1391
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1392
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1393
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1394
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1395
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1396
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1397
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1398
} // namespace ns3
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1399
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1400
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1401
#endif // LTE_RRC_SAP_H
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1402
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1403
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1404
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents:
diff changeset
  1405