Commit c37fd673 authored by Tien-Thinh Nguyen's avatar Tien-Thinh Nguyen
Browse files

remove unnecessary files

parent 7efeaece
......@@ -31,5 +31,4 @@ set (SRC_TOP_DIR $ENV{OPENAIRCN_DIR}/src)
include(${CMAKE_CURRENT_SOURCE_DIR}/../../src/oai_smf/CMakeLists.txt)
ADD_SUBDIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/../../src/sgwc ${CMAKE_CURRENT_BINARY_DIR}/sgwc)
ADD_SUBDIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/../../src/pgwc ${CMAKE_CURRENT_BINARY_DIR}/pgwc)
......@@ -59,18 +59,8 @@ void Logger::_init( const char *app, const bool log_stdout, bool const log_rot_f
m_itti = new _Logger( "itti ", m_sinks, ss.str().c_str() );
m_mme_s11 = new _Logger( "mme_s11 ", m_sinks, ss.str().c_str() );
m_pgwc_app = new _Logger( "pgwc_app ", m_sinks, ss.str().c_str() );
//m_pgwu_app = new _Logger( "pgwu_app", m_sinks, ss.str().c_str() );
m_pgwc_s5s8 = new _Logger( "pgwc_s5 ", m_sinks, ss.str().c_str() );
m_pgwc_sx = new _Logger( "pgwc_sx ", m_sinks, ss.str().c_str() );
//m_pgwu_sx = new _Logger( "pgwu_sx ", m_sinks, ss.str().c_str() );
//m_pgw_udp = new _Logger( "pgw_udp ", m_sinks, ss.str().c_str() );
m_sgwc_app = new _Logger( "sgwc_app ", m_sinks, ss.str().c_str() );
//m_sgwu_app = new _Logger( "sgwu_app", m_sinks, ss.str().c_str() );
//m_sgwu_sx = new _Logger( "sgwu_sx ", m_sinks, ss.str().c_str() );
m_sgwc_s11 = new _Logger( "sgwc_s11 ", m_sinks, ss.str().c_str() );
m_sgwc_s5s8 = new _Logger( "sgwc_s5 ", m_sinks, ss.str().c_str() );
m_sgwc_sx = new _Logger( "sgwc_sx ", m_sinks, ss.str().c_str() );
//m_sgw_udp = new _Logger( "sgw_udp ", m_sinks, ss.str().c_str() );
m_spgwu_app = new _Logger( "spgwu_app", m_sinks, ss.str().c_str() );
m_spgwu_s1u = new _Logger( "spgwu_s1u", m_sinks, ss.str().c_str() );
m_spgwu_sx = new _Logger( "spgwu_sx ", m_sinks, ss.str().c_str() );
......
......@@ -85,8 +85,6 @@ public:
static _Logger &itti() { return *singleton().m_itti; }
static _Logger &mme_s11() { return *singleton().m_mme_s11; }
static _Logger &pgwc_app() { return *singleton().m_pgwc_app; }
//static _Logger &pgwu_app() { return *singleton().m_pgwu_app; }
static _Logger &pgwc_s5s8() { return *singleton().m_pgwc_s5s8; }
static _Logger &pgwc_sx() { return *singleton().m_pgwc_sx; }
//static _Logger &pgwu_sx() { return *singleton().m_pgwu_sx; }
//static _Logger &pgw_udp() { return *singleton().m_pgw_udp; }
......@@ -94,7 +92,6 @@ public:
//static _Logger &sgwu_app() { return *singleton().m_sgwu_app; }
//static _Logger &sgwu_sx() { return *singleton().m_sgwu_sx; }
static _Logger &sgwc_s11() { return *singleton().m_sgwc_s11; }
static _Logger &sgwc_s5s8() { return *singleton().m_sgwc_s5s8; }
static _Logger &sgwc_sx() { return *singleton().m_sgwc_sx; }
//static _Logger &sgw_udp() { return *singleton().m_sgw_udp; }
static _Logger &spgwu_app() { return *singleton().m_spgwu_app; }
......@@ -129,18 +126,10 @@ private:
_Logger *m_itti;
_Logger *m_mme_s11;
_Logger *m_pgwc_app;
//_Logger *m_pgwu_app;
_Logger *m_pgwc_s5s8;
_Logger *m_pgwc_sx;
//_Logger *m_pgwu_sx;
//_Logger *m_pgw_udp;
_Logger *m_sgwc_app;
//_Logger *m_sgwu_app;
//_Logger *m_sgwu_sx;
_Logger *m_sgwc_s11;
_Logger *m_sgwc_s5s8;
_Logger *m_sgwc_sx;
//_Logger *m_sgw_udp;
_Logger *m_spgwu_app;
_Logger *m_spgwu_s1u;
_Logger *m_spgwu_sx;
......
......@@ -80,4 +80,4 @@ public:
};
#endif /* ITTI_MSG_S5S8_HPP_INCLUDED_ */
#endif /* ITTI_MSG_N11_HPP_INCLUDED_ */
/*
* Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The OpenAirInterface Software Alliance licenses this file to You under
* the OAI Public License, Version 1.1 (the "License"); you may not use this file
* except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.openairinterface.org/?page_id=698
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*-------------------------------------------------------------------------------
* For more information about the OpenAirInterface (OAI) Software Alliance:
* contact@openairinterface.org
*/
/*
* itti_msg_s1u.hpp
*
* Created on: Feb 05, 2019
* Author: lionel.gauthier@eurecom.fr
*/
#ifndef ITTI_MSG_S1U_HPP_INCLUDED_
#define ITTI_MSG_S1U_HPP_INCLUDED_
#include "itti_msg.hpp"
#include "3gpp_29.281.hpp"
#include "msg_gtpv1u.hpp"
#include <sys/socket.h>
class itti_s1u_msg : public itti_msg {
public:
itti_s1u_msg(const itti_msg_type_t msg_type, const task_id_t orig, const task_id_t dest):
itti_msg(msg_type, orig, dest) {}
itti_s1u_msg& operator=(itti_s1u_msg other)
{
this->itti_msg::operator=(other);
return *this;
}
itti_s1u_msg(const itti_s1u_msg& i) : itti_msg(i) {}
itti_s1u_msg(const itti_s1u_msg& i, const task_id_t orig, const task_id_t dest) : itti_s1u_msg(i) {
origin = orig;
destination = dest;
}
};
//------------------------------------------------------------------------------
class itti_s1u_echo_request : public itti_s1u_msg {
public:
itti_s1u_echo_request(const task_id_t orig, const task_id_t dest):
itti_s1u_msg(S1U_ECHO_REQUEST, orig, dest) {
}
explicit itti_s1u_echo_request(const itti_s1u_echo_request& i) : itti_s1u_msg(i) {
gtp_ies = i.gtp_ies;
}
itti_s1u_echo_request& operator=(itti_s1u_echo_request other)
{
this->itti_s1u_msg::operator=(other);
std::swap(gtp_ies, other.gtp_ies);
return *this;
}
itti_s1u_echo_request(const itti_s1u_echo_request& i, const task_id_t orig, const task_id_t dest) :
itti_s1u_msg(i, orig, dest) {
gtp_ies = i.gtp_ies;
}
const char* get_msg_name() {return "S1U_ECHO_REQUEST";};
gtpv1u::gtpv1u_echo_request gtp_ies;
};
//------------------------------------------------------------------------------
class itti_s1u_echo_response : public itti_s1u_msg {
public:
itti_s1u_echo_response(const task_id_t orig, const task_id_t dest):
itti_s1u_msg(S1U_ECHO_RESPONSE, orig, dest) {
}
explicit itti_s1u_echo_response(const itti_s1u_echo_response& i) : itti_s1u_msg(i) {
gtp_ies = i.gtp_ies;
}
itti_s1u_echo_response& operator=(itti_s1u_echo_response other)
{
this->itti_s1u_msg::operator=(other);
std::swap(gtp_ies, other.gtp_ies);
return *this;
}
itti_s1u_echo_response(const itti_s1u_echo_response& i, const task_id_t orig, const task_id_t dest) :
itti_s1u_msg(i, orig, dest) {
gtp_ies = i.gtp_ies;
}
const char* get_msg_name() {return "S1U_ECHO_RESPONSE";};
gtpv1u::gtpv1u_echo_response gtp_ies;
};
//------------------------------------------------------------------------------
class itti_s1u_error_indication : public itti_s1u_msg {
public:
itti_s1u_error_indication(const task_id_t orig, const task_id_t dest):
itti_s1u_msg(S1U_ERROR_INDICATION, orig, dest) {
}
explicit itti_s1u_error_indication(const itti_s1u_error_indication& i) : itti_s1u_msg(i) {
gtp_ies = i.gtp_ies;
}
itti_s1u_error_indication& operator=(itti_s1u_error_indication other)
{
this->itti_s1u_msg::operator=(other);
std::swap(gtp_ies, other.gtp_ies);
return *this;
}
itti_s1u_error_indication(const itti_s1u_error_indication& i, const task_id_t orig, const task_id_t dest) :
itti_s1u_msg(i, orig, dest) {
gtp_ies = i.gtp_ies;
}
const char* get_msg_name() {return "S1U_ERROR_INDICATION";};
gtpv1u::gtpv1u_error_indication gtp_ies;
};
//------------------------------------------------------------------------------
class itti_s1u_supported_extension_headers_notification : public itti_s1u_msg {
public:
itti_s1u_supported_extension_headers_notification(const task_id_t orig, const task_id_t dest):
itti_s1u_msg(S1U_SUPPORTED_EXTENSION_HEADERS_NOTIFICATION, orig, dest) {
}
explicit itti_s1u_supported_extension_headers_notification(const itti_s1u_supported_extension_headers_notification& i) : itti_s1u_msg(i) {
gtp_ies = i.gtp_ies;
}
itti_s1u_supported_extension_headers_notification& operator=(itti_s1u_supported_extension_headers_notification other)
{
this->itti_s1u_msg::operator=(other);
std::swap(gtp_ies, other.gtp_ies);
return *this;
}
itti_s1u_supported_extension_headers_notification(const itti_s1u_supported_extension_headers_notification& i, const task_id_t orig, const task_id_t dest) :
itti_s1u_msg(i, orig, dest) {
gtp_ies = i.gtp_ies;
}
const char* get_msg_name() {return "S1U_SUPPORTED_EXTENSION_HEADERS_NOTIFICATION";};
gtpv1u::gtpv1u_supported_extension_headers_notification gtp_ies;
};
//------------------------------------------------------------------------------
class itti_s1u_end_marker : public itti_s1u_msg {
public:
itti_s1u_end_marker(const task_id_t orig, const task_id_t dest):
itti_s1u_msg(S1U_END_MARKER, orig, dest) {
}
explicit itti_s1u_end_marker(const itti_s1u_end_marker& i) : itti_s1u_msg(i) {
gtp_ies = i.gtp_ies;
}
itti_s1u_end_marker& operator=(itti_s1u_end_marker other)
{
this->itti_s1u_msg::operator=(other);
std::swap(gtp_ies, other.gtp_ies);
return *this;
}
itti_s1u_end_marker(const itti_s1u_end_marker& i, const task_id_t orig, const task_id_t dest) :
itti_s1u_msg(i, orig, dest) {
gtp_ies = i.gtp_ies;
}
const char* get_msg_name() {return "S1U_END_MARKER";};
gtpv1u::gtpv1u_end_marker gtp_ies;
};
#endif /* ITTI_MSG_S1U_HPP_INCLUDED_ */
/*
* Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The OpenAirInterface Software Alliance licenses this file to You under
* the OAI Public License, Version 1.1 (the "License"); you may not use this file
* except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.openairinterface.org/?page_id=698
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*-------------------------------------------------------------------------------
* For more information about the OpenAirInterface (OAI) Software Alliance:
* contact@openairinterface.org
*/
/*
* itti_msg_s5s8.hpp
*
* Created on: Oct 26, 2018
* Author: lionel.gauthier@eurecom.fr
*/
#ifndef ITTI_MSG_S5S8_HPP_INCLUDED_
#define ITTI_MSG_S5S8_HPP_INCLUDED_
#include "3gpp_29.274.hpp"
#include "endpoint.hpp"
#include "itti_msg.hpp"
#include "msg_gtpv2c.hpp"
class itti_s5s8_msg : public itti_msg {
public:
itti_s5s8_msg(const itti_msg_type_t msg_type, const task_id_t orig, const task_id_t dest):
itti_msg(msg_type, orig, dest) {
l_endpoint = {};
r_endpoint = {};
teid = UNASSIGNED_TEID;
l_teid = UNASSIGNED_TEID;
gtpc_tx_id = 0;
}
itti_s5s8_msg(const itti_s5s8_msg& i) : itti_msg(i), l_endpoint(i.l_endpoint),
r_endpoint(i.r_endpoint), teid(i.teid), l_teid(i.l_teid), gtpc_tx_id(i.gtpc_tx_id) {}
itti_s5s8_msg(const itti_s5s8_msg& i, const task_id_t orig, const task_id_t dest) :
itti_s5s8_msg(i)
{
origin = orig;
destination = dest;
}
endpoint l_endpoint;
endpoint r_endpoint;
teid_t teid; // remote teid
teid_t l_teid; // local teid
uint64_t gtpc_tx_id;
};
class itti_s5s8_remote_peer_not_responding : public itti_s5s8_msg {
public:
itti_s5s8_remote_peer_not_responding(const task_id_t orig, const task_id_t dest):
itti_s5s8_msg(S5S8_REMOTE_PEER_NOT_RESPONDING, orig, dest) {}
itti_s5s8_remote_peer_not_responding(const itti_s5s8_remote_peer_not_responding& i) : itti_s5s8_msg(i) {}
itti_s5s8_remote_peer_not_responding(const itti_s5s8_remote_peer_not_responding& i, const task_id_t orig, const task_id_t dest) :
itti_s5s8_msg(i, orig, dest) {}
const char* get_msg_name() {return "S5S8_REMOTE_PEER_NOT_RESPONDING";};
};
//-----------------------------------------------------------------------------
class itti_s5s8_create_session_request : public itti_s5s8_msg {
public:
itti_s5s8_create_session_request(const task_id_t orig, const task_id_t dest):
itti_s5s8_msg(S5S8_CREATE_SESSION_REQUEST, orig, dest) {}
itti_s5s8_create_session_request(const itti_s5s8_create_session_request& i) : itti_s5s8_msg(i), gtp_ies(i.gtp_ies) {}
itti_s5s8_create_session_request(const itti_s5s8_create_session_request& i, const task_id_t orig, const task_id_t dest) :
itti_s5s8_msg(i, orig, dest), gtp_ies(i.gtp_ies) {}
const char* get_msg_name() {return "S5S8_CREATE_SESSION_REQUEST";};
gtpv2c::gtpv2c_create_session_request gtp_ies;
};
//-----------------------------------------------------------------------------
/** @class itti_s5s8_create_session_response_t
* @brief Create Session Response
*
* The Create Session Response will be sent on S5S8 interface as
* part of these procedures:
* - E-UTRAN Initial Attach
* - UE requested PDN connectivity
* - Tracking Area Update procedure with SGW change
* - S1/X2-based handover with SGW change
*/
class itti_s5s8_create_session_response : public itti_s5s8_msg {
public:
itti_s5s8_create_session_response(const task_id_t orig, const task_id_t dest):
itti_s5s8_msg(S5S8_CREATE_SESSION_RESPONSE, orig, dest) {}
itti_s5s8_create_session_response(const itti_s5s8_create_session_response& i) : itti_s5s8_msg(i), gtp_ies(i.gtp_ies) {}
itti_s5s8_create_session_response(const itti_s5s8_create_session_response& i, const task_id_t orig, const task_id_t dest) :
itti_s5s8_msg(i, orig, dest), gtp_ies(i.gtp_ies) {}
const char* get_msg_name() {return "S5S8_CREATE_SESSION_RESPONSE";};
gtpv2c::gtpv2c_create_session_response gtp_ies;
};
//-----------------------------------------------------------------------------
/** @class itti_s5s8_create_bearer_request
* @brief Create Bearer Request
*
* The direction of this message shall be from PGW to SGW and from SGW to MME/S4-SGSN, and from PGW to ePDG
* The Create Bearer Request message shall be sent on the S5/S8 interface by the PGW to the SGW and on the S5S8
* interface by the SGW to the MME as part of the Dedicated Bearer Activation procedure.
* The message shall also be sent on the S5/S8 interface by the PGW to the SGW and on the S4 interface by the SGW to
* the SGSN as part of the Secondary PDP Context Activation procedure or the Network Requested Secondary PDP
* Context Activation procedure.
* The message shall also be sent on the S2b interface by the PGW to the ePDG as part of the Dedicated S2b bearer
* activation with GTP on S2b.
*/
class itti_s5s8_create_bearer_request : public itti_s5s8_msg {
public:
itti_s5s8_create_bearer_request(const task_id_t orig, const task_id_t dest): itti_s5s8_msg(S5S8_CREATE_BEARER_REQUEST, orig, dest) {}
itti_s5s8_create_bearer_request(const itti_s5s8_create_bearer_request& i) : itti_s5s8_msg(i), gtp_ies(i.gtp_ies){}
itti_s5s8_create_bearer_request(const itti_s5s8_create_bearer_request& i, const task_id_t orig, const task_id_t dest) :
itti_s5s8_msg(i, orig, dest), gtp_ies(i.gtp_ies) {}
const char* get_msg_name() {return "S5S8_CREATE_BEARER_REQUEST";};
gtpv2c::gtpv2c_create_bearer_request gtp_ies;
};
//-----------------------------------------------------------------------------
/** @class itti_s5s8_create_bearer_response
* @brief Create Bearer Response
*
* The Create Bearer Response message shall be sent on the S5/S8 interface by the SGW to the PGW, and on the S5S8
* interface by the MME to the SGW as part of the Dedicated Bearer Activation procedure.
* The message shall also be sent on the S5/S8 interface by the SGW to the PGW and on the S4 interface by the SGSN to
* the SGW as part of Secondary PDP Context Activation procedure or the Network Requested Secondary PDP Context
* Activation procedure.
* The message shall also be sent on the S2b interface by the ePDG to the PGW as part of the Dedicated S2b bearer
* activation with GTP on S2b.
* Possible Cause values are specified in Table 8.4-1. Message specific cause values are:
* - "Request accepted".
* - "Request accepted partially".
* - "Context not found".
* - "Semantic error in the TFT operation".
* - "Syntactic error in the TFT operation".
* - "Semantic errors in packet filter(s)".
* - "Syntactic errors in packet filter(s)".
* - "Service not supported".
* - "Unable to page UE".
* - "UE not responding".
* - "Unable to page UE due to Suspension".
* - "UE refuses".
* - "Denied in RAT".
* - "UE context without TFT already activated".
*/
class itti_s5s8_create_bearer_response : public itti_s5s8_msg {
public:
itti_s5s8_create_bearer_response(const task_id_t orig, const task_id_t dest): itti_s5s8_msg(S5S8_CREATE_BEARER_RESPONSE, orig, dest) {}
itti_s5s8_create_bearer_response(const itti_s5s8_create_bearer_response& i) : itti_s5s8_msg(i), gtp_ies(i.gtp_ies) {}
itti_s5s8_create_bearer_response(const itti_s5s8_create_bearer_response& i, const task_id_t orig, const task_id_t dest) :
itti_s5s8_msg(i, orig, dest), gtp_ies(i.gtp_ies) {}
const char* get_msg_name() {return "S5S8_CREATE_BEARER_RESPONSE";};
gtpv2c::gtpv2c_create_bearer_response gtp_ies;
};
//-----------------------------------------------------------------------------
/** @class itti_s5s8_modify_bearer_request
* @brief Modify Bearer Request
*
* The Modify Bearer Request will be sent on S5S8 interface as
* part of these procedures:
* - E-UTRAN Tracking Area Update without SGW Change
* - UE triggered Service Request
* - S1-based Handover
* - E-UTRAN Initial Attach
* - UE requested PDN connectivity
* - X2-based handover without SGWrelocation
*/
class itti_s5s8_modify_bearer_request : public itti_s5s8_msg {
public:
itti_s5s8_modify_bearer_request(const task_id_t orig, const task_id_t dest): itti_s5s8_msg(S5S8_MODIFY_BEARER_REQUEST, orig, dest) {}
itti_s5s8_modify_bearer_request(const itti_s5s8_modify_bearer_request& i) : itti_s5s8_msg(i), gtp_ies(i.gtp_ies) {}
itti_s5s8_modify_bearer_request(const itti_s5s8_modify_bearer_request& i, const task_id_t orig, const task_id_t dest) :
itti_s5s8_msg(i, orig, dest), gtp_ies(i.gtp_ies) {}
const char* get_msg_name() {return typeid(itti_s5s8_modify_bearer_request).name();};
gtpv2c::gtpv2c_modify_bearer_request gtp_ies;
} ;
//-----------------------------------------------------------------------------
/** @class itti_s5s8_modify_bearer_response
* @brief Modify Bearer Response
*
* The Modify Bearer Response will be sent on S5S8 interface as
* part of these procedures:
* - E-UTRAN Tracking Area Update without SGW Change
* - UE triggered Service Request
* - S1-based Handover
* - E-UTRAN Initial Attach
* - UE requested PDN connectivity
* - X2-based handover without SGWrelocation
*/
class itti_s5s8_modify_bearer_response : public itti_s5s8_msg {
public:
itti_s5s8_modify_bearer_response(const task_id_t orig, const task_id_t dest): itti_s5s8_msg(S5S8_MODIFY_BEARER_RESPONSE, orig, dest) {}
itti_s5s8_modify_bearer_response(const itti_s5s8_modify_bearer_response& i) : itti_s5s8_msg(i), gtp_ies(i.gtp_ies) {}
itti_s5s8_modify_bearer_response(const itti_s5s8_modify_bearer_response& i, const task_id_t orig, const task_id_t dest) :
itti_s5s8_msg(i, orig, dest), gtp_ies(i.gtp_ies) {}
const char* get_msg_name() {return "S5S8_MODIFY_BEARER_RESPONSE";};
gtpv2c::gtpv2c_modify_bearer_response gtp_ies;
} ;
//-----------------------------------------------------------------------------
class itti_s5s8_delete_session_request : public itti_s5s8_msg {
public:
itti_s5s8_delete_session_request(const task_id_t orig, const task_id_t dest): itti_s5s8_msg(S5S8_DELETE_SESSION_REQUEST, orig, dest) {
noDelete = false;
}
itti_s5s8_delete_session_request(const itti_s5s8_delete_session_request& i) : itti_s5s8_msg(i), gtp_ies(i.gtp_ies), noDelete(i.noDelete) {}
itti_s5s8_delete_session_request(const itti_s5s8_delete_session_request& i, const task_id_t orig, const task_id_t dest) :
itti_s5s8_msg(i, orig, dest), gtp_ies(i.gtp_ies), noDelete(i.noDelete) {}
const char* get_msg_name() {return "S5S8_DELETE_SESSION_REQUEST";};
gtpv2c::gtpv2c_delete_session_request gtp_ies;
bool noDelete;
} ;
//-----------------------------------------------------------------------------
/** @class itti_s5s8_delete_session_response
* @brief Delete Session Response
*
* The Delete Session Response will be sent on S5S8 interface as
* part of these procedures:
* - EUTRAN Initial Attach
* - UE, HSS or MME Initiated Detach
* - UE or MME Requested PDN Disconnection
* - Tracking Area Update with SGW Change
* - S1 Based Handover with SGW Change
* - X2 Based Handover with SGW Relocation
* - S1 Based handover cancel with SGW change
*/
class itti_s5s8_delete_session_response : public itti_s5s8_msg {
public:
itti_s5s8_delete_session_response(const task_id_t orig, const task_id_t dest): itti_s5s8_msg(S5S8_DELETE_SESSION_RESPONSE, orig, dest) {
}
itti_s5s8_delete_session_response(const itti_s5s8_delete_session_response& i) : itti_s5s8_msg(i), gtp_ies(i.gtp_ies) {}
itti_s5s8_delete_session_response(const itti_s5s8_delete_session_response& i, const task_id_t orig, const task_id_t dest) :
itti_s5s8_msg(i, orig, dest), gtp_ies(i.gtp_ies) {}
const char* get_msg_name() {return "S5S8_DELETE_SESSION_RESPONSE";};
gtpv2c::gtpv2c_delete_session_response gtp_ies;
} ;
//-----------------------------------------------------------------------------
/** @class itti_s5s8_release_access_bearers_request
* @brief Release AccessBearers Request
*
* The Release Access Bearers Request message shall sent on the S5S8 interface by
* the MME to the SGW as part of the S1 release procedure.
* The message shall also be sent on the S4 interface by the SGSN to the SGW as
* part of the procedures:
* - RAB release using S4
* - Iu Release using S4
* - READY to STANDBY transition within the network
*/
class itti_s5s8_release_access_bearers_request : public itti_s5s8_msg {
public:
itti_s5s8_release_access_bearers_request(const task_id_t orig, const task_id_t dest): itti_s5s8_msg(S5S8_RELEASE_ACCESS_BEARERS_REQUEST, orig, dest) {
}
itti_s5s8_release_access_bearers_request(const itti_s5s8_release_access_bearers_request& i) : itti_s5s8_msg(i), gtp_ies(i.gtp_ies) {}
itti_s5s8_release_access_bearers_request(const itti_s5s8_release_access_bearers_request& i, const task_id_t orig, const task_id_t dest) :
itti_s5s8_msg(i, orig, dest), gtp_ies(i.gtp_ies) {}
const char* get_msg_name() {return "S5S8_RELEASE_ACCESS_BEARERS_REQUEST";};
gtpv2c::gtpv2c_release_access_bearers_request gtp_ies;
} ;
//-----------------------------------------------------------------------------
/** @class itti_s5s8_release_access_bearers_response
* @brief Release AccessBearers Response
*
* The Release Access Bearers Response message is sent on the S5S8 interface by the SGW to the MME as part of the S1
* release procedure.
* The message shall also be sent on the S4 interface by the SGW to the SGSN as part of the procedures:
* - RAB release using S4
* - Iu Release using S4
* - READY to STANDBY transition within the network
* Possible Cause values are specified in Table 8.4-1. Message specific cause values are:
* - "Request accepted".
* - "Request accepted partially".
* - "Context not found
*/
class itti_s5s8_release_access_bearers_response : public itti_s5s8_msg {
public:
itti_s5s8_release_access_bearers_response(const task_id_t orig, const task_id_t dest):
itti_s5s8_msg(S5S8_RELEASE_ACCESS_BEARERS_RESPONSE, orig, dest) {
}
itti_s5s8_release_access_bearers_response(const itti_s5s8_release_access_bearers_response& i) : itti_s5s8_msg(i), gtp_ies(i.gtp_ies) {}
itti_s5s8_release_access_bearers_response(const itti_s5s8_release_access_bearers_response& i, const task_id_t orig, const task_id_t dest) :
itti_s5s8_msg(i, orig, dest), gtp_ies(i.gtp_ies) {}
const char* get_msg_name() {return "S5S8_RELEASE_ACCESS_BEARERS_RESPONSE";};
gtpv2c::gtpv2c_release_access_bearers_response gtp_ies;
};
//-----------------------------------------------------------------------------
/** @class itti_s5s8_delete_bearer_command_t
* @brief Initiate Delete Bearer procedure
*
* A Delete Bearer Command message shall be sent on the S5S8 interface by the MME to the SGW and on the S5/S8
* interface by the SGW to the PGW as a part of the eNodeB requested bearer release or MME-Initiated Dedicated Bearer
* Deactivation procedure.
* The message shall also be sent on the S4 interface by the SGSN to the SGW and on the S5/S8 interface by the SGW to
* the PGW as part of the MS and SGSN Initiated Bearer Deactivation procedure using S4.
*/
class itti_s5s8_delete_bearer_command : public itti_s5s8_msg {
public:
itti_s5s8_delete_bearer_command(const task_id_t orig, const task_id_t dest):
itti_s5s8_msg(S5S8_DELETE_BEARER_COMMAND, orig, dest) {
}
itti_s5s8_delete_bearer_command(const itti_s5s8_delete_bearer_command& i) : itti_s5s8_msg(i), gtp_ies(i.gtp_ies) {}
itti_s5s8_delete_bearer_command(const itti_s5s8_delete_bearer_command& i, const task_id_t orig, const task_id_t dest) :
itti_s5s8_msg(i, orig, dest), gtp_ies(i.gtp_ies) {}
const char* get_msg_name() {return "S5S8_DELETE_BEARER_COMMAND";};
gtpv2c::gtpv2c_delete_bearer_command gtp_ies;
} ;
//-----------------------------------------------------------------------------
/** @class itti_s5s8_downlink_data_notification
* @brief Downlink Data Notification, not in spec but necessary due to SGWU and PGWU tied together.
*
* The Downlink Data Notification message is sent on the S5S8 interface by the SGW to the MME as part of the S1 paging procedure.
*/
class itti_s5s8_downlink_data_notification : public itti_s5s8_msg {
public:
itti_s5s8_downlink_data_notification(const task_id_t origin, const task_id_t destination):
itti_s5s8_msg(S5S8_DOWNLINK_DATA_NOTIFICATION, origin, destination) {
}
itti_s5s8_downlink_data_notification(const itti_s5s8_downlink_data_notification& i) : itti_s5s8_msg(i) {
gtp_ies = i.gtp_ies;
}
itti_s5s8_downlink_data_notification(const itti_s5s8_downlink_data_notification& i, const task_id_t orig, const task_id_t dest) :
itti_s5s8_msg(i, orig, dest) {
gtp_ies = i.gtp_ies;
}
const char* get_msg_name() {return typeid(itti_s5s8_downlink_data_notification).name();};