src/lte/model/epc-x2-sap.h
author Manuel Requena <manuel.requena@cttc.es>
Tue, 26 Mar 2013 10:41:49 +0100
changeset 10019 6efd95740e39
parent 9556 29b3091d8fb8
permissions -rw-r--r--
Add automatic triger of the HO based on the RSRQ measures
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
9322
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
     1
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
     2
/*
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
     3
 * Copyright (c) 2012 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC)
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
     4
 *
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
     5
 * This program is free software; you can redistribute it and/or modify
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
     6
 * it under the terms of the GNU General Public License version 2 as
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
     7
 * published by the Free Software Foundation;
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
     8
 *
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
     9
 * This program is distributed in the hope that it will be useful,
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    12
 * GNU General Public License for more details.
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    13
 *
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    14
 * You should have received a copy of the GNU General Public License
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    15
 * along with this program; if not, write to the Free Software
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    16
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    17
 *
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    18
 * Author: Manuel Requena <manuel.requena@cttc.es>
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    19
 */
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    20
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    21
#ifndef EPC_X2_SAP_H
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    22
#define EPC_X2_SAP_H
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    23
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    24
#include "ns3/packet.h"
9340
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
    25
#include "ns3/eps-bearer.h"
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
    26
#include "ns3/ipv4-address.h"
9322
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    27
9476
826240041f48 Add UeContextRelease primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9453
diff changeset
    28
#include <bitset>
826240041f48 Add UeContextRelease primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9453
diff changeset
    29
9322
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    30
namespace ns3 {
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    31
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    32
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
    33
class Node;
9340
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
    34
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
    35
/**
9342
626169ede49f Add doxygen documentation to the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9340
diff changeset
    36
 * The X2 SAP defines the service between the X2 entity and the RRC entity.
626169ede49f Add doxygen documentation to the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9340
diff changeset
    37
 * 
626169ede49f Add doxygen documentation to the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9340
diff changeset
    38
 * The X2 SAP follows the specification 3GPP TS 36.423: "X2 application protocol (X2AP)"
626169ede49f Add doxygen documentation to the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9340
diff changeset
    39
 * 
626169ede49f Add doxygen documentation to the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9340
diff changeset
    40
 * The service primitives corresponds to the X2AP procedures and messages and 
626169ede49f Add doxygen documentation to the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9340
diff changeset
    41
 * the service parameters corresponds to the Information Elements
626169ede49f Add doxygen documentation to the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9340
diff changeset
    42
 * 
626169ede49f Add doxygen documentation to the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9340
diff changeset
    43
 * Note: Any reference in this file refers to the 3GPP TS 36.423 specification
9340
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
    44
 */
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
    45
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
    46
/**
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
    47
 * \brief Common structures for EpcX2SapProvider and EpcX2SapUser
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
    48
 */
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
    49
class EpcX2Sap
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
    50
{
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
    51
public:
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
    52
  virtual ~EpcX2Sap ();
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
    53
  
9342
626169ede49f Add doxygen documentation to the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9340
diff changeset
    54
  /**
626169ede49f Add doxygen documentation to the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9340
diff changeset
    55
   * E-RABs to be setup item as
626169ede49f Add doxygen documentation to the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9340
diff changeset
    56
   * it is used in the HANDOVER REQUEST message.
626169ede49f Add doxygen documentation to the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9340
diff changeset
    57
   * See section 9.1.1.1 for further info about the parameters
626169ede49f Add doxygen documentation to the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9340
diff changeset
    58
   */
9340
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
    59
  struct ErabToBeSetupItem
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
    60
  {
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
    61
    uint16_t    erabId;
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
    62
    EpsBearer   erabLevelQosParameters;
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
    63
    bool        dlForwarding;
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
    64
    Ipv4Address transportLayerAddress;
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
    65
    uint32_t    gtpTeid;
9432
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
    66
9340
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
    67
    ErabToBeSetupItem ();
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
    68
  };
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
    69
9342
626169ede49f Add doxygen documentation to the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9340
diff changeset
    70
  /**
626169ede49f Add doxygen documentation to the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9340
diff changeset
    71
   * E-RABs admitted item as
626169ede49f Add doxygen documentation to the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9340
diff changeset
    72
   * it is used in the HANDOVER REQUEST ACKNOWLEDGE message.
626169ede49f Add doxygen documentation to the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9340
diff changeset
    73
   * See section 9.1.1.2 for further info about the parameters
626169ede49f Add doxygen documentation to the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9340
diff changeset
    74
   */
9340
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
    75
  struct ErabAdmittedItem
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
    76
  {
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
    77
    uint16_t    erabId;
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
    78
    uint32_t    ulGtpTeid;
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
    79
    uint32_t    dlGtpTeid;
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
    80
  };
9432
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
    81
9342
626169ede49f Add doxygen documentation to the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9340
diff changeset
    82
  /**
626169ede49f Add doxygen documentation to the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9340
diff changeset
    83
   * E-RABs not admitted item as
626169ede49f Add doxygen documentation to the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9340
diff changeset
    84
   * it is used in the HANDOVER REQUEST ACKNOWLEDGE message.
626169ede49f Add doxygen documentation to the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9340
diff changeset
    85
   * See section 9.1.1.2 for further info about the parameters
626169ede49f Add doxygen documentation to the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9340
diff changeset
    86
   */
9340
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
    87
  struct ErabNotAdmittedItem
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
    88
  {
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
    89
    uint16_t    erabId;
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
    90
    uint16_t    cause;
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
    91
  };
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
    92
9415
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
    93
  /**
9476
826240041f48 Add UeContextRelease primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9453
diff changeset
    94
   * E-RABs subject to status transfer item as
826240041f48 Add UeContextRelease primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9453
diff changeset
    95
   * it is used in the SN STATUS TRANSFER message.
826240041f48 Add UeContextRelease primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9453
diff changeset
    96
   * See section 9.1.1.4 for further info about the parameters
826240041f48 Add UeContextRelease primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9453
diff changeset
    97
   */
826240041f48 Add UeContextRelease primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9453
diff changeset
    98
  static const uint16_t m_maxPdcpSn = 4096;
826240041f48 Add UeContextRelease primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9453
diff changeset
    99
  struct ErabsSubjectToStatusTransferItem
826240041f48 Add UeContextRelease primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9453
diff changeset
   100
  {
826240041f48 Add UeContextRelease primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9453
diff changeset
   101
    uint16_t            erabId;
826240041f48 Add UeContextRelease primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9453
diff changeset
   102
    std::bitset<m_maxPdcpSn> receiveStatusOfUlPdcpSdus;
826240041f48 Add UeContextRelease primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9453
diff changeset
   103
    uint16_t            ulPdcpSn;
826240041f48 Add UeContextRelease primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9453
diff changeset
   104
    uint32_t            ulHfn;
826240041f48 Add UeContextRelease primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9453
diff changeset
   105
    uint16_t            dlPdcpSn;
826240041f48 Add UeContextRelease primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9453
diff changeset
   106
    uint32_t            dlHfn;
826240041f48 Add UeContextRelease primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9453
diff changeset
   107
  };
826240041f48 Add UeContextRelease primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9453
diff changeset
   108
826240041f48 Add UeContextRelease primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9453
diff changeset
   109
  /**
9415
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   110
   * UL Interference OverloadIndication as
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   111
   * it is used in the LOAD INFORMATION message.
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   112
   * See section 9.2.17 for further info about the values
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   113
   */
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   114
  enum UlInterferenceOverloadIndicationItem
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   115
  {
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   116
    HighInterference,
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   117
    MediumInterference,
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   118
    LowInterference
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   119
  };
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   120
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   121
  /**
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   122
   * UL High Interference Information as
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   123
   * it is used in the LOAD INFORMATION message.
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   124
   * See section 9.1.2.1 for further info about the parameters
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   125
   */
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   126
  struct UlHighInterferenceInformationItem
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   127
  {
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   128
    uint16_t    targetCellId;
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   129
    std::vector <bool> ulHighInterferenceIndicationList;
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   130
  };
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   131
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   132
  /**
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   133
   * Relative Narrowband Tx Power (RNTP) as
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   134
   * it is used in the LOAD INFORMATION message.
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   135
   * See section 9.2.19 for further info about the parameters
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   136
   * 
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   137
   * Note: You can use INT16_MIN value for -infinite value
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   138
   *       in the rntpThreshold field
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   139
   */
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   140
  struct RelativeNarrowbandTxBand
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   141
  {
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   142
    std::vector <bool> rntpPerPrbList;
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   143
    int16_t     rntpThreshold;
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   144
    uint16_t    antennaPorts;
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   145
    uint16_t    pB;
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   146
    uint16_t    pdcchInterferenceImpact;
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   147
  };
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   148
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   149
  /**
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   150
   * Cell Information Item as
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   151
   * it is used in the LOAD INFORMATION message.
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   152
   * See section 9.1.2.1 for further info about the parameters
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   153
   */
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   154
  struct CellInformationItem
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   155
  {
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   156
    uint16_t    sourceCellId;
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   157
    std::vector <UlInterferenceOverloadIndicationItem> ulInterferenceOverloadIndicationList;
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   158
    std::vector <UlHighInterferenceInformationItem> ulHighInterferenceInformationList;
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   159
    RelativeNarrowbandTxBand relativeNarrowbandTxBand;
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   160
  };
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   161
9432
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   162
  /**
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   163
   * Load Indicator as
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   164
   * it is used in the RESOURCE STATUS UPDATE message.
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   165
   * See section 9.2.36 for further info about the value
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   166
   */
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   167
  enum LoadIndicator
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   168
  {
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   169
    LowLoad,
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   170
    MediumLoad,
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   171
    HighLoad,
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   172
    Overload
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   173
  };
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   174
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   175
  /**
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   176
   * Composite Available Capacity as
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   177
   * it is used in the RESOURCE STATUS UPDATE message.
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   178
   * See section 9.2.45 for further info about the parameters
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   179
   */
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   180
  struct CompositeAvailCapacity
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   181
  {
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   182
    uint16_t    cellCapacityClassValue;
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   183
    uint16_t    capacityValue;
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   184
  };
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   185
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   186
  /**
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   187
   * Cell Measurement Result Item as
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   188
   * it is used in the RESOURCE STATUS UPDATE message.
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   189
   * See section 9.1.2.14 for further info about the parameters
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   190
   */
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   191
  struct CellMeasurementResultItem
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   192
  {
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   193
    uint16_t        sourceCellId;
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   194
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   195
    LoadIndicator   dlHardwareLoadIndicator;
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   196
    LoadIndicator   ulHardwareLoadIndicator;
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   197
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   198
    LoadIndicator   dlS1TnlLoadIndicator;
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   199
    LoadIndicator   ulS1TnlLoadIndicator;
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   200
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   201
    uint16_t        dlGbrPrbUsage;
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   202
    uint16_t        ulGbrPrbUsage;
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   203
    uint16_t        dlNonGbrPrbUsage;
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   204
    uint16_t        ulNonGbrPrbUsage;
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   205
    uint16_t        dlTotalPrbUsage;
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   206
    uint16_t        ulTotalPrbUsage;
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   207
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   208
    CompositeAvailCapacity  dlCompositeAvailableCapacity;
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   209
    CompositeAvailCapacity  ulCompositeAvailableCapacity;
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   210
  };
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   211
9415
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   212
9340
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
   213
  enum IdCause
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
   214
  {
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
   215
    HandoverDesirableForRadioReason,
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
   216
    TimeCriticalHandover
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
   217
  };
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
   218
9415
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   219
9342
626169ede49f Add doxygen documentation to the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9340
diff changeset
   220
  /**
626169ede49f Add doxygen documentation to the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9340
diff changeset
   221
   * \brief Parameters of the HANDOVER REQUEST message.
626169ede49f Add doxygen documentation to the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9340
diff changeset
   222
   *
626169ede49f Add doxygen documentation to the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9340
diff changeset
   223
   * See section 9.1.1.1 for further info about the parameters
626169ede49f Add doxygen documentation to the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9340
diff changeset
   224
   */
9340
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
   225
  struct HandoverRequestParams
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
   226
  {
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
   227
    uint16_t            oldEnbUeX2apId;
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
   228
    uint16_t            cause;
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
   229
    uint16_t            sourceCellId;
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
   230
    uint16_t            targetCellId;
9437
9c5081f582ad Add support for MME UE S1AP ID in HandoverRequest X2 primitive
Manuel Requena <manuel.requena@cttc.es>
parents: 9432
diff changeset
   231
    uint32_t            mmeUeS1apId;
9340
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
   232
    uint64_t            ueAggregateMaxBitRateDownlink;
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
   233
    uint64_t            ueAggregateMaxBitRateUplink;
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
   234
    std::vector <ErabToBeSetupItem> bearers;
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
   235
    Ptr<Packet>         rrcContext;
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
   236
  };
9432
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   237
9342
626169ede49f Add doxygen documentation to the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9340
diff changeset
   238
  /**
626169ede49f Add doxygen documentation to the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9340
diff changeset
   239
   * \brief Parameters of the HANDOVER REQUEST ACKNOWLEDGE message.
626169ede49f Add doxygen documentation to the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9340
diff changeset
   240
   *
626169ede49f Add doxygen documentation to the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9340
diff changeset
   241
   * See section 9.1.1.2 for further info about the parameters
626169ede49f Add doxygen documentation to the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9340
diff changeset
   242
   */
9340
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
   243
  struct HandoverRequestAckParams
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
   244
  {
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
   245
    uint16_t            oldEnbUeX2apId;
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
   246
    uint16_t            newEnbUeX2apId;
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
   247
    uint16_t            sourceCellId;
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
   248
    uint16_t            targetCellId;
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
   249
    std::vector <ErabAdmittedItem> admittedBearers;
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
   250
    std::vector <ErabNotAdmittedItem> notAdmittedBearers;
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
   251
    Ptr<Packet>         rrcContext;
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
   252
  };
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
   253
9405
ec9b557065cc Add UE Context Release primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9342
diff changeset
   254
  /**
9453
20da0586a4c1 Add HandoverPreparationFailure primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9432
diff changeset
   255
   * \brief Parameters of the HANDOVER PREPARATION FAILURE message.
20da0586a4c1 Add HandoverPreparationFailure primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9432
diff changeset
   256
   *
20da0586a4c1 Add HandoverPreparationFailure primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9432
diff changeset
   257
   * See section 9.1.1.3 for further info about the parameters
20da0586a4c1 Add HandoverPreparationFailure primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9432
diff changeset
   258
   */
20da0586a4c1 Add HandoverPreparationFailure primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9432
diff changeset
   259
  struct HandoverPreparationFailureParams
20da0586a4c1 Add HandoverPreparationFailure primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9432
diff changeset
   260
  {
20da0586a4c1 Add HandoverPreparationFailure primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9432
diff changeset
   261
    uint16_t            oldEnbUeX2apId;
20da0586a4c1 Add HandoverPreparationFailure primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9432
diff changeset
   262
    uint16_t            sourceCellId;
20da0586a4c1 Add HandoverPreparationFailure primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9432
diff changeset
   263
    uint16_t            targetCellId;
20da0586a4c1 Add HandoverPreparationFailure primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9432
diff changeset
   264
    uint16_t            cause;
20da0586a4c1 Add HandoverPreparationFailure primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9432
diff changeset
   265
    uint16_t            criticalityDiagnostics;
20da0586a4c1 Add HandoverPreparationFailure primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9432
diff changeset
   266
  };
20da0586a4c1 Add HandoverPreparationFailure primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9432
diff changeset
   267
20da0586a4c1 Add HandoverPreparationFailure primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9432
diff changeset
   268
  /**
9476
826240041f48 Add UeContextRelease primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9453
diff changeset
   269
   * \brief Parameters of the SN STATUS TRANSFER message.
826240041f48 Add UeContextRelease primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9453
diff changeset
   270
   *
826240041f48 Add UeContextRelease primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9453
diff changeset
   271
   * See section 9.1.1.4 for further info about the parameters
826240041f48 Add UeContextRelease primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9453
diff changeset
   272
   */
826240041f48 Add UeContextRelease primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9453
diff changeset
   273
  struct SnStatusTransferParams
826240041f48 Add UeContextRelease primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9453
diff changeset
   274
  {
826240041f48 Add UeContextRelease primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9453
diff changeset
   275
    uint16_t            oldEnbUeX2apId;
826240041f48 Add UeContextRelease primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9453
diff changeset
   276
    uint16_t            newEnbUeX2apId;
826240041f48 Add UeContextRelease primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9453
diff changeset
   277
    uint16_t            sourceCellId;
826240041f48 Add UeContextRelease primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9453
diff changeset
   278
    uint16_t            targetCellId;
826240041f48 Add UeContextRelease primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9453
diff changeset
   279
    std::vector <ErabsSubjectToStatusTransferItem> erabsSubjectToStatusTransferList;
826240041f48 Add UeContextRelease primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9453
diff changeset
   280
  };
826240041f48 Add UeContextRelease primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9453
diff changeset
   281
826240041f48 Add UeContextRelease primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9453
diff changeset
   282
  /**
9405
ec9b557065cc Add UE Context Release primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9342
diff changeset
   283
   * \brief Parameters of the UE CONTEXT RELEASE message.
ec9b557065cc Add UE Context Release primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9342
diff changeset
   284
   *
ec9b557065cc Add UE Context Release primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9342
diff changeset
   285
   * See section 9.1.1.5 for further info about the parameters
ec9b557065cc Add UE Context Release primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9342
diff changeset
   286
   */
ec9b557065cc Add UE Context Release primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9342
diff changeset
   287
  struct UeContextReleaseParams
ec9b557065cc Add UE Context Release primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9342
diff changeset
   288
  {
ec9b557065cc Add UE Context Release primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9342
diff changeset
   289
    uint16_t            oldEnbUeX2apId;
ec9b557065cc Add UE Context Release primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9342
diff changeset
   290
    uint16_t            newEnbUeX2apId;
9412
da31245666bb Simplify handover management for multiple eNBs (i.e. different cellIds)
Manuel Requena <manuel.requena@cttc.es>
parents: 9405
diff changeset
   291
    uint16_t            sourceCellId;
9476
826240041f48 Add UeContextRelease primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9453
diff changeset
   292
    uint16_t            targetCellId;
9405
ec9b557065cc Add UE Context Release primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9342
diff changeset
   293
  };
9415
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   294
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   295
  /**
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   296
   * \brief Parameters of the LOAD INFORMATION message.
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   297
   *
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   298
   * See section 9.1.2.1 for further info about the parameters
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   299
   */
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   300
  struct LoadInformationParams
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   301
  {
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   302
    uint16_t            targetCellId;
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   303
    std::vector <CellInformationItem> cellInformationList;
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   304
  };
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   305
9432
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   306
  /**
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   307
   * \brief Parameters of the RESOURCE STATUS UPDATE message.
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   308
   *
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   309
   * See section 9.1.2.14 for further info about the parameters
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   310
   */
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   311
  struct ResourceStatusUpdateParams
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   312
  {
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   313
    uint16_t            targetCellId;
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   314
    uint16_t            enb1MeasurementId;
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   315
    uint16_t            enb2MeasurementId;
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   316
    std::vector <CellMeasurementResultItem> cellMeasurementResultList;
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   317
  };
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   318
9552
f2f0aad583d9 Add X2 primitive for UE data forwarding
Manuel Requena <manuel.requena@cttc.es>
parents: 9476
diff changeset
   319
  /**
f2f0aad583d9 Add X2 primitive for UE data forwarding
Manuel Requena <manuel.requena@cttc.es>
parents: 9476
diff changeset
   320
   * \brief Parameters of the UE DATA primitive
f2f0aad583d9 Add X2 primitive for UE data forwarding
Manuel Requena <manuel.requena@cttc.es>
parents: 9476
diff changeset
   321
   *
f2f0aad583d9 Add X2 primitive for UE data forwarding
Manuel Requena <manuel.requena@cttc.es>
parents: 9476
diff changeset
   322
   * Forward UE data during the handover procedure from source eNB (sourceCellId)
f2f0aad583d9 Add X2 primitive for UE data forwarding
Manuel Requena <manuel.requena@cttc.es>
parents: 9476
diff changeset
   323
   * to target eNB (targetCellId) using a GTP-U tunnel (gtpTeid)
f2f0aad583d9 Add X2 primitive for UE data forwarding
Manuel Requena <manuel.requena@cttc.es>
parents: 9476
diff changeset
   324
   */
f2f0aad583d9 Add X2 primitive for UE data forwarding
Manuel Requena <manuel.requena@cttc.es>
parents: 9476
diff changeset
   325
  struct UeDataParams
f2f0aad583d9 Add X2 primitive for UE data forwarding
Manuel Requena <manuel.requena@cttc.es>
parents: 9476
diff changeset
   326
  {
f2f0aad583d9 Add X2 primitive for UE data forwarding
Manuel Requena <manuel.requena@cttc.es>
parents: 9476
diff changeset
   327
    uint16_t    sourceCellId;
f2f0aad583d9 Add X2 primitive for UE data forwarding
Manuel Requena <manuel.requena@cttc.es>
parents: 9476
diff changeset
   328
    uint16_t    targetCellId;
f2f0aad583d9 Add X2 primitive for UE data forwarding
Manuel Requena <manuel.requena@cttc.es>
parents: 9476
diff changeset
   329
    uint32_t    gtpTeid;
f2f0aad583d9 Add X2 primitive for UE data forwarding
Manuel Requena <manuel.requena@cttc.es>
parents: 9476
diff changeset
   330
    Ptr<Packet> ueData;
f2f0aad583d9 Add X2 primitive for UE data forwarding
Manuel Requena <manuel.requena@cttc.es>
parents: 9476
diff changeset
   331
  };
f2f0aad583d9 Add X2 primitive for UE data forwarding
Manuel Requena <manuel.requena@cttc.es>
parents: 9476
diff changeset
   332
9340
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
   333
};
9322
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   334
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   335
9342
626169ede49f Add doxygen documentation to the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9340
diff changeset
   336
/**
626169ede49f Add doxygen documentation to the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9340
diff changeset
   337
 * These service primitives of this part of the X2 SAP
626169ede49f Add doxygen documentation to the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9340
diff changeset
   338
 * are provided by the X2 entity and issued by RRC entity
626169ede49f Add doxygen documentation to the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9340
diff changeset
   339
 */
9340
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
   340
class EpcX2SapProvider : public EpcX2Sap
9322
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   341
{
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   342
public:
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   343
  virtual ~EpcX2SapProvider ();
9432
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   344
9322
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   345
  /**
9342
626169ede49f Add doxygen documentation to the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9340
diff changeset
   346
   * Service primitives
9322
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   347
   */
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   348
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   349
  virtual void SendHandoverRequest (HandoverRequestParams params) = 0;
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   350
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   351
  virtual void SendHandoverRequestAck (HandoverRequestAckParams params) = 0;
9415
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   352
9453
20da0586a4c1 Add HandoverPreparationFailure primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9432
diff changeset
   353
  virtual void SendHandoverPreparationFailure (HandoverPreparationFailureParams params) = 0;
20da0586a4c1 Add HandoverPreparationFailure primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9432
diff changeset
   354
9476
826240041f48 Add UeContextRelease primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9453
diff changeset
   355
  virtual void SendSnStatusTransfer (SnStatusTransferParams params) = 0;
826240041f48 Add UeContextRelease primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9453
diff changeset
   356
9405
ec9b557065cc Add UE Context Release primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9342
diff changeset
   357
  virtual void SendUeContextRelease (UeContextReleaseParams params) = 0;
9415
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   358
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   359
  virtual void SendLoadInformation (LoadInformationParams params) = 0;
9432
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   360
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   361
  virtual void SendResourceStatusUpdate (ResourceStatusUpdateParams params) = 0;
9552
f2f0aad583d9 Add X2 primitive for UE data forwarding
Manuel Requena <manuel.requena@cttc.es>
parents: 9476
diff changeset
   362
f2f0aad583d9 Add X2 primitive for UE data forwarding
Manuel Requena <manuel.requena@cttc.es>
parents: 9476
diff changeset
   363
  virtual void SendUeData (UeDataParams params) = 0;
9322
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   364
};
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   365
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   366
9342
626169ede49f Add doxygen documentation to the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9340
diff changeset
   367
/**
626169ede49f Add doxygen documentation to the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9340
diff changeset
   368
 * These service primitives of this part of the X2 SAP
626169ede49f Add doxygen documentation to the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9340
diff changeset
   369
 * are provided by the RRC entity and issued by the X2 entity
626169ede49f Add doxygen documentation to the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9340
diff changeset
   370
 */
9340
937de186cb57 Add parameters of the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9327
diff changeset
   371
class EpcX2SapUser : public EpcX2Sap
9322
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   372
{
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   373
public:
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   374
  virtual ~EpcX2SapUser ();
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   375
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   376
  /**
9342
626169ede49f Add doxygen documentation to the X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9340
diff changeset
   377
   * Service primitives
9322
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   378
   */
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   379
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   380
  virtual void RecvHandoverRequest (HandoverRequestParams params) = 0;
9415
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   381
9322
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   382
  virtual void RecvHandoverRequestAck (HandoverRequestAckParams params) = 0;
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   383
9453
20da0586a4c1 Add HandoverPreparationFailure primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9432
diff changeset
   384
  virtual void RecvHandoverPreparationFailure (HandoverPreparationFailureParams params) = 0;
20da0586a4c1 Add HandoverPreparationFailure primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9432
diff changeset
   385
9476
826240041f48 Add UeContextRelease primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9453
diff changeset
   386
  virtual void RecvSnStatusTransfer (SnStatusTransferParams params) = 0;
826240041f48 Add UeContextRelease primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9453
diff changeset
   387
9405
ec9b557065cc Add UE Context Release primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9342
diff changeset
   388
  virtual void RecvUeContextRelease (UeContextReleaseParams params) = 0;
9415
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   389
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   390
  virtual void RecvLoadInformation (LoadInformationParams params) = 0;
9432
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   391
  
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   392
  virtual void RecvResourceStatusUpdate (ResourceStatusUpdateParams params) = 0;
9552
f2f0aad583d9 Add X2 primitive for UE data forwarding
Manuel Requena <manuel.requena@cttc.es>
parents: 9476
diff changeset
   393
f2f0aad583d9 Add X2 primitive for UE data forwarding
Manuel Requena <manuel.requena@cttc.es>
parents: 9476
diff changeset
   394
  virtual void RecvUeData (UeDataParams params) = 0;
9322
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   395
};
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   396
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   397
///////////////////////////////////////
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   398
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   399
template <class C>
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   400
class EpcX2SpecificEpcX2SapProvider : public EpcX2SapProvider
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   401
{
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   402
public:
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   403
  EpcX2SpecificEpcX2SapProvider (C* x2);
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   404
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   405
  //
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   406
  // Interface implemented from EpcX2SapProvider
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   407
  //
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   408
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   409
  virtual void SendHandoverRequest (HandoverRequestParams params);
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   410
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   411
  virtual void SendHandoverRequestAck (HandoverRequestAckParams params);
9405
ec9b557065cc Add UE Context Release primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9342
diff changeset
   412
9453
20da0586a4c1 Add HandoverPreparationFailure primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9432
diff changeset
   413
  virtual void SendHandoverPreparationFailure (HandoverPreparationFailureParams params);
20da0586a4c1 Add HandoverPreparationFailure primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9432
diff changeset
   414
9476
826240041f48 Add UeContextRelease primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9453
diff changeset
   415
  virtual void SendSnStatusTransfer (SnStatusTransferParams params);
826240041f48 Add UeContextRelease primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9453
diff changeset
   416
9405
ec9b557065cc Add UE Context Release primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9342
diff changeset
   417
  virtual void SendUeContextRelease (UeContextReleaseParams params);
9415
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   418
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   419
  virtual void SendLoadInformation (LoadInformationParams params);
9432
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   420
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   421
  virtual void SendResourceStatusUpdate (ResourceStatusUpdateParams params);
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   422
9552
f2f0aad583d9 Add X2 primitive for UE data forwarding
Manuel Requena <manuel.requena@cttc.es>
parents: 9476
diff changeset
   423
  virtual void SendUeData (UeDataParams params);
f2f0aad583d9 Add X2 primitive for UE data forwarding
Manuel Requena <manuel.requena@cttc.es>
parents: 9476
diff changeset
   424
9322
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   425
private:
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   426
  EpcX2SpecificEpcX2SapProvider ();
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   427
  C* m_x2;
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   428
};
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   429
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   430
template <class C>
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   431
EpcX2SpecificEpcX2SapProvider<C>::EpcX2SpecificEpcX2SapProvider (C* x2)
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   432
  : m_x2 (x2)
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   433
{
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   434
}
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   435
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   436
template <class C>
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   437
EpcX2SpecificEpcX2SapProvider<C>::EpcX2SpecificEpcX2SapProvider ()
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   438
{
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   439
}
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   440
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   441
template <class C>
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   442
void
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   443
EpcX2SpecificEpcX2SapProvider<C>::SendHandoverRequest (HandoverRequestParams params)
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   444
{
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   445
  m_x2->DoSendHandoverRequest (params);
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   446
}
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   447
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   448
template <class C>
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   449
void
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   450
EpcX2SpecificEpcX2SapProvider<C>::SendHandoverRequestAck (HandoverRequestAckParams params)
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   451
{
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   452
  m_x2->DoSendHandoverRequestAck (params);
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   453
}
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   454
9405
ec9b557065cc Add UE Context Release primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9342
diff changeset
   455
template <class C>
ec9b557065cc Add UE Context Release primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9342
diff changeset
   456
void
9453
20da0586a4c1 Add HandoverPreparationFailure primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9432
diff changeset
   457
EpcX2SpecificEpcX2SapProvider<C>::SendHandoverPreparationFailure (HandoverPreparationFailureParams params)
20da0586a4c1 Add HandoverPreparationFailure primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9432
diff changeset
   458
{
20da0586a4c1 Add HandoverPreparationFailure primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9432
diff changeset
   459
  m_x2->DoSendHandoverPreparationFailure (params);
20da0586a4c1 Add HandoverPreparationFailure primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9432
diff changeset
   460
}
20da0586a4c1 Add HandoverPreparationFailure primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9432
diff changeset
   461
20da0586a4c1 Add HandoverPreparationFailure primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9432
diff changeset
   462
template <class C>
20da0586a4c1 Add HandoverPreparationFailure primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9432
diff changeset
   463
void
9476
826240041f48 Add UeContextRelease primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9453
diff changeset
   464
EpcX2SpecificEpcX2SapProvider<C>::SendSnStatusTransfer (SnStatusTransferParams params)
826240041f48 Add UeContextRelease primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9453
diff changeset
   465
{
826240041f48 Add UeContextRelease primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9453
diff changeset
   466
  m_x2->DoSendSnStatusTransfer (params);
826240041f48 Add UeContextRelease primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9453
diff changeset
   467
}
826240041f48 Add UeContextRelease primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9453
diff changeset
   468
826240041f48 Add UeContextRelease primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9453
diff changeset
   469
template <class C>
826240041f48 Add UeContextRelease primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9453
diff changeset
   470
void
9405
ec9b557065cc Add UE Context Release primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9342
diff changeset
   471
EpcX2SpecificEpcX2SapProvider<C>::SendUeContextRelease (UeContextReleaseParams params)
ec9b557065cc Add UE Context Release primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9342
diff changeset
   472
{
ec9b557065cc Add UE Context Release primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9342
diff changeset
   473
  m_x2->DoSendUeContextRelease (params);
ec9b557065cc Add UE Context Release primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9342
diff changeset
   474
}
ec9b557065cc Add UE Context Release primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9342
diff changeset
   475
9415
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   476
template <class C>
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   477
void
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   478
EpcX2SpecificEpcX2SapProvider<C>::SendLoadInformation (LoadInformationParams params)
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   479
{
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   480
  m_x2->DoSendLoadInformation (params);
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   481
}
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   482
9432
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   483
template <class C>
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   484
void
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   485
EpcX2SpecificEpcX2SapProvider<C>::SendResourceStatusUpdate (ResourceStatusUpdateParams params)
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   486
{
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   487
  m_x2->DoSendResourceStatusUpdate (params);
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   488
}
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   489
9552
f2f0aad583d9 Add X2 primitive for UE data forwarding
Manuel Requena <manuel.requena@cttc.es>
parents: 9476
diff changeset
   490
template <class C>
f2f0aad583d9 Add X2 primitive for UE data forwarding
Manuel Requena <manuel.requena@cttc.es>
parents: 9476
diff changeset
   491
void
f2f0aad583d9 Add X2 primitive for UE data forwarding
Manuel Requena <manuel.requena@cttc.es>
parents: 9476
diff changeset
   492
EpcX2SpecificEpcX2SapProvider<C>::SendUeData (UeDataParams params)
f2f0aad583d9 Add X2 primitive for UE data forwarding
Manuel Requena <manuel.requena@cttc.es>
parents: 9476
diff changeset
   493
{
f2f0aad583d9 Add X2 primitive for UE data forwarding
Manuel Requena <manuel.requena@cttc.es>
parents: 9476
diff changeset
   494
  m_x2->DoSendUeData (params);
f2f0aad583d9 Add X2 primitive for UE data forwarding
Manuel Requena <manuel.requena@cttc.es>
parents: 9476
diff changeset
   495
}
f2f0aad583d9 Add X2 primitive for UE data forwarding
Manuel Requena <manuel.requena@cttc.es>
parents: 9476
diff changeset
   496
9322
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   497
///////////////////////////////////////
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   498
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   499
template <class C>
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   500
class EpcX2SpecificEpcX2SapUser : public EpcX2SapUser
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   501
{
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   502
public:
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   503
  EpcX2SpecificEpcX2SapUser (C* rrc);
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   504
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   505
  //
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   506
  // Interface implemented from EpcX2SapUser
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   507
  //
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   508
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   509
  virtual void RecvHandoverRequest (HandoverRequestParams params);
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   510
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   511
  virtual void RecvHandoverRequestAck (HandoverRequestAckParams params);
9432
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   512
9453
20da0586a4c1 Add HandoverPreparationFailure primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9432
diff changeset
   513
  virtual void RecvHandoverPreparationFailure (HandoverPreparationFailureParams params);
20da0586a4c1 Add HandoverPreparationFailure primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9432
diff changeset
   514
9476
826240041f48 Add UeContextRelease primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9453
diff changeset
   515
  virtual void RecvSnStatusTransfer (SnStatusTransferParams params);
826240041f48 Add UeContextRelease primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9453
diff changeset
   516
9405
ec9b557065cc Add UE Context Release primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9342
diff changeset
   517
  virtual void RecvUeContextRelease (UeContextReleaseParams params);
9415
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   518
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   519
  virtual void RecvLoadInformation (LoadInformationParams params);
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   520
9432
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   521
  virtual void RecvResourceStatusUpdate (ResourceStatusUpdateParams params);
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   522
9552
f2f0aad583d9 Add X2 primitive for UE data forwarding
Manuel Requena <manuel.requena@cttc.es>
parents: 9476
diff changeset
   523
  virtual void RecvUeData (UeDataParams params);
f2f0aad583d9 Add X2 primitive for UE data forwarding
Manuel Requena <manuel.requena@cttc.es>
parents: 9476
diff changeset
   524
9322
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   525
private:
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   526
  EpcX2SpecificEpcX2SapUser ();
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   527
  C* m_rrc;
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   528
};
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   529
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   530
template <class C>
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   531
EpcX2SpecificEpcX2SapUser<C>::EpcX2SpecificEpcX2SapUser (C* rrc)
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   532
  : m_rrc (rrc)
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   533
{
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   534
}
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   535
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   536
template <class C>
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   537
EpcX2SpecificEpcX2SapUser<C>::EpcX2SpecificEpcX2SapUser ()
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   538
{
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   539
}
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   540
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   541
template <class C>
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   542
void
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   543
EpcX2SpecificEpcX2SapUser<C>::RecvHandoverRequest (HandoverRequestParams params)
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   544
{
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   545
  m_rrc->DoRecvHandoverRequest (params);
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   546
}
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   547
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   548
template <class C>
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   549
void
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   550
EpcX2SpecificEpcX2SapUser<C>::RecvHandoverRequestAck (HandoverRequestAckParams params)
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   551
{
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   552
  m_rrc->DoRecvHandoverRequestAck (params);
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   553
}
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   554
9405
ec9b557065cc Add UE Context Release primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9342
diff changeset
   555
template <class C>
ec9b557065cc Add UE Context Release primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9342
diff changeset
   556
void
9453
20da0586a4c1 Add HandoverPreparationFailure primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9432
diff changeset
   557
EpcX2SpecificEpcX2SapUser<C>::RecvHandoverPreparationFailure (HandoverPreparationFailureParams params)
20da0586a4c1 Add HandoverPreparationFailure primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9432
diff changeset
   558
{
20da0586a4c1 Add HandoverPreparationFailure primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9432
diff changeset
   559
  m_rrc->DoRecvHandoverPreparationFailure (params);
20da0586a4c1 Add HandoverPreparationFailure primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9432
diff changeset
   560
}
20da0586a4c1 Add HandoverPreparationFailure primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9432
diff changeset
   561
20da0586a4c1 Add HandoverPreparationFailure primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9432
diff changeset
   562
template <class C>
20da0586a4c1 Add HandoverPreparationFailure primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9432
diff changeset
   563
void
9476
826240041f48 Add UeContextRelease primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9453
diff changeset
   564
EpcX2SpecificEpcX2SapUser<C>::RecvSnStatusTransfer (SnStatusTransferParams params)
826240041f48 Add UeContextRelease primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9453
diff changeset
   565
{
826240041f48 Add UeContextRelease primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9453
diff changeset
   566
  m_rrc->DoRecvSnStatusTransfer (params);
826240041f48 Add UeContextRelease primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9453
diff changeset
   567
}
826240041f48 Add UeContextRelease primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9453
diff changeset
   568
826240041f48 Add UeContextRelease primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9453
diff changeset
   569
template <class C>
826240041f48 Add UeContextRelease primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9453
diff changeset
   570
void
9405
ec9b557065cc Add UE Context Release primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9342
diff changeset
   571
EpcX2SpecificEpcX2SapUser<C>::RecvUeContextRelease (UeContextReleaseParams params)
ec9b557065cc Add UE Context Release primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9342
diff changeset
   572
{
ec9b557065cc Add UE Context Release primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9342
diff changeset
   573
  m_rrc->DoRecvUeContextRelease (params);
ec9b557065cc Add UE Context Release primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9342
diff changeset
   574
}
ec9b557065cc Add UE Context Release primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9342
diff changeset
   575
9415
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   576
template <class C>
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   577
void
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   578
EpcX2SpecificEpcX2SapUser<C>::RecvLoadInformation (LoadInformationParams params)
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   579
{
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   580
  m_rrc->DoRecvLoadInformation (params);
e35ffeb8f9e7 Add Load Information primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9412
diff changeset
   581
}
9322
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   582
9432
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   583
template <class C>
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   584
void
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   585
EpcX2SpecificEpcX2SapUser<C>::RecvResourceStatusUpdate (ResourceStatusUpdateParams params)
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   586
{
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   587
  m_rrc->DoRecvResourceStatusUpdate (params);
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   588
}
0a3218ce7fe9 Add ResourceStatusUpdate primitive to X2 SAP
Manuel Requena <manuel.requena@cttc.es>
parents: 9415
diff changeset
   589
9552
f2f0aad583d9 Add X2 primitive for UE data forwarding
Manuel Requena <manuel.requena@cttc.es>
parents: 9476
diff changeset
   590
template <class C>
f2f0aad583d9 Add X2 primitive for UE data forwarding
Manuel Requena <manuel.requena@cttc.es>
parents: 9476
diff changeset
   591
void
f2f0aad583d9 Add X2 primitive for UE data forwarding
Manuel Requena <manuel.requena@cttc.es>
parents: 9476
diff changeset
   592
EpcX2SpecificEpcX2SapUser<C>::RecvUeData (UeDataParams params)
f2f0aad583d9 Add X2 primitive for UE data forwarding
Manuel Requena <manuel.requena@cttc.es>
parents: 9476
diff changeset
   593
{
f2f0aad583d9 Add X2 primitive for UE data forwarding
Manuel Requena <manuel.requena@cttc.es>
parents: 9476
diff changeset
   594
  m_rrc->DoRecvUeData (params);
f2f0aad583d9 Add X2 primitive for UE data forwarding
Manuel Requena <manuel.requena@cttc.es>
parents: 9476
diff changeset
   595
}
f2f0aad583d9 Add X2 primitive for UE data forwarding
Manuel Requena <manuel.requena@cttc.es>
parents: 9476
diff changeset
   596
9322
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   597
} // namespace ns3
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   598
cad74d55a162 first version of the X2 SAP definition
Manuel Requena <manuel.requena@cttc.es>
parents:
diff changeset
   599
#endif // EPC_X2_SAP_H