src/lte/model/epc-enb-application.h
author Robert Ammon <ammo6818@vandals.uidaho.edu>
Fri, 02 Jun 2017 14:45:29 +0200
changeset 12904 e949b994faad
parent 12753 3fbb703f257f
child 13278 f7d839cee8e9
permissions -rw-r--r--
lte: Additional doxygen corrections (patch set 5)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
8357
7bb52f00c205 Refurbished GTP tunneling implementation + documentation
Jaume Nin
parents:
diff changeset
     1
/* -*-  Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
7bb52f00c205 Refurbished GTP tunneling implementation + documentation
Jaume Nin
parents:
diff changeset
     2
/*
7bb52f00c205 Refurbished GTP tunneling implementation + documentation
Jaume Nin
parents:
diff changeset
     3
 * Copyright (c) 2011 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC)
7bb52f00c205 Refurbished GTP tunneling implementation + documentation
Jaume Nin
parents:
diff changeset
     4
 *
7bb52f00c205 Refurbished GTP tunneling implementation + documentation
Jaume Nin
parents:
diff changeset
     5
 * This program is free software; you can redistribute it and/or modify
7bb52f00c205 Refurbished GTP tunneling implementation + documentation
Jaume Nin
parents:
diff changeset
     6
 * it under the terms of the GNU General Public License version 2 as
7bb52f00c205 Refurbished GTP tunneling implementation + documentation
Jaume Nin
parents:
diff changeset
     7
 * published by the Free Software Foundation;
7bb52f00c205 Refurbished GTP tunneling implementation + documentation
Jaume Nin
parents:
diff changeset
     8
 *
7bb52f00c205 Refurbished GTP tunneling implementation + documentation
Jaume Nin
parents:
diff changeset
     9
 * This program is distributed in the hope that it will be useful,
7bb52f00c205 Refurbished GTP tunneling implementation + documentation
Jaume Nin
parents:
diff changeset
    10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
7bb52f00c205 Refurbished GTP tunneling implementation + documentation
Jaume Nin
parents:
diff changeset
    11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
7bb52f00c205 Refurbished GTP tunneling implementation + documentation
Jaume Nin
parents:
diff changeset
    12
 * GNU General Public License for more details.
7bb52f00c205 Refurbished GTP tunneling implementation + documentation
Jaume Nin
parents:
diff changeset
    13
 *
7bb52f00c205 Refurbished GTP tunneling implementation + documentation
Jaume Nin
parents:
diff changeset
    14
 * You should have received a copy of the GNU General Public License
7bb52f00c205 Refurbished GTP tunneling implementation + documentation
Jaume Nin
parents:
diff changeset
    15
 * along with this program; if not, write to the Free Software
7bb52f00c205 Refurbished GTP tunneling implementation + documentation
Jaume Nin
parents:
diff changeset
    16
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
7bb52f00c205 Refurbished GTP tunneling implementation + documentation
Jaume Nin
parents:
diff changeset
    17
 *
7bb52f00c205 Refurbished GTP tunneling implementation + documentation
Jaume Nin
parents:
diff changeset
    18
 * Author: Jaume Nin <jnin@cttc.cat>
8366
a3af0a5ed1e9 draft eNB and SGW/PGW applications
Nicola Baldo <nbaldo@cttc.es>
parents: 8357
diff changeset
    19
 *         Nicola Baldo <nbaldo@cttc.cat>
8357
7bb52f00c205 Refurbished GTP tunneling implementation + documentation
Jaume Nin
parents:
diff changeset
    20
 */
7bb52f00c205 Refurbished GTP tunneling implementation + documentation
Jaume Nin
parents:
diff changeset
    21
8366
a3af0a5ed1e9 draft eNB and SGW/PGW applications
Nicola Baldo <nbaldo@cttc.es>
parents: 8357
diff changeset
    22
#ifndef EPC_ENB_APPLICATION_H
a3af0a5ed1e9 draft eNB and SGW/PGW applications
Nicola Baldo <nbaldo@cttc.es>
parents: 8357
diff changeset
    23
#define EPC_ENB_APPLICATION_H
8357
7bb52f00c205 Refurbished GTP tunneling implementation + documentation
Jaume Nin
parents:
diff changeset
    24
8380
f615b30c26e1 S1-U working in downlink
Nicola Baldo <nbaldo@cttc.es>
parents: 8378
diff changeset
    25
#include <ns3/address.h>
f615b30c26e1 S1-U working in downlink
Nicola Baldo <nbaldo@cttc.es>
parents: 8378
diff changeset
    26
#include <ns3/socket.h>
f615b30c26e1 S1-U working in downlink
Nicola Baldo <nbaldo@cttc.es>
parents: 8378
diff changeset
    27
#include <ns3/virtual-net-device.h>
f615b30c26e1 S1-U working in downlink
Nicola Baldo <nbaldo@cttc.es>
parents: 8378
diff changeset
    28
#include <ns3/traced-callback.h>
f615b30c26e1 S1-U working in downlink
Nicola Baldo <nbaldo@cttc.es>
parents: 8378
diff changeset
    29
#include <ns3/callback.h>
f615b30c26e1 S1-U working in downlink
Nicola Baldo <nbaldo@cttc.es>
parents: 8378
diff changeset
    30
#include <ns3/ptr.h>
f615b30c26e1 S1-U working in downlink
Nicola Baldo <nbaldo@cttc.es>
parents: 8378
diff changeset
    31
#include <ns3/object.h>
f615b30c26e1 S1-U working in downlink
Nicola Baldo <nbaldo@cttc.es>
parents: 8378
diff changeset
    32
#include <ns3/lte-common.h>
f615b30c26e1 S1-U working in downlink
Nicola Baldo <nbaldo@cttc.es>
parents: 8378
diff changeset
    33
#include <ns3/application.h>
9337
ae7126b266ce revised LTE protocol stack for new RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 8590
diff changeset
    34
#include <ns3/eps-bearer.h>
ae7126b266ce revised LTE protocol stack for new RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 8590
diff changeset
    35
#include <ns3/epc-enb-s1-sap.h>
9430
e8b87593ee5b added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents: 9414
diff changeset
    36
#include <ns3/epc-s1ap-sap.h>
8357
7bb52f00c205 Refurbished GTP tunneling implementation + documentation
Jaume Nin
parents:
diff changeset
    37
#include <map>
7bb52f00c205 Refurbished GTP tunneling implementation + documentation
Jaume Nin
parents:
diff changeset
    38
7bb52f00c205 Refurbished GTP tunneling implementation + documentation
Jaume Nin
parents:
diff changeset
    39
namespace ns3 {
9337
ae7126b266ce revised LTE protocol stack for new RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 8590
diff changeset
    40
class EpcEnbS1SapUser;
ae7126b266ce revised LTE protocol stack for new RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 8590
diff changeset
    41
class EpcEnbS1SapProvider;
ae7126b266ce revised LTE protocol stack for new RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 8590
diff changeset
    42
8357
7bb52f00c205 Refurbished GTP tunneling implementation + documentation
Jaume Nin
parents:
diff changeset
    43
7bb52f00c205 Refurbished GTP tunneling implementation + documentation
Jaume Nin
parents:
diff changeset
    44
/**
7bb52f00c205 Refurbished GTP tunneling implementation + documentation
Jaume Nin
parents:
diff changeset
    45
 * \ingroup lte
7bb52f00c205 Refurbished GTP tunneling implementation + documentation
Jaume Nin
parents:
diff changeset
    46
 *
8380
f615b30c26e1 S1-U working in downlink
Nicola Baldo <nbaldo@cttc.es>
parents: 8378
diff changeset
    47
 * This application is installed inside eNBs and provides the bridge functionality for user data plane packets between the radio interface and the S1-U interface.
8357
7bb52f00c205 Refurbished GTP tunneling implementation + documentation
Jaume Nin
parents:
diff changeset
    48
 */
8380
f615b30c26e1 S1-U working in downlink
Nicola Baldo <nbaldo@cttc.es>
parents: 8378
diff changeset
    49
class EpcEnbApplication : public Application
8357
7bb52f00c205 Refurbished GTP tunneling implementation + documentation
Jaume Nin
parents:
diff changeset
    50
{
7bb52f00c205 Refurbished GTP tunneling implementation + documentation
Jaume Nin
parents:
diff changeset
    51
12904
e949b994faad lte: Additional doxygen corrections (patch set 5)
Robert Ammon <ammo6818@vandals.uidaho.edu>
parents: 12753
diff changeset
    52
  /// allow MemberEpcEnbS1SapProvider<EpcEnbApplication> class friend access
9345
8290ae6cab62 add/remove UEs and bearers upon handover
Nicola Baldo <nicola@baldo.biz>
parents: 9337
diff changeset
    53
  friend class MemberEpcEnbS1SapProvider<EpcEnbApplication>;
12904
e949b994faad lte: Additional doxygen corrections (patch set 5)
Robert Ammon <ammo6818@vandals.uidaho.edu>
parents: 12753
diff changeset
    54
  /// allow MemberEpcS1apSapEnb<EpcEnbApplication> class friend access
9430
e8b87593ee5b added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents: 9414
diff changeset
    55
  friend class MemberEpcS1apSapEnb<EpcEnbApplication>;
9380
890e3ccc4bc5 fixed valgrind error in EpcEnbApplication
Nicola Baldo <nbaldo@cttc.es>
parents: 9345
diff changeset
    56
8380
f615b30c26e1 S1-U working in downlink
Nicola Baldo <nbaldo@cttc.es>
parents: 8378
diff changeset
    57
9380
890e3ccc4bc5 fixed valgrind error in EpcEnbApplication
Nicola Baldo <nbaldo@cttc.es>
parents: 9345
diff changeset
    58
public:
12753
3fbb703f257f lte: doxygen updates of model (many thanks to Robert Ammon for initial patch)
Biljana Bojovic <biljana.bojovic@gmail.com>
parents: 11168
diff changeset
    59
  /**
3fbb703f257f lte: doxygen updates of model (many thanks to Robert Ammon for initial patch)
Biljana Bojovic <biljana.bojovic@gmail.com>
parents: 11168
diff changeset
    60
   * \brief Get the type ID.
3fbb703f257f lte: doxygen updates of model (many thanks to Robert Ammon for initial patch)
Biljana Bojovic <biljana.bojovic@gmail.com>
parents: 11168
diff changeset
    61
   * \return the object TypeId
3fbb703f257f lte: doxygen updates of model (many thanks to Robert Ammon for initial patch)
Biljana Bojovic <biljana.bojovic@gmail.com>
parents: 11168
diff changeset
    62
   */
8357
7bb52f00c205 Refurbished GTP tunneling implementation + documentation
Jaume Nin
parents:
diff changeset
    63
  static TypeId GetTypeId (void);
9380
890e3ccc4bc5 fixed valgrind error in EpcEnbApplication
Nicola Baldo <nbaldo@cttc.es>
parents: 9345
diff changeset
    64
protected:
890e3ccc4bc5 fixed valgrind error in EpcEnbApplication
Nicola Baldo <nbaldo@cttc.es>
parents: 9345
diff changeset
    65
  void DoDispose (void);
890e3ccc4bc5 fixed valgrind error in EpcEnbApplication
Nicola Baldo <nbaldo@cttc.es>
parents: 9345
diff changeset
    66
890e3ccc4bc5 fixed valgrind error in EpcEnbApplication
Nicola Baldo <nbaldo@cttc.es>
parents: 9345
diff changeset
    67
public:
890e3ccc4bc5 fixed valgrind error in EpcEnbApplication
Nicola Baldo <nbaldo@cttc.es>
parents: 9345
diff changeset
    68
  
8378
0d8107d1548b save changes before merge
Nicola Baldo <nbaldo@cttc.es>
parents: 8366
diff changeset
    69
  
0d8107d1548b save changes before merge
Nicola Baldo <nbaldo@cttc.es>
parents: 8366
diff changeset
    70
0d8107d1548b save changes before merge
Nicola Baldo <nbaldo@cttc.es>
parents: 8366
diff changeset
    71
  /** 
8380
f615b30c26e1 S1-U working in downlink
Nicola Baldo <nbaldo@cttc.es>
parents: 8378
diff changeset
    72
   * Constructor
8378
0d8107d1548b save changes before merge
Nicola Baldo <nbaldo@cttc.es>
parents: 8366
diff changeset
    73
   * 
8380
f615b30c26e1 S1-U working in downlink
Nicola Baldo <nbaldo@cttc.es>
parents: 8378
diff changeset
    74
   * \param lteSocket the socket to be used to send/receive packets to/from the LTE radio interface
8378
0d8107d1548b save changes before merge
Nicola Baldo <nbaldo@cttc.es>
parents: 8366
diff changeset
    75
   * \param s1uSocket the socket to be used to send/receive packets
0d8107d1548b save changes before merge
Nicola Baldo <nbaldo@cttc.es>
parents: 8366
diff changeset
    76
   * to/from the S1-U interface connected with the SGW 
9439
5107601b7a75 added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents: 9431
diff changeset
    77
   * \param enbS1uAddress the IPv4 address of the S1-U interface of this eNB
5107601b7a75 added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents: 9431
diff changeset
    78
   * \param sgwS1uAddress the IPv4 address at which this eNB will be able to reach its SGW for S1-U communications
9430
e8b87593ee5b added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents: 9414
diff changeset
    79
   * \param cellId the identifier of the enb
8378
0d8107d1548b save changes before merge
Nicola Baldo <nbaldo@cttc.es>
parents: 8366
diff changeset
    80
   */
9439
5107601b7a75 added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents: 9431
diff changeset
    81
  EpcEnbApplication (Ptr<Socket> lteSocket, Ptr<Socket> s1uSocket, Ipv4Address enbS1uAddress, Ipv4Address sgwS1uAddress, uint16_t cellId);
8357
7bb52f00c205 Refurbished GTP tunneling implementation + documentation
Jaume Nin
parents:
diff changeset
    82
7bb52f00c205 Refurbished GTP tunneling implementation + documentation
Jaume Nin
parents:
diff changeset
    83
  /**
8380
f615b30c26e1 S1-U working in downlink
Nicola Baldo <nbaldo@cttc.es>
parents: 8378
diff changeset
    84
   * Destructor
8378
0d8107d1548b save changes before merge
Nicola Baldo <nbaldo@cttc.es>
parents: 8366
diff changeset
    85
   * 
8357
7bb52f00c205 Refurbished GTP tunneling implementation + documentation
Jaume Nin
parents:
diff changeset
    86
   */
8378
0d8107d1548b save changes before merge
Nicola Baldo <nbaldo@cttc.es>
parents: 8366
diff changeset
    87
  virtual ~EpcEnbApplication (void);
0d8107d1548b save changes before merge
Nicola Baldo <nbaldo@cttc.es>
parents: 8366
diff changeset
    88
0d8107d1548b save changes before merge
Nicola Baldo <nbaldo@cttc.es>
parents: 8366
diff changeset
    89
9337
ae7126b266ce revised LTE protocol stack for new RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 8590
diff changeset
    90
  /** 
ae7126b266ce revised LTE protocol stack for new RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 8590
diff changeset
    91
   * Set the S1 SAP User
ae7126b266ce revised LTE protocol stack for new RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 8590
diff changeset
    92
   * 
ae7126b266ce revised LTE protocol stack for new RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 8590
diff changeset
    93
   * \param s the S1 SAP User
ae7126b266ce revised LTE protocol stack for new RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 8590
diff changeset
    94
   */
ae7126b266ce revised LTE protocol stack for new RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 8590
diff changeset
    95
  void SetS1SapUser (EpcEnbS1SapUser * s);
ae7126b266ce revised LTE protocol stack for new RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 8590
diff changeset
    96
ae7126b266ce revised LTE protocol stack for new RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 8590
diff changeset
    97
  /** 
ae7126b266ce revised LTE protocol stack for new RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 8590
diff changeset
    98
   * 
ae7126b266ce revised LTE protocol stack for new RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 8590
diff changeset
    99
   * \return the S1 SAP Provider
ae7126b266ce revised LTE protocol stack for new RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 8590
diff changeset
   100
   */
ae7126b266ce revised LTE protocol stack for new RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 8590
diff changeset
   101
  EpcEnbS1SapProvider* GetS1SapProvider ();
ae7126b266ce revised LTE protocol stack for new RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 8590
diff changeset
   102
8380
f615b30c26e1 S1-U working in downlink
Nicola Baldo <nbaldo@cttc.es>
parents: 8378
diff changeset
   103
  /** 
9430
e8b87593ee5b added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents: 9414
diff changeset
   104
   * Set the MME side of the S1-AP SAP 
e8b87593ee5b added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents: 9414
diff changeset
   105
   * 
e8b87593ee5b added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents: 9414
diff changeset
   106
   * \param s the MME side of the S1-AP SAP 
e8b87593ee5b added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents: 9414
diff changeset
   107
   */
e8b87593ee5b added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents: 9414
diff changeset
   108
  void SetS1apSapMme (EpcS1apSapMme * s);
e8b87593ee5b added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents: 9414
diff changeset
   109
e8b87593ee5b added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents: 9414
diff changeset
   110
  /** 
e8b87593ee5b added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents: 9414
diff changeset
   111
   * 
e8b87593ee5b added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents: 9414
diff changeset
   112
   * \return the ENB side of the S1-AP SAP 
e8b87593ee5b added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents: 9414
diff changeset
   113
   */
e8b87593ee5b added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents: 9414
diff changeset
   114
  EpcS1apSapEnb* GetS1apSapEnb ();
9431
d157ce87b1c0 removed obsolete S1BearerSetupRequest method from EpcEnbS1Sap
Nicola Baldo <nbaldo@cttc.es>
parents: 9430
diff changeset
   115
 
8378
0d8107d1548b save changes before merge
Nicola Baldo <nbaldo@cttc.es>
parents: 8366
diff changeset
   116
  /** 
0d8107d1548b save changes before merge
Nicola Baldo <nbaldo@cttc.es>
parents: 8366
diff changeset
   117
   * Method to be assigned to the recv callback of the LTE socket. It is called when the eNB receives a data packet from the radio interface that is to be forwarded to the SGW.
0d8107d1548b save changes before merge
Nicola Baldo <nbaldo@cttc.es>
parents: 8366
diff changeset
   118
   * 
0d8107d1548b save changes before merge
Nicola Baldo <nbaldo@cttc.es>
parents: 8366
diff changeset
   119
   * \param socket pointer to the LTE socket
0d8107d1548b save changes before merge
Nicola Baldo <nbaldo@cttc.es>
parents: 8366
diff changeset
   120
   */
0d8107d1548b save changes before merge
Nicola Baldo <nbaldo@cttc.es>
parents: 8366
diff changeset
   121
  void RecvFromLteSocket (Ptr<Socket> socket);
0d8107d1548b save changes before merge
Nicola Baldo <nbaldo@cttc.es>
parents: 8366
diff changeset
   122
0d8107d1548b save changes before merge
Nicola Baldo <nbaldo@cttc.es>
parents: 8366
diff changeset
   123
0d8107d1548b save changes before merge
Nicola Baldo <nbaldo@cttc.es>
parents: 8366
diff changeset
   124
  /** 
0d8107d1548b save changes before merge
Nicola Baldo <nbaldo@cttc.es>
parents: 8366
diff changeset
   125
   * Method to be assigned to the recv callback of the S1-U socket. It is called when the eNB receives a data packet from the SGW that is to be forwarded to the UE.
0d8107d1548b save changes before merge
Nicola Baldo <nbaldo@cttc.es>
parents: 8366
diff changeset
   126
   * 
0d8107d1548b save changes before merge
Nicola Baldo <nbaldo@cttc.es>
parents: 8366
diff changeset
   127
   * \param socket pointer to the S1-U socket
8357
7bb52f00c205 Refurbished GTP tunneling implementation + documentation
Jaume Nin
parents:
diff changeset
   128
   */
8378
0d8107d1548b save changes before merge
Nicola Baldo <nbaldo@cttc.es>
parents: 8366
diff changeset
   129
  void RecvFromS1uSocket (Ptr<Socket> socket);
0d8107d1548b save changes before merge
Nicola Baldo <nbaldo@cttc.es>
parents: 8366
diff changeset
   130
9345
8290ae6cab62 add/remove UEs and bearers upon handover
Nicola Baldo <nicola@baldo.biz>
parents: 9337
diff changeset
   131
12753
3fbb703f257f lte: doxygen updates of model (many thanks to Robert Ammon for initial patch)
Biljana Bojovic <biljana.bojovic@gmail.com>
parents: 11168
diff changeset
   132
  /**
3fbb703f257f lte: doxygen updates of model (many thanks to Robert Ammon for initial patch)
Biljana Bojovic <biljana.bojovic@gmail.com>
parents: 11168
diff changeset
   133
   * EPS flow ID structure
3fbb703f257f lte: doxygen updates of model (many thanks to Robert Ammon for initial patch)
Biljana Bojovic <biljana.bojovic@gmail.com>
parents: 11168
diff changeset
   134
   */
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9345
diff changeset
   135
  struct EpsFlowId_t
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9345
diff changeset
   136
  {
12753
3fbb703f257f lte: doxygen updates of model (many thanks to Robert Ammon for initial patch)
Biljana Bojovic <biljana.bojovic@gmail.com>
parents: 11168
diff changeset
   137
    uint16_t  m_rnti; ///< RNTI
3fbb703f257f lte: doxygen updates of model (many thanks to Robert Ammon for initial patch)
Biljana Bojovic <biljana.bojovic@gmail.com>
parents: 11168
diff changeset
   138
    uint8_t   m_bid; ///< Bid, the EPS Bearer IDentifier
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9345
diff changeset
   139
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9345
diff changeset
   140
  public:
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9345
diff changeset
   141
    EpsFlowId_t ();
12753
3fbb703f257f lte: doxygen updates of model (many thanks to Robert Ammon for initial patch)
Biljana Bojovic <biljana.bojovic@gmail.com>
parents: 11168
diff changeset
   142
    /**
3fbb703f257f lte: doxygen updates of model (many thanks to Robert Ammon for initial patch)
Biljana Bojovic <biljana.bojovic@gmail.com>
parents: 11168
diff changeset
   143
     * Constructor
3fbb703f257f lte: doxygen updates of model (many thanks to Robert Ammon for initial patch)
Biljana Bojovic <biljana.bojovic@gmail.com>
parents: 11168
diff changeset
   144
     *
3fbb703f257f lte: doxygen updates of model (many thanks to Robert Ammon for initial patch)
Biljana Bojovic <biljana.bojovic@gmail.com>
parents: 11168
diff changeset
   145
     * \param a RNTI
3fbb703f257f lte: doxygen updates of model (many thanks to Robert Ammon for initial patch)
Biljana Bojovic <biljana.bojovic@gmail.com>
parents: 11168
diff changeset
   146
     * \param b bid
3fbb703f257f lte: doxygen updates of model (many thanks to Robert Ammon for initial patch)
Biljana Bojovic <biljana.bojovic@gmail.com>
parents: 11168
diff changeset
   147
     */
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9345
diff changeset
   148
    EpsFlowId_t (const uint16_t a, const uint8_t b);
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9345
diff changeset
   149
12753
3fbb703f257f lte: doxygen updates of model (many thanks to Robert Ammon for initial patch)
Biljana Bojovic <biljana.bojovic@gmail.com>
parents: 11168
diff changeset
   150
    /**
3fbb703f257f lte: doxygen updates of model (many thanks to Robert Ammon for initial patch)
Biljana Bojovic <biljana.bojovic@gmail.com>
parents: 11168
diff changeset
   151
     * Comparison operator
3fbb703f257f lte: doxygen updates of model (many thanks to Robert Ammon for initial patch)
Biljana Bojovic <biljana.bojovic@gmail.com>
parents: 11168
diff changeset
   152
     *
3fbb703f257f lte: doxygen updates of model (many thanks to Robert Ammon for initial patch)
Biljana Bojovic <biljana.bojovic@gmail.com>
parents: 11168
diff changeset
   153
     * \param a first application
3fbb703f257f lte: doxygen updates of model (many thanks to Robert Ammon for initial patch)
Biljana Bojovic <biljana.bojovic@gmail.com>
parents: 11168
diff changeset
   154
     * \param b second application
3fbb703f257f lte: doxygen updates of model (many thanks to Robert Ammon for initial patch)
Biljana Bojovic <biljana.bojovic@gmail.com>
parents: 11168
diff changeset
   155
     * \returns true is the applications are "equal"
3fbb703f257f lte: doxygen updates of model (many thanks to Robert Ammon for initial patch)
Biljana Bojovic <biljana.bojovic@gmail.com>
parents: 11168
diff changeset
   156
     */
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9345
diff changeset
   157
    friend bool operator == (const EpsFlowId_t &a, const EpsFlowId_t &b);
12753
3fbb703f257f lte: doxygen updates of model (many thanks to Robert Ammon for initial patch)
Biljana Bojovic <biljana.bojovic@gmail.com>
parents: 11168
diff changeset
   158
    /**
3fbb703f257f lte: doxygen updates of model (many thanks to Robert Ammon for initial patch)
Biljana Bojovic <biljana.bojovic@gmail.com>
parents: 11168
diff changeset
   159
     * Less than operator
3fbb703f257f lte: doxygen updates of model (many thanks to Robert Ammon for initial patch)
Biljana Bojovic <biljana.bojovic@gmail.com>
parents: 11168
diff changeset
   160
     *
3fbb703f257f lte: doxygen updates of model (many thanks to Robert Ammon for initial patch)
Biljana Bojovic <biljana.bojovic@gmail.com>
parents: 11168
diff changeset
   161
     * \param a first application
3fbb703f257f lte: doxygen updates of model (many thanks to Robert Ammon for initial patch)
Biljana Bojovic <biljana.bojovic@gmail.com>
parents: 11168
diff changeset
   162
     * \param b second application
3fbb703f257f lte: doxygen updates of model (many thanks to Robert Ammon for initial patch)
Biljana Bojovic <biljana.bojovic@gmail.com>
parents: 11168
diff changeset
   163
     * \returns true is the applications are "equal"
3fbb703f257f lte: doxygen updates of model (many thanks to Robert Ammon for initial patch)
Biljana Bojovic <biljana.bojovic@gmail.com>
parents: 11168
diff changeset
   164
     */
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9345
diff changeset
   165
    friend bool operator < (const EpsFlowId_t &a, const EpsFlowId_t &b);
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9345
diff changeset
   166
  };
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9345
diff changeset
   167
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9345
diff changeset
   168
9345
8290ae6cab62 add/remove UEs and bearers upon handover
Nicola Baldo <nicola@baldo.biz>
parents: 9337
diff changeset
   169
private:
8290ae6cab62 add/remove UEs and bearers upon handover
Nicola Baldo <nicola@baldo.biz>
parents: 9337
diff changeset
   170
9430
e8b87593ee5b added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents: 9414
diff changeset
   171
  // ENB S1 SAP provider methods
12753
3fbb703f257f lte: doxygen updates of model (many thanks to Robert Ammon for initial patch)
Biljana Bojovic <biljana.bojovic@gmail.com>
parents: 11168
diff changeset
   172
  /**
3fbb703f257f lte: doxygen updates of model (many thanks to Robert Ammon for initial patch)
Biljana Bojovic <biljana.bojovic@gmail.com>
parents: 11168
diff changeset
   173
   * Initial UE message function
3fbb703f257f lte: doxygen updates of model (many thanks to Robert Ammon for initial patch)
Biljana Bojovic <biljana.bojovic@gmail.com>
parents: 11168
diff changeset
   174
   * \param imsi the IMSI
3fbb703f257f lte: doxygen updates of model (many thanks to Robert Ammon for initial patch)
Biljana Bojovic <biljana.bojovic@gmail.com>
parents: 11168
diff changeset
   175
   * \param rnti the RNTI
3fbb703f257f lte: doxygen updates of model (many thanks to Robert Ammon for initial patch)
Biljana Bojovic <biljana.bojovic@gmail.com>
parents: 11168
diff changeset
   176
   */
9345
8290ae6cab62 add/remove UEs and bearers upon handover
Nicola Baldo <nicola@baldo.biz>
parents: 9337
diff changeset
   177
  void DoInitialUeMessage (uint64_t imsi, uint16_t rnti);
12753
3fbb703f257f lte: doxygen updates of model (many thanks to Robert Ammon for initial patch)
Biljana Bojovic <biljana.bojovic@gmail.com>
parents: 11168
diff changeset
   178
  /**
3fbb703f257f lte: doxygen updates of model (many thanks to Robert Ammon for initial patch)
Biljana Bojovic <biljana.bojovic@gmail.com>
parents: 11168
diff changeset
   179
   * Path switch request function
3fbb703f257f lte: doxygen updates of model (many thanks to Robert Ammon for initial patch)
Biljana Bojovic <biljana.bojovic@gmail.com>
parents: 11168
diff changeset
   180
   * \param params PathSwitchRequestParameters
3fbb703f257f lte: doxygen updates of model (many thanks to Robert Ammon for initial patch)
Biljana Bojovic <biljana.bojovic@gmail.com>
parents: 11168
diff changeset
   181
   */
9439
5107601b7a75 added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents: 9431
diff changeset
   182
  void DoPathSwitchRequest (EpcEnbS1SapProvider::PathSwitchRequestParameters params);
12753
3fbb703f257f lte: doxygen updates of model (many thanks to Robert Ammon for initial patch)
Biljana Bojovic <biljana.bojovic@gmail.com>
parents: 11168
diff changeset
   183
  /**
3fbb703f257f lte: doxygen updates of model (many thanks to Robert Ammon for initial patch)
Biljana Bojovic <biljana.bojovic@gmail.com>
parents: 11168
diff changeset
   184
   * UE Context Release function
3fbb703f257f lte: doxygen updates of model (many thanks to Robert Ammon for initial patch)
Biljana Bojovic <biljana.bojovic@gmail.com>
parents: 11168
diff changeset
   185
   * \param rnti the RNTI
3fbb703f257f lte: doxygen updates of model (many thanks to Robert Ammon for initial patch)
Biljana Bojovic <biljana.bojovic@gmail.com>
parents: 11168
diff changeset
   186
   */
9442
ea15d4676dff release UE context at EpcEnbApplication upon X2 UE CONTEXT RELEASE
Nicola Baldo <nbaldo@cttc.es>
parents: 9439
diff changeset
   187
  void DoUeContextRelease (uint16_t rnti);
ea15d4676dff release UE context at EpcEnbApplication upon X2 UE CONTEXT RELEASE
Nicola Baldo <nbaldo@cttc.es>
parents: 9439
diff changeset
   188
  
9430
e8b87593ee5b added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents: 9414
diff changeset
   189
  // S1-AP SAP ENB methods
12753
3fbb703f257f lte: doxygen updates of model (many thanks to Robert Ammon for initial patch)
Biljana Bojovic <biljana.bojovic@gmail.com>
parents: 11168
diff changeset
   190
  /**
3fbb703f257f lte: doxygen updates of model (many thanks to Robert Ammon for initial patch)
Biljana Bojovic <biljana.bojovic@gmail.com>
parents: 11168
diff changeset
   191
   * Initial Context Setup Request 
3fbb703f257f lte: doxygen updates of model (many thanks to Robert Ammon for initial patch)
Biljana Bojovic <biljana.bojovic@gmail.com>
parents: 11168
diff changeset
   192
   * \param mmeUeS1Id the MME UE S1 ID
3fbb703f257f lte: doxygen updates of model (many thanks to Robert Ammon for initial patch)
Biljana Bojovic <biljana.bojovic@gmail.com>
parents: 11168
diff changeset
   193
   * \param enbUeS1Id the ENB UE S1 ID
3fbb703f257f lte: doxygen updates of model (many thanks to Robert Ammon for initial patch)
Biljana Bojovic <biljana.bojovic@gmail.com>
parents: 11168
diff changeset
   194
   * \param erabToBeSetupList the ERAB setup list
3fbb703f257f lte: doxygen updates of model (many thanks to Robert Ammon for initial patch)
Biljana Bojovic <biljana.bojovic@gmail.com>
parents: 11168
diff changeset
   195
   */
9430
e8b87593ee5b added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents: 9414
diff changeset
   196
  void DoInitialContextSetupRequest (uint64_t mmeUeS1Id, uint16_t enbUeS1Id, std::list<EpcS1apSapEnb::ErabToBeSetupItem> erabToBeSetupList);
12753
3fbb703f257f lte: doxygen updates of model (many thanks to Robert Ammon for initial patch)
Biljana Bojovic <biljana.bojovic@gmail.com>
parents: 11168
diff changeset
   197
  /**
3fbb703f257f lte: doxygen updates of model (many thanks to Robert Ammon for initial patch)
Biljana Bojovic <biljana.bojovic@gmail.com>
parents: 11168
diff changeset
   198
   * Path Switch Request Acknowledge 
3fbb703f257f lte: doxygen updates of model (many thanks to Robert Ammon for initial patch)
Biljana Bojovic <biljana.bojovic@gmail.com>
parents: 11168
diff changeset
   199
   * \param mmeUeS1Id the MME UE S1 ID
3fbb703f257f lte: doxygen updates of model (many thanks to Robert Ammon for initial patch)
Biljana Bojovic <biljana.bojovic@gmail.com>
parents: 11168
diff changeset
   200
   * \param enbUeS1Id the ENB UE S1 ID
3fbb703f257f lte: doxygen updates of model (many thanks to Robert Ammon for initial patch)
Biljana Bojovic <biljana.bojovic@gmail.com>
parents: 11168
diff changeset
   201
   * \param cgi the CGI
3fbb703f257f lte: doxygen updates of model (many thanks to Robert Ammon for initial patch)
Biljana Bojovic <biljana.bojovic@gmail.com>
parents: 11168
diff changeset
   202
   * \param erabToBeSwitchedInUplinkList the ERAB switched in uplink list
3fbb703f257f lte: doxygen updates of model (many thanks to Robert Ammon for initial patch)
Biljana Bojovic <biljana.bojovic@gmail.com>
parents: 11168
diff changeset
   203
   */
9430
e8b87593ee5b added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents: 9414
diff changeset
   204
  void DoPathSwitchRequestAcknowledge (uint64_t enbUeS1Id, uint64_t mmeUeS1Id, uint16_t cgi, std::list<EpcS1apSapEnb::ErabSwitchedInUplinkItem> erabToBeSwitchedInUplinkList);
e8b87593ee5b added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents: 9414
diff changeset
   205
8378
0d8107d1548b save changes before merge
Nicola Baldo <nbaldo@cttc.es>
parents: 8366
diff changeset
   206
  /** 
11168
d09129217e78 added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents: 9442
diff changeset
   207
   * \brief This function accepts bearer id corresponding to a particular UE and schedules indication of bearer release towards MME
d09129217e78 added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents: 9442
diff changeset
   208
   * \param imsi maps to mmeUeS1Id
d09129217e78 added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents: 9442
diff changeset
   209
   * \param rnti maps to enbUeS1Id
d09129217e78 added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents: 9442
diff changeset
   210
   * \param bearerId Bearer Identity which is to be de-activated
d09129217e78 added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents: 9442
diff changeset
   211
   */
d09129217e78 added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents: 9442
diff changeset
   212
  void DoReleaseIndication (uint64_t imsi, uint16_t rnti, uint8_t bearerId);
d09129217e78 added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents: 9442
diff changeset
   213
d09129217e78 added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents: 9442
diff changeset
   214
d09129217e78 added release bearer functionality
Gaurav Sathe <gaurav.sathe@tcs.com>
parents: 9442
diff changeset
   215
  /**
8378
0d8107d1548b save changes before merge
Nicola Baldo <nbaldo@cttc.es>
parents: 8366
diff changeset
   216
   * Send a packet to the UE via the LTE radio interface of the eNB
0d8107d1548b save changes before merge
Nicola Baldo <nbaldo@cttc.es>
parents: 8366
diff changeset
   217
   * 
0d8107d1548b save changes before merge
Nicola Baldo <nbaldo@cttc.es>
parents: 8366
diff changeset
   218
   * \param packet t
12753
3fbb703f257f lte: doxygen updates of model (many thanks to Robert Ammon for initial patch)
Biljana Bojovic <biljana.bojovic@gmail.com>
parents: 11168
diff changeset
   219
   * \param rnti maps to enbUeS1Id
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9345
diff changeset
   220
   * \param bid the EPS Bearer IDentifier
8378
0d8107d1548b save changes before merge
Nicola Baldo <nbaldo@cttc.es>
parents: 8366
diff changeset
   221
   */
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9345
diff changeset
   222
  void SendToLteSocket (Ptr<Packet> packet, uint16_t rnti, uint8_t bid);
8378
0d8107d1548b save changes before merge
Nicola Baldo <nbaldo@cttc.es>
parents: 8366
diff changeset
   223
8357
7bb52f00c205 Refurbished GTP tunneling implementation + documentation
Jaume Nin
parents:
diff changeset
   224
8378
0d8107d1548b save changes before merge
Nicola Baldo <nbaldo@cttc.es>
parents: 8366
diff changeset
   225
  /** 
0d8107d1548b save changes before merge
Nicola Baldo <nbaldo@cttc.es>
parents: 8366
diff changeset
   226
   * Send a packet to the SGW via the S1-U interface
0d8107d1548b save changes before merge
Nicola Baldo <nbaldo@cttc.es>
parents: 8366
diff changeset
   227
   * 
0d8107d1548b save changes before merge
Nicola Baldo <nbaldo@cttc.es>
parents: 8366
diff changeset
   228
   * \param packet packet to be sent
0d8107d1548b save changes before merge
Nicola Baldo <nbaldo@cttc.es>
parents: 8366
diff changeset
   229
   * \param teid the Tunnel Enpoint IDentifier
8357
7bb52f00c205 Refurbished GTP tunneling implementation + documentation
Jaume Nin
parents:
diff changeset
   230
   */
8378
0d8107d1548b save changes before merge
Nicola Baldo <nbaldo@cttc.es>
parents: 8366
diff changeset
   231
  void SendToS1uSocket (Ptr<Packet> packet, uint32_t teid);
0d8107d1548b save changes before merge
Nicola Baldo <nbaldo@cttc.es>
parents: 8366
diff changeset
   232
0d8107d1548b save changes before merge
Nicola Baldo <nbaldo@cttc.es>
parents: 8366
diff changeset
   233
9345
8290ae6cab62 add/remove UEs and bearers upon handover
Nicola Baldo <nicola@baldo.biz>
parents: 9337
diff changeset
   234
  /** 
8290ae6cab62 add/remove UEs and bearers upon handover
Nicola Baldo <nicola@baldo.biz>
parents: 9337
diff changeset
   235
   * internal method used for the actual setup of the S1 Bearer
8290ae6cab62 add/remove UEs and bearers upon handover
Nicola Baldo <nicola@baldo.biz>
parents: 9337
diff changeset
   236
   * 
12753
3fbb703f257f lte: doxygen updates of model (many thanks to Robert Ammon for initial patch)
Biljana Bojovic <biljana.bojovic@gmail.com>
parents: 11168
diff changeset
   237
   * \param teid the Tunnel Endpoint IDentifier
3fbb703f257f lte: doxygen updates of model (many thanks to Robert Ammon for initial patch)
Biljana Bojovic <biljana.bojovic@gmail.com>
parents: 11168
diff changeset
   238
   * \param rnti maps to enbUeS1Id
3fbb703f257f lte: doxygen updates of model (many thanks to Robert Ammon for initial patch)
Biljana Bojovic <biljana.bojovic@gmail.com>
parents: 11168
diff changeset
   239
   * \param bid the S1-U Bearer IDentifier
9345
8290ae6cab62 add/remove UEs and bearers upon handover
Nicola Baldo <nicola@baldo.biz>
parents: 9337
diff changeset
   240
   */
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9345
diff changeset
   241
  void SetupS1Bearer (uint32_t teid, uint16_t rnti, uint8_t bid);
8357
7bb52f00c205 Refurbished GTP tunneling implementation + documentation
Jaume Nin
parents:
diff changeset
   242
7bb52f00c205 Refurbished GTP tunneling implementation + documentation
Jaume Nin
parents:
diff changeset
   243
  /**
8378
0d8107d1548b save changes before merge
Nicola Baldo <nbaldo@cttc.es>
parents: 8366
diff changeset
   244
   * raw packet socket to send and receive the packets to and from the LTE radio interface
0d8107d1548b save changes before merge
Nicola Baldo <nbaldo@cttc.es>
parents: 8366
diff changeset
   245
   */
0d8107d1548b save changes before merge
Nicola Baldo <nbaldo@cttc.es>
parents: 8366
diff changeset
   246
  Ptr<Socket> m_lteSocket;
0d8107d1548b save changes before merge
Nicola Baldo <nbaldo@cttc.es>
parents: 8366
diff changeset
   247
0d8107d1548b save changes before merge
Nicola Baldo <nbaldo@cttc.es>
parents: 8366
diff changeset
   248
  /**
0d8107d1548b save changes before merge
Nicola Baldo <nbaldo@cttc.es>
parents: 8366
diff changeset
   249
   * UDP socket to send and receive GTP-U the packets to and from the S1-U interface
0d8107d1548b save changes before merge
Nicola Baldo <nbaldo@cttc.es>
parents: 8366
diff changeset
   250
   */
8380
f615b30c26e1 S1-U working in downlink
Nicola Baldo <nbaldo@cttc.es>
parents: 8378
diff changeset
   251
  Ptr<Socket> m_s1uSocket;
8378
0d8107d1548b save changes before merge
Nicola Baldo <nbaldo@cttc.es>
parents: 8366
diff changeset
   252
0d8107d1548b save changes before merge
Nicola Baldo <nbaldo@cttc.es>
parents: 8366
diff changeset
   253
  /**
9439
5107601b7a75 added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents: 9431
diff changeset
   254
   * address of the eNB for S1-U communications
5107601b7a75 added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents: 9431
diff changeset
   255
   */
5107601b7a75 added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents: 9431
diff changeset
   256
  Ipv4Address m_enbS1uAddress;
5107601b7a75 added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents: 9431
diff changeset
   257
5107601b7a75 added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents: 9431
diff changeset
   258
  /**
8380
f615b30c26e1 S1-U working in downlink
Nicola Baldo <nbaldo@cttc.es>
parents: 8378
diff changeset
   259
   * address of the SGW which terminates all S1-U tunnels
8357
7bb52f00c205 Refurbished GTP tunneling implementation + documentation
Jaume Nin
parents:
diff changeset
   260
   */
9439
5107601b7a75 added S1 path switch + S11 modify bearer for X2 handover
Nicola Baldo <nbaldo@cttc.es>
parents: 9431
diff changeset
   261
  Ipv4Address m_sgwS1uAddress;
8357
7bb52f00c205 Refurbished GTP tunneling implementation + documentation
Jaume Nin
parents:
diff changeset
   262
8380
f615b30c26e1 S1-U working in downlink
Nicola Baldo <nbaldo@cttc.es>
parents: 8378
diff changeset
   263
  /**
9442
ea15d4676dff release UE context at EpcEnbApplication upon X2 UE CONTEXT RELEASE
Nicola Baldo <nbaldo@cttc.es>
parents: 9439
diff changeset
   264
   * map of maps telling for each RNTI and BID the corresponding  S1-U TEID
8380
f615b30c26e1 S1-U working in downlink
Nicola Baldo <nbaldo@cttc.es>
parents: 8378
diff changeset
   265
   * 
f615b30c26e1 S1-U working in downlink
Nicola Baldo <nbaldo@cttc.es>
parents: 8378
diff changeset
   266
   */
9442
ea15d4676dff release UE context at EpcEnbApplication upon X2 UE CONTEXT RELEASE
Nicola Baldo <nbaldo@cttc.es>
parents: 9439
diff changeset
   267
  std::map<uint16_t, std::map<uint8_t, uint32_t> > m_rbidTeidMap;  
8380
f615b30c26e1 S1-U working in downlink
Nicola Baldo <nbaldo@cttc.es>
parents: 8378
diff changeset
   268
f615b30c26e1 S1-U working in downlink
Nicola Baldo <nbaldo@cttc.es>
parents: 8378
diff changeset
   269
  /**
9442
ea15d4676dff release UE context at EpcEnbApplication upon X2 UE CONTEXT RELEASE
Nicola Baldo <nbaldo@cttc.es>
parents: 9439
diff changeset
   270
   * map telling for each S1-U TEID the corresponding RNTI,BID
8380
f615b30c26e1 S1-U working in downlink
Nicola Baldo <nbaldo@cttc.es>
parents: 8378
diff changeset
   271
   * 
f615b30c26e1 S1-U working in downlink
Nicola Baldo <nbaldo@cttc.es>
parents: 8378
diff changeset
   272
   */
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9345
diff changeset
   273
  std::map<uint32_t, EpsFlowId_t> m_teidRbidMap;
8386
419cbd9e357f S1-U now working also in uplink
Nicola Baldo <nbaldo@cttc.es>
parents: 8380
diff changeset
   274
 
419cbd9e357f S1-U now working also in uplink
Nicola Baldo <nbaldo@cttc.es>
parents: 8380
diff changeset
   275
  /**
419cbd9e357f S1-U now working also in uplink
Nicola Baldo <nbaldo@cttc.es>
parents: 8380
diff changeset
   276
   * UDP port to be used for GTP
419cbd9e357f S1-U now working also in uplink
Nicola Baldo <nbaldo@cttc.es>
parents: 8380
diff changeset
   277
   */
419cbd9e357f S1-U now working also in uplink
Nicola Baldo <nbaldo@cttc.es>
parents: 8380
diff changeset
   278
  uint16_t m_gtpuUdpPort;
8380
f615b30c26e1 S1-U working in downlink
Nicola Baldo <nbaldo@cttc.es>
parents: 8378
diff changeset
   279
9337
ae7126b266ce revised LTE protocol stack for new RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 8590
diff changeset
   280
  /**
ae7126b266ce revised LTE protocol stack for new RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 8590
diff changeset
   281
   * Provider for the S1 SAP 
ae7126b266ce revised LTE protocol stack for new RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 8590
diff changeset
   282
   */
ae7126b266ce revised LTE protocol stack for new RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 8590
diff changeset
   283
  EpcEnbS1SapProvider* m_s1SapProvider;
ae7126b266ce revised LTE protocol stack for new RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 8590
diff changeset
   284
ae7126b266ce revised LTE protocol stack for new RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 8590
diff changeset
   285
  /**
ae7126b266ce revised LTE protocol stack for new RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 8590
diff changeset
   286
   * User for the S1 SAP 
ae7126b266ce revised LTE protocol stack for new RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 8590
diff changeset
   287
   */
ae7126b266ce revised LTE protocol stack for new RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 8590
diff changeset
   288
  EpcEnbS1SapUser* m_s1SapUser;
ae7126b266ce revised LTE protocol stack for new RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 8590
diff changeset
   289
9430
e8b87593ee5b added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents: 9414
diff changeset
   290
  /**
e8b87593ee5b added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents: 9414
diff changeset
   291
   * MME side of the S1-AP SAP
e8b87593ee5b added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents: 9414
diff changeset
   292
   * 
e8b87593ee5b added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents: 9414
diff changeset
   293
   */
e8b87593ee5b added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents: 9414
diff changeset
   294
  EpcS1apSapMme* m_s1apSapMme;
e8b87593ee5b added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents: 9414
diff changeset
   295
e8b87593ee5b added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents: 9414
diff changeset
   296
  /**
e8b87593ee5b added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents: 9414
diff changeset
   297
   * ENB side of the S1-AP SAP
e8b87593ee5b added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents: 9414
diff changeset
   298
   * 
e8b87593ee5b added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents: 9414
diff changeset
   299
   */
e8b87593ee5b added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents: 9414
diff changeset
   300
  EpcS1apSapEnb* m_s1apSapEnb;
9337
ae7126b266ce revised LTE protocol stack for new RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 8590
diff changeset
   301
9345
8290ae6cab62 add/remove UEs and bearers upon handover
Nicola Baldo <nicola@baldo.biz>
parents: 9337
diff changeset
   302
  /**
8290ae6cab62 add/remove UEs and bearers upon handover
Nicola Baldo <nicola@baldo.biz>
parents: 9337
diff changeset
   303
   * UE context info
8290ae6cab62 add/remove UEs and bearers upon handover
Nicola Baldo <nicola@baldo.biz>
parents: 9337
diff changeset
   304
   * 
8290ae6cab62 add/remove UEs and bearers upon handover
Nicola Baldo <nicola@baldo.biz>
parents: 9337
diff changeset
   305
   */
8290ae6cab62 add/remove UEs and bearers upon handover
Nicola Baldo <nicola@baldo.biz>
parents: 9337
diff changeset
   306
  std::map<uint64_t, uint16_t> m_imsiRntiMap;
8290ae6cab62 add/remove UEs and bearers upon handover
Nicola Baldo <nicola@baldo.biz>
parents: 9337
diff changeset
   307
12753
3fbb703f257f lte: doxygen updates of model (many thanks to Robert Ammon for initial patch)
Biljana Bojovic <biljana.bojovic@gmail.com>
parents: 11168
diff changeset
   308
  uint16_t m_cellId; ///< cell ID
9430
e8b87593ee5b added MME with simulated S1AP and S11 interfaces
Nicola Baldo <nbaldo@cttc.es>
parents: 9414
diff changeset
   309
8357
7bb52f00c205 Refurbished GTP tunneling implementation + documentation
Jaume Nin
parents:
diff changeset
   310
};
7bb52f00c205 Refurbished GTP tunneling implementation + documentation
Jaume Nin
parents:
diff changeset
   311
7bb52f00c205 Refurbished GTP tunneling implementation + documentation
Jaume Nin
parents:
diff changeset
   312
} //namespace ns3
7bb52f00c205 Refurbished GTP tunneling implementation + documentation
Jaume Nin
parents:
diff changeset
   313
8366
a3af0a5ed1e9 draft eNB and SGW/PGW applications
Nicola Baldo <nbaldo@cttc.es>
parents: 8357
diff changeset
   314
#endif /* EPC_ENB_APPLICATION_H */
8357
7bb52f00c205 Refurbished GTP tunneling implementation + documentation
Jaume Nin
parents:
diff changeset
   315