SCTP assoc_id: Make it sctp_assoc_t, project-wide
This commit is contained in:
@@ -24,6 +24,8 @@
|
||||
#ifndef E1AP_MESSAGES_TYPES_H
|
||||
#define E1AP_MESSAGES_TYPES_H
|
||||
|
||||
#include <netinet/in.h>
|
||||
#include <netinet/sctp.h>
|
||||
#include "common/ngran_types.h"
|
||||
#include "f1ap_messages_types.h"
|
||||
#include "ngap_messages_types.h"
|
||||
@@ -55,7 +57,7 @@ typedef struct PLMN_ID_s {
|
||||
typedef struct e1ap_setup_req_s {
|
||||
uint64_t gNB_cu_up_id;
|
||||
char * gNB_cu_up_name;
|
||||
int assoc_id;
|
||||
sctp_assoc_t assoc_id;
|
||||
uint64_t transac_id;
|
||||
int supported_plmns;
|
||||
PLMN_ID_t plmns[E1AP_MAX_NUM_PLMNS];
|
||||
|
||||
@@ -22,6 +22,8 @@
|
||||
#ifndef F1AP_MESSAGES_TYPES_H_
|
||||
#define F1AP_MESSAGES_TYPES_H_
|
||||
|
||||
#include <netinet/in.h>
|
||||
#include <netinet/sctp.h>
|
||||
#include "rlc.h"
|
||||
#include "s1ap_messages_types.h"
|
||||
|
||||
@@ -194,7 +196,7 @@ typedef struct f1ap_gnb_cu_configuration_update_s {
|
||||
uint16_t cnx_id;
|
||||
|
||||
/* SCTP association id */
|
||||
int32_t assoc_id;
|
||||
sctp_assoc_t assoc_id;
|
||||
|
||||
/* Number of SCTP streams used for a mme association */
|
||||
uint16_t sctp_in_streams;
|
||||
|
||||
@@ -23,6 +23,8 @@
|
||||
#ifndef M2AP_MESSAGES_TYPES_H_
|
||||
#define M2AP_MESSAGES_TYPES_H_
|
||||
|
||||
#include <netinet/in.h>
|
||||
#include <netinet/sctp.h>
|
||||
#include "s1ap_messages_types.h"
|
||||
#include "LTE_PhysCellId.h"
|
||||
|
||||
@@ -104,7 +106,7 @@ typedef struct m2ap_setup_req_s {
|
||||
uint16_t cnx_id;
|
||||
|
||||
/* SCTP association id */
|
||||
int32_t assoc_id;
|
||||
sctp_assoc_t assoc_id;
|
||||
|
||||
/* The eNB IP address to bind */
|
||||
m2ap_net_ip_address_t MCE_M2_ip_address;
|
||||
@@ -258,7 +260,7 @@ typedef struct m2ap_setup_resp_s {
|
||||
uint16_t cnx_id;
|
||||
|
||||
/* SCTP association id */
|
||||
int32_t assoc_id;
|
||||
sctp_assoc_t assoc_id;
|
||||
|
||||
/* Number of SCTP streams used for a mme association */
|
||||
uint16_t sctp_in_streams;
|
||||
|
||||
@@ -22,6 +22,8 @@
|
||||
#ifndef M3AP_MESSAGES_TYPES_H_
|
||||
#define M3AP_MESSAGES_TYPES_H_
|
||||
|
||||
#include <netinet/in.h>
|
||||
#include <netinet/sctp.h>
|
||||
#include "s1ap_messages_types.h"
|
||||
#include "LTE_PhysCellId.h"
|
||||
|
||||
@@ -336,7 +338,7 @@ typedef struct m3ap_setup_req_s{
|
||||
/* Connexion id used between SCTP/M3AP */
|
||||
uint16_t cnx_id;
|
||||
/* SCTP association id */
|
||||
int32_t assoc_id;
|
||||
sctp_assoc_t assoc_id;
|
||||
|
||||
/* Number of SCTP streams used for a mme association */
|
||||
uint16_t sctp_in_streams;
|
||||
|
||||
@@ -22,6 +22,8 @@
|
||||
#ifndef S1AP_MESSAGES_TYPES_H_
|
||||
#define S1AP_MESSAGES_TYPES_H_
|
||||
|
||||
#include <netinet/in.h>
|
||||
#include <netinet/sctp.h>
|
||||
#include "LTE_asn_constant.h"
|
||||
//-------------------------------------------------------------------------------------------//
|
||||
// Defines to access message fields.
|
||||
|
||||
@@ -22,6 +22,9 @@
|
||||
#ifndef SCTP_MESSAGES_TYPES_H_
|
||||
#define SCTP_MESSAGES_TYPES_H_
|
||||
|
||||
#include <netinet/in.h>
|
||||
#include <netinet/sctp.h>
|
||||
|
||||
#define SCTP_NEW_ASSOCIATION_REQ(mSGpTR) (mSGpTR)->ittiMsg.sctp_new_association_req
|
||||
#define SCTP_NEW_ASSOCIATION_REQ_MULTI(mSGpTR) (mSGpTR)->ittiMsg.sctp_new_association_req_multi
|
||||
#define SCTP_NEW_ASSOCIATION_RESP(mSGpTR) (mSGpTR)->ittiMsg.sctp_new_association_resp
|
||||
@@ -87,7 +90,7 @@ typedef struct sctp_init_msg_multi_cnf_s {
|
||||
|
||||
typedef struct sctp_new_association_ind_s {
|
||||
/* Assoc id of the new association */
|
||||
int32_t assoc_id;
|
||||
sctp_assoc_t assoc_id;
|
||||
|
||||
/* The port used by remote host */
|
||||
uint16_t port;
|
||||
@@ -102,7 +105,7 @@ typedef struct sctp_new_association_resp_s {
|
||||
uint16_t ulp_cnx_id;
|
||||
|
||||
/* SCTP Association ID */
|
||||
int32_t assoc_id;
|
||||
sctp_assoc_t assoc_id;
|
||||
|
||||
/* Input/output streams */
|
||||
uint16_t out_streams;
|
||||
@@ -114,7 +117,7 @@ typedef struct sctp_new_association_resp_s {
|
||||
|
||||
typedef struct sctp_data_ind_s {
|
||||
/* SCTP Association ID */
|
||||
int32_t assoc_id;
|
||||
sctp_assoc_t assoc_id;
|
||||
|
||||
/* Buffer to send over SCTP */
|
||||
uint32_t buffer_length;
|
||||
@@ -139,7 +142,7 @@ typedef struct sctp_init_s {
|
||||
|
||||
|
||||
typedef struct sctp_close_association_s {
|
||||
uint32_t assoc_id;
|
||||
sctp_assoc_t assoc_id;
|
||||
} sctp_close_association_t;
|
||||
|
||||
|
||||
|
||||
@@ -22,6 +22,8 @@
|
||||
#ifndef X2AP_MESSAGES_TYPES_H_
|
||||
#define X2AP_MESSAGES_TYPES_H_
|
||||
|
||||
#include <netinet/in.h>
|
||||
#include <netinet/sctp.h>
|
||||
#include "s1ap_messages_types.h"
|
||||
#include "LTE_PhysCellId.h"
|
||||
|
||||
@@ -425,7 +427,7 @@ typedef struct x2ap_ENDC_reconf_complete_s {
|
||||
typedef struct x2ap_ENDC_sgnb_release_request_s {
|
||||
int rnti;
|
||||
x2ap_cause_t cause;
|
||||
int assoc_id;
|
||||
sctp_assoc_t assoc_id;
|
||||
} x2ap_ENDC_sgnb_release_request_t;
|
||||
|
||||
typedef struct x2ap_ENDC_sgnb_release_required_s {
|
||||
|
||||
+42
-44
@@ -67,8 +67,8 @@ const char *const e1ap_direction2String(int e1ap_dir)
|
||||
return(e1ap_direction_String[e1ap_dir]);
|
||||
}
|
||||
|
||||
int e1ap_handle_message(instance_t instance, uint32_t assoc_id,
|
||||
const uint8_t *const data, const uint32_t data_length) {
|
||||
int e1ap_handle_message(instance_t instance, sctp_assoc_t assoc_id, const uint8_t *const data, const uint32_t data_length)
|
||||
{
|
||||
E1AP_E1AP_PDU_t pdu= {0};
|
||||
int ret;
|
||||
DevAssert(data != NULL);
|
||||
@@ -128,18 +128,14 @@ int e1ap_send_RESET_ACKNOWLEDGE(instance_t instance, E1AP_Reset_t *Reset) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
int e1ap_handle_RESET(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
E1AP_E1AP_PDU_t *pdu) {
|
||||
int e1ap_handle_RESET(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, E1AP_E1AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(false,"Not implemented yet\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
int e1ap_handle_RESET_ACKNOWLEDGE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
E1AP_E1AP_PDU_t *pdu) {
|
||||
int e1ap_handle_RESET_ACKNOWLEDGE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, E1AP_E1AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(false,"Not implemented yet\n");
|
||||
return -1;
|
||||
}
|
||||
@@ -147,10 +143,8 @@ int e1ap_handle_RESET_ACKNOWLEDGE(instance_t instance,
|
||||
/*
|
||||
Error Indication
|
||||
*/
|
||||
int e1ap_handle_ERROR_INDICATION(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
E1AP_E1AP_PDU_t *pdu) {
|
||||
int e1ap_handle_ERROR_INDICATION(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, E1AP_E1AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(false,"Not implemented yet\n");
|
||||
return -1;
|
||||
}
|
||||
@@ -465,13 +459,19 @@ int e1apCUCP_handle_CONFIGURATION_UPDATE(e1ap_setup_req_t *setupReq, E1AP_E1AP_P
|
||||
return -1;
|
||||
}
|
||||
|
||||
int e1apCUUP_handle_gNB_DU_CONFIGURATION_UPDATE_ACKNOWLEDGE(e1ap_setup_req_t *setupReq, uint32_t assoc_id, uint32_t stream, E1AP_E1AP_PDU_t *pdu)
|
||||
int e1apCUUP_handle_gNB_DU_CONFIGURATION_UPDATE_ACKNOWLEDGE(e1ap_setup_req_t *setupReq,
|
||||
sctp_assoc_t assoc_id,
|
||||
uint32_t stream,
|
||||
E1AP_E1AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(false,"Not implemented yet\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
int e1apCUUP_handle_gNB_DU_CONFIGURATION_FAILURE(e1ap_setup_req_t *setupReq, uint32_t assoc_id, uint32_t stream, E1AP_E1AP_PDU_t *pdu)
|
||||
int e1apCUUP_handle_gNB_DU_CONFIGURATION_FAILURE(e1ap_setup_req_t *setupReq,
|
||||
sctp_assoc_t assoc_id,
|
||||
uint32_t stream,
|
||||
E1AP_E1AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(false,"Not implemented yet\n");
|
||||
return -1;
|
||||
@@ -491,18 +491,14 @@ int e1ap_send_RELEASE_ACKNOWLEDGE(instance_t instance) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
int e1ap_handle_RELEASE_REQUEST(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
E1AP_E1AP_PDU_t *pdu) {
|
||||
int e1ap_handle_RELEASE_REQUEST(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, E1AP_E1AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(false,"Not implemented yet\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
int e1ap_handle_RELEASE_ACKNOWLEDGE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
E1AP_E1AP_PDU_t *pdu) {
|
||||
int e1ap_handle_RELEASE_ACKNOWLEDGE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, E1AP_E1AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(false,"Not implemented yet\n");
|
||||
return -1;
|
||||
}
|
||||
@@ -1251,17 +1247,19 @@ int e1apCUUP_handle_BEARER_CONTEXT_MODIFICATION_REQUEST(e1ap_upcp_inst_t *e1_ins
|
||||
}
|
||||
|
||||
int e1apCUCP_handle_BEARER_CONTEXT_MODIFICATION_RESPONSE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
sctp_assoc_t assoc_id,
|
||||
uint32_t stream,
|
||||
E1AP_E1AP_PDU_t *pdu) {
|
||||
E1AP_E1AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(false,"Not implemented yet\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
int e1apCUCP_handle_BEARER_CONTEXT_MODIFICATION_FAILURE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
sctp_assoc_t assoc_id,
|
||||
uint32_t stream,
|
||||
E1AP_E1AP_PDU_t *pdu) {
|
||||
E1AP_E1AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(false,"Not implemented yet\n");
|
||||
return -1;
|
||||
}
|
||||
@@ -1277,17 +1275,19 @@ int e1apCUCP_send_BEARER_CONTEXT_MODIFICATION_CONFIRM(instance_t instance) {
|
||||
}
|
||||
|
||||
int e1apCUCP_handle_BEARER_CONTEXT_MODIFICATION_REQUIRED(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
sctp_assoc_t assoc_id,
|
||||
uint32_t stream,
|
||||
E1AP_E1AP_PDU_t *pdu) {
|
||||
E1AP_E1AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(false,"Not implemented yet\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
int e1apCUUP_handle_BEARER_CONTEXT_MODIFICATION_CONFIRM(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
sctp_assoc_t assoc_id,
|
||||
uint32_t stream,
|
||||
E1AP_E1AP_PDU_t *pdu) {
|
||||
E1AP_E1AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(false,"Not implemented yet\n");
|
||||
return -1;
|
||||
}
|
||||
@@ -1464,9 +1464,10 @@ int e1apCUCP_handle_BEARER_CONTEXT_RELEASE_COMPLETE(e1ap_upcp_inst_t *e1_inst, c
|
||||
}
|
||||
|
||||
int e1apCUCP_handle_BEARER_CONTEXT_RELEASE_REQUEST(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
sctp_assoc_t assoc_id,
|
||||
uint32_t stream,
|
||||
E1AP_E1AP_PDU_t *pdu) {
|
||||
E1AP_E1AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(false,"Not implemented yet\n");
|
||||
return -1;
|
||||
}
|
||||
@@ -1481,9 +1482,10 @@ int e1apCUUP_send_BEARER_CONTEXT_INACTIVITY_NOTIFICATION(instance_t instance) {
|
||||
}
|
||||
|
||||
int e1apCUCP_handle_BEARER_CONTEXT_INACTIVITY_NOTIFICATION(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
sctp_assoc_t assoc_id,
|
||||
uint32_t stream,
|
||||
E1AP_E1AP_PDU_t *pdu) {
|
||||
E1AP_E1AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(false,"Not implemented yet\n");
|
||||
return -1;
|
||||
}
|
||||
@@ -1501,18 +1503,14 @@ int e1apCUUP_send_DATA_USAGE_REPORT(instance_t instance) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
int e1apCUCP_handle_DL_DATA_NOTIFICATION(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
E1AP_E1AP_PDU_t *pdu) {
|
||||
int e1apCUCP_handle_DL_DATA_NOTIFICATION(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, E1AP_E1AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(false,"Not implemented yet\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
int e1apCUCP_handle_send_DATA_USAGE_REPORT(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
E1AP_E1AP_PDU_t *pdu) {
|
||||
int e1apCUCP_handle_send_DATA_USAGE_REPORT(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, E1AP_E1AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(false,"Not implemented yet\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -34,7 +34,7 @@ typedef struct e1ap_upcp_inst_s {
|
||||
bool same_process;
|
||||
E1_t type;
|
||||
enum sctp_state_e sockState;
|
||||
uint32_t assoc_id;
|
||||
sctp_assoc_t assoc_id;
|
||||
instance_t gtpInstN3;
|
||||
instance_t gtpInstF1U;
|
||||
e1ap_setup_req_t setupReq;
|
||||
|
||||
@@ -387,14 +387,12 @@
|
||||
|
||||
/** \brief Function array prototype.
|
||||
**/
|
||||
typedef int (*f1ap_message_processing_t)(
|
||||
instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *message_p
|
||||
);
|
||||
int f1ap_handle_message(instance_t instance, uint32_t assoc_id, int32_t stream,
|
||||
const uint8_t *const data, const uint32_t data_length);
|
||||
typedef int (*f1ap_message_processing_t)(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *message_p);
|
||||
int f1ap_handle_message(instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
int32_t stream,
|
||||
const uint8_t *const data,
|
||||
const uint32_t data_length);
|
||||
|
||||
typedef struct f1ap_cudu_inst_s {
|
||||
f1ap_setup_req_t setupReq;
|
||||
@@ -403,7 +401,7 @@ typedef struct f1ap_cudu_inst_s {
|
||||
f1ap_net_config_t net_config;
|
||||
|
||||
/* SCTP information */
|
||||
int32_t assoc_id;
|
||||
sctp_assoc_t assoc_id;
|
||||
uint16_t sctp_in_streams;
|
||||
uint16_t sctp_out_streams;
|
||||
|
||||
|
||||
@@ -39,17 +39,13 @@ int CU_send_RESET(instance_t instance, F1AP_Reset_t *Reset) {
|
||||
AssertFatal(1==0,"Not implemented yet\n");
|
||||
}
|
||||
|
||||
int CU_handle_RESET_ACKKNOWLEDGE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu) {
|
||||
int CU_handle_RESET_ACKKNOWLEDGE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(1==0,"Not implemented yet\n");
|
||||
}
|
||||
|
||||
int CU_handle_RESET(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu) {
|
||||
int CU_handle_RESET(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(1==0,"Not implemented yet\n");
|
||||
}
|
||||
|
||||
@@ -61,10 +57,8 @@ int CU_send_RESET_ACKNOWLEDGE(instance_t instance, F1AP_ResetAcknowledge_t *Rese
|
||||
/*
|
||||
Error Indication
|
||||
*/
|
||||
int CU_handle_ERROR_INDICATION(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu) {
|
||||
int CU_handle_ERROR_INDICATION(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(1==0,"Not implemented yet\n");
|
||||
}
|
||||
|
||||
@@ -76,10 +70,8 @@ int CU_send_ERROR_INDICATION(instance_t instance, F1AP_ErrorIndication_t *ErrorI
|
||||
/*
|
||||
F1 Setup
|
||||
*/
|
||||
int CU_handle_F1_SETUP_REQUEST(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu) {
|
||||
int CU_handle_F1_SETUP_REQUEST(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu)
|
||||
{
|
||||
LOG_D(F1AP, "CU_handle_F1_SETUP_REQUEST\n");
|
||||
F1AP_F1SetupRequest_t *container;
|
||||
F1AP_F1SetupRequestIEs_t *ie;
|
||||
@@ -422,10 +414,8 @@ int CU_send_F1_SETUP_FAILURE(instance_t instance) {
|
||||
gNB-DU Configuration Update
|
||||
*/
|
||||
|
||||
int CU_handle_gNB_DU_CONFIGURATION_UPDATE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu) {
|
||||
int CU_handle_gNB_DU_CONFIGURATION_UPDATE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(1==0,"Not implemented yet\n");
|
||||
}
|
||||
|
||||
@@ -534,26 +524,25 @@ int CU_send_gNB_CU_CONFIGURATION_UPDATE(instance_t instance, f1ap_gnb_cu_configu
|
||||
return 0;
|
||||
}
|
||||
|
||||
int CU_handle_gNB_CU_CONFIGURATION_UPDATE_FAILURE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu) {
|
||||
int CU_handle_gNB_CU_CONFIGURATION_UPDATE_FAILURE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(1==0,"Not implemented yet\n");
|
||||
}
|
||||
|
||||
int CU_handle_gNB_CU_CONFIGURATION_UPDATE_ACKNOWLEDGE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu) {
|
||||
sctp_assoc_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu)
|
||||
{
|
||||
LOG_I(F1AP,"Cell Configuration ok (assoc_id %d)\n",assoc_id);
|
||||
return(0);
|
||||
}
|
||||
|
||||
|
||||
int CU_handle_gNB_DU_RESOURCE_COORDINATION_REQUEST(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu) {
|
||||
sctp_assoc_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(0, "Not implemented yet\n");
|
||||
}
|
||||
|
||||
|
||||
@@ -37,32 +37,20 @@
|
||||
* Reset
|
||||
*/
|
||||
int CU_send_RESET(instance_t instance, F1AP_Reset_t *Reset);
|
||||
int CU_handle_RESET_ACKKNOWLEDGE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu);
|
||||
int CU_handle_RESET(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu);
|
||||
int CU_handle_RESET_ACKKNOWLEDGE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu);
|
||||
int CU_handle_RESET(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu);
|
||||
int CU_send_RESET_ACKNOWLEDGE(instance_t instance, F1AP_ResetAcknowledge_t *ResetAcknowledge);
|
||||
|
||||
/*
|
||||
* Error Indication
|
||||
*/
|
||||
int CU_handle_ERROR_INDICATION(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu);
|
||||
int CU_handle_ERROR_INDICATION(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu);
|
||||
int CU_send_ERROR_INDICATION(instance_t instance, F1AP_ErrorIndication_t *ErrorIndication);
|
||||
|
||||
/*
|
||||
* F1 Setup
|
||||
*/
|
||||
int CU_handle_F1_SETUP_REQUEST(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu);
|
||||
int CU_handle_F1_SETUP_REQUEST(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu);
|
||||
|
||||
int CU_send_F1_SETUP_RESPONSE(instance_t instance, f1ap_setup_resp_t *f1ap_setup_resp);
|
||||
|
||||
@@ -71,10 +59,7 @@ int CU_send_F1_SETUP_FAILURE(instance_t instance);
|
||||
/*
|
||||
* gNB-DU Configuration Update
|
||||
*/
|
||||
int CU_handle_gNB_DU_CONFIGURATION_UPDATE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu);
|
||||
int CU_handle_gNB_DU_CONFIGURATION_UPDATE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu);
|
||||
|
||||
int CU_send_gNB_DU_CONFIGURATION_FAILURE(instance_t instance,
|
||||
F1AP_GNBDUConfigurationUpdateFailure_t *GNBDUConfigurationUpdateFailure);
|
||||
@@ -87,22 +72,22 @@ int CU_send_gNB_DU_CONFIGURATION_UPDATE_ACKNOWLEDGE(instance_t instance,
|
||||
*/
|
||||
int CU_send_gNB_CU_CONFIGURATION_UPDATE(instance_t instance, f1ap_gnb_cu_configuration_update_t *f1ap_gnb_cu_configuration_update);
|
||||
int CU_handle_gNB_CU_CONFIGURATION_UPDATE_FAILURE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu);
|
||||
sctp_assoc_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu);
|
||||
|
||||
int CU_handle_gNB_CU_CONFIGURATION_UPDATE_ACKNOWLEDGE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu);
|
||||
sctp_assoc_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu);
|
||||
|
||||
/*
|
||||
* gNB-DU Resource Coordination
|
||||
*/
|
||||
int CU_handle_gNB_DU_RESOURCE_COORDINATION_REQUEST(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu);
|
||||
sctp_assoc_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu);
|
||||
|
||||
int CU_send_gNB_DU_RESOURCE_COORDINATION_RESPONSE(instance_t instance,
|
||||
F1AP_GNBDUResourceCoordinationResponse_t *GNBDUResourceCoordinationResponse);
|
||||
|
||||
@@ -43,10 +43,8 @@
|
||||
Initial UL RRC Message Transfer
|
||||
*/
|
||||
|
||||
int CU_handle_INITIAL_UL_RRC_MESSAGE_TRANSFER(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu) {
|
||||
int CU_handle_INITIAL_UL_RRC_MESSAGE_TRANSFER(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu)
|
||||
{
|
||||
LOG_D(F1AP, "CU_handle_INITIAL_UL_RRC_MESSAGE_TRANSFER\n");
|
||||
// decode the F1 message
|
||||
// get the rrc message from the contauiner
|
||||
@@ -216,10 +214,8 @@ int CU_send_DL_RRC_MESSAGE_TRANSFER(instance_t instance,
|
||||
/*
|
||||
UL RRC Message Transfer
|
||||
*/
|
||||
int CU_handle_UL_RRC_MESSAGE_TRANSFER(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu) {
|
||||
int CU_handle_UL_RRC_MESSAGE_TRANSFER(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu)
|
||||
{
|
||||
LOG_D(F1AP, "CU_handle_UL_RRC_MESSAGE_TRANSFER \n");
|
||||
F1AP_ULRRCMessageTransfer_t *container;
|
||||
F1AP_ULRRCMessageTransferIEs_t *ie;
|
||||
|
||||
@@ -33,18 +33,10 @@
|
||||
#ifndef F1AP_CU_RRC_MESSAGE_TRANSFER_H_
|
||||
#define F1AP_CU_RRC_MESSAGE_TRANSFER_H_
|
||||
|
||||
int CU_handle_INITIAL_UL_RRC_MESSAGE_TRANSFER(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu);
|
||||
int CU_handle_INITIAL_UL_RRC_MESSAGE_TRANSFER(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu);
|
||||
|
||||
int CU_send_DL_RRC_MESSAGE_TRANSFER(instance_t instance,
|
||||
f1ap_dl_rrc_message_t *f1ap_dl_rrc);
|
||||
|
||||
int CU_handle_UL_RRC_MESSAGE_TRANSFER(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu);
|
||||
int CU_send_DL_RRC_MESSAGE_TRANSFER(instance_t instance, f1ap_dl_rrc_message_t *f1ap_dl_rrc);
|
||||
|
||||
int CU_handle_UL_RRC_MESSAGE_TRANSFER(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu);
|
||||
|
||||
#endif /* F1AP_CU_RRC_MESSAGE_TRANSFER_H_ */
|
||||
|
||||
@@ -632,10 +632,8 @@ int CU_send_UE_CONTEXT_SETUP_REQUEST(instance_t instance,
|
||||
return 0;
|
||||
}
|
||||
|
||||
int CU_handle_UE_CONTEXT_SETUP_RESPONSE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu) {
|
||||
int CU_handle_UE_CONTEXT_SETUP_RESPONSE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu)
|
||||
{
|
||||
MessageDef *msg_p;
|
||||
F1AP_UEContextSetupResponse_t *container;
|
||||
F1AP_UEContextSetupResponseIEs_t *ie;
|
||||
@@ -766,14 +764,12 @@ int CU_handle_UE_CONTEXT_SETUP_RESPONSE(instance_t instance,
|
||||
return 0;
|
||||
}
|
||||
|
||||
int CU_handle_UE_CONTEXT_SETUP_FAILURE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu) {
|
||||
int CU_handle_UE_CONTEXT_SETUP_FAILURE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(1==0,"Not implemented yet\n");
|
||||
}
|
||||
|
||||
int CU_handle_UE_CONTEXT_RELEASE_REQUEST(instance_t instance, uint32_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu)
|
||||
int CU_handle_UE_CONTEXT_RELEASE_REQUEST(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu)
|
||||
{
|
||||
MessageDef *msg = itti_alloc_new_message(TASK_CU_F1, 0, F1AP_UE_CONTEXT_RELEASE_REQ);
|
||||
f1ap_ue_context_release_req_t *req = &F1AP_UE_CONTEXT_RELEASE_REQ(msg);
|
||||
@@ -919,10 +915,9 @@ int CU_send_UE_CONTEXT_RELEASE_COMMAND(instance_t instance,
|
||||
f1ap_itti_send_sctp_data_req(instance, buffer, len);
|
||||
return 0;
|
||||
}
|
||||
int CU_handle_UE_CONTEXT_RELEASE_COMPLETE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu) {
|
||||
|
||||
int CU_handle_UE_CONTEXT_RELEASE_COMPLETE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu)
|
||||
{
|
||||
F1AP_UEContextReleaseComplete_t *container;
|
||||
F1AP_UEContextReleaseCompleteIEs_t *ie;
|
||||
DevAssert(pdu);
|
||||
@@ -1567,11 +1562,8 @@ int CU_send_UE_CONTEXT_MODIFICATION_REQUEST(instance_t instance, f1ap_ue_context
|
||||
return 0;
|
||||
}
|
||||
|
||||
int CU_handle_UE_CONTEXT_MODIFICATION_RESPONSE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu) {
|
||||
|
||||
int CU_handle_UE_CONTEXT_MODIFICATION_RESPONSE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu)
|
||||
{
|
||||
MessageDef *msg_p;
|
||||
F1AP_UEContextModificationResponse_t *container;
|
||||
F1AP_UEContextModificationResponseIEs_t *ie;
|
||||
@@ -1695,14 +1687,12 @@ int CU_handle_UE_CONTEXT_MODIFICATION_RESPONSE(instance_t instance,
|
||||
return 0;
|
||||
}
|
||||
|
||||
int CU_handle_UE_CONTEXT_MODIFICATION_FAILURE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu) {
|
||||
AssertFatal(1==0,"Not implemented yet\n");
|
||||
int CU_handle_UE_CONTEXT_MODIFICATION_FAILURE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(1 == 0, "Not implemented yet\n");
|
||||
}
|
||||
|
||||
int CU_handle_UE_CONTEXT_MODIFICATION_REQUIRED(instance_t instance, uint32_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu)
|
||||
int CU_handle_UE_CONTEXT_MODIFICATION_REQUIRED(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu)
|
||||
{
|
||||
DevAssert(pdu != NULL);
|
||||
|
||||
|
||||
@@ -39,24 +39,14 @@
|
||||
int CU_send_UE_CONTEXT_SETUP_REQUEST(instance_t instance,
|
||||
f1ap_ue_context_setup_t *f1ap_ue_context_setup_req);
|
||||
|
||||
int CU_handle_UE_CONTEXT_SETUP_RESPONSE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu);
|
||||
|
||||
int CU_handle_UE_CONTEXT_SETUP_FAILURE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu);
|
||||
int CU_handle_UE_CONTEXT_SETUP_RESPONSE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu);
|
||||
|
||||
int CU_handle_UE_CONTEXT_SETUP_FAILURE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu);
|
||||
|
||||
/*
|
||||
* UE Context Release Request (gNB-DU initiated)
|
||||
*/
|
||||
int CU_handle_UE_CONTEXT_RELEASE_REQUEST(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu);
|
||||
int CU_handle_UE_CONTEXT_RELEASE_REQUEST(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu);
|
||||
|
||||
/*
|
||||
* UE Context Release (gNB-CU initiated)
|
||||
@@ -64,28 +54,19 @@ int CU_handle_UE_CONTEXT_RELEASE_REQUEST(instance_t instance,
|
||||
int CU_send_UE_CONTEXT_RELEASE_COMMAND(instance_t instance,
|
||||
f1ap_ue_context_release_cmd_t *cmd);
|
||||
|
||||
int CU_handle_UE_CONTEXT_RELEASE_COMPLETE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu);
|
||||
int CU_handle_UE_CONTEXT_RELEASE_COMPLETE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu);
|
||||
|
||||
/*
|
||||
* UE Context Modification (gNB-CU initiated)
|
||||
*/
|
||||
int CU_send_UE_CONTEXT_MODIFICATION_REQUEST(instance_t instance, f1ap_ue_context_modif_req_t *f1ap_ue_context_modification_req);
|
||||
int CU_handle_UE_CONTEXT_MODIFICATION_RESPONSE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu);
|
||||
int CU_handle_UE_CONTEXT_MODIFICATION_FAILURE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu);
|
||||
int CU_handle_UE_CONTEXT_MODIFICATION_RESPONSE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu);
|
||||
int CU_handle_UE_CONTEXT_MODIFICATION_FAILURE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu);
|
||||
|
||||
/*
|
||||
* UE Context Modification Required (gNB-DU initiated)
|
||||
*/
|
||||
int CU_handle_UE_CONTEXT_MODIFICATION_REQUIRED(instance_t instance, uint32_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu);
|
||||
int CU_handle_UE_CONTEXT_MODIFICATION_REQUIRED(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu);
|
||||
|
||||
int CU_send_UE_CONTEXT_MODIFICATION_CONFIRM(instance_t instance, f1ap_ue_context_modif_confirm_t *confirm);
|
||||
|
||||
|
||||
@@ -50,10 +50,8 @@ int to_NRNRB(int nrb) {
|
||||
AssertFatal(1==0,"nrb %d is not in the list of possible NRNRB\n",nrb);
|
||||
}
|
||||
|
||||
int DU_handle_RESET(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu) {
|
||||
int DU_handle_RESET(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(1==0,"Not implemented yet\n");
|
||||
}
|
||||
|
||||
@@ -65,14 +63,11 @@ int DU_send_RESET(instance_t instance, F1AP_Reset_t *Reset) {
|
||||
AssertFatal(1==0,"Not implemented yet\n");
|
||||
}
|
||||
|
||||
int DU_handle_RESET_ACKNOWLEDGE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu) {
|
||||
int DU_handle_RESET_ACKNOWLEDGE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(1==0,"Not implemented yet\n");
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
Error Indication
|
||||
*/
|
||||
@@ -81,14 +76,11 @@ int DU_send_ERROR_INDICATION(instance_t instance, F1AP_F1AP_PDU_t *pdu_p) {
|
||||
AssertFatal(1==0,"Not implemented yet\n");
|
||||
}
|
||||
|
||||
int DU_handle_ERROR_INDICATION(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu) {
|
||||
int DU_handle_ERROR_INDICATION(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(1==0,"Not implemented yet\n");
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
F1 Setup
|
||||
*/
|
||||
@@ -310,7 +302,7 @@ int DU_send_F1_SETUP_REQUEST(instance_t instance, f1ap_setup_req_t *setup_req)
|
||||
return 0;
|
||||
}
|
||||
|
||||
int DU_handle_F1_SETUP_RESPONSE(instance_t instance, uint32_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu)
|
||||
int DU_handle_F1_SETUP_RESPONSE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu)
|
||||
{
|
||||
LOG_D(F1AP, "DU_handle_F1_SETUP_RESPONSE\n");
|
||||
AssertFatal(pdu->present == F1AP_F1AP_PDU_PR_successfulOutcome,
|
||||
@@ -474,7 +466,7 @@ int DU_handle_F1_SETUP_RESPONSE(instance_t instance, uint32_t assoc_id, uint32_t
|
||||
}
|
||||
|
||||
// SETUP FAILURE
|
||||
int DU_handle_F1_SETUP_FAILURE(instance_t instance, uint32_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu)
|
||||
int DU_handle_F1_SETUP_FAILURE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu)
|
||||
{
|
||||
F1AP_F1SetupFailure_t *out;
|
||||
F1AP_F1SetupFailureIEs_t *ie;
|
||||
@@ -738,25 +730,21 @@ int DU_send_gNB_DU_CONFIGURATION_UPDATE(instance_t instance,
|
||||
return 0;
|
||||
}
|
||||
|
||||
int DU_handle_gNB_DU_CONFIGURATION_FAILURE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu) {
|
||||
int DU_handle_gNB_DU_CONFIGURATION_FAILURE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(1==0,"Not implemented yet\n");
|
||||
}
|
||||
|
||||
int DU_handle_gNB_DU_CONFIGURATION_UPDATE_ACKNOWLEDGE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu) {
|
||||
sctp_assoc_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(1==0,"Not implemented yet\n");
|
||||
}
|
||||
|
||||
|
||||
int DU_handle_gNB_CU_CONFIGURATION_UPDATE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu) {
|
||||
int DU_handle_gNB_CU_CONFIGURATION_UPDATE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu)
|
||||
{
|
||||
LOG_D(F1AP, "DU_handle_gNB_CU_CONFIGURATION_UPDATE\n");
|
||||
AssertFatal(pdu->present == F1AP_F1AP_PDU_PR_initiatingMessage,
|
||||
"pdu->present != F1AP_F1AP_PDU_PR_initiatingMessage\n");
|
||||
@@ -960,8 +948,9 @@ int DU_send_gNB_DU_RESOURCE_COORDINATION_REQUEST(instance_t instance,
|
||||
}
|
||||
|
||||
int DU_handle_gNB_DU_RESOURCE_COORDINATION_RESPONSE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu) {
|
||||
sctp_assoc_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(0, "Not implemented yet\n");
|
||||
}
|
||||
|
||||
@@ -36,41 +36,25 @@
|
||||
/*
|
||||
* Reset
|
||||
*/
|
||||
int DU_handle_RESET(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu);
|
||||
int DU_handle_RESET(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu);
|
||||
int DU_send_RESET_ACKKNOWLEDGE(instance_t instance, F1AP_ResetAcknowledge_t *ResetAcknowledge);
|
||||
int DU_send_RESET(instance_t instance, F1AP_Reset_t *Reset);
|
||||
int DU_handle_RESET_ACKNOWLEDGE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu);
|
||||
int DU_handle_RESET_ACKNOWLEDGE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu);
|
||||
|
||||
/*
|
||||
* Error Indication
|
||||
*/
|
||||
int DU_send_ERROR_INDICATION(instance_t instance, F1AP_F1AP_PDU_t *pdu_p);
|
||||
int DU_handle_ERROR_INDICATION(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu);
|
||||
|
||||
int DU_handle_ERROR_INDICATION(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu);
|
||||
|
||||
/*
|
||||
* F1 Setup
|
||||
*/
|
||||
int DU_send_F1_SETUP_REQUEST(instance_t instance, f1ap_setup_req_t *setup_req);
|
||||
|
||||
int DU_handle_F1_SETUP_RESPONSE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu);
|
||||
int DU_handle_F1_SETUP_RESPONSE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu);
|
||||
|
||||
int DU_handle_F1_SETUP_FAILURE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu);
|
||||
int DU_handle_F1_SETUP_FAILURE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu);
|
||||
|
||||
/*
|
||||
* gNB-DU Configuration Update
|
||||
@@ -79,23 +63,17 @@ int DU_send_gNB_DU_CONFIGURATION_UPDATE(instance_t instance,
|
||||
instance_t du_mod_idP,
|
||||
f1ap_setup_req_t *f1ap_du_data);
|
||||
|
||||
int DU_handle_gNB_DU_CONFIGURATION_FAILURE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu);
|
||||
int DU_handle_gNB_DU_CONFIGURATION_FAILURE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu);
|
||||
|
||||
int DU_handle_gNB_DU_CONFIGURATION_UPDATE_ACKNOWLEDGE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu);
|
||||
sctp_assoc_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu);
|
||||
|
||||
/*
|
||||
* gNB-CU Configuration Update
|
||||
*/
|
||||
int DU_handle_gNB_CU_CONFIGURATION_UPDATE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu);
|
||||
int DU_handle_gNB_CU_CONFIGURATION_UPDATE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu);
|
||||
|
||||
int DU_send_gNB_CU_CONFIGURATION_UPDATE_FAILURE(instance_t instance,
|
||||
f1ap_gnb_cu_configuration_update_failure_t *GNBCUConfigurationUpdateFailure);
|
||||
@@ -112,8 +90,8 @@ int DU_send_gNB_DU_RESOURCE_COORDINATION_REQUEST(instance_t instance,
|
||||
F1AP_GNBDUResourceCoordinationRequest_t *GNBDUResourceCoordinationRequest);
|
||||
|
||||
int DU_handle_gNB_DU_RESOURCE_COORDINATION_RESPONSE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu);
|
||||
sctp_assoc_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu);
|
||||
|
||||
#endif /* F1AP_DU_INTERFACE_MANAGEMENT_H_ */
|
||||
|
||||
@@ -35,10 +35,8 @@
|
||||
#include "oai_asn1.h"
|
||||
#include "openair2/RRC/LTE/rrc_proto.h"
|
||||
|
||||
int DU_handle_Paging(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu) {
|
||||
int DU_handle_Paging(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu)
|
||||
{
|
||||
F1AP_Paging_t *paging;
|
||||
F1AP_PagingIEs_t *ie;
|
||||
long tmsi;
|
||||
|
||||
@@ -33,9 +33,6 @@
|
||||
#ifndef F1AP_DU_PAGING_H_
|
||||
#define F1AP_DU_PAGING_H_
|
||||
|
||||
int DU_handle_Paging(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu);
|
||||
int DU_handle_Paging(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu);
|
||||
|
||||
#endif /* F1AP_DU_PAGING_H_ */
|
||||
|
||||
@@ -55,10 +55,8 @@
|
||||
#include "openair2/LAYER2/NR_MAC_gNB/mac_rrc_dl_handler.h"
|
||||
|
||||
/* DL RRC Message Transfer */
|
||||
int DU_handle_DL_RRC_MESSAGE_TRANSFER(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu) {
|
||||
int DU_handle_DL_RRC_MESSAGE_TRANSFER(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu)
|
||||
{
|
||||
F1AP_DLRRCMessageTransfer_t *container;
|
||||
F1AP_DLRRCMessageTransferIEs_t *ie;
|
||||
int executeDuplication;
|
||||
|
||||
@@ -36,10 +36,7 @@
|
||||
|
||||
#include "f1ap_common.h"
|
||||
|
||||
int DU_handle_DL_RRC_MESSAGE_TRANSFER(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu);
|
||||
int DU_handle_DL_RRC_MESSAGE_TRANSFER(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu);
|
||||
|
||||
int DU_send_UL_NR_RRC_MESSAGE_TRANSFER(instance_t instance, const f1ap_ul_rrc_message_t *msg);
|
||||
|
||||
|
||||
@@ -57,10 +57,7 @@ bool DURecvCb(protocol_ctxt_t *ctxt_pP,
|
||||
return true;
|
||||
}
|
||||
|
||||
int DU_handle_UE_CONTEXT_SETUP_REQUEST(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu)
|
||||
int DU_handle_UE_CONTEXT_SETUP_REQUEST(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu)
|
||||
{
|
||||
F1AP_UEContextSetupRequest_t *container;
|
||||
int i;
|
||||
@@ -624,7 +621,7 @@ int DU_send_UE_CONTEXT_RELEASE_REQUEST(instance_t instance,
|
||||
return 0;
|
||||
}
|
||||
|
||||
int DU_handle_UE_CONTEXT_RELEASE_COMMAND(instance_t instance, uint32_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu)
|
||||
int DU_handle_UE_CONTEXT_RELEASE_COMMAND(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu)
|
||||
{
|
||||
F1AP_UEContextReleaseCommand_t *container;
|
||||
F1AP_UEContextReleaseCommandIEs_t *ie;
|
||||
@@ -781,7 +778,7 @@ static instance_t du_create_gtpu_instance_to_cu(char *CUaddr, uint16_t CUport, c
|
||||
return gtpv1Init(tmp);
|
||||
}
|
||||
|
||||
int DU_handle_UE_CONTEXT_MODIFICATION_REQUEST(instance_t instance, uint32_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu)
|
||||
int DU_handle_UE_CONTEXT_MODIFICATION_REQUEST(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu)
|
||||
{
|
||||
F1AP_UEContextModificationRequest_t *container;
|
||||
int i;
|
||||
@@ -1395,7 +1392,7 @@ int DU_send_UE_CONTEXT_MODIFICATION_REQUIRED(instance_t instance, f1ap_ue_contex
|
||||
return 0;
|
||||
}
|
||||
|
||||
int DU_handle_UE_CONTEXT_MODIFICATION_CONFIRM(instance_t instance, uint32_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu)
|
||||
int DU_handle_UE_CONTEXT_MODIFICATION_CONFIRM(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu)
|
||||
{
|
||||
F1AP_UEContextModificationConfirm_t *container = &pdu->choice.successfulOutcome->value.choice.UEContextModificationConfirm;
|
||||
f1ap_ue_context_modif_confirm_t confirm = {0};
|
||||
@@ -1471,7 +1468,7 @@ int DU_handle_UE_CONTEXT_MODIFICATION_CONFIRM(instance_t instance, uint32_t asso
|
||||
return 0;
|
||||
}
|
||||
|
||||
int DU_handle_UE_CONTEXT_MODIFICATION_REFUSE(instance_t instance, uint32_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu)
|
||||
int DU_handle_UE_CONTEXT_MODIFICATION_REFUSE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu)
|
||||
{
|
||||
F1AP_UEContextModificationRefuse_t *container = &pdu->choice.unsuccessfulOutcome->value.choice.UEContextModificationRefuse;
|
||||
f1ap_ue_context_modif_refuse_t refuse = {0};
|
||||
|
||||
@@ -38,10 +38,7 @@
|
||||
*/
|
||||
int DU_send_UE_CONTEXT_SETUP_RESPONSE(instance_t instance, f1ap_ue_context_setup_t *req);
|
||||
|
||||
int DU_handle_UE_CONTEXT_SETUP_REQUEST(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu);
|
||||
int DU_handle_UE_CONTEXT_SETUP_REQUEST(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu);
|
||||
int DU_send_UE_CONTEXT_SETUP_FAILURE(instance_t instance);
|
||||
|
||||
|
||||
@@ -55,10 +52,7 @@ int DU_send_UE_CONTEXT_RELEASE_REQUEST(instance_t instance,
|
||||
/*
|
||||
* UE Context Release Command (gNB-CU initiated)
|
||||
*/
|
||||
int DU_handle_UE_CONTEXT_RELEASE_COMMAND(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu);
|
||||
int DU_handle_UE_CONTEXT_RELEASE_COMMAND(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu);
|
||||
|
||||
/*
|
||||
* UE Context Release Complete (gNB-DU initiated)
|
||||
@@ -68,10 +62,7 @@ int DU_send_UE_CONTEXT_RELEASE_COMPLETE(instance_t instance, f1ap_ue_context_rel
|
||||
/*
|
||||
* UE Context Modification (gNB-CU initiated)
|
||||
*/
|
||||
int DU_handle_UE_CONTEXT_MODIFICATION_REQUEST(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu);
|
||||
int DU_handle_UE_CONTEXT_MODIFICATION_REQUEST(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu);
|
||||
int DU_send_UE_CONTEXT_MODIFICATION_RESPONSE(instance_t instance, f1ap_ue_context_modif_resp_t *resp);
|
||||
int DU_send_UE_CONTEXT_MODIFICATION_FAILURE(instance_t instance);
|
||||
|
||||
@@ -80,10 +71,8 @@ int DU_send_UE_CONTEXT_MODIFICATION_FAILURE(instance_t instance);
|
||||
* UE Context Modification Required (gNB-DU initiated)
|
||||
*/
|
||||
int DU_send_UE_CONTEXT_MODIFICATION_REQUIRED(instance_t instance, f1ap_ue_context_modif_required_t *required);
|
||||
|
||||
int DU_handle_UE_CONTEXT_MODIFICATION_CONFIRM(instance_t instance, uint32_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu);
|
||||
|
||||
int DU_handle_UE_CONTEXT_MODIFICATION_REFUSE(instance_t instance, uint32_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu);
|
||||
int DU_handle_UE_CONTEXT_MODIFICATION_CONFIRM(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu);
|
||||
int DU_handle_UE_CONTEXT_MODIFICATION_REFUSE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu);
|
||||
|
||||
/*
|
||||
* UE Inactivity Notification
|
||||
|
||||
@@ -97,7 +97,7 @@ static F1AP_F1AP_PDU_t *f1ap_decode_pdu(const uint8_t *const buffer, uint32_t le
|
||||
}
|
||||
|
||||
int f1ap_handle_message(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
sctp_assoc_t assoc_id,
|
||||
int32_t stream,
|
||||
const uint8_t *const data,
|
||||
const uint32_t data_length)
|
||||
|
||||
@@ -115,7 +115,7 @@ typedef struct m2ap_MCE_data_s {
|
||||
uint16_t cnx_id;
|
||||
|
||||
/* SCTP association id */
|
||||
int32_t assoc_id;
|
||||
sctp_assoc_t assoc_id;
|
||||
|
||||
/* Nid cells */
|
||||
uint32_t Nid_cell[MAX_NUM_CCs];
|
||||
|
||||
@@ -314,7 +314,7 @@ int m2ap_MCE_generate_m2_setup_response(m2ap_MCE_instance_t *instance_p, m2ap_MC
|
||||
}
|
||||
|
||||
int m2ap_MCE_generate_m2_setup_failure(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
sctp_assoc_t assoc_id,
|
||||
M2AP_Cause_PR cause_type,
|
||||
long cause_value,
|
||||
long time_to_wait)
|
||||
|
||||
@@ -38,7 +38,7 @@ int m2ap_MCE_generate_m2_setup_request(m2ap_MCE_instance_t *instance_p,
|
||||
int m2ap_MCE_generate_m2_setup_response(m2ap_MCE_instance_t *instance_p, m2ap_MCE_data_t *m2ap_MCE_data_p);
|
||||
|
||||
int m2ap_MCE_generate_m2_setup_failure(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
sctp_assoc_t assoc_id,
|
||||
M2AP_Cause_PR cause_type,
|
||||
long cause_value,
|
||||
long time_to_wait);
|
||||
|
||||
@@ -74,9 +74,11 @@ static char *m2ap_direction_String[] = {
|
||||
return(m2ap_direction_String[m2ap_dir]);
|
||||
}
|
||||
|
||||
|
||||
int m2ap_MCE_handle_message(instance_t instance, uint32_t assoc_id, int32_t stream,
|
||||
const uint8_t * const data, const uint32_t data_length)
|
||||
int m2ap_MCE_handle_message(instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
int32_t stream,
|
||||
const uint8_t *const data,
|
||||
const uint32_t data_length)
|
||||
{
|
||||
M2AP_M2AP_PDU_t pdu;
|
||||
int ret;
|
||||
|
||||
@@ -33,11 +33,13 @@
|
||||
|
||||
//void m2ap_handle_m2_setup_message(m2ap_eNB_instance_t *instance_p, m2ap_eNB_data_t *eNB_desc_p, int sctp_shutdown);
|
||||
|
||||
int m2ap_MCE_handle_message(instance_t instance, uint32_t assoc_id, int32_t stream,
|
||||
const uint8_t * const data, const uint32_t data_length);
|
||||
|
||||
//int m2ap_handle_message(instance_t instance, uint32_t assoc_id, int32_t stream,
|
||||
//const uint8_t * const data, const uint32_t data_length);
|
||||
int m2ap_MCE_handle_message(instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
int32_t stream,
|
||||
const uint8_t *const data,
|
||||
const uint32_t data_length);
|
||||
|
||||
// int m2ap_handle_message(instance_t instance, sctp_assoc_t assoc_id, int32_t stream,
|
||||
// const uint8_t * const data, const uint32_t data_length);
|
||||
|
||||
#endif /* __M2AP_MCE_HANDLERS__H__ */
|
||||
|
||||
@@ -43,8 +43,9 @@ extern m2ap_setup_req_t *m2ap_mce_data_from_enb;
|
||||
/*
|
||||
* MBMS Session start
|
||||
*/
|
||||
int MCE_send_MBMS_SESSION_START_REQUEST(instance_t instance/*, uint32_t assoc_id*/,m2ap_session_start_req_t* m2ap_session_start_req){
|
||||
|
||||
int MCE_send_MBMS_SESSION_START_REQUEST(instance_t instance /*, sctp_assoc_t assoc_id*/,
|
||||
m2ap_session_start_req_t *m2ap_session_start_req)
|
||||
{
|
||||
//AssertFatal(1==0,"Not implemented yet\n");
|
||||
|
||||
//module_id_t enb_mod_idP=0;
|
||||
@@ -153,13 +154,10 @@ int MCE_send_MBMS_SESSION_START_REQUEST(instance_t instance/*, uint32_t assoc_id
|
||||
//MCE_m2ap_itti_send_sctp_data_req(instance, m2ap_mce_data_from_mce->assoid,buffer,len,0);
|
||||
m2ap_MCE_itti_send_sctp_data_req(instance,m2ap_mce_data_from_enb->assoc_id,buffer,len,0);
|
||||
return 0;
|
||||
|
||||
}
|
||||
|
||||
int MCE_handle_MBMS_SESSION_START_RESPONSE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu){
|
||||
int MCE_handle_MBMS_SESSION_START_RESPONSE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M2AP_M2AP_PDU_t *pdu)
|
||||
{
|
||||
//AssertFatal(1==0,"Not implemented yet\n");
|
||||
LOG_D(M2AP, "MCE_handle_MBMS_SESSION_START_RESPONSE\n");
|
||||
|
||||
@@ -215,13 +213,10 @@ int MCE_handle_MBMS_SESSION_START_RESPONSE(instance_t instance,
|
||||
assoc_id,ENB_MODULE_ID_TO_INSTANCE(assoc_id));
|
||||
itti_send_msg_to_task(TASK_MCE_APP, ENB_MODULE_ID_TO_INSTANCE(assoc_id), msg_g);
|
||||
return 0;
|
||||
|
||||
}
|
||||
int MCE_handle_MBMS_SESSION_START_FAILURE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu){
|
||||
AssertFatal(1==0,"Not implemented yet\n");
|
||||
int MCE_handle_MBMS_SESSION_START_FAILURE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M2AP_M2AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(1 == 0, "Not implemented yet\n");
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -285,10 +280,8 @@ int MCE_send_MBMS_SESSION_STOP_REQUEST(instance_t instance, m2ap_session_stop_re
|
||||
|
||||
}
|
||||
|
||||
int MCE_handle_MBMS_SESSION_STOP_RESPONSE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu){
|
||||
int MCE_handle_MBMS_SESSION_STOP_RESPONSE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M2AP_M2AP_PDU_t *pdu)
|
||||
{
|
||||
//AssertFatal(1==0,"Not implemented yet\n");
|
||||
LOG_D(M2AP, "MCE_handle_MBMS_SESSION_STOP_RESPONSE\n");
|
||||
|
||||
@@ -347,14 +340,9 @@ int MCE_handle_MBMS_SESSION_STOP_RESPONSE(instance_t instance,
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
int MCE_handle_MBMS_SESSION_STOP_FAILURE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu){
|
||||
int MCE_handle_MBMS_SESSION_STOP_FAILURE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M2AP_M2AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(1==0,"Not implemented yet\n");
|
||||
|
||||
}
|
||||
typedef struct M2AP_MBSFN_Area_Configuration{
|
||||
M2AP_PMCH_Configuration_List_t PMCH_Configuration_List;
|
||||
@@ -375,8 +363,8 @@ int MCE_handle_MBMS_SESSION_STOP_FAILURE(instance_t instance,
|
||||
0x00, 0x18, 0x00, 0x01, 0x80, 0x00, 0x1d, 0x00, 0x01, 0x01};
|
||||
|
||||
|
||||
int MCE_send_MBMS_SCHEDULING_INFORMATION(instance_t instance, /*uint32_t assoc_id,*/m2ap_mbms_scheduling_information_t * m2ap_mbms_scheduling_information){
|
||||
|
||||
int MCE_send_MBMS_SCHEDULING_INFORMATION(instance_t instance, /*sctp_assoc_t assoc_id,*/ m2ap_mbms_scheduling_information_t * m2ap_mbms_scheduling_information)
|
||||
{
|
||||
//module_id_t enb_mod_idP=0;
|
||||
//module_id_t du_mod_idP=0;
|
||||
|
||||
@@ -573,14 +561,13 @@ ASN_SET_ADD(&ie->value.choice.MBSFN_Area_Configuration_List,m2ap_mbsfn_area_conf
|
||||
}
|
||||
m2ap_MCE_itti_send_sctp_data_req(instance,m2ap_mce_data_from_enb->assoc_id,buffer,len,0);
|
||||
return 0;
|
||||
|
||||
}
|
||||
|
||||
int MCE_handle_MBMS_SCHEDULING_INFORMATION_RESPONSE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu){
|
||||
}
|
||||
|
||||
int MCE_handle_MBMS_SCHEDULING_INFORMATION_RESPONSE(instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu)
|
||||
{
|
||||
LOG_D(M2AP, "MCE_handle_MBMS_SCHEDULING_INFORMATION_RESPONSE\n");
|
||||
|
||||
AssertFatal(pdu->present == M2AP_M2AP_PDU_PR_successfulOutcome,
|
||||
@@ -636,8 +623,7 @@ int MCE_handle_MBMS_SCHEDULING_INFORMATION_RESPONSE(instance_t instance,
|
||||
itti_send_msg_to_task(TASK_MCE_APP, ENB_MODULE_ID_TO_INSTANCE(instance), msg_g);
|
||||
//
|
||||
return 0;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Reset
|
||||
@@ -649,19 +635,13 @@ int MCE_send_RESET(instance_t instance, m2ap_reset_t * m2ap_reset) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
int MCE_handle_RESET_ACKKNOWLEDGE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu) {
|
||||
int MCE_handle_RESET_ACKKNOWLEDGE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M2AP_M2AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(1==0,"Not implemented yet\n");
|
||||
|
||||
}
|
||||
|
||||
int MCE_handle_RESET(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu) {
|
||||
int MCE_handle_RESET(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M2AP_M2AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(1==0,"Not implemented yet\n");
|
||||
}
|
||||
|
||||
@@ -672,10 +652,7 @@ int MCE_send_RESET_ACKNOWLEDGE(instance_t instance, M2AP_ResetAcknowledge_t *Res
|
||||
/*
|
||||
* M2 Setup
|
||||
*/
|
||||
int MCE_handle_M2_SETUP_REQUEST(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu)
|
||||
int MCE_handle_M2_SETUP_REQUEST(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M2AP_M2AP_PDU_t *pdu)
|
||||
{
|
||||
LOG_D(M2AP, "MCE_handle_M2_SETUP_REQUEST assoc_id %d\n",assoc_id);
|
||||
|
||||
@@ -832,7 +809,7 @@ int MCE_handle_M2_SETUP_REQUEST(instance_t instance,
|
||||
return 0;
|
||||
}
|
||||
|
||||
int MCE_send_M2_SETUP_RESPONSE(instance_t instance, /*uint32_t assoc_id,*/
|
||||
int MCE_send_M2_SETUP_RESPONSE(instance_t instance, /*sctp_assoc_t assoc_id,*/
|
||||
m2ap_setup_resp_t *m2ap_setup_resp) {
|
||||
|
||||
//module_id_t mce_mod_idP;
|
||||
@@ -1144,11 +1121,8 @@ int MCE_send_MCE_CONFIGURATION_UPDATE(instance_t instance, module_id_t du_mod_id
|
||||
|
||||
}
|
||||
|
||||
|
||||
int MCE_handle_MCE_CONFIGURATION_UPDATE_FAILURE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu){
|
||||
int MCE_handle_MCE_CONFIGURATION_UPDATE_FAILURE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M2AP_M2AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(1==0,"Not implemented yet\n");
|
||||
|
||||
LOG_D(M2AP, "MCE_handle_MCE_CONFIGURATION_UPDATE_FAILURE\n");
|
||||
@@ -1192,11 +1166,12 @@ int MCE_handle_MCE_CONFIGURATION_UPDATE_FAILURE(instance_t instance,
|
||||
|
||||
}
|
||||
|
||||
|
||||
int MCE_handle_MCE_CONFIGURATION_UPDATE_ACKNOWLEDGE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu){
|
||||
sctp_assoc_t assoc_id,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu)
|
||||
{
|
||||
|
||||
AssertFatal(1==0,"Not implemented yet\n");
|
||||
LOG_D(M2AP, "MCE_handle_MCE_CONFIGURATION_UPDATE_ACKNOWLEDGE assoc_id %d\n",assoc_id);
|
||||
|
||||
@@ -1221,19 +1196,14 @@ int MCE_handle_MCE_CONFIGURATION_UPDATE_ACKNOWLEDGE(instance_t instance,
|
||||
itti_send_msg_to_task(TASK_MCE_APP, ENB_MODULE_ID_TO_INSTANCE(instance), message_p);
|
||||
|
||||
return 0;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* ENB Configuration Update
|
||||
*/
|
||||
|
||||
|
||||
int MCE_handle_ENB_CONFIGURATION_UPDATE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu){
|
||||
int MCE_handle_ENB_CONFIGURATION_UPDATE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M2AP_M2AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(1==0,"Not implemented yet\n");
|
||||
LOG_D(M2AP, "MCE_handle_MCE_CONFIGURATION_UPDATE_ACKNOWLEDGE assoc_id %d\n",assoc_id);
|
||||
|
||||
@@ -1280,13 +1250,9 @@ int MCE_send_ENB_CONFIGURATION_UPDATE_ACKNOWLEDGE(instance_t instance,
|
||||
* Error Indication
|
||||
*/
|
||||
|
||||
int MCE_handle_ERROR_INDICATION(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu) {
|
||||
int MCE_handle_ERROR_INDICATION(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M2AP_M2AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(1==0,"Not implemented yet\n");
|
||||
|
||||
|
||||
}
|
||||
|
||||
int MCE_send_ERROR_INDICATION(instance_t instance, M2AP_ErrorIndication_t *ErrorIndication) {
|
||||
@@ -1304,18 +1270,11 @@ int MCE_send_MBMS_SESSION_UPDATE_REQUEST(instance_t instance, m2ap_mbms_session_
|
||||
//M2AP_SessionUpdateRequest_t SessionUpdateRequest;
|
||||
}
|
||||
|
||||
|
||||
|
||||
int MCE_handle_MBMS_SESSION_UPDATE_RESPONSE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu){
|
||||
int MCE_handle_MBMS_SESSION_UPDATE_RESPONSE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M2AP_M2AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(1==0,"Not implemented yet\n");
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
int MCE_handle_MBMS_SESSION_UPDATE_FAILURE(instance_t instance,module_id_t du_mod_idP){
|
||||
|
||||
AssertFatal(1==0,"Not implemented yet\n");
|
||||
@@ -1330,12 +1289,8 @@ int MCE_send_MBMS_SERVICE_COUNTING_REQUEST(instance_t instance, module_id_t du_m
|
||||
//M2AP_MbmsServiceCountingRequest_t MbmsServiceCountingRequest;
|
||||
}
|
||||
|
||||
|
||||
|
||||
int MCE_handle_MBMS_SERVICE_COUNTING_RESPONSE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu){
|
||||
int MCE_handle_MBMS_SERVICE_COUNTING_RESPONSE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M2AP_M2AP_PDU_t *pdu)
|
||||
{
|
||||
//int i;
|
||||
//AssertFatal(1==0,"Not implemented yet\n");
|
||||
LOG_D(M2AP, "MCE_handle_MBMS_SERVICE_COUNTING_RESPONSE\n");
|
||||
@@ -1468,9 +1423,10 @@ int MCE_handle_MBMS_SESSION_COUNTING_FAILURE(instance_t instance, module_id_t d
|
||||
*/
|
||||
|
||||
int MCE_handle_MBMS_SESSION_COUNTING_RESULTS_REPORT(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu){
|
||||
sctp_assoc_t assoc_id,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(1==0,"Not implemented yet\n");
|
||||
|
||||
}
|
||||
@@ -1479,10 +1435,8 @@ int MCE_handle_MBMS_SESSION_COUNTING_RESULTS_REPORT(instance_t instance,
|
||||
/*
|
||||
* Overload Notification
|
||||
*/
|
||||
int MCE_handle_MBMS_OVERLOAD_NOTIFICATION(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu){
|
||||
int MCE_handle_MBMS_OVERLOAD_NOTIFICATION(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M2AP_M2AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(1==0,"Not implemented yet\n");
|
||||
|
||||
}
|
||||
|
||||
@@ -35,69 +35,50 @@
|
||||
/*
|
||||
* MBMS Session start
|
||||
*/
|
||||
int MCE_send_MBMS_SESSION_START_REQUEST(instance_t instance/*,
|
||||
uint32_t assoc_id*/,m2ap_session_start_req_t* m2ap_session_start_req);
|
||||
int MCE_handle_MBMS_SESSION_START_RESPONSE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu);
|
||||
int MCE_send_MBMS_SESSION_START_REQUEST(instance_t instance /*,
|
||||
sctp_assoc_t assoc_id*/
|
||||
,
|
||||
m2ap_session_start_req_t *m2ap_session_start_req);
|
||||
int MCE_handle_MBMS_SESSION_START_RESPONSE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M2AP_M2AP_PDU_t *pdu);
|
||||
|
||||
int MCE_handle_MBMS_SESSION_START_FAILURE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu);
|
||||
int MCE_handle_MBMS_SESSION_START_FAILURE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M2AP_M2AP_PDU_t *pdu);
|
||||
/*
|
||||
* MBMS Session stop
|
||||
*/
|
||||
int MCE_send_MBMS_SESSION_STOP_REQUEST(instance_t instance,
|
||||
m2ap_session_stop_req_t* m2ap_session_stop_req);
|
||||
|
||||
int MCE_handle_MBMS_SESSION_STOP_RESPONSE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu);
|
||||
int MCE_handle_MBMS_SESSION_STOP_RESPONSE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M2AP_M2AP_PDU_t *pdu);
|
||||
|
||||
/*
|
||||
* MBMS Scheduling Information
|
||||
*/
|
||||
int MCE_send_MBMS_SCHEDULING_INFORMATION(instance_t instance,
|
||||
/*uint32_t assoc_id,*/ m2ap_mbms_scheduling_information_t * m2ap_mbms_scheduling_information );
|
||||
/*sctp_assoc_t assoc_id,*/ m2ap_mbms_scheduling_information_t *m2ap_mbms_scheduling_information);
|
||||
|
||||
int MCE_handle_MBMS_SCHEDULING_INFORMATION_RESPONSE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu);
|
||||
|
||||
|
||||
sctp_assoc_t assoc_id,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu);
|
||||
|
||||
/*
|
||||
* Reset
|
||||
*/
|
||||
int MCE_send_RESET(instance_t instance, m2ap_reset_t * m2ap_reset);
|
||||
|
||||
int MCE_handle_RESET_ACKKNOWLEDGE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu);
|
||||
int MCE_handle_RESET_ACKKNOWLEDGE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M2AP_M2AP_PDU_t *pdu);
|
||||
|
||||
int MCE_handle_RESET(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu);
|
||||
int MCE_handle_RESET(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M2AP_M2AP_PDU_t *pdu);
|
||||
int MCE_send_RESET_ACKNOWLEDGE(instance_t instance, M2AP_ResetAcknowledge_t *ResetAcknowledge);
|
||||
|
||||
/*
|
||||
* M2AP Setup
|
||||
*/
|
||||
int MCE_handle_M2_SETUP_REQUEST(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu);
|
||||
int MCE_handle_M2_SETUP_REQUEST(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M2AP_M2AP_PDU_t *pdu);
|
||||
|
||||
int MCE_send_M2_SETUP_RESPONSE(instance_t instance,/*uint32_t assoc_id,*/ m2ap_setup_resp_t *m2ap_setup_resp);
|
||||
|
||||
int MCE_send_M2_SETUP_FAILURE(instance_t instance, /*uint32_t assoc_id*/ m2ap_setup_failure_t * m2ap_setup_failure);
|
||||
int MCE_send_M2_SETUP_RESPONSE(instance_t instance, /*sctp_assoc_t assoc_id,*/ m2ap_setup_resp_t *m2ap_setup_resp);
|
||||
|
||||
int MCE_send_M2_SETUP_FAILURE(instance_t instance, /*sctp_assoc_t assoc_id*/ m2ap_setup_failure_t *m2ap_setup_failure);
|
||||
|
||||
/*
|
||||
* MCE Configuration Update
|
||||
@@ -105,25 +86,18 @@ int MCE_send_M2_SETUP_FAILURE(instance_t instance, /*uint32_t assoc_id*/ m2ap_se
|
||||
|
||||
int MCE_send_MCE_CONFIGURATION_UPDATE(instance_t instance, module_id_t du_mod_idP);
|
||||
|
||||
int MCE_handle_MCE_CONFIGURATION_UPDATE_FAILURE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu);
|
||||
int MCE_handle_MCE_CONFIGURATION_UPDATE_FAILURE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M2AP_M2AP_PDU_t *pdu);
|
||||
|
||||
int MCE_handle_MCE_CONFIGURATION_UPDATE_ACKNOWLEDGE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu);
|
||||
sctp_assoc_t assoc_id,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu);
|
||||
|
||||
/*
|
||||
* ENB Configuration Update
|
||||
*/
|
||||
|
||||
|
||||
int MCE_handle_ENB_CONFIGURATION_UPDATE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu);
|
||||
int MCE_handle_ENB_CONFIGURATION_UPDATE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M2AP_M2AP_PDU_t *pdu);
|
||||
|
||||
int MCE_send_ENB_CONFIGURATION_UPDATE_FAILURE(instance_t instance,
|
||||
m2ap_enb_configuration_update_failure_t *m2ap_enb_configuration_update_failure);
|
||||
@@ -133,10 +107,7 @@ int MCE_send_ENB_CONFIGURATION_UPDATE_ACKNOWLEDGE(instance_t instance,
|
||||
/*
|
||||
* Error Indication
|
||||
*/
|
||||
int MCE_handle_ERROR_INDICATION(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu);
|
||||
int MCE_handle_ERROR_INDICATION(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M2AP_M2AP_PDU_t *pdu);
|
||||
int MCE_send_ERROR_INDICATION(instance_t instance, M2AP_ErrorIndication_t *ErrorIndication);
|
||||
|
||||
|
||||
@@ -145,10 +116,7 @@ int MCE_send_ERROR_INDICATION(instance_t instance, M2AP_ErrorIndication_t *Error
|
||||
*/
|
||||
int MCE_send_MBMS_SESSION_UPDATE_REQUEST(instance_t instance, m2ap_mbms_session_update_req_t * m2ap_mbms_session_update_req);
|
||||
|
||||
int MCE_handle_MBMS_SESSION_UPDATE_RESPONSE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu);
|
||||
int MCE_handle_MBMS_SESSION_UPDATE_RESPONSE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M2AP_M2AP_PDU_t *pdu);
|
||||
|
||||
int MCE_handle_MBMS_SESSION_UPDATE_FAILURE(instance_t instance,module_id_t du_mod_idP);
|
||||
|
||||
@@ -157,10 +125,7 @@ int MCE_handle_MBMS_SESSION_UPDATE_FAILURE(instance_t instance,module_id_t du_mo
|
||||
*/
|
||||
int MCE_send_MBMS_SERVICE_COUNTING_REQUEST(instance_t instance, module_id_t du_mod_idP);
|
||||
|
||||
int MCE_handle_MBMS_SERVICE_COUNTING_RESPONSE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu);
|
||||
int MCE_handle_MBMS_SERVICE_COUNTING_RESPONSE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M2AP_M2AP_PDU_t *pdu);
|
||||
|
||||
int MCE_handle_MBMS_SESSION_COUNTING_FAILURE(instance_t instance, module_id_t du_mod_idP);
|
||||
/*
|
||||
@@ -168,21 +133,14 @@ int MCE_handle_MBMS_SESSION_COUNTING_FAILURE(instance_t instance, module_id_t du
|
||||
*/
|
||||
|
||||
int MCE_handle_MBMS_SESSION_COUNTING_RESULTS_REPORT(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu);
|
||||
sctp_assoc_t assoc_id,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu);
|
||||
|
||||
/*
|
||||
* Overload Notification
|
||||
*/
|
||||
int MCE_handle_MBMS_OVERLOAD_NOTIFICATION(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu);
|
||||
|
||||
|
||||
|
||||
|
||||
int MCE_handle_MBMS_OVERLOAD_NOTIFICATION(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M2AP_M2AP_PDU_t *pdu);
|
||||
|
||||
#endif /* M2AP_MCE_INTERFACE_MANAGEMENT_H_ */
|
||||
|
||||
|
||||
@@ -122,9 +122,7 @@ dump_mce_tree_m2(zz->m2ap_mce_head.rbh_root);
|
||||
}
|
||||
}
|
||||
|
||||
struct m2ap_MCE_data_s *m2ap_get_MCE(m2ap_MCE_instance_t *instance_p,
|
||||
int32_t assoc_id,
|
||||
uint16_t cnx_id)
|
||||
struct m2ap_MCE_data_s *m2ap_get_MCE(m2ap_MCE_instance_t *instance_p, sctp_assoc_t assoc_id, uint16_t cnx_id)
|
||||
{
|
||||
struct m2ap_MCE_data_s temp;
|
||||
struct m2ap_MCE_data_s *found;
|
||||
|
||||
@@ -47,8 +47,6 @@ m2ap_MCE_data_t* m2ap_is_MCE_assoc_id_in_list(uint32_t sctp_assoc_id);
|
||||
|
||||
m2ap_MCE_data_t* m2ap_is_MCE_pci_in_list (const uint32_t pci);
|
||||
|
||||
struct m2ap_MCE_data_s *m2ap_get_MCE(m2ap_MCE_instance_t *instance_p,
|
||||
int32_t assoc_id,
|
||||
uint16_t cnx_id);
|
||||
struct m2ap_MCE_data_s *m2ap_get_MCE(m2ap_MCE_instance_t *instance_p, sctp_assoc_t assoc_id, uint16_t cnx_id);
|
||||
|
||||
#endif /* __M2AP_MCE_MANAGEMENT_PROCEDURES__H__ */
|
||||
|
||||
@@ -76,25 +76,11 @@ extern int asn1_xer_print;
|
||||
|
||||
/** \brief Function callback prototype.
|
||||
**/
|
||||
typedef int (*m2ap_message_decoded_callback)(
|
||||
instance_t instance,
|
||||
uint32_t assocId,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu);
|
||||
|
||||
typedef int (*m2ap_MCE_message_decoded_callback)(
|
||||
instance_t instance,
|
||||
uint32_t assocId,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu);
|
||||
|
||||
typedef int (*m2ap_eNB_message_decoded_callback)(
|
||||
instance_t instance,
|
||||
uint32_t assocId,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu);
|
||||
typedef int (*m2ap_message_decoded_callback)(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M2AP_M2AP_PDU_t *pdu);
|
||||
|
||||
typedef int (*m2ap_MCE_message_decoded_callback)(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M2AP_M2AP_PDU_t *pdu);
|
||||
|
||||
typedef int (*m2ap_eNB_message_decoded_callback)(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M2AP_M2AP_PDU_t *pdu);
|
||||
|
||||
/** \brief Encode a successfull outcome message
|
||||
\param buffer pointer to buffer in which data will be encoded
|
||||
|
||||
@@ -27,6 +27,8 @@
|
||||
*/
|
||||
|
||||
#include <stdint.h>
|
||||
#include <netinet/in.h>
|
||||
#include <netinet/sctp.h>
|
||||
|
||||
#include "queue.h"
|
||||
#include "tree.h"
|
||||
@@ -115,7 +117,7 @@ typedef struct m2ap_eNB_data_s {
|
||||
uint16_t cnx_id;
|
||||
|
||||
/* SCTP association id */
|
||||
int32_t assoc_id;
|
||||
sctp_assoc_t assoc_id;
|
||||
|
||||
/* Nid cells */
|
||||
uint32_t Nid_cell[MAX_NUM_CCs];
|
||||
|
||||
@@ -311,7 +311,7 @@
|
||||
//}
|
||||
|
||||
//int m2ap_MCE_generate_m2_setup_failure(instance_t instance,
|
||||
// uint32_t assoc_id,
|
||||
// sctp_assoc_t assoc_id,
|
||||
// M2AP_Cause_PR cause_type,
|
||||
// long cause_value,
|
||||
// long time_to_wait)
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
//int m2ap_MCE_generate_m2_setup_response(m2ap_eNB_instance_t *instance_p, m2ap_eNB_data_t *m2ap_eNB_data_p);
|
||||
//
|
||||
/*int m2ap_MCE_generate_m2_setup_failure(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
sctp_assoc_t assoc_id,
|
||||
M2AP_Cause_PR cause_type,
|
||||
long cause_value,
|
||||
long time_to_wait);*/
|
||||
|
||||
@@ -72,9 +72,11 @@ static char *m2ap_direction_String[] = {
|
||||
return(m2ap_direction_String[m2ap_dir]);
|
||||
}
|
||||
|
||||
|
||||
int m2ap_eNB_handle_message(instance_t instance, uint32_t assoc_id, int32_t stream,
|
||||
const uint8_t * const data, const uint32_t data_length)
|
||||
int m2ap_eNB_handle_message(instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
int32_t stream,
|
||||
const uint8_t *const data,
|
||||
const uint32_t data_length)
|
||||
{
|
||||
M2AP_M2AP_PDU_t pdu;
|
||||
int ret;
|
||||
|
||||
@@ -33,10 +33,13 @@
|
||||
|
||||
//void m2ap_handle_m2_setup_message(m2ap_eNB_instance_t *instance_p, m2ap_eNB_data_t *eNB_desc_p, int sctp_shutdown);
|
||||
|
||||
int m2ap_eNB_handle_message(instance_t instance, uint32_t assoc_id, int32_t stream,
|
||||
const uint8_t * const data, const uint32_t data_length);
|
||||
int m2ap_eNB_handle_message(instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
int32_t stream,
|
||||
const uint8_t *const data,
|
||||
const uint32_t data_length);
|
||||
|
||||
//int m2ap_handle_message(instance_t instance, uint32_t assoc_id, int32_t stream,
|
||||
//int m2ap_handle_message(instance_t instance, sctp_assoc_t assoc_id, int32_t stream,
|
||||
//const uint8_t * const data, const uint32_t data_length);
|
||||
|
||||
|
||||
|
||||
@@ -60,10 +60,8 @@ extern m2ap_setup_req_t *m2ap_enb_data_g;
|
||||
|
||||
|
||||
//extern m2ap_setup_req_t *m2ap_mce_data_from_enb;
|
||||
int eNB_handle_MBMS_SCHEDULING_INFORMATION(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu){
|
||||
int eNB_handle_MBMS_SCHEDULING_INFORMATION(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M2AP_M2AP_PDU_t *pdu)
|
||||
{
|
||||
LOG_D(M2AP, "eNB_handle_MBMS_SCHEDULING_INFORMATION assoc_id %d\n",assoc_id);
|
||||
|
||||
MessageDef *message_p/*,*message_p2*/;
|
||||
@@ -258,13 +256,8 @@ int eNB_send_MBMS_SCHEDULING_INFORMATION_RESPONSE(instance_t instance, m2ap_mbms
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
int eNB_handle_MBMS_SESSION_START_REQUEST(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu){
|
||||
int eNB_handle_MBMS_SESSION_START_REQUEST(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M2AP_M2AP_PDU_t *pdu)
|
||||
{
|
||||
LOG_D(M2AP, "eNB_handle_MBMS_SESSION_START_REQUEST assoc_id %d\n",assoc_id);
|
||||
|
||||
MessageDef *message_p;
|
||||
@@ -424,10 +417,8 @@ int eNB_send_MBMS_SESSION_START_FAILURE(instance_t instance, m2ap_session_start_
|
||||
return 0;
|
||||
}
|
||||
|
||||
int eNB_handle_MBMS_SESSION_STOP_REQUEST(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu){
|
||||
int eNB_handle_MBMS_SESSION_STOP_REQUEST(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M2AP_M2AP_PDU_t *pdu)
|
||||
{
|
||||
LOG_D(M2AP, "eNB_handle_MBMS_SESSION_STOP_REQUEST assoc_id %d\n",assoc_id);
|
||||
|
||||
MessageDef *message_p;
|
||||
@@ -688,10 +679,7 @@ int eNB_send_M2_SETUP_REQUEST(m2ap_eNB_instance_t *instance_p, m2ap_eNB_data_t*
|
||||
}
|
||||
|
||||
|
||||
int eNB_handle_M2_SETUP_RESPONSE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu)
|
||||
int eNB_handle_M2_SETUP_RESPONSE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M2AP_M2AP_PDU_t *pdu)
|
||||
{
|
||||
|
||||
LOG_D(M2AP, "eNB_handle_M2_SETUP_RESPONSE\n");
|
||||
@@ -800,10 +788,8 @@ int eNB_handle_M2_SETUP_RESPONSE(instance_t instance,
|
||||
}
|
||||
|
||||
// SETUP FAILURE
|
||||
int eNB_handle_M2_SETUP_FAILURE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu) {
|
||||
int eNB_handle_M2_SETUP_FAILURE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M2AP_M2AP_PDU_t *pdu)
|
||||
{
|
||||
LOG_D(M2AP, "eNB_handle_M2_SETUP_FAILURE\n");
|
||||
|
||||
M2AP_M2SetupFailure_t *in = &pdu->choice.unsuccessfulOutcome.value.choice.M2SetupFailure;
|
||||
@@ -985,10 +971,7 @@ int eNB_send_eNB_CONFIGURATION_UPDATE(instance_t instance, m2ap_enb_configuratio
|
||||
return 0;
|
||||
}
|
||||
|
||||
int eNB_handle_eNB_CONFIGURATION_UPDATE_FAILURE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu)
|
||||
int eNB_handle_eNB_CONFIGURATION_UPDATE_FAILURE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M2AP_M2AP_PDU_t *pdu)
|
||||
{
|
||||
|
||||
AssertFatal(1==0,"Not implemented yet\n");
|
||||
@@ -1032,12 +1015,10 @@ int eNB_handle_eNB_CONFIGURATION_UPDATE_FAILURE(instance_t instance,
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
int eNB_handle_eNB_CONFIGURATION_UPDATE_ACKNOWLEDGE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu)
|
||||
sctp_assoc_t assoc_id,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu)
|
||||
{
|
||||
LOG_D(M2AP, "eNB_handle_eNB_CONFIGURATION_UPDATE_ACKNOWLEDGE assoc_id %d\n",assoc_id);
|
||||
|
||||
@@ -1069,10 +1050,7 @@ int eNB_handle_eNB_CONFIGURATION_UPDATE_ACKNOWLEDGE(instance_t instance,
|
||||
/*
|
||||
* MCE Configuration Update
|
||||
*/
|
||||
int eNB_handle_MCE_CONFIGURATION_UPDATE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu)
|
||||
int eNB_handle_MCE_CONFIGURATION_UPDATE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M2AP_M2AP_PDU_t *pdu)
|
||||
{
|
||||
LOG_D(M2AP, "eNB_handle_MCE_CONFIGURATION_UPDATE assoc_id %d\n",assoc_id);
|
||||
|
||||
@@ -1126,10 +1104,7 @@ int eNB_send_ERROR_INDICATION(instance_t instance, m2ap_error_indication_t * m2a
|
||||
return 0;
|
||||
}
|
||||
|
||||
int eNB_handle_ERROR_INDICATION(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu)
|
||||
int eNB_handle_ERROR_INDICATION(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M2AP_M2AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(1==0,"Not implemented yet\n");
|
||||
return 0;
|
||||
@@ -1140,10 +1115,7 @@ int eNB_handle_ERROR_INDICATION(instance_t instance,
|
||||
/*
|
||||
* Session Update Request
|
||||
*/
|
||||
int eNB_handle_MBMS_SESSION_UPDATE_REQUEST(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu)
|
||||
int eNB_handle_MBMS_SESSION_UPDATE_REQUEST(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M2AP_M2AP_PDU_t *pdu)
|
||||
{
|
||||
LOG_D(M2AP, "eNB_handle_MBMS_SESSION_STOP_REQUEST assoc_id %d\n",assoc_id);
|
||||
|
||||
@@ -1190,10 +1162,7 @@ int eNB_send_MBMS_SESSION_UPDATE_FAILURE(instance_t instance, m2ap_mbms_session_
|
||||
* Service Counting
|
||||
*/
|
||||
|
||||
int eNB_handle_MBMS_SERVICE_COUNTING_REQ(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu)
|
||||
int eNB_handle_MBMS_SERVICE_COUNTING_REQ(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M2AP_M2AP_PDU_t *pdu)
|
||||
{
|
||||
|
||||
LOG_D(M2AP, "eNB_handle_MBMS_SERVICE_COUNTING_REQUEST assoc_id %d\n",assoc_id);
|
||||
|
||||
@@ -37,10 +37,7 @@
|
||||
* Session Start
|
||||
*/
|
||||
|
||||
int eNB_handle_MBMS_SESSION_START_REQUEST(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu);
|
||||
int eNB_handle_MBMS_SESSION_START_REQUEST(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M2AP_M2AP_PDU_t *pdu);
|
||||
|
||||
int eNB_send_MBMS_SESSION_START_RESPONSE(instance_t instance, m2ap_session_start_resp_t * m2ap_session_start_resp);
|
||||
int eNB_send_MBMS_SESSION_START_FAILURE(instance_t instance, m2ap_session_start_failure_t * m2ap_session_start_failure );
|
||||
@@ -49,10 +46,7 @@ int eNB_send_MBMS_SESSION_START_FAILURE(instance_t instance, m2ap_session_start_
|
||||
* Session Stop
|
||||
*/
|
||||
|
||||
int eNB_handle_MBMS_SESSION_STOP_REQUEST(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu);
|
||||
int eNB_handle_MBMS_SESSION_STOP_REQUEST(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M2AP_M2AP_PDU_t *pdu);
|
||||
int eNB_send_MBMS_SESSION_STOP_RESPONSE(instance_t instance, m2ap_session_stop_resp_t * m2ap_session_stop_resp);
|
||||
|
||||
|
||||
@@ -60,10 +54,7 @@ int eNB_send_MBMS_SESSION_STOP_RESPONSE(instance_t instance, m2ap_session_stop_r
|
||||
* MBMS Scheduling Information
|
||||
*/
|
||||
|
||||
int eNB_handle_MBMS_SCHEDULING_INFORMATION(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu);
|
||||
int eNB_handle_MBMS_SCHEDULING_INFORMATION(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M2AP_M2AP_PDU_t *pdu);
|
||||
|
||||
int eNB_send_MBMS_SCHEDULING_INFORMATION_RESPONSE(instance_t instance, m2ap_mbms_scheduling_information_resp_t * m2ap_mbms_scheduling_information_resp);
|
||||
|
||||
@@ -71,54 +62,36 @@ int eNB_send_MBMS_SCHEDULING_INFORMATION_RESPONSE(instance_t instance, m2ap_mbms
|
||||
/*
|
||||
* Reset
|
||||
*/
|
||||
int eNB_handle_RESET(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu);
|
||||
int eNB_handle_RESET(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M2AP_M2AP_PDU_t *pdu);
|
||||
int eNB_send_RESET_ACKKNOWLEDGE(instance_t instance, M2AP_ResetAcknowledge_t *ResetAcknowledge);
|
||||
int eNB_send_RESET(instance_t instance, M2AP_Reset_t *Reset);
|
||||
int eNB_handle_RESET_ACKNOWLEDGE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu);
|
||||
int eNB_handle_RESET_ACKNOWLEDGE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M2AP_M2AP_PDU_t *pdu);
|
||||
|
||||
/*
|
||||
* M2AP Setup
|
||||
*/
|
||||
int eNB_send_M2_SETUP_REQUEST( m2ap_eNB_instance_t *instance_p, m2ap_eNB_data_t *m2ap_eNB_data_p);
|
||||
|
||||
int eNB_handle_M2_SETUP_RESPONSE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu);
|
||||
int eNB_handle_M2_SETUP_RESPONSE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M2AP_M2AP_PDU_t *pdu);
|
||||
|
||||
int eNB_handle_M2_SETUP_FAILURE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu);
|
||||
int eNB_handle_M2_SETUP_FAILURE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M2AP_M2AP_PDU_t *pdu);
|
||||
|
||||
/*
|
||||
* eNB Configuration Update
|
||||
*/
|
||||
int eNB_send_eNB_CONFIGURATION_UPDATE(instance_t instance, m2ap_enb_configuration_update_t * m2ap_enb_configuration_update);
|
||||
|
||||
int eNB_handle_eNB_CONFIGURATION_UPDATE_FAILURE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu);
|
||||
int eNB_handle_eNB_CONFIGURATION_UPDATE_FAILURE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M2AP_M2AP_PDU_t *pdu);
|
||||
|
||||
int eNB_handle_eNB_CONFIGURATION_UPDATE_ACKNOWLEDGE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu);
|
||||
sctp_assoc_t assoc_id,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu);
|
||||
|
||||
/*
|
||||
* MCE Configuration Update
|
||||
*/
|
||||
int eNB_handle_MCE_CONFIGURATION_UPDATE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu);
|
||||
int eNB_handle_MCE_CONFIGURATION_UPDATE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M2AP_M2AP_PDU_t *pdu);
|
||||
|
||||
int eNB_send_MCE_CONFIGURATION_UPDATE_FAILURE(instance_t instance,
|
||||
M2AP_MCEConfigurationUpdateFailure_t *MCEConfigurationUpdateFailure);
|
||||
@@ -130,19 +103,12 @@ int eNB_send_MCE_CONFIGURATION_UPDATE_ACKNOWLEDGE(instance_t instance,
|
||||
* Error Indication
|
||||
*/
|
||||
int eNB_send_ERROR_INDICATION(instance_t instance, m2ap_error_indication_t * m2ap_error_indication);
|
||||
int eNB_handle_ERROR_INDICATION(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu);
|
||||
|
||||
int eNB_handle_ERROR_INDICATION(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M2AP_M2AP_PDU_t *pdu);
|
||||
|
||||
/*
|
||||
* Session Update Request
|
||||
*/
|
||||
int eNB_handle_MBMS_SESSION_UPDATE_REQUEST(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu);
|
||||
int eNB_handle_MBMS_SESSION_UPDATE_REQUEST(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M2AP_M2AP_PDU_t *pdu);
|
||||
|
||||
int eNB_send_MBMS_SESSION_UPDATE_RESPONSE(instance_t instance, m2ap_mbms_session_update_resp_t * m2ap_mbms_session_update_resp); //??
|
||||
|
||||
@@ -152,10 +118,7 @@ int eNB_send_MBMS_SESSION_UPDATE_FAILURE(instance_t instance, m2ap_mbms_session_
|
||||
* Service Counting
|
||||
*/
|
||||
|
||||
int eNB_handle_MBMS_SERVICE_COUNTING_REQ(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M2AP_M2AP_PDU_t *pdu);
|
||||
int eNB_handle_MBMS_SERVICE_COUNTING_REQ(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M2AP_M2AP_PDU_t *pdu);
|
||||
int eNB_send_MBMS_SERVICE_COUNTING_REPORT(instance_t instance, m2ap_mbms_service_counting_report_t * m2ap_mbms_service_counting_report);
|
||||
int eNB_send_MBMS_SERVICE_COUNTING_RESP(instance_t instance, m2ap_mbms_service_counting_resp_t * m2ap_mbms_service_counting_resp);
|
||||
int eNB_send_MBMS_SERVICE_COUNTING_FAILURE(instance_t instance, m2ap_mbms_service_counting_failure_t * m2ap_mbms_service_counting_failure);
|
||||
|
||||
@@ -122,9 +122,7 @@ printf("---------------------------------------------\n");
|
||||
}
|
||||
}
|
||||
|
||||
struct m2ap_eNB_data_s *m2ap_get_eNB(m2ap_eNB_instance_t *instance_p,
|
||||
int32_t assoc_id,
|
||||
uint16_t cnx_id)
|
||||
struct m2ap_eNB_data_s *m2ap_get_eNB(m2ap_eNB_instance_t *instance_p, sctp_assoc_t assoc_id, uint16_t cnx_id)
|
||||
{
|
||||
struct m2ap_eNB_data_s temp;
|
||||
struct m2ap_eNB_data_s *found;
|
||||
|
||||
@@ -47,8 +47,6 @@ m2ap_eNB_data_t* m2ap_is_eNB_assoc_id_in_list(uint32_t sctp_assoc_id);
|
||||
|
||||
m2ap_eNB_data_t* m2ap_is_eNB_pci_in_list (const uint32_t pci);
|
||||
|
||||
struct m2ap_eNB_data_s *m2ap_get_eNB(m2ap_eNB_instance_t *instance_p,
|
||||
int32_t assoc_id,
|
||||
uint16_t cnx_id);
|
||||
struct m2ap_eNB_data_s *m2ap_get_eNB(m2ap_eNB_instance_t *instance_p, sctp_assoc_t assoc_id, uint16_t cnx_id);
|
||||
|
||||
#endif /* __M2AP_ENB_MANAGEMENT_PROCEDURES__H__ */
|
||||
|
||||
@@ -74,9 +74,11 @@ static char *m2ap_direction_String[] = {
|
||||
return(m2ap_direction_String[m2ap_dir]);
|
||||
}
|
||||
|
||||
|
||||
int m2ap_handle_message(instance_t instance, uint32_t assoc_id, int32_t stream,
|
||||
const uint8_t * const data, const uint32_t data_length)
|
||||
int m2ap_handle_message(instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
int32_t stream,
|
||||
const uint8_t *const data,
|
||||
const uint32_t data_length)
|
||||
{
|
||||
M2AP_M2AP_PDU_t pdu;
|
||||
int ret;
|
||||
|
||||
@@ -33,11 +33,16 @@
|
||||
|
||||
void m2ap_handle_m2_setup_message(m2ap_eNB_instance_t *instance_p, m2ap_eNB_data_t *eNB_desc_p, int sctp_shutdown);
|
||||
|
||||
int m2ap_eNB_handle_message(instance_t instance, uint32_t assoc_id, int32_t stream,
|
||||
const uint8_t * const data, const uint32_t data_length);
|
||||
|
||||
int m2ap_handle_message(instance_t instance, uint32_t assoc_id, int32_t stream,
|
||||
const uint8_t * const data, const uint32_t data_length);
|
||||
int m2ap_eNB_handle_message(instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
int32_t stream,
|
||||
const uint8_t *const data,
|
||||
const uint32_t data_length);
|
||||
|
||||
int m2ap_handle_message(instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
int32_t stream,
|
||||
const uint8_t *const data,
|
||||
const uint32_t data_length);
|
||||
|
||||
#endif /* M2AP_ENB_OLD_HANDLERS_H_ */
|
||||
|
||||
@@ -30,8 +30,11 @@
|
||||
|
||||
#include "m2ap_itti_messaging.h"
|
||||
|
||||
void m2ap_eNB_itti_send_sctp_data_req(instance_t instance, int32_t assoc_id, uint8_t *buffer,
|
||||
uint32_t buffer_length, uint16_t stream)
|
||||
void m2ap_eNB_itti_send_sctp_data_req(instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
uint8_t *buffer,
|
||||
uint32_t buffer_length,
|
||||
uint16_t stream)
|
||||
{
|
||||
MessageDef *message_p;
|
||||
sctp_data_req_t *sctp_data_req;
|
||||
@@ -51,7 +54,7 @@ void m2ap_eNB_itti_send_sctp_data_req(instance_t instance, int32_t assoc_id, uin
|
||||
}
|
||||
|
||||
|
||||
void m2ap_eNB_itti_send_sctp_close_association(instance_t instance, int32_t assoc_id)
|
||||
void m2ap_eNB_itti_send_sctp_close_association(instance_t instance, sctp_assoc_t assoc_id)
|
||||
{
|
||||
MessageDef *message_p = NULL;
|
||||
sctp_close_association_t *sctp_close_association_p = NULL;
|
||||
@@ -63,9 +66,11 @@ void m2ap_eNB_itti_send_sctp_close_association(instance_t instance, int32_t asso
|
||||
itti_send_msg_to_task(TASK_SCTP, instance, message_p);
|
||||
}
|
||||
|
||||
|
||||
void m2ap_MCE_itti_send_sctp_data_req(instance_t instance, int32_t assoc_id, uint8_t *buffer,
|
||||
uint32_t buffer_length, uint16_t stream)
|
||||
void m2ap_MCE_itti_send_sctp_data_req(instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
uint8_t *buffer,
|
||||
uint32_t buffer_length,
|
||||
uint16_t stream)
|
||||
{
|
||||
MessageDef *message_p;
|
||||
sctp_data_req_t *sctp_data_req;
|
||||
@@ -83,7 +88,7 @@ void m2ap_MCE_itti_send_sctp_data_req(instance_t instance, int32_t assoc_id, uin
|
||||
}
|
||||
|
||||
|
||||
void m2ap_MCE_itti_send_sctp_close_association(instance_t instance, int32_t assoc_id)
|
||||
void m2ap_MCE_itti_send_sctp_close_association(instance_t instance, sctp_assoc_t assoc_id)
|
||||
{
|
||||
MessageDef *message_p = NULL;
|
||||
sctp_close_association_t *sctp_close_association_p = NULL;
|
||||
|
||||
@@ -29,18 +29,21 @@
|
||||
#ifndef M2AP_ENB_ITTI_MESSAGING_H_
|
||||
#define M2AP_ENB_ITTI_MESSAGING_H_
|
||||
|
||||
void m2ap_eNB_itti_send_sctp_data_req(instance_t instance, int32_t assoc_id, uint8_t *buffer,
|
||||
uint32_t buffer_length, uint16_t stream);
|
||||
void m2ap_eNB_itti_send_sctp_data_req(instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
uint8_t *buffer,
|
||||
uint32_t buffer_length,
|
||||
uint16_t stream);
|
||||
|
||||
void m2ap_eNB_itti_send_sctp_close_association(instance_t instance, sctp_assoc_t assoc_id);
|
||||
|
||||
void m2ap_eNB_itti_send_sctp_close_association(instance_t instance, int32_t assoc_id);
|
||||
void m2ap_MCE_itti_send_sctp_data_req(instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
uint8_t *buffer,
|
||||
uint32_t buffer_length,
|
||||
uint16_t stream);
|
||||
|
||||
|
||||
void m2ap_MCE_itti_send_sctp_data_req(instance_t instance, int32_t assoc_id, uint8_t *buffer,
|
||||
uint32_t buffer_length, uint16_t stream);
|
||||
|
||||
|
||||
void m2ap_MCE_itti_send_sctp_close_association(instance_t instance, int32_t assoc_id);
|
||||
void m2ap_MCE_itti_send_sctp_close_association(instance_t instance, sctp_assoc_t assoc_id);
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -387,7 +387,7 @@ typedef struct HANDOVER_INFO_s {
|
||||
HO_STATE_t state; //current state of handover
|
||||
uint32_t modid_s; //module_idP of serving cell
|
||||
uint32_t modid_t; //module_idP of target cell
|
||||
int assoc_id;
|
||||
sctp_assoc_t assoc_id;
|
||||
uint8_t ueid_s; //UE index in serving cell
|
||||
uint8_t ueid_t; //UE index in target cell
|
||||
LTE_AS_Config_t as_config; /* these two parameters are taken from 36.331 section 10.2.2: HandoverPreparationInformation-r8-IEs */
|
||||
|
||||
@@ -369,7 +369,7 @@ typedef struct cucp_cuup_if_s {
|
||||
} cucp_cuup_if_t;
|
||||
|
||||
typedef struct nr_rrc_du_container_t {
|
||||
int assoc_id;
|
||||
sctp_assoc_t assoc_id;
|
||||
f1ap_setup_req_t *setup_req;
|
||||
NR_MIB_t *mib;
|
||||
NR_SIB1_t *sib1;
|
||||
|
||||
@@ -1801,7 +1801,7 @@ static bool rrc_gNB_plmn_matches(const gNB_RRC_INST *rrc, const f1ap_served_cell
|
||||
&& rrc->nr_cellid == info->nr_cellid;
|
||||
}
|
||||
|
||||
static void rrc_gNB_process_f1_setup_req(f1ap_setup_req_t *req, int assoc_id)
|
||||
static void rrc_gNB_process_f1_setup_req(f1ap_setup_req_t *req, sctp_assoc_t assoc_id)
|
||||
{
|
||||
gNB_RRC_INST *rrc = RC.nrrrc[0];
|
||||
DevAssert(rrc);
|
||||
@@ -2424,7 +2424,7 @@ void rrc_gNB_process_e1_bearer_context_setup_resp(e1ap_bearer_setup_resp_t *resp
|
||||
prepare_and_send_ue_context_modification_f1(ue_context_p, resp);
|
||||
}
|
||||
|
||||
static void rrc_CU_process_f1_lost_connection(gNB_RRC_INST *rrc, f1ap_lost_connection_t *lc, int assoc_id)
|
||||
static void rrc_CU_process_f1_lost_connection(gNB_RRC_INST *rrc, f1ap_lost_connection_t *lc, sctp_assoc_t assoc_id)
|
||||
{
|
||||
AssertFatal(rrc->du != NULL, "no DU connected, cannot received F1 lost connection\n");
|
||||
AssertFatal(rrc->du->assoc_id == assoc_id,
|
||||
|
||||
@@ -20,6 +20,8 @@
|
||||
*/
|
||||
#ifndef X2AP_COMMON_H_
|
||||
#define X2AP_COMMON_H_
|
||||
#include <netinet/in.h>
|
||||
#include <netinet/sctp.h>
|
||||
#include "oai_asn1.h"
|
||||
#include "X2AP_ProtocolIE-Field.h"
|
||||
#include "X2AP_X2AP-PDU.h"
|
||||
@@ -72,11 +74,7 @@ extern int asn1_xer_print;
|
||||
|
||||
/** \brief Function callback prototype.
|
||||
**/
|
||||
typedef int (*x2ap_message_decoded_callback)(
|
||||
instance_t instance,
|
||||
uint32_t assocId,
|
||||
uint32_t stream,
|
||||
X2AP_X2AP_PDU_t *pdu);
|
||||
typedef int (*x2ap_message_decoded_callback)(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, X2AP_X2AP_PDU_t *pdu);
|
||||
|
||||
/** \brief Encode a successfull outcome message
|
||||
\param buffer pointer to buffer in which data will be encoded
|
||||
|
||||
@@ -116,7 +116,7 @@ typedef struct x2ap_eNB_data_s {
|
||||
uint16_t cnx_id;
|
||||
|
||||
/* SCTP association id */
|
||||
int32_t assoc_id;
|
||||
sctp_assoc_t assoc_id;
|
||||
|
||||
/* Nid cells */
|
||||
uint32_t Nid_cell[MAX_NUM_CCs];
|
||||
|
||||
@@ -489,7 +489,7 @@ int x2ap_eNB_generate_x2_setup_response(x2ap_eNB_instance_t *instance_p, x2ap_eN
|
||||
}
|
||||
|
||||
int x2ap_eNB_generate_x2_setup_failure(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
sctp_assoc_t assoc_id,
|
||||
X2AP_Cause_PR cause_type,
|
||||
long cause_value,
|
||||
long time_to_wait)
|
||||
|
||||
@@ -38,7 +38,7 @@ int x2ap_eNB_generate_x2_setup_request(x2ap_eNB_instance_t *instance_p,
|
||||
int x2ap_eNB_generate_x2_setup_response(x2ap_eNB_instance_t *instance_p, x2ap_eNB_data_t *x2ap_eNB_data_p);
|
||||
|
||||
int x2ap_eNB_generate_x2_setup_failure(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
sctp_assoc_t assoc_id,
|
||||
X2AP_Cause_PR cause_type,
|
||||
long cause_value,
|
||||
long time_to_wait);
|
||||
|
||||
+103
-221
@@ -43,127 +43,70 @@
|
||||
#include "conversions.h"
|
||||
#include "X2AP_FreqBandNrItem.h"
|
||||
|
||||
static
|
||||
int x2ap_eNB_handle_x2_setup_request (instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
X2AP_X2AP_PDU_t *pdu);
|
||||
static
|
||||
int x2ap_eNB_handle_x2_setup_response (instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
X2AP_X2AP_PDU_t *pdu);
|
||||
static
|
||||
int x2ap_eNB_handle_x2_reset_request (instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
X2AP_X2AP_PDU_t *pdu);
|
||||
static
|
||||
int x2ap_eNB_handle_x2_reset_response (instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
X2AP_X2AP_PDU_t *pdu);
|
||||
static int x2ap_eNB_handle_x2_setup_request(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, X2AP_X2AP_PDU_t *pdu);
|
||||
static int x2ap_eNB_handle_x2_setup_response(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, X2AP_X2AP_PDU_t *pdu);
|
||||
static int x2ap_eNB_handle_x2_reset_request(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, X2AP_X2AP_PDU_t *pdu);
|
||||
static int x2ap_eNB_handle_x2_reset_response(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, X2AP_X2AP_PDU_t *pdu);
|
||||
|
||||
static
|
||||
int x2ap_eNB_handle_x2_setup_failure (instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
X2AP_X2AP_PDU_t *pdu);
|
||||
static int x2ap_eNB_handle_x2_setup_failure(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, X2AP_X2AP_PDU_t *pdu);
|
||||
|
||||
static
|
||||
int x2ap_eNB_handle_handover_preparation (instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
X2AP_X2AP_PDU_t *pdu);
|
||||
static
|
||||
int x2ap_eNB_handle_handover_response (instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
X2AP_X2AP_PDU_t *pdu);
|
||||
static int x2ap_eNB_handle_handover_preparation(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, X2AP_X2AP_PDU_t *pdu);
|
||||
static int x2ap_eNB_handle_handover_response(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, X2AP_X2AP_PDU_t *pdu);
|
||||
|
||||
static
|
||||
int x2ap_eNB_handle_ue_context_release (instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
X2AP_X2AP_PDU_t *pdu);
|
||||
static int x2ap_eNB_handle_ue_context_release(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, X2AP_X2AP_PDU_t *pdu);
|
||||
|
||||
static
|
||||
int x2ap_eNB_handle_handover_cancel (instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
X2AP_X2AP_PDU_t *pdu);
|
||||
static int x2ap_eNB_handle_handover_cancel(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, X2AP_X2AP_PDU_t *pdu);
|
||||
|
||||
static
|
||||
int x2ap_eNB_handle_senb_addition_request (instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
X2AP_X2AP_PDU_t *pdu);
|
||||
static int x2ap_eNB_handle_senb_addition_request(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, X2AP_X2AP_PDU_t *pdu);
|
||||
|
||||
static int x2ap_eNB_handle_senb_addition_request_ack(instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
uint32_t stream,
|
||||
X2AP_X2AP_PDU_t *pdu);
|
||||
|
||||
static
|
||||
int x2ap_eNB_handle_senb_addition_request_ack (instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
static int x2ap_eNB_handle_senb_addition_request_reject(instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
uint32_t stream,
|
||||
X2AP_X2AP_PDU_t *pdu);
|
||||
|
||||
int x2ap_eNB_handle_ENDC_x2_setup_request(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, X2AP_X2AP_PDU_t *pdu);
|
||||
|
||||
int x2ap_gNB_handle_ENDC_x2_setup_response(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, X2AP_X2AP_PDU_t *pdu);
|
||||
|
||||
static int x2ap_gNB_handle_ENDC_sGNB_addition_request(instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
uint32_t stream,
|
||||
X2AP_X2AP_PDU_t *pdu);
|
||||
|
||||
static int x2ap_eNB_handle_ENDC_sGNB_addition_response(instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
uint32_t stream,
|
||||
X2AP_X2AP_PDU_t *pdu);
|
||||
|
||||
static
|
||||
int x2ap_eNB_handle_senb_addition_request_reject (instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
X2AP_X2AP_PDU_t *pdu);
|
||||
static int x2ap_gNB_handle_ENDC_sGNB_reconfiguration_complete(instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
uint32_t stream,
|
||||
X2AP_X2AP_PDU_t *pdu);
|
||||
|
||||
int x2ap_eNB_handle_ENDC_x2_setup_request(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
X2AP_X2AP_PDU_t *pdu);
|
||||
static int x2ap_gNB_handle_ENDC_sGNB_release_request(instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
uint32_t stream,
|
||||
X2AP_X2AP_PDU_t *pdu);
|
||||
|
||||
int
|
||||
x2ap_gNB_handle_ENDC_x2_setup_response(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
X2AP_X2AP_PDU_t *pdu);
|
||||
static int x2ap_gNB_handle_ENDC_sGNB_release_request_acknowledge(instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
uint32_t stream,
|
||||
X2AP_X2AP_PDU_t *pdu);
|
||||
|
||||
static
|
||||
int x2ap_gNB_handle_ENDC_sGNB_addition_request (instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
X2AP_X2AP_PDU_t *pdu);
|
||||
static int x2ap_gNB_handle_ENDC_sGNB_release_required(instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
uint32_t stream,
|
||||
X2AP_X2AP_PDU_t *pdu);
|
||||
|
||||
static
|
||||
int x2ap_eNB_handle_ENDC_sGNB_addition_response (instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
X2AP_X2AP_PDU_t *pdu);
|
||||
|
||||
static
|
||||
int x2ap_gNB_handle_ENDC_sGNB_reconfiguration_complete (instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
X2AP_X2AP_PDU_t *pdu);
|
||||
|
||||
static
|
||||
int x2ap_gNB_handle_ENDC_sGNB_release_request(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
X2AP_X2AP_PDU_t *pdu);
|
||||
|
||||
static
|
||||
int x2ap_gNB_handle_ENDC_sGNB_release_request_acknowledge(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
X2AP_X2AP_PDU_t *pdu);
|
||||
|
||||
static
|
||||
int x2ap_gNB_handle_ENDC_sGNB_release_required(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
X2AP_X2AP_PDU_t *pdu);
|
||||
|
||||
static
|
||||
int x2ap_gNB_handle_ENDC_sGNB_release_confirm(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
X2AP_X2AP_PDU_t *pdu);
|
||||
static int x2ap_gNB_handle_ENDC_sGNB_release_confirm(instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
uint32_t stream,
|
||||
X2AP_X2AP_PDU_t *pdu);
|
||||
|
||||
/* Handlers matrix. Only eNB related procedure present here. Placement of callback functions according to X2AP_ProcedureCode.h */
|
||||
static const x2ap_message_decoded_callback x2ap_messages_callback[][3] = {
|
||||
@@ -272,9 +215,11 @@ void x2ap_handle_x2_setup_message(x2ap_eNB_instance_t *instance_p, x2ap_eNB_data
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
int x2ap_eNB_handle_message(instance_t instance, uint32_t assoc_id, int32_t stream,
|
||||
const uint8_t *const data, const uint32_t data_length)
|
||||
int x2ap_eNB_handle_message(instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
int32_t stream,
|
||||
const uint8_t *const data,
|
||||
const uint32_t data_length)
|
||||
{
|
||||
X2AP_X2AP_PDU_t pdu;
|
||||
int ret = 0;
|
||||
@@ -380,11 +325,7 @@ int x2ap_eNB_handle_message(instance_t instance, uint32_t assoc_id, int32_t stre
|
||||
return ret;
|
||||
}
|
||||
|
||||
int
|
||||
x2ap_eNB_handle_x2_setup_request(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
X2AP_X2AP_PDU_t *pdu)
|
||||
int x2ap_eNB_handle_x2_setup_request(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, X2AP_X2AP_PDU_t *pdu)
|
||||
{
|
||||
|
||||
X2AP_X2SetupRequest_t *x2SetupRequest;
|
||||
@@ -516,22 +457,13 @@ x2ap_eNB_handle_x2_setup_request(instance_t instance,
|
||||
return x2ap_eNB_generate_x2_setup_response(instance_p, x2ap_eNB_data);
|
||||
}
|
||||
|
||||
int
|
||||
x2ap_eNB_handle_x2_reset_response(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
X2AP_X2AP_PDU_t *pdu)
|
||||
int x2ap_eNB_handle_x2_reset_response(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, X2AP_X2AP_PDU_t *pdu)
|
||||
{
|
||||
|
||||
return (0);
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
x2ap_eNB_handle_x2_reset_request(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
X2AP_X2AP_PDU_t *pdu)
|
||||
int x2ap_eNB_handle_x2_reset_request(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, X2AP_X2AP_PDU_t *pdu)
|
||||
{
|
||||
const char *const X2AP_ResetRequest_str[2] = {"X2AP_ResetRequest_IEs__value_PR_Cause",
|
||||
"X2AP_ResetRequest_IEs__value_PR_InterfaceInstanceIndication"};
|
||||
@@ -608,12 +540,7 @@ x2ap_eNB_handle_x2_reset_request(instance_t instance,
|
||||
return x2ap_eNB_generate_x2_setup_response(instance_p, x2ap_eNB_data);
|
||||
}
|
||||
|
||||
|
||||
static
|
||||
int x2ap_eNB_handle_x2_setup_response(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
X2AP_X2AP_PDU_t *pdu)
|
||||
static int x2ap_eNB_handle_x2_setup_response(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, X2AP_X2AP_PDU_t *pdu)
|
||||
{
|
||||
|
||||
X2AP_X2SetupResponse_t *x2SetupResponse;
|
||||
@@ -744,11 +671,7 @@ int x2ap_eNB_handle_x2_setup_response(instance_t instance,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static
|
||||
int x2ap_eNB_handle_x2_setup_failure(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
X2AP_X2AP_PDU_t *pdu)
|
||||
static int x2ap_eNB_handle_x2_setup_failure(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, X2AP_X2AP_PDU_t *pdu)
|
||||
{
|
||||
|
||||
X2AP_X2SetupFailure_t *x2SetupFailure;
|
||||
@@ -814,11 +737,7 @@ int x2ap_eNB_handle_x2_setup_failure(instance_t instance,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static
|
||||
int x2ap_eNB_handle_handover_preparation (instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
X2AP_X2AP_PDU_t *pdu)
|
||||
static int x2ap_eNB_handle_handover_preparation(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, X2AP_X2AP_PDU_t *pdu)
|
||||
{
|
||||
|
||||
X2AP_HandoverRequest_t *x2HandoverRequest;
|
||||
@@ -960,11 +879,7 @@ int x2ap_eNB_handle_handover_preparation (instance_t instance,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static
|
||||
int x2ap_eNB_handle_handover_response (instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
X2AP_X2AP_PDU_t *pdu)
|
||||
static int x2ap_eNB_handle_handover_response(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, X2AP_X2AP_PDU_t *pdu)
|
||||
{
|
||||
X2AP_HandoverRequestAcknowledge_t *x2HandoverRequestAck;
|
||||
X2AP_HandoverRequestAcknowledge_IEs_t *ie;
|
||||
@@ -1111,12 +1026,7 @@ int x2ap_eNB_handle_handover_response (instance_t instance,
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static
|
||||
int x2ap_eNB_handle_ue_context_release (instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
X2AP_X2AP_PDU_t *pdu)
|
||||
static int x2ap_eNB_handle_ue_context_release(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, X2AP_X2AP_PDU_t *pdu)
|
||||
{
|
||||
X2AP_UEContextRelease_t *x2UEContextRelease;
|
||||
X2AP_UEContextRelease_IEs_t *ie;
|
||||
@@ -1196,11 +1106,7 @@ int x2ap_eNB_handle_ue_context_release (instance_t instance,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static
|
||||
int x2ap_eNB_handle_handover_cancel (instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
X2AP_X2AP_PDU_t *pdu)
|
||||
static int x2ap_eNB_handle_handover_cancel(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, X2AP_X2AP_PDU_t *pdu)
|
||||
{
|
||||
X2AP_HandoverCancel_t *x2HandoverCancel;
|
||||
X2AP_HandoverCancel_IEs_t *ie;
|
||||
@@ -1304,12 +1210,7 @@ int x2ap_eNB_handle_handover_cancel (instance_t instance,
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static
|
||||
int x2ap_eNB_handle_senb_addition_request (instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
X2AP_X2AP_PDU_t *pdu)
|
||||
static int x2ap_eNB_handle_senb_addition_request(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, X2AP_X2AP_PDU_t *pdu)
|
||||
{
|
||||
|
||||
X2AP_SeNBAdditionRequest_t *x2SeNBAdditionRequest;
|
||||
@@ -1487,32 +1388,25 @@ int x2ap_eNB_handle_senb_addition_request (instance_t instance,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static
|
||||
int x2ap_eNB_handle_senb_addition_request_ack (instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
X2AP_X2AP_PDU_t *pdu)
|
||||
static int x2ap_eNB_handle_senb_addition_request_ack(instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
uint32_t stream,
|
||||
X2AP_X2AP_PDU_t *pdu)
|
||||
{
|
||||
printf("%s:%d:%s:TODO\n", __FILE__, __LINE__, __FUNCTION__);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static
|
||||
int x2ap_eNB_handle_senb_addition_request_reject (instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
X2AP_X2AP_PDU_t *pdu)
|
||||
static int x2ap_eNB_handle_senb_addition_request_reject(instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
uint32_t stream,
|
||||
X2AP_X2AP_PDU_t *pdu)
|
||||
{
|
||||
printf("%s:%d:%s:TODO\n", __FILE__, __LINE__, __FUNCTION__);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
x2ap_eNB_handle_ENDC_x2_setup_request(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
X2AP_X2AP_PDU_t *pdu)
|
||||
int x2ap_eNB_handle_ENDC_x2_setup_request(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, X2AP_X2AP_PDU_t *pdu)
|
||||
{
|
||||
|
||||
X2AP_ENDCX2SetupRequest_t *x2_ENDC_SetupRequest;
|
||||
@@ -1659,11 +1553,7 @@ x2ap_eNB_handle_ENDC_x2_setup_request(instance_t instance,
|
||||
return x2ap_eNB_generate_ENDC_x2_setup_response(instance_p, x2ap_eNB_data);
|
||||
}
|
||||
|
||||
int
|
||||
x2ap_gNB_handle_ENDC_x2_setup_response(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
X2AP_X2AP_PDU_t *pdu)
|
||||
int x2ap_gNB_handle_ENDC_x2_setup_response(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, X2AP_X2AP_PDU_t *pdu)
|
||||
{
|
||||
|
||||
X2AP_ENDCX2SetupResponse_t *x2_ENDC_SetupResponse;
|
||||
@@ -1809,11 +1699,10 @@ x2ap_gNB_handle_ENDC_x2_setup_response(instance_t instance,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static
|
||||
int x2ap_gNB_handle_ENDC_sGNB_addition_request (instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
X2AP_X2AP_PDU_t *pdu)
|
||||
static int x2ap_gNB_handle_ENDC_sGNB_addition_request(instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
uint32_t stream,
|
||||
X2AP_X2AP_PDU_t *pdu)
|
||||
{
|
||||
X2AP_SgNBAdditionRequest_t *x2SgNBAdditionRequest;
|
||||
X2AP_SgNBAdditionRequest_IEs_t *ie;
|
||||
@@ -1951,12 +1840,10 @@ LOG_I(RRC,"x2u tunnel: index %d target sgw ip %d.%d.%d.%d length %d gtp teid %u\
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static
|
||||
int x2ap_eNB_handle_ENDC_sGNB_addition_response (instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
X2AP_X2AP_PDU_t *pdu)
|
||||
static int x2ap_eNB_handle_ENDC_sGNB_addition_response(instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
uint32_t stream,
|
||||
X2AP_X2AP_PDU_t *pdu)
|
||||
{
|
||||
|
||||
X2AP_SgNBAdditionRequestAcknowledge_t *x2SgNBAdditionRequest_ack;
|
||||
@@ -2103,11 +1990,10 @@ int x2ap_eNB_handle_ENDC_sGNB_addition_response (instance_t instance,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static
|
||||
int x2ap_gNB_handle_ENDC_sGNB_reconfiguration_complete (instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
X2AP_X2AP_PDU_t *pdu)
|
||||
static int x2ap_gNB_handle_ENDC_sGNB_reconfiguration_complete(instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
uint32_t stream,
|
||||
X2AP_X2AP_PDU_t *pdu)
|
||||
{
|
||||
X2AP_SgNBReconfigurationComplete_t *x2SgNBReconfigurationComplete;
|
||||
X2AP_SgNBReconfigurationComplete_IEs_t *ie;
|
||||
@@ -2190,11 +2076,10 @@ int x2ap_gNB_handle_ENDC_sGNB_reconfiguration_complete (instance_t instance,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static
|
||||
int x2ap_gNB_handle_ENDC_sGNB_release_request(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
X2AP_X2AP_PDU_t *pdu)
|
||||
static int x2ap_gNB_handle_ENDC_sGNB_release_request(instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
uint32_t stream,
|
||||
X2AP_X2AP_PDU_t *pdu)
|
||||
{
|
||||
/* the logic in this function is the following: when receiving a release
|
||||
* request, the UE may exist in X2. Or not. If it's not in X2, it can
|
||||
@@ -2294,22 +2179,20 @@ int x2ap_gNB_handle_ENDC_sGNB_release_request(instance_t instance,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static
|
||||
int x2ap_gNB_handle_ENDC_sGNB_release_request_acknowledge(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
X2AP_X2AP_PDU_t *pdu)
|
||||
static int x2ap_gNB_handle_ENDC_sGNB_release_request_acknowledge(instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
uint32_t stream,
|
||||
X2AP_X2AP_PDU_t *pdu)
|
||||
{
|
||||
/* nothing to do - may change at some point */
|
||||
X2AP_INFO("received release request acknowledge\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
static
|
||||
int x2ap_gNB_handle_ENDC_sGNB_release_required(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
X2AP_X2AP_PDU_t *pdu)
|
||||
static int x2ap_gNB_handle_ENDC_sGNB_release_required(instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
uint32_t stream,
|
||||
X2AP_X2AP_PDU_t *pdu)
|
||||
{
|
||||
/* the logic in this function is the following: when receiving a release
|
||||
* required we don't care about the UE in X2. We simply send a message
|
||||
@@ -2383,11 +2266,10 @@ int x2ap_gNB_handle_ENDC_sGNB_release_required(instance_t instance,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static
|
||||
int x2ap_gNB_handle_ENDC_sGNB_release_confirm(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
X2AP_X2AP_PDU_t *pdu)
|
||||
static int x2ap_gNB_handle_ENDC_sGNB_release_confirm(instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
uint32_t stream,
|
||||
X2AP_X2AP_PDU_t *pdu)
|
||||
{
|
||||
/* nothing to do - may change at some point */
|
||||
X2AP_INFO("received release confirm\n");
|
||||
|
||||
@@ -33,7 +33,10 @@
|
||||
|
||||
void x2ap_handle_x2_setup_message(x2ap_eNB_instance_t *instance_p, x2ap_eNB_data_t *eNB_desc_p, int sctp_shutdown);
|
||||
|
||||
int x2ap_eNB_handle_message(instance_t instance, uint32_t assoc_id, int32_t stream,
|
||||
const uint8_t * const data, const uint32_t data_length);
|
||||
int x2ap_eNB_handle_message(instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
int32_t stream,
|
||||
const uint8_t *const data,
|
||||
const uint32_t data_length);
|
||||
|
||||
#endif /* X2AP_ENB_HANDLERS_H_ */
|
||||
|
||||
@@ -30,8 +30,11 @@
|
||||
|
||||
#include "x2ap_eNB_itti_messaging.h"
|
||||
|
||||
void x2ap_eNB_itti_send_sctp_data_req(instance_t instance, int32_t assoc_id, uint8_t *buffer,
|
||||
uint32_t buffer_length, uint16_t stream)
|
||||
void x2ap_eNB_itti_send_sctp_data_req(instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
uint8_t *buffer,
|
||||
uint32_t buffer_length,
|
||||
uint16_t stream)
|
||||
{
|
||||
MessageDef *message_p;
|
||||
sctp_data_req_t *sctp_data_req;
|
||||
@@ -49,7 +52,7 @@ void x2ap_eNB_itti_send_sctp_data_req(instance_t instance, int32_t assoc_id, uin
|
||||
}
|
||||
|
||||
|
||||
void x2ap_eNB_itti_send_sctp_close_association(instance_t instance, int32_t assoc_id)
|
||||
void x2ap_eNB_itti_send_sctp_close_association(instance_t instance, sctp_assoc_t assoc_id)
|
||||
{
|
||||
MessageDef *message_p = NULL;
|
||||
sctp_close_association_t *sctp_close_association_p = NULL;
|
||||
|
||||
@@ -29,11 +29,13 @@
|
||||
#ifndef X2AP_ENB_ITTI_MESSAGING_H_
|
||||
#define X2AP_ENB_ITTI_MESSAGING_H_
|
||||
|
||||
void x2ap_eNB_itti_send_sctp_data_req(instance_t instance, int32_t assoc_id, uint8_t *buffer,
|
||||
uint32_t buffer_length, uint16_t stream);
|
||||
void x2ap_eNB_itti_send_sctp_data_req(instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
uint8_t *buffer,
|
||||
uint32_t buffer_length,
|
||||
uint16_t stream);
|
||||
|
||||
|
||||
void x2ap_eNB_itti_send_sctp_close_association(instance_t instance, int32_t assoc_id);
|
||||
void x2ap_eNB_itti_send_sctp_close_association(instance_t instance, sctp_assoc_t assoc_id);
|
||||
|
||||
|
||||
#endif /* X2AP_ENB_ITTI_MESSAGING_H_ */
|
||||
|
||||
@@ -122,9 +122,7 @@ printf("---------------------------------------------\n");
|
||||
}
|
||||
}
|
||||
|
||||
struct x2ap_eNB_data_s *x2ap_get_eNB(x2ap_eNB_instance_t *instance_p,
|
||||
int32_t assoc_id,
|
||||
uint16_t cnx_id)
|
||||
struct x2ap_eNB_data_s *x2ap_get_eNB(x2ap_eNB_instance_t *instance_p, sctp_assoc_t assoc_id, uint16_t cnx_id)
|
||||
{
|
||||
struct x2ap_eNB_data_s temp;
|
||||
struct x2ap_eNB_data_s *found;
|
||||
|
||||
@@ -47,8 +47,6 @@ x2ap_eNB_data_t* x2ap_is_eNB_assoc_id_in_list(uint32_t sctp_assoc_id);
|
||||
|
||||
x2ap_eNB_data_t* x2ap_is_eNB_pci_in_list (const uint32_t pci);
|
||||
|
||||
struct x2ap_eNB_data_s *x2ap_get_eNB(x2ap_eNB_instance_t *instance_p,
|
||||
int32_t assoc_id,
|
||||
uint16_t cnx_id);
|
||||
struct x2ap_eNB_data_s *x2ap_get_eNB(x2ap_eNB_instance_t *instance_p, sctp_assoc_t assoc_id, uint16_t cnx_id);
|
||||
|
||||
#endif /* __X2AP_ENB_MANAGEMENT_PROCEDURES__H__ */
|
||||
|
||||
@@ -115,7 +115,7 @@ typedef struct m3ap_MCE_data_s {
|
||||
uint16_t cnx_id;
|
||||
|
||||
/* SCTP association id */
|
||||
int32_t assoc_id;
|
||||
sctp_assoc_t assoc_id;
|
||||
|
||||
/* Nid cells */
|
||||
uint32_t Nid_cell[MAX_NUM_CCs];
|
||||
|
||||
@@ -312,7 +312,7 @@ int m2ap_eNB_generate_m2_setup_request(
|
||||
//}
|
||||
|
||||
//int m2ap_MCE_generate_m2_setup_failure(instance_t instance,
|
||||
// uint32_t assoc_id,
|
||||
// sctp_assoc_t assoc_id,
|
||||
// M2AP_Cause_PR cause_type,
|
||||
// long cause_value,
|
||||
// long time_to_wait)
|
||||
|
||||
@@ -69,9 +69,11 @@ static char *m3ap_direction_String[] = {
|
||||
return(m3ap_direction_String[m3ap_dir]);
|
||||
}
|
||||
|
||||
|
||||
int m3ap_MCE_handle_message(instance_t instance, uint32_t assoc_id, int32_t stream,
|
||||
const uint8_t * const data, const uint32_t data_length)
|
||||
int m3ap_MCE_handle_message(instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
int32_t stream,
|
||||
const uint8_t *const data,
|
||||
const uint32_t data_length)
|
||||
{
|
||||
M3AP_M3AP_PDU_t pdu;
|
||||
int ret;
|
||||
|
||||
@@ -33,11 +33,13 @@
|
||||
|
||||
//void m3ap_handle_m2_setup_message(m2ap_eNB_instance_t *instance_p, m2ap_eNB_data_t *eNB_desc_p, int sctp_shutdown);
|
||||
|
||||
//int m3ap_eNB_handle_message(instance_t instance, uint32_t assoc_id, int32_t stream,
|
||||
//int m3ap_eNB_handle_message(instance_t instance, sctp_assoc_t assoc_id, int32_t stream,
|
||||
//const uint8_t * const data, const uint32_t data_length);
|
||||
|
||||
int m3ap_MCE_handle_message(instance_t instance, uint32_t assoc_id, int32_t stream,
|
||||
const uint8_t * const data, const uint32_t data_length);
|
||||
|
||||
int m3ap_MCE_handle_message(instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
int32_t stream,
|
||||
const uint8_t *const data,
|
||||
const uint32_t data_length);
|
||||
|
||||
#endif /* __M3AP_MCE_HANDLER__H__ */
|
||||
|
||||
@@ -57,11 +57,8 @@
|
||||
|
||||
extern m3ap_setup_req_t * m3ap_mce_data_g;
|
||||
|
||||
|
||||
int MCE_handle_MBMS_SESSION_START_REQUEST(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu){
|
||||
int MCE_handle_MBMS_SESSION_START_REQUEST(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu)
|
||||
{
|
||||
// LOG_W(M3AP, "MCE_handle_MBMS_SESSION_START_REQUEST assoc_id %d\n",assoc_id);
|
||||
//
|
||||
MessageDef *message_p;
|
||||
@@ -212,11 +209,8 @@ int MCE_send_MBMS_SESSION_START_FAILURE(instance_t instance, m3ap_session_start_
|
||||
return 0;
|
||||
}
|
||||
|
||||
int MCE_handle_MBMS_SESSION_STOP_REQUEST(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu){
|
||||
|
||||
int MCE_handle_MBMS_SESSION_STOP_REQUEST(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu)
|
||||
{
|
||||
//AssertFatal(1==0,"Not implemented yet\n");
|
||||
LOG_D(M3AP, "MCE_handle_MBMS_SESSION_STOP_REQUEST assoc_id %d\n",assoc_id);
|
||||
|
||||
@@ -317,10 +311,7 @@ int MCE_send_MBMS_SESSION_STOP_RESPONSE(instance_t instance, m3ap_session_start_
|
||||
/*
|
||||
* Session Update
|
||||
*/
|
||||
int MCE_handle_MBMS_SESSION_UPDATE_REQUEST(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu)
|
||||
int MCE_handle_MBMS_SESSION_UPDATE_REQUEST(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu)
|
||||
{
|
||||
//AssertFatal(1==0,"Not implemented yet\n");
|
||||
LOG_D(M3AP, "MCE_handle_MBMS_SESSION_UPDATE_REQUEST assoc_id %d\n",assoc_id);
|
||||
@@ -653,10 +644,7 @@ int MCE_send_M3_SETUP_REQUEST(m3ap_MCE_instance_t *instance_p, m3ap_MCE_data_t *
|
||||
|
||||
|
||||
|
||||
int MCE_handle_M3_SETUP_RESPONSE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu)
|
||||
int MCE_handle_M3_SETUP_RESPONSE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu)
|
||||
{
|
||||
|
||||
LOG_D(M3AP, "MCE_handle_M3_SETUP_RESPONSE\n");
|
||||
@@ -700,15 +688,8 @@ int MCE_handle_M3_SETUP_RESPONSE(instance_t instance,
|
||||
}
|
||||
|
||||
// SETUP FAILURE
|
||||
int MCE_handle_M3_SETUP_FAILURE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu) {
|
||||
LOG_E(M3AP, "MCE_handle_M3_SETUP_FAILURE\n");
|
||||
return 0;
|
||||
int MCE_handle_M3_SETUP_FAILURE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu)
|
||||
{
|
||||
LOG_E(M3AP, "MCE_handle_M3_SETUP_FAILURE\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -37,10 +37,7 @@
|
||||
* Session Start
|
||||
*/
|
||||
|
||||
int MCE_handle_MBMS_SESSION_START_REQUEST(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu);
|
||||
int MCE_handle_MBMS_SESSION_START_REQUEST(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu);
|
||||
int MCE_send_MBMS_SESSION_START_RESPONSE(instance_t instance, m3ap_session_start_resp_t * m3ap_session_start_resp);
|
||||
int MCE_send_MBMS_SESSION_START_FAILURE(instance_t instance, m3ap_session_start_failure_t * m3ap_session_start_failure);
|
||||
|
||||
@@ -48,18 +45,12 @@ int MCE_send_MBMS_SESSION_START_FAILURE(instance_t instance, m3ap_session_start_
|
||||
* Session Stop
|
||||
*/
|
||||
|
||||
int MCE_handle_MBMS_SESSION_STOP_REQUEST(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu);
|
||||
int MCE_handle_MBMS_SESSION_STOP_REQUEST(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu);
|
||||
|
||||
/*
|
||||
* Session Update
|
||||
*/
|
||||
int MCE_handle_MBMS_SESSION_UPDATE_REQUEST(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu);
|
||||
int MCE_handle_MBMS_SESSION_UPDATE_REQUEST(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu);
|
||||
|
||||
int MCE_send_MBMS_SESSION_UPDATE_RESPONSE(instance_t instance, m3ap_mbms_session_update_resp_t * m3ap_mbms_session_update_resp);
|
||||
int MCE_send_MBMS_SESSION_UPDATE_FAILURE(instance_t instance, m3ap_mbms_session_update_failure_t * m3ap_mbms_session_update_failure);
|
||||
@@ -75,43 +66,25 @@ int MCE_send_MBMS_SESSION_STOP_RESPONSE(instance_t instance, m3ap_session_start_
|
||||
/*
|
||||
* Reset
|
||||
*/
|
||||
int MCE_handle_RESET(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu);
|
||||
int MCE_handle_RESET(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu);
|
||||
int MCE_send_RESET_ACKKNOWLEDGE(instance_t instance, M3AP_ResetAcknowledge_t *ResetAcknowledge);
|
||||
int MCE_send_RESET(instance_t instance, M3AP_Reset_t *Reset);
|
||||
int MCE_handle_RESET_ACKNOWLEDGE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu);
|
||||
int MCE_handle_RESET_ACKNOWLEDGE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu);
|
||||
|
||||
/*
|
||||
* M3AP Setup
|
||||
*/
|
||||
int MCE_send_M3_SETUP_REQUEST( m3ap_MCE_instance_t *instance_p, m3ap_MCE_data_t *m3ap_MCE_data_p);
|
||||
|
||||
int MCE_handle_M3_SETUP_RESPONSE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu);
|
||||
int MCE_handle_M3_SETUP_RESPONSE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu);
|
||||
|
||||
int MCE_handle_M3_SETUP_FAILURE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu);
|
||||
int MCE_handle_M3_SETUP_FAILURE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu);
|
||||
|
||||
/*
|
||||
* Error Indication
|
||||
*/
|
||||
int MCE_send_ERROR_INDICATION(instance_t instance, M3AP_M3AP_PDU_t *pdu_p);
|
||||
int MCE_handle_ERROR_INDICATION(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu);
|
||||
|
||||
|
||||
|
||||
int MCE_handle_ERROR_INDICATION(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu);
|
||||
|
||||
#endif /* M3AP_MCE_INTERFACE_MANAGEMENT_H_ */
|
||||
|
||||
|
||||
@@ -122,9 +122,7 @@ printf("---------------------------------------------\n");
|
||||
}
|
||||
}
|
||||
|
||||
struct m3ap_MCE_data_s *m3ap_get_MCE(m3ap_MCE_instance_t *instance_p,
|
||||
int32_t assoc_id,
|
||||
uint16_t cnx_id)
|
||||
struct m3ap_MCE_data_s *m3ap_get_MCE(m3ap_MCE_instance_t *instance_p, sctp_assoc_t assoc_id, uint16_t cnx_id)
|
||||
{
|
||||
struct m3ap_MCE_data_s temp;
|
||||
struct m3ap_MCE_data_s *found;
|
||||
|
||||
@@ -46,8 +46,6 @@ m3ap_MCE_data_t* m3ap_is_MCE_assoc_id_in_list(uint32_t sctp_assoc_id);
|
||||
|
||||
m3ap_MCE_data_t* m3ap_is_MCE_pci_in_list (const uint32_t pci);
|
||||
|
||||
struct m3ap_MCE_data_s *m3ap_get_MCE(m3ap_MCE_instance_t *instance_p,
|
||||
int32_t assoc_id,
|
||||
uint16_t cnx_id);
|
||||
struct m3ap_MCE_data_s *m3ap_get_MCE(m3ap_MCE_instance_t *instance_p, sctp_assoc_t assoc_id, uint16_t cnx_id);
|
||||
|
||||
#endif /* __M3AP_MCE_MANAGEMENT_PROCEDURES__H__ */
|
||||
|
||||
@@ -115,7 +115,7 @@ typedef struct m3ap_MME_data_s {
|
||||
uint16_t cnx_id;
|
||||
|
||||
/* SCTP association id */
|
||||
int32_t assoc_id;
|
||||
sctp_assoc_t assoc_id;
|
||||
|
||||
/* Nid cells */
|
||||
uint32_t Nid_cell[MAX_NUM_CCs];
|
||||
|
||||
@@ -314,7 +314,7 @@ int m2ap_MCE_generate_m2_setup_response(m2ap_MCE_instance_t *instance_p, m2ap_MC
|
||||
}
|
||||
|
||||
int m2ap_MCE_generate_m2_setup_failure(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
sctp_assoc_t assoc_id,
|
||||
M2AP_Cause_PR cause_type,
|
||||
long cause_value,
|
||||
long time_to_wait)
|
||||
|
||||
@@ -38,7 +38,7 @@ int m2ap_MCE_generate_m2_setup_request(m2ap_MCE_instance_t *instance_p,
|
||||
int m2ap_MCE_generate_m2_setup_response(m2ap_MCE_instance_t *instance_p, m2ap_MCE_data_t *m2ap_MCE_data_p);
|
||||
|
||||
int m2ap_MCE_generate_m2_setup_failure(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
sctp_assoc_t assoc_id,
|
||||
M2AP_Cause_PR cause_type,
|
||||
long cause_value,
|
||||
long time_to_wait);
|
||||
|
||||
@@ -68,9 +68,11 @@ static char *m3ap_direction_String[] = {
|
||||
return(m3ap_direction_String[m3ap_dir]);
|
||||
}
|
||||
|
||||
|
||||
int m3ap_MME_handle_message(instance_t instance, uint32_t assoc_id, int32_t stream,
|
||||
const uint8_t * const data, const uint32_t data_length)
|
||||
int m3ap_MME_handle_message(instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
int32_t stream,
|
||||
const uint8_t *const data,
|
||||
const uint32_t data_length)
|
||||
{
|
||||
M3AP_M3AP_PDU_t pdu;
|
||||
int ret;
|
||||
|
||||
@@ -33,11 +33,13 @@
|
||||
|
||||
//void m3ap_handle_m2_setup_message(m2ap_eNB_instance_t *instance_p, m2ap_eNB_data_t *eNB_desc_p, int sctp_shutdown);
|
||||
|
||||
//int m3ap_eNB_handle_message(instance_t instance, uint32_t assoc_id, int32_t stream,
|
||||
//int m3ap_eNB_handle_message(instance_t instance, sctp_assoc_t assoc_id, int32_t stream,
|
||||
//const uint8_t * const data, const uint32_t data_length);
|
||||
|
||||
int m3ap_MME_handle_message(instance_t instance, uint32_t assoc_id, int32_t stream,
|
||||
const uint8_t * const data, const uint32_t data_length);
|
||||
|
||||
int m3ap_MME_handle_message(instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
int32_t stream,
|
||||
const uint8_t *const data,
|
||||
const uint32_t data_length);
|
||||
|
||||
#endif /* M3AP_MME_HANDLERS_H_ */
|
||||
|
||||
@@ -61,8 +61,9 @@ uint8_t m3ap_start_message[] = {
|
||||
/*
|
||||
* MBMS Session start
|
||||
*/
|
||||
int MME_send_MBMS_SESSION_START_REQUEST(instance_t instance/*, uint32_t assoc_id*/,m3ap_session_start_req_t* m3ap_session_start_req){
|
||||
|
||||
int MME_send_MBMS_SESSION_START_REQUEST(instance_t instance /*, sctp_assoc_t assoc_id*/,
|
||||
m3ap_session_start_req_t *m3ap_session_start_req)
|
||||
{
|
||||
//AssertFatal(1==0,"Not implemented yet\n");
|
||||
|
||||
//module_id_t enb_mod_idP=0;
|
||||
@@ -239,13 +240,10 @@ int MME_send_MBMS_SESSION_START_REQUEST(instance_t instance/*, uint32_t assoc_id
|
||||
m3ap_MME_itti_send_sctp_data_req(instance, m3ap_mme_data_from_mce->assoc_id, buffer, len, 0);
|
||||
|
||||
return 0;
|
||||
|
||||
}
|
||||
|
||||
int MME_handle_MBMS_SESSION_START_RESPONSE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu){
|
||||
int MME_handle_MBMS_SESSION_START_RESPONSE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu)
|
||||
{
|
||||
// AssertFatal(1==0,"Not implemented yet\n");
|
||||
LOG_D(M3AP, "MME_handle_MBMS_SESSION_START_RESPONSE\n");
|
||||
|
||||
@@ -300,12 +298,9 @@ int MME_handle_MBMS_SESSION_START_RESPONSE(instance_t instance,
|
||||
// assoc_id,ENB_MODULE_ID_TO_INSTANCE(assoc_id));
|
||||
itti_send_msg_to_task(TASK_MME_APP, ENB_MODULE_ID_TO_INSTANCE(assoc_id), msg_g);
|
||||
return 0;
|
||||
|
||||
}
|
||||
int MME_handle_MBMS_SESSION_START_FAILURE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu){
|
||||
int MME_handle_MBMS_SESSION_START_FAILURE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(1==0,"Not implemented yet\n");
|
||||
}
|
||||
|
||||
@@ -370,10 +365,8 @@ int MME_send_MBMS_SESSION_STOP_REQUEST(instance_t instance, m3ap_session_stop_re
|
||||
|
||||
}
|
||||
|
||||
int MME_handle_MBMS_SESSION_STOP_RESPONSE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu){
|
||||
int MME_handle_MBMS_SESSION_STOP_RESPONSE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu)
|
||||
{
|
||||
//AssertFatal(1==0,"Not implemented yet\n");
|
||||
LOG_D(M3AP, "eNB_handle_MBMS_SESSION_STOP_RESPONSE\n");
|
||||
|
||||
@@ -432,12 +425,8 @@ int MME_handle_MBMS_SESSION_STOP_RESPONSE(instance_t instance,
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
int MME_handle_MBMS_SESSION_STOP_FAILURE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu){
|
||||
int MME_handle_MBMS_SESSION_STOP_FAILURE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(1==0,"Not implemented yet\n");
|
||||
|
||||
}
|
||||
@@ -456,19 +445,14 @@ int MME_send_RESET(instance_t instance, m3ap_reset_t * m3ap_reset) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
int MME_handle_RESET_ACKKNOWLEDGE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu) {
|
||||
int MME_handle_RESET_ACKKNOWLEDGE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(1==0,"Not implemented yet\n");
|
||||
|
||||
}
|
||||
|
||||
int MME_handle_RESET(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu) {
|
||||
int MME_handle_RESET(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(1==0,"Not implemented yet\n");
|
||||
}
|
||||
|
||||
@@ -479,10 +463,7 @@ int MME_send_RESET_ACKNOWLEDGE(instance_t instance, M3AP_ResetAcknowledge_t *Res
|
||||
/*
|
||||
* M3 Setup
|
||||
*/
|
||||
int MME_handle_M3_SETUP_REQUEST(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu)
|
||||
int MME_handle_M3_SETUP_REQUEST(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu)
|
||||
{
|
||||
LOG_D(M2AP, "MCE_handle_M3_SETUP_REQUEST assoc_id %d\n",assoc_id);
|
||||
|
||||
@@ -632,8 +613,9 @@ int MME_handle_M3_SETUP_REQUEST(instance_t instance,
|
||||
return 0;
|
||||
}
|
||||
|
||||
int MME_send_M3_SETUP_RESPONSE(instance_t instance, /*uint32_t assoc_id,*/
|
||||
m3ap_setup_resp_t *m3ap_setup_resp) {
|
||||
int MME_send_M3_SETUP_RESPONSE(instance_t instance, /*sctp_assoc_t assoc_id,*/
|
||||
m3ap_setup_resp_t *m3ap_setup_resp)
|
||||
{
|
||||
M3AP_M3AP_PDU_t pdu;
|
||||
M3AP_M3SetupResponse_t *out;
|
||||
M3AP_M3SetupResponseIEs_t *ie;
|
||||
@@ -774,19 +756,16 @@ int MME_send_M3_SETUP_FAILURE(instance_t instance,m3ap_setup_failure_t* m3ap_set
|
||||
* MME Configuration Update
|
||||
*/
|
||||
|
||||
|
||||
int MME_handle_MME_CONFIGURATION_UPDATE_FAILURE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu){
|
||||
int MME_handle_MME_CONFIGURATION_UPDATE_FAILURE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(1==0,"Not implemented yet\n");
|
||||
}
|
||||
|
||||
|
||||
int MME_handle_MME_CONFIGURATION_UPDATE_ACKNOWLEDGE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu){
|
||||
sctp_assoc_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(1==0,"Not implemented yet\n");
|
||||
}
|
||||
|
||||
@@ -795,11 +774,8 @@ int MME_handle_MME_CONFIGURATION_UPDATE_ACKNOWLEDGE(instance_t instance,
|
||||
* MCE Configuration Update
|
||||
*/
|
||||
|
||||
|
||||
int MME_handle_MCE_CONFIGURATION_UPDATE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu){
|
||||
int MME_handle_MCE_CONFIGURATION_UPDATE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(1==0,"Not implemented yet\n");
|
||||
}
|
||||
|
||||
@@ -812,10 +788,8 @@ int MME_handle_MCE_CONFIGURATION_UPDATE(instance_t instance,
|
||||
* Error Indication
|
||||
*/
|
||||
|
||||
int MME_handle_ERROR_INDICATION(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu) {
|
||||
int MME_handle_ERROR_INDICATION(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(1==0,"Not implemented yet\n");
|
||||
|
||||
|
||||
@@ -1003,12 +977,8 @@ int MME_send_MBMS_SESSION_UPDATE_REQUEST(instance_t instance, m3ap_mbms_session_
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
int MME_handle_MBMS_SESSION_UPDATE_RESPONSE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu){
|
||||
int MME_handle_MBMS_SESSION_UPDATE_RESPONSE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu)
|
||||
{
|
||||
//AssertFatal(1==0,"Not implemented yet\n");
|
||||
LOG_D(M3AP, "MME_handle_MBMS_SESSION_UPDATE_RESPONSE\n");
|
||||
|
||||
@@ -1067,30 +1037,18 @@ int MME_handle_MBMS_SESSION_UPDATE_RESPONSE(instance_t instance,
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
int MME_handle_MBMS_SESSION_UPDATE_FAILURE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu){
|
||||
int MME_handle_MBMS_SESSION_UPDATE_FAILURE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(1==0,"Not implemented yet\n");
|
||||
}
|
||||
|
||||
|
||||
|
||||
int MME_handle_MBMS_SERVICE_COUNTING_RESPONSE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu){
|
||||
int MME_handle_MBMS_SERVICE_COUNTING_RESPONSE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(1==0,"Not implemented yet\n");
|
||||
}
|
||||
|
||||
|
||||
|
||||
int MME_handle_MBMS_SESSION_COUNTING_FAILURE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu){
|
||||
int MME_handle_MBMS_SESSION_COUNTING_FAILURE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(1==0,"Not implemented yet\n");
|
||||
|
||||
}
|
||||
@@ -1101,9 +1059,10 @@ int MME_handle_MBMS_SESSION_COUNTING_FAILURE(instance_t instance,
|
||||
*/
|
||||
|
||||
int MME_handle_MBMS_SESSION_COUNTING_RESULTS_REPORT(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu){
|
||||
sctp_assoc_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(1==0,"Not implemented yet\n");
|
||||
|
||||
}
|
||||
@@ -1112,10 +1071,8 @@ int MME_handle_MBMS_SESSION_COUNTING_RESULTS_REPORT(instance_t instance,
|
||||
/*
|
||||
* Overload Notification
|
||||
*/
|
||||
int MME_handle_MBMS_OVERLOAD_NOTIFICATION(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu){
|
||||
int MME_handle_MBMS_OVERLOAD_NOTIFICATION(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(1==0,"Not implemented yet\n");
|
||||
|
||||
}
|
||||
|
||||
@@ -35,75 +35,45 @@
|
||||
/*
|
||||
* MBMS Session start
|
||||
*/
|
||||
int MME_send_MBMS_SESSION_START_REQUEST(instance_t instance/*,
|
||||
uint32_t assoc_id*/,m3ap_session_start_req_t* m3ap_session_start_req);
|
||||
int MME_handle_MBMS_SESSION_START_RESPONSE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu);
|
||||
int MME_send_MBMS_SESSION_START_REQUEST(instance_t instance,
|
||||
/*sctp_assoc_t assoc_id,*/
|
||||
m3ap_session_start_req_t *m3ap_session_start_req);
|
||||
int MME_handle_MBMS_SESSION_START_RESPONSE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu);
|
||||
|
||||
int MME_handle_MBMS_SESSION_START_FAILURE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu);
|
||||
int MME_handle_MBMS_SESSION_START_FAILURE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu);
|
||||
/*
|
||||
* MBMS Session stop
|
||||
*/
|
||||
int MME_send_MBMS_SESSION_STOP_REQUEST(instance_t instance,
|
||||
m3ap_session_stop_req_t* m3ap_session_stop_req);
|
||||
|
||||
int MME_handle_MBMS_SESSION_STOP_RESPONSE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu);
|
||||
int MME_handle_MBMS_SESSION_STOP_RESPONSE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu);
|
||||
|
||||
/*
|
||||
* Update
|
||||
*/
|
||||
int MME_handle_MBMS_SESSION_UPDATE_RESPONSE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu);
|
||||
|
||||
int MME_handle_MBMS_SESSION_UPDATE_FAILURE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu);
|
||||
|
||||
int MME_handle_MBMS_SESSION_UPDATE_RESPONSE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu);
|
||||
|
||||
int MME_handle_MBMS_SESSION_UPDATE_FAILURE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu);
|
||||
|
||||
/*
|
||||
* Reset
|
||||
*/
|
||||
int MME_send_RESET(instance_t instance, m3ap_reset_t * m3ap_reset);
|
||||
|
||||
int MME_handle_RESET_ACKKNOWLEDGE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu);
|
||||
int MME_handle_RESET_ACKKNOWLEDGE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu);
|
||||
|
||||
int MME_handle_RESET(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu);
|
||||
int MME_handle_RESET(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu);
|
||||
int MME_send_RESET_ACKNOWLEDGE(instance_t instance, M3AP_ResetAcknowledge_t *ResetAcknowledge);
|
||||
|
||||
/*
|
||||
* M3AP Setup
|
||||
*/
|
||||
int MME_handle_M3_SETUP_REQUEST(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu);
|
||||
|
||||
int MME_send_M3_SETUP_RESPONSE(instance_t instance,/*uint32_t assoc_id,*/ m3ap_setup_resp_t *m3ap_setup_resp);
|
||||
|
||||
int MME_send_M3_SETUP_FAILURE(instance_t instance, /*uint32_t assoc_id*/ m3ap_setup_failure_t * m3ap_setup_failure);
|
||||
|
||||
|
||||
|
||||
int MME_handle_M3_SETUP_REQUEST(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu);
|
||||
|
||||
int MME_send_M3_SETUP_RESPONSE(instance_t instance, /*sctp_assoc_t assoc_id,*/ m3ap_setup_resp_t *m3ap_setup_resp);
|
||||
|
||||
int MME_send_M3_SETUP_FAILURE(instance_t instance, /*sctp_assoc_t assoc_id*/ m3ap_setup_failure_t *m3ap_setup_failure);
|
||||
|
||||
#endif /* M3AP_MME_INTERFACE_MANAGEMENT_H_ */
|
||||
|
||||
|
||||
@@ -122,9 +122,7 @@ printf("---------------------------------------------\n");
|
||||
}
|
||||
}
|
||||
|
||||
struct m3ap_MME_data_s *m3ap_get_MME(m3ap_MME_instance_t *instance_p,
|
||||
int32_t assoc_id,
|
||||
uint16_t cnx_id)
|
||||
struct m3ap_MME_data_s *m3ap_get_MME(m3ap_MME_instance_t *instance_p, sctp_assoc_t assoc_id, uint16_t cnx_id)
|
||||
{
|
||||
struct m3ap_MME_data_s temp;
|
||||
struct m3ap_MME_data_s *found;
|
||||
|
||||
@@ -47,8 +47,6 @@ m3ap_MME_data_t* m3ap_is_MME_assoc_id_in_list(uint32_t sctp_assoc_id);
|
||||
|
||||
m3ap_MME_data_t* m3ap_is_MME_pci_in_list (const uint32_t pci);
|
||||
|
||||
struct m3ap_MME_data_s *m3ap_get_MME(m3ap_MME_instance_t *instance_p,
|
||||
int32_t assoc_id,
|
||||
uint16_t cnx_id);
|
||||
struct m3ap_MME_data_s *m3ap_get_MME(m3ap_MME_instance_t *instance_p, sctp_assoc_t assoc_id, uint16_t cnx_id);
|
||||
|
||||
#endif /* __M3AP_MME_MANAGEMENT_PROCEDURES__H__ */
|
||||
|
||||
@@ -74,30 +74,15 @@ extern int asn1_xer_print;
|
||||
|
||||
/** \brief Function callback prototype.
|
||||
**/
|
||||
typedef int (*m3ap_message_decoded_callback)(
|
||||
instance_t instance,
|
||||
uint32_t assocId,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu);
|
||||
|
||||
typedef int (*m3ap_message_decoded_callback)(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu);
|
||||
|
||||
/** \brief Function callback prototype.
|
||||
**/
|
||||
typedef int (*m3ap_MCE_message_decoded_callback)(
|
||||
instance_t instance,
|
||||
uint32_t assocId,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu);
|
||||
typedef int (*m3ap_MCE_message_decoded_callback)(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu);
|
||||
|
||||
/** \brief Function callback prototype.
|
||||
**/
|
||||
typedef int (*m3ap_MME_message_decoded_callback)(
|
||||
instance_t instance,
|
||||
uint32_t assocId,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu);
|
||||
|
||||
|
||||
typedef int (*m3ap_MME_message_decoded_callback)(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu);
|
||||
|
||||
/** \brief Encode a successfull outcome message
|
||||
\param buffer pointer to buffer in which data will be encoded
|
||||
|
||||
@@ -69,9 +69,11 @@ static char *m3ap_direction_String[] = {
|
||||
return(m3ap_direction_String[m3ap_dir]);
|
||||
}
|
||||
|
||||
|
||||
int m3ap_handle_message(instance_t instance, uint32_t assoc_id, int32_t stream,
|
||||
const uint8_t * const data, const uint32_t data_length)
|
||||
int m3ap_handle_message(instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
int32_t stream,
|
||||
const uint8_t *const data,
|
||||
const uint32_t data_length)
|
||||
{
|
||||
M3AP_M3AP_PDU_t pdu;
|
||||
int ret;
|
||||
|
||||
@@ -33,11 +33,14 @@
|
||||
|
||||
//void m3ap_handle_m2_setup_message(m2ap_eNB_instance_t *instance_p, m2ap_eNB_data_t *eNB_desc_p, int sctp_shutdown);
|
||||
|
||||
//int m3ap_eNB_handle_message(instance_t instance, uint32_t assoc_id, int32_t stream,
|
||||
//int m3ap_eNB_handle_message(instance_t instance, sctp_assoc_t assoc_id, int32_t stream,
|
||||
//const uint8_t * const data, const uint32_t data_length);
|
||||
|
||||
int m3ap_handle_message(instance_t instance, uint32_t assoc_id, int32_t stream,
|
||||
const uint8_t * const data, const uint32_t data_length);
|
||||
|
||||
int m3ap_handle_message(instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
int32_t stream,
|
||||
const uint8_t *const data,
|
||||
const uint32_t data_length);
|
||||
|
||||
#endif /* M2AP_MCE_HANDLERS_H_ */
|
||||
|
||||
@@ -30,8 +30,11 @@
|
||||
|
||||
#include "m3ap_itti_messaging.h"
|
||||
|
||||
void m3ap_MCE_itti_send_sctp_data_req(instance_t instance, int32_t assoc_id, uint8_t *buffer,
|
||||
uint32_t buffer_length, uint16_t stream)
|
||||
void m3ap_MCE_itti_send_sctp_data_req(instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
uint8_t *buffer,
|
||||
uint32_t buffer_length,
|
||||
uint16_t stream)
|
||||
{
|
||||
MessageDef *message_p;
|
||||
sctp_data_req_t *sctp_data_req;
|
||||
@@ -51,7 +54,7 @@ void m3ap_MCE_itti_send_sctp_data_req(instance_t instance, int32_t assoc_id, uin
|
||||
}
|
||||
|
||||
|
||||
void m3ap_MCE_itti_send_sctp_close_association(instance_t instance, int32_t assoc_id)
|
||||
void m3ap_MCE_itti_send_sctp_close_association(instance_t instance, sctp_assoc_t assoc_id)
|
||||
{
|
||||
MessageDef *message_p = NULL;
|
||||
sctp_close_association_t *sctp_close_association_p = NULL;
|
||||
@@ -63,9 +66,11 @@ void m3ap_MCE_itti_send_sctp_close_association(instance_t instance, int32_t asso
|
||||
itti_send_msg_to_task(TASK_SCTP, instance, message_p);
|
||||
}
|
||||
|
||||
|
||||
void m3ap_MME_itti_send_sctp_data_req(instance_t instance, int32_t assoc_id, uint8_t *buffer,
|
||||
uint32_t buffer_length, uint16_t stream)
|
||||
void m3ap_MME_itti_send_sctp_data_req(instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
uint8_t *buffer,
|
||||
uint32_t buffer_length,
|
||||
uint16_t stream)
|
||||
{
|
||||
MessageDef *message_p;
|
||||
sctp_data_req_t *sctp_data_req;
|
||||
@@ -83,7 +88,7 @@ void m3ap_MME_itti_send_sctp_data_req(instance_t instance, int32_t assoc_id, uin
|
||||
}
|
||||
|
||||
|
||||
void m3ap_MME_itti_send_sctp_close_association(instance_t instance, int32_t assoc_id)
|
||||
void m3ap_MME_itti_send_sctp_close_association(instance_t instance, sctp_assoc_t assoc_id)
|
||||
{
|
||||
MessageDef *message_p = NULL;
|
||||
sctp_close_association_t *sctp_close_association_p = NULL;
|
||||
|
||||
@@ -29,18 +29,21 @@
|
||||
#ifndef M3AP_MCE_ITTI_MESSAGING_H_
|
||||
#define M3AP_MCE_ITTI_MESSAGING_H_
|
||||
|
||||
void m3ap_MCE_itti_send_sctp_data_req(instance_t instance, int32_t assoc_id, uint8_t *buffer,
|
||||
uint32_t buffer_length, uint16_t stream);
|
||||
void m3ap_MCE_itti_send_sctp_data_req(instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
uint8_t *buffer,
|
||||
uint32_t buffer_length,
|
||||
uint16_t stream);
|
||||
|
||||
void m3ap_MCE_itti_send_sctp_close_association(instance_t instance, sctp_assoc_t assoc_id);
|
||||
|
||||
void m3ap_MCE_itti_send_sctp_close_association(instance_t instance, int32_t assoc_id);
|
||||
void m3ap_MME_itti_send_sctp_data_req(instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
uint8_t *buffer,
|
||||
uint32_t buffer_length,
|
||||
uint16_t stream);
|
||||
|
||||
|
||||
void m3ap_MME_itti_send_sctp_data_req(instance_t instance, int32_t assoc_id, uint8_t *buffer,
|
||||
uint32_t buffer_length, uint16_t stream);
|
||||
|
||||
|
||||
void m3ap_MME_itti_send_sctp_close_association(instance_t instance, int32_t assoc_id);
|
||||
void m3ap_MME_itti_send_sctp_close_association(instance_t instance, sctp_assoc_t assoc_id);
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -127,11 +127,7 @@ extern int asn1_xer_print;
|
||||
|
||||
/** \brief Function callback prototype.
|
||||
**/
|
||||
typedef int (*ngap_message_decoded_callback)(
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
NGAP_NGAP_PDU_t *pdu
|
||||
);
|
||||
typedef int (*ngap_message_decoded_callback)(sctp_assoc_t assoc_id, uint32_t stream, NGAP_NGAP_PDU_t *pdu);
|
||||
|
||||
/** \brief Handle criticality
|
||||
\param criticality Criticality of the IE
|
||||
|
||||
@@ -203,7 +203,7 @@ typedef struct ngap_gNB_amf_data_s {
|
||||
uint16_t cnx_id;
|
||||
|
||||
/* SCTP association id */
|
||||
int32_t assoc_id;
|
||||
sctp_assoc_t assoc_id;
|
||||
|
||||
/* This is served PLMN IDs communicated to the AMF via an index over the
|
||||
* MCC/MNC array in ngap_gNB_instance */
|
||||
|
||||
@@ -105,10 +105,8 @@ void ngap_handle_ng_setup_message(ngap_gNB_amf_data_t *amf_desc_p, int sctp_shut
|
||||
}
|
||||
}
|
||||
|
||||
static
|
||||
int ngap_gNB_handle_ng_setup_failure(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
NGAP_NGAP_PDU_t *pdu) {
|
||||
static int ngap_gNB_handle_ng_setup_failure(sctp_assoc_t assoc_id, uint32_t stream, NGAP_NGAP_PDU_t *pdu)
|
||||
{
|
||||
NGAP_NGSetupFailure_t *container;
|
||||
NGAP_NGSetupFailureIEs_t *ie;
|
||||
ngap_gNB_amf_data_t *amf_desc_p;
|
||||
@@ -142,10 +140,8 @@ int ngap_gNB_handle_ng_setup_failure(uint32_t assoc_id,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static
|
||||
int ngap_gNB_handle_ng_setup_response(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
NGAP_NGAP_PDU_t *pdu) {
|
||||
static int ngap_gNB_handle_ng_setup_response(sctp_assoc_t assoc_id, uint32_t stream, NGAP_NGAP_PDU_t *pdu)
|
||||
{
|
||||
NGAP_NGSetupResponse_t *container;
|
||||
NGAP_NGSetupResponseIEs_t *ie;
|
||||
ngap_gNB_amf_data_t *amf_desc_p;
|
||||
@@ -297,12 +293,8 @@ int ngap_gNB_handle_ng_setup_response(uint32_t assoc_id,
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static
|
||||
int ngap_gNB_handle_error_indication(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
NGAP_NGAP_PDU_t *pdu) {
|
||||
|
||||
static int ngap_gNB_handle_error_indication(sctp_assoc_t assoc_id, uint32_t stream, NGAP_NGAP_PDU_t *pdu)
|
||||
{
|
||||
NGAP_ErrorIndication_t *container;
|
||||
NGAP_ErrorIndicationIEs_t *ie;
|
||||
ngap_gNB_amf_data_t *amf_desc_p;
|
||||
@@ -678,7 +670,7 @@ int ngap_gNB_handle_error_indication(uint32_t assoc_id,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int ngap_gNB_handle_initial_context_request(uint32_t assoc_id, uint32_t stream, NGAP_NGAP_PDU_t *pdu)
|
||||
static int ngap_gNB_handle_initial_context_request(sctp_assoc_t assoc_id, uint32_t stream, NGAP_NGAP_PDU_t *pdu)
|
||||
{
|
||||
int i;
|
||||
ngap_gNB_amf_data_t *amf_desc_p = NULL;
|
||||
@@ -838,10 +830,8 @@ static int ngap_gNB_handle_initial_context_request(uint32_t assoc_id, uint32_t s
|
||||
return 0;
|
||||
}
|
||||
|
||||
static
|
||||
int ngap_gNB_handle_ue_context_release_command(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
NGAP_NGAP_PDU_t *pdu) {
|
||||
static int ngap_gNB_handle_ue_context_release_command(sctp_assoc_t assoc_id, uint32_t stream, NGAP_NGAP_PDU_t *pdu)
|
||||
{
|
||||
ngap_gNB_amf_data_t *amf_desc_p = NULL;
|
||||
MessageDef *message_p = NULL;
|
||||
uint64_t amf_ue_ngap_id;
|
||||
@@ -906,11 +896,9 @@ int ngap_gNB_handle_ue_context_release_command(uint32_t assoc_id,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static
|
||||
int ngap_gNB_handle_pdusession_setup_request(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
NGAP_NGAP_PDU_t *pdu) {
|
||||
// NGAP_AMF_UE_NGAP_ID_t amf_ue_ngap_id;
|
||||
static int ngap_gNB_handle_pdusession_setup_request(sctp_assoc_t assoc_id, uint32_t stream, NGAP_NGAP_PDU_t *pdu)
|
||||
{
|
||||
// NGAP_AMF_UE_NGAP_ID_t amf_ue_ngap_id;
|
||||
uint64_t amf_ue_ngap_id;
|
||||
NGAP_RAN_UE_NGAP_ID_t ran_ue_ngap_id;
|
||||
ngap_gNB_amf_data_t *amf_desc_p = NULL;
|
||||
@@ -989,12 +977,8 @@ int ngap_gNB_handle_pdusession_setup_request(uint32_t assoc_id,
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static
|
||||
int ngap_gNB_handle_paging(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
NGAP_NGAP_PDU_t *pdu) {
|
||||
|
||||
static int ngap_gNB_handle_paging(sctp_assoc_t assoc_id, uint32_t stream, NGAP_NGAP_PDU_t *pdu)
|
||||
{
|
||||
ngap_gNB_amf_data_t *amf_desc_p = NULL;
|
||||
ngap_gNB_instance_t *ngap_gNB_instance = NULL;
|
||||
NGAP_Paging_t *container;
|
||||
@@ -1082,7 +1066,7 @@ int ngap_gNB_handle_paging(uint32_t assoc_id,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int ngap_gNB_handle_pdusession_modify_request(uint32_t assoc_id, uint32_t stream, NGAP_NGAP_PDU_t *pdu)
|
||||
static int ngap_gNB_handle_pdusession_modify_request(sctp_assoc_t assoc_id, uint32_t stream, NGAP_NGAP_PDU_t *pdu)
|
||||
{
|
||||
ngap_gNB_amf_data_t *amf_desc_p = NULL;
|
||||
NGAP_PDUSessionResourceModifyRequest_t *container;
|
||||
@@ -1176,11 +1160,8 @@ static int ngap_gNB_handle_pdusession_modify_request(uint32_t assoc_id, uint32_t
|
||||
}
|
||||
|
||||
// handle pdu session release command and send it to rrc_end
|
||||
static
|
||||
int ngap_gNB_handle_pdusession_release_command(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
NGAP_NGAP_PDU_t *pdu) {
|
||||
|
||||
static int ngap_gNB_handle_pdusession_release_command(sctp_assoc_t assoc_id, uint32_t stream, NGAP_NGAP_PDU_t *pdu)
|
||||
{
|
||||
int i;
|
||||
ngap_gNB_amf_data_t *amf_desc_p = NULL;
|
||||
NGAP_PDUSessionResourceReleaseCommand_t *container;
|
||||
@@ -1263,29 +1244,21 @@ int ngap_gNB_handle_pdusession_release_command(uint32_t assoc_id,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static
|
||||
int ngap_gNB_handle_ng_path_switch_request_ack(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
NGAP_NGAP_PDU_t *pdu) {
|
||||
static int ngap_gNB_handle_ng_path_switch_request_ack(sctp_assoc_t assoc_id, uint32_t stream, NGAP_NGAP_PDU_t *pdu)
|
||||
{
|
||||
// TODO
|
||||
return 0;
|
||||
}
|
||||
|
||||
static
|
||||
int ngap_gNB_handle_ng_path_switch_request_failure(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
NGAP_NGAP_PDU_t *pdu) {
|
||||
|
||||
static int ngap_gNB_handle_ng_path_switch_request_failure(sctp_assoc_t assoc_id, uint32_t stream, NGAP_NGAP_PDU_t *pdu)
|
||||
{
|
||||
// TODO
|
||||
return 0;
|
||||
}
|
||||
|
||||
static
|
||||
int ngap_gNB_handle_ng_ENDC_pdusession_modification_confirm(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
NGAP_NGAP_PDU_t *pdu){
|
||||
|
||||
LOG_W(NGAP, "Implementation of NGAP Pdusession Modification confirm handler is pending...\n");
|
||||
static int ngap_gNB_handle_ng_ENDC_pdusession_modification_confirm(sctp_assoc_t assoc_id, uint32_t stream, NGAP_NGAP_PDU_t *pdu)
|
||||
{
|
||||
LOG_W(NGAP, "Implementation of NGAP Pdusession Modification confirm handler is pending...\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -1347,7 +1320,7 @@ const ngap_message_decoded_callback ngap_messages_callback[][3] = {
|
||||
|
||||
};
|
||||
|
||||
int ngap_gNB_handle_message(uint32_t assoc_id, int32_t stream, const uint8_t *const data, const uint32_t data_length)
|
||||
int ngap_gNB_handle_message(sctp_assoc_t assoc_id, int32_t stream, const uint8_t *const data, const uint32_t data_length)
|
||||
{
|
||||
NGAP_NGAP_PDU_t pdu;
|
||||
int ret;
|
||||
|
||||
@@ -32,7 +32,6 @@
|
||||
|
||||
void ngap_handle_ng_setup_message(ngap_gNB_amf_data_t *amf_desc_p, int sctp_shutdown);
|
||||
|
||||
int ngap_gNB_handle_message(uint32_t assoc_id, int32_t stream,
|
||||
const uint8_t * const data, const uint32_t data_length);
|
||||
int ngap_gNB_handle_message(sctp_assoc_t assoc_id, int32_t stream, const uint8_t *const data, const uint32_t data_length);
|
||||
|
||||
#endif /* NGAP_GNB_HANDLERS_H_ */
|
||||
|
||||
@@ -31,8 +31,11 @@
|
||||
|
||||
#include "ngap_gNB_itti_messaging.h"
|
||||
|
||||
void ngap_gNB_itti_send_sctp_data_req(instance_t instance, int32_t assoc_id, uint8_t *buffer,
|
||||
uint32_t buffer_length, uint16_t stream)
|
||||
void ngap_gNB_itti_send_sctp_data_req(instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
uint8_t *buffer,
|
||||
uint32_t buffer_length,
|
||||
uint16_t stream)
|
||||
{
|
||||
MessageDef *message_p;
|
||||
sctp_data_req_t *sctp_data_req;
|
||||
@@ -66,7 +69,7 @@ void ngap_gNB_itti_send_nas_downlink_ind(instance_t instance, uint32_t gNB_ue_ng
|
||||
itti_send_msg_to_task(TASK_RRC_GNB, instance, message_p);
|
||||
}
|
||||
|
||||
void ngap_gNB_itti_send_sctp_close_association(instance_t instance, int32_t assoc_id)
|
||||
void ngap_gNB_itti_send_sctp_close_association(instance_t instance, sctp_assoc_t assoc_id)
|
||||
{
|
||||
MessageDef *message_p = NULL;
|
||||
sctp_close_association_t *sctp_close_association_p = NULL;
|
||||
|
||||
@@ -30,13 +30,14 @@
|
||||
#ifndef NGAP_GNB_ITTI_MESSAGING_H_
|
||||
#define NGAP_GNB_ITTI_MESSAGING_H_
|
||||
|
||||
void ngap_gNB_itti_send_sctp_data_req(instance_t instance, int32_t assoc_id, uint8_t *buffer,
|
||||
uint32_t buffer_length, uint16_t stream);
|
||||
void ngap_gNB_itti_send_sctp_data_req(instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
uint8_t *buffer,
|
||||
uint32_t buffer_length,
|
||||
uint16_t stream);
|
||||
|
||||
void ngap_gNB_itti_send_nas_downlink_ind(instance_t instance, uint32_t gNB_ue_ngap_id, uint8_t *nas_pdu, uint32_t nas_pdu_length);
|
||||
|
||||
void ngap_gNB_itti_send_sctp_close_association(instance_t instance,
|
||||
int32_t assoc_id);
|
||||
|
||||
void ngap_gNB_itti_send_sctp_close_association(instance_t instance, sctp_assoc_t assoc_id);
|
||||
|
||||
#endif /* NGAP_GNB_ITTI_MESSAGING_H_ */
|
||||
|
||||
@@ -89,9 +89,7 @@ void ngap_gNB_insert_new_instance(ngap_gNB_instance_t *new_instance_p)
|
||||
new_instance_p, ngap_gNB_entries);
|
||||
}
|
||||
|
||||
struct ngap_gNB_amf_data_s *ngap_gNB_get_AMF(
|
||||
ngap_gNB_instance_t *instance_p,
|
||||
int32_t assoc_id, uint16_t cnx_id)
|
||||
struct ngap_gNB_amf_data_s *ngap_gNB_get_AMF(ngap_gNB_instance_t *instance_p, sctp_assoc_t assoc_id, uint16_t cnx_id)
|
||||
{
|
||||
struct ngap_gNB_amf_data_s temp;
|
||||
struct ngap_gNB_amf_data_s *found;
|
||||
|
||||
@@ -31,9 +31,7 @@
|
||||
#ifndef NGAP_GNB_MANAGEMENT_PROCEDURES_H_
|
||||
#define NGAP_GNB_MANAGEMENT_PROCEDURES_H_
|
||||
|
||||
struct ngap_gNB_amf_data_s *ngap_gNB_get_AMF(
|
||||
ngap_gNB_instance_t *instance_p,
|
||||
int32_t assoc_id, uint16_t cnx_id);
|
||||
struct ngap_gNB_amf_data_s *ngap_gNB_get_AMF(ngap_gNB_instance_t *instance_p, sctp_assoc_t assoc_id, uint16_t cnx_id);
|
||||
|
||||
struct ngap_gNB_amf_data_s *ngap_gNB_get_AMF_from_instance(ngap_gNB_instance_t *instance_p);
|
||||
|
||||
|
||||
@@ -292,9 +292,7 @@ int ngap_gNB_handle_nas_first_req(instance_t instance, ngap_nas_first_req_t *UEf
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
int ngap_gNB_handle_nas_downlink(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
NGAP_NGAP_PDU_t *pdu)
|
||||
int ngap_gNB_handle_nas_downlink(sctp_assoc_t assoc_id, uint32_t stream, NGAP_NGAP_PDU_t *pdu)
|
||||
//------------------------------------------------------------------------------
|
||||
{
|
||||
|
||||
|
||||
@@ -31,10 +31,7 @@
|
||||
#ifndef NGAP_GNB_NAS_PROCEDURES_H_
|
||||
#define NGAP_GNB_NAS_PROCEDURES_H_
|
||||
|
||||
int ngap_gNB_handle_nas_downlink(
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
NGAP_NGAP_PDU_t *pdu);
|
||||
int ngap_gNB_handle_nas_downlink(sctp_assoc_t assoc_id, uint32_t stream, NGAP_NGAP_PDU_t *pdu);
|
||||
|
||||
int ngap_gNB_nas_uplink(instance_t instance, ngap_uplink_nas_t *ngap_uplink_nas_p);
|
||||
|
||||
|
||||
@@ -45,17 +45,13 @@
|
||||
|
||||
#include "assertions.h"
|
||||
|
||||
int ngap_gNB_handle_overload_start(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
NGAP_NGAP_PDU_t *pdu)
|
||||
int ngap_gNB_handle_overload_start(sctp_assoc_t assoc_id, uint32_t stream, NGAP_NGAP_PDU_t *pdu)
|
||||
{
|
||||
//TODO
|
||||
return 0;
|
||||
}
|
||||
|
||||
int ngap_gNB_handle_overload_stop(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
NGAP_NGAP_PDU_t *pdu)
|
||||
int ngap_gNB_handle_overload_stop(sctp_assoc_t assoc_id, uint32_t stream, NGAP_NGAP_PDU_t *pdu)
|
||||
{
|
||||
/* We received Overload stop message, meaning that the AMF is no more
|
||||
* overloaded. This is an empty message, with only message header and no
|
||||
|
||||
@@ -36,9 +36,7 @@
|
||||
// int ngap_gNB_handle_overload_start(gNB_amf_desc_t *gNB_desc_p,
|
||||
// sctp_queue_item_t *packet_p,
|
||||
// struct ngap_message_s *message_p);
|
||||
int ngap_gNB_handle_overload_start(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
NGAP_NGAP_PDU_t *pdu);
|
||||
int ngap_gNB_handle_overload_start(sctp_assoc_t assoc_id, uint32_t stream, NGAP_NGAP_PDU_t *pdu);
|
||||
|
||||
/**
|
||||
* \brief Handle an overload stop message
|
||||
@@ -46,8 +44,6 @@ int ngap_gNB_handle_overload_start(uint32_t assoc_id,
|
||||
// int ngap_gNB_handle_overload_stop(gNB_amf_desc_t *gNB_desc_p,
|
||||
// sctp_queue_item_t *packet_p,
|
||||
// struct ngap_message_s *message_p);
|
||||
int ngap_gNB_handle_overload_stop(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
NGAP_NGAP_PDU_t *pdu);
|
||||
int ngap_gNB_handle_overload_stop(sctp_assoc_t assoc_id, uint32_t stream, NGAP_NGAP_PDU_t *pdu);
|
||||
|
||||
#endif /* NGAP_GNB_OVERLOAD_H_ */
|
||||
|
||||
@@ -45,18 +45,13 @@
|
||||
#include "ngap_gNB_itti_messaging.h"
|
||||
#include "ngap_gNB_management_procedures.h"
|
||||
|
||||
|
||||
int ngap_gNB_handle_trace_start(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
NGAP_NGAP_PDU_t *pdu)
|
||||
int ngap_gNB_handle_trace_start(sctp_assoc_t assoc_id, uint32_t stream, NGAP_NGAP_PDU_t *pdu)
|
||||
{
|
||||
//TODO
|
||||
return 0;
|
||||
}
|
||||
|
||||
int ngap_gNB_handle_deactivate_trace(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
NGAP_NGAP_PDU_t *message_p)
|
||||
int ngap_gNB_handle_deactivate_trace(sctp_assoc_t assoc_id, uint32_t stream, NGAP_NGAP_PDU_t *message_p)
|
||||
{
|
||||
// NGAP_DeactivateTraceIEs_t *deactivate_trace_p;
|
||||
//
|
||||
|
||||
@@ -30,12 +30,8 @@
|
||||
#ifndef NGAP_GNB_TRACE_H_
|
||||
#define NGAP_GNB_TRACE_H_
|
||||
|
||||
int ngap_gNB_handle_trace_start(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
NGAP_NGAP_PDU_t *pdu);
|
||||
int ngap_gNB_handle_trace_start(sctp_assoc_t assoc_id, uint32_t stream, NGAP_NGAP_PDU_t *pdu);
|
||||
|
||||
int ngap_gNB_handle_deactivate_trace(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
NGAP_NGAP_PDU_t *pdu);
|
||||
int ngap_gNB_handle_deactivate_trace(sctp_assoc_t assoc_id, uint32_t stream, NGAP_NGAP_PDU_t *pdu);
|
||||
|
||||
#endif /* NGAP_GNB_TRACE_H_ */
|
||||
|
||||
@@ -28,6 +28,8 @@
|
||||
|
||||
#include "common/utils/LOG/log.h"
|
||||
#include "oai_asn1.h"
|
||||
#include "netinet/in.h"
|
||||
#include "netinet/sctp.h"
|
||||
|
||||
#include "S1AP_ProtocolIE-Field.h"
|
||||
#include "S1AP_S1AP-PDU.h"
|
||||
@@ -85,11 +87,7 @@ extern int asn1_xer_print;
|
||||
} while(0)
|
||||
/** \brief Function callback prototype.
|
||||
**/
|
||||
typedef int (*s1ap_message_decoded_callback)(
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu
|
||||
);
|
||||
typedef int (*s1ap_message_decoded_callback)(sctp_assoc_t assoc_id, uint32_t stream, S1AP_S1AP_PDU_t *pdu);
|
||||
|
||||
/** \brief Handle criticality
|
||||
\param criticality Criticality of the IE
|
||||
|
||||
@@ -156,7 +156,7 @@ typedef struct s1ap_eNB_mme_data_s {
|
||||
uint16_t cnx_id;
|
||||
|
||||
/* SCTP association id */
|
||||
int32_t assoc_id;
|
||||
sctp_assoc_t assoc_id;
|
||||
|
||||
/* This is served PLMN IDs communicated to the MME via an index over the
|
||||
* MCC/MNC array in s1ap_eNB_instance */
|
||||
|
||||
@@ -50,64 +50,28 @@
|
||||
#include "assertions.h"
|
||||
#include "conversions.h"
|
||||
|
||||
static
|
||||
int s1ap_eNB_handle_s1_setup_response(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu);
|
||||
static
|
||||
int s1ap_eNB_handle_s1_setup_failure(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu);
|
||||
static int s1ap_eNB_handle_s1_setup_response(sctp_assoc_t assoc_id, uint32_t stream, S1AP_S1AP_PDU_t *pdu);
|
||||
static int s1ap_eNB_handle_s1_setup_failure(sctp_assoc_t assoc_id, uint32_t stream, S1AP_S1AP_PDU_t *pdu);
|
||||
|
||||
static
|
||||
int s1ap_eNB_handle_error_indication(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu);
|
||||
static int s1ap_eNB_handle_error_indication(sctp_assoc_t assoc_id, uint32_t stream, S1AP_S1AP_PDU_t *pdu);
|
||||
|
||||
static
|
||||
int s1ap_eNB_handle_initial_context_request(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu);
|
||||
static int s1ap_eNB_handle_initial_context_request(sctp_assoc_t assoc_id, uint32_t stream, S1AP_S1AP_PDU_t *pdu);
|
||||
|
||||
static
|
||||
int s1ap_eNB_handle_ue_context_release_command(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu);
|
||||
static int s1ap_eNB_handle_ue_context_release_command(sctp_assoc_t assoc_id, uint32_t stream, S1AP_S1AP_PDU_t *pdu);
|
||||
|
||||
static
|
||||
int s1ap_eNB_handle_e_rab_setup_request(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu);
|
||||
static int s1ap_eNB_handle_e_rab_setup_request(sctp_assoc_t assoc_id, uint32_t stream, S1AP_S1AP_PDU_t *pdu);
|
||||
|
||||
static
|
||||
int s1ap_eNB_handle_paging(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu);
|
||||
static int s1ap_eNB_handle_paging(sctp_assoc_t assoc_id, uint32_t stream, S1AP_S1AP_PDU_t *pdu);
|
||||
|
||||
static
|
||||
int s1ap_eNB_handle_e_rab_modify_request(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu);
|
||||
static int s1ap_eNB_handle_e_rab_modify_request(sctp_assoc_t assoc_id, uint32_t stream, S1AP_S1AP_PDU_t *pdu);
|
||||
|
||||
static
|
||||
int s1ap_eNB_handle_e_rab_release_command(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu);
|
||||
static int s1ap_eNB_handle_e_rab_release_command(sctp_assoc_t assoc_id, uint32_t stream, S1AP_S1AP_PDU_t *pdu);
|
||||
|
||||
static
|
||||
int s1ap_eNB_handle_s1_path_switch_request_ack(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu);
|
||||
static int s1ap_eNB_handle_s1_path_switch_request_ack(sctp_assoc_t assoc_id, uint32_t stream, S1AP_S1AP_PDU_t *pdu);
|
||||
|
||||
static
|
||||
int s1ap_eNB_handle_s1_path_switch_request_failure(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu);
|
||||
static int s1ap_eNB_handle_s1_path_switch_request_failure(sctp_assoc_t assoc_id, uint32_t stream, S1AP_S1AP_PDU_t *pdu);
|
||||
|
||||
static
|
||||
int s1ap_eNB_handle_s1_ENDC_e_rab_modification_confirm(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu);
|
||||
static int s1ap_eNB_handle_s1_ENDC_e_rab_modification_confirm(sctp_assoc_t assoc_id, uint32_t stream, S1AP_S1AP_PDU_t *pdu);
|
||||
|
||||
static int s1ap_eNB_snd_s1_setup_request(
|
||||
s1ap_eNB_instance_t *instance_p,
|
||||
@@ -228,8 +192,8 @@ void s1ap_handle_s1_setup_message(s1ap_eNB_mme_data_t *mme_desc_p, int sctp_shut
|
||||
}
|
||||
}
|
||||
|
||||
int s1ap_eNB_handle_message(uint32_t assoc_id, int32_t stream,
|
||||
const uint8_t *const data, const uint32_t data_length) {
|
||||
int s1ap_eNB_handle_message(sctp_assoc_t assoc_id, int32_t stream, const uint8_t *const data, const uint32_t data_length)
|
||||
{
|
||||
S1AP_S1AP_PDU_t pdu;
|
||||
int ret;
|
||||
DevAssert(data != NULL);
|
||||
@@ -268,10 +232,8 @@ int s1ap_eNB_handle_message(uint32_t assoc_id, int32_t stream,
|
||||
return ret;
|
||||
}
|
||||
|
||||
static
|
||||
int s1ap_eNB_handle_s1_setup_failure(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu) {
|
||||
static int s1ap_eNB_handle_s1_setup_failure(sctp_assoc_t assoc_id, uint32_t stream, S1AP_S1AP_PDU_t *pdu)
|
||||
{
|
||||
S1AP_S1SetupFailure_t *container;
|
||||
S1AP_S1SetupFailureIEs_t *ie;
|
||||
s1ap_eNB_mme_data_t *mme_desc_p;
|
||||
@@ -361,10 +323,8 @@ int s1ap_eNB_handle_s1_setup_failure(uint32_t assoc_id,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static
|
||||
int s1ap_eNB_handle_s1_setup_response(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu) {
|
||||
static int s1ap_eNB_handle_s1_setup_response(sctp_assoc_t assoc_id, uint32_t stream, S1AP_S1AP_PDU_t *pdu)
|
||||
{
|
||||
S1AP_S1SetupResponse_t *container;
|
||||
S1AP_S1SetupResponseIEs_t *ie;
|
||||
s1ap_eNB_mme_data_t *mme_desc_p;
|
||||
@@ -478,11 +438,8 @@ int s1ap_eNB_handle_s1_setup_response(uint32_t assoc_id,
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static
|
||||
int s1ap_eNB_handle_error_indication(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu) {
|
||||
static int s1ap_eNB_handle_error_indication(sctp_assoc_t assoc_id, uint32_t stream, S1AP_S1AP_PDU_t *pdu)
|
||||
{
|
||||
S1AP_ErrorIndication_t *container;
|
||||
S1AP_ErrorIndicationIEs_t *ie;
|
||||
s1ap_eNB_mme_data_t *mme_desc_p;
|
||||
@@ -817,11 +774,8 @@ int s1ap_eNB_handle_error_indication(uint32_t assoc_id,
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static
|
||||
int s1ap_eNB_handle_initial_context_request(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu) {
|
||||
static int s1ap_eNB_handle_initial_context_request(sctp_assoc_t assoc_id, uint32_t stream, S1AP_S1AP_PDU_t *pdu)
|
||||
{
|
||||
int i;
|
||||
s1ap_eNB_mme_data_t *mme_desc_p = NULL;
|
||||
s1ap_eNB_ue_context_t *ue_desc_p = NULL;
|
||||
@@ -987,11 +941,8 @@ int s1ap_eNB_handle_initial_context_request(uint32_t assoc_id,
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static
|
||||
int s1ap_eNB_handle_ue_context_release_command(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu) {
|
||||
static int s1ap_eNB_handle_ue_context_release_command(sctp_assoc_t assoc_id, uint32_t stream, S1AP_S1AP_PDU_t *pdu)
|
||||
{
|
||||
s1ap_eNB_mme_data_t *mme_desc_p = NULL;
|
||||
s1ap_eNB_ue_context_t *ue_desc_p = NULL;
|
||||
MessageDef *message_p = NULL;
|
||||
@@ -1078,13 +1029,10 @@ int s1ap_eNB_handle_ue_context_release_command(uint32_t assoc_id,
|
||||
S1AP_ERROR( "Mandatory Element Nothing : UEContextReleaseCommand(UE_S1AP_IDs)\n" );
|
||||
return -1;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
static
|
||||
int s1ap_eNB_handle_e_rab_setup_request(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu) {
|
||||
static int s1ap_eNB_handle_e_rab_setup_request(sctp_assoc_t assoc_id, uint32_t stream, S1AP_S1AP_PDU_t *pdu)
|
||||
{
|
||||
int i;
|
||||
S1AP_MME_UE_S1AP_ID_t mme_ue_s1ap_id;
|
||||
S1AP_ENB_UE_S1AP_ID_t enb_ue_s1ap_id;
|
||||
@@ -1204,10 +1152,8 @@ int s1ap_eNB_handle_e_rab_setup_request(uint32_t assoc_id,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static
|
||||
int s1ap_eNB_handle_paging(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu) {
|
||||
static int s1ap_eNB_handle_paging(sctp_assoc_t assoc_id, uint32_t stream, S1AP_S1AP_PDU_t *pdu)
|
||||
{
|
||||
s1ap_eNB_mme_data_t *mme_desc_p = NULL;
|
||||
s1ap_eNB_instance_t *s1ap_eNB_instance = NULL;
|
||||
MessageDef *message_p = NULL;
|
||||
@@ -1374,10 +1320,8 @@ int s1ap_eNB_handle_paging(uint32_t assoc_id,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static
|
||||
int s1ap_eNB_handle_e_rab_modify_request(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu) {
|
||||
static int s1ap_eNB_handle_e_rab_modify_request(sctp_assoc_t assoc_id, uint32_t stream, S1AP_S1AP_PDU_t *pdu)
|
||||
{
|
||||
int i, nb_of_e_rabs_failed;
|
||||
s1ap_eNB_mme_data_t *mme_desc_p = NULL;
|
||||
s1ap_eNB_ue_context_t *ue_desc_p = NULL;
|
||||
@@ -1510,10 +1454,8 @@ int s1ap_eNB_handle_e_rab_modify_request(uint32_t assoc_id,
|
||||
return 0;
|
||||
}
|
||||
// handle e-rab release command and send it to rrc_end
|
||||
static
|
||||
int s1ap_eNB_handle_e_rab_release_command(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu) {
|
||||
static int s1ap_eNB_handle_e_rab_release_command(sctp_assoc_t assoc_id, uint32_t stream, S1AP_S1AP_PDU_t *pdu)
|
||||
{
|
||||
int i;
|
||||
s1ap_eNB_mme_data_t *mme_desc_p = NULL;
|
||||
s1ap_eNB_ue_context_t *ue_desc_p = NULL;
|
||||
@@ -1614,10 +1556,8 @@ int s1ap_eNB_handle_e_rab_release_command(uint32_t assoc_id,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static
|
||||
int s1ap_eNB_handle_s1_path_switch_request_ack(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu) {
|
||||
static int s1ap_eNB_handle_s1_path_switch_request_ack(sctp_assoc_t assoc_id, uint32_t stream, S1AP_S1AP_PDU_t *pdu)
|
||||
{
|
||||
s1ap_eNB_mme_data_t *mme_desc_p = NULL;
|
||||
s1ap_eNB_ue_context_t *ue_desc_p = NULL;
|
||||
MessageDef *message_p = NULL;
|
||||
@@ -1776,10 +1716,8 @@ int s1ap_eNB_handle_s1_path_switch_request_ack(uint32_t assoc_id,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static
|
||||
int s1ap_eNB_handle_s1_path_switch_request_failure(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu) {
|
||||
static int s1ap_eNB_handle_s1_path_switch_request_failure(sctp_assoc_t assoc_id, uint32_t stream, S1AP_S1AP_PDU_t *pdu)
|
||||
{
|
||||
s1ap_eNB_mme_data_t *mme_desc_p = NULL;
|
||||
S1AP_PathSwitchRequestFailure_t *pathSwitchRequestFailure;
|
||||
S1AP_PathSwitchRequestFailureIEs_t *ie;
|
||||
@@ -1843,12 +1781,9 @@ int s1ap_eNB_handle_s1_path_switch_request_failure(uint32_t assoc_
|
||||
return 0;
|
||||
}
|
||||
|
||||
static
|
||||
int s1ap_eNB_handle_s1_ENDC_e_rab_modification_confirm(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu){
|
||||
|
||||
LOG_I(S1AP, "Received S1AP E-RAB Modification confirm message \n");
|
||||
static int s1ap_eNB_handle_s1_ENDC_e_rab_modification_confirm(sctp_assoc_t assoc_id, uint32_t stream, S1AP_S1AP_PDU_t *pdu)
|
||||
{
|
||||
LOG_I(S1AP, "Received S1AP E-RAB Modification confirm message \n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user