UE context release command TO BE CONTINUED
git-svn-id: http://svn.eurecom.fr/openair4G/trunk@5879 818b1a75-f10b-46b9-bf7c-635c3b92a50f
This commit is contained in:
@@ -3340,6 +3340,10 @@ void *rrc_enb_task(
|
||||
rrc_eNB_process_S1AP_UE_CONTEXT_RELEASE_REQ(msg_p, msg_name_p, instance);
|
||||
break;
|
||||
|
||||
case S1AP_UE_CONTEXT_RELEASE_COMMAND:
|
||||
rrc_eNB_process_S1AP_UE_CONTEXT_RELEASE_COMMAND(msg_p, msg_name_p, instance);
|
||||
break;
|
||||
|
||||
case GTPV1U_ENB_CREATE_TUNNEL_RESP:
|
||||
rrc_eNB_process_GTPV1U_CREATE_TUNNEL_RESP(msg_p, msg_name_p, instance);
|
||||
break;
|
||||
|
||||
@@ -768,6 +768,7 @@ int rrc_eNB_process_S1AP_UE_CTXT_MODIFICATION_REQ(MessageDef *msg_p, const char
|
||||
}
|
||||
|
||||
/*------------------------------------------------------------------------------*/
|
||||
#warning "LG Note this message is only from eNB to MME, proc to be deleted"
|
||||
int rrc_eNB_process_S1AP_UE_CONTEXT_RELEASE_REQ (MessageDef *msg_p, const char *msg_name, instance_t instance) {
|
||||
uint32_t eNB_ue_s1ap_id;
|
||||
uint8_t ue_index;
|
||||
@@ -807,5 +808,50 @@ int rrc_eNB_process_S1AP_UE_CONTEXT_RELEASE_REQ (MessageDef *msg_p, const char *
|
||||
}
|
||||
}
|
||||
|
||||
/*------------------------------------------------------------------------------*/
|
||||
int rrc_eNB_process_S1AP_UE_CONTEXT_RELEASE_COMMAND (MessageDef *msg_p, const char *msg_name, instance_t instance) {
|
||||
uint32_t eNB_ue_s1ap_id;
|
||||
uint8_t ue_index;
|
||||
|
||||
eNB_ue_s1ap_id = S1AP_UE_CONTEXT_RELEASE_COMMAND(msg_p).eNB_ue_s1ap_id;
|
||||
ue_index = get_UE_index_from_eNB_ue_s1ap_id(instance, eNB_ue_s1ap_id);
|
||||
|
||||
if (ue_index == UE_INDEX_INVALID) {
|
||||
/* Can not associate this message to an UE index */
|
||||
MessageDef *msg_complete_p;
|
||||
|
||||
LOG_W(RRC,
|
||||
"[eNB %d] In S1AP_UE_CONTEXT_RELEASE_COMMAND: unknown UE from eNB_ue_s1ap_id (%d) for eNB %d\n",
|
||||
instance,
|
||||
eNB_ue_s1ap_id);
|
||||
|
||||
msg_complete_p = itti_alloc_new_message(TASK_RRC_ENB, S1AP_UE_CONTEXT_RELEASE_COMPLETE);
|
||||
S1AP_UE_CONTEXT_RELEASE_COMPLETE(msg_complete_p).eNB_ue_s1ap_id = eNB_ue_s1ap_id;
|
||||
itti_send_msg_to_task(TASK_S1AP, instance, msg_complete_p);
|
||||
|
||||
return (-1);
|
||||
}
|
||||
else {
|
||||
#warning "TO DO"
|
||||
// rrc_eNB_connection_release(instance, ue_index))
|
||||
LOG_W(RRC,
|
||||
"[eNB %d] In S1AP_UE_CONTEXT_RELEASE_COMMAND: TODO call rrc_eNB_connection_release for eNB %d\n",
|
||||
instance,
|
||||
ue_index);
|
||||
/* Send tmp response if rrc_eNB_connection_release not coded*/
|
||||
{
|
||||
MessageDef *msg_complete_p;
|
||||
|
||||
msg_complete_p = itti_alloc_new_message(TASK_RRC_ENB, S1AP_UE_CONTEXT_RELEASE_COMPLETE);
|
||||
S1AP_UE_CONTEXT_RELEASE_COMPLETE(msg_complete_p).eNB_ue_s1ap_id = eNB_ue_s1ap_id;
|
||||
|
||||
itti_send_msg_to_task(TASK_S1AP, instance, msg_complete_p);
|
||||
}
|
||||
|
||||
return (0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# endif /* defined(ENABLE_ITTI) */
|
||||
#endif /* defined(ENABLE_USE_MME) */
|
||||
|
||||
@@ -119,6 +119,15 @@ int rrc_eNB_process_S1AP_UE_CTXT_MODIFICATION_REQ(MessageDef *msg_p, const char
|
||||
*/
|
||||
int rrc_eNB_process_S1AP_UE_CONTEXT_RELEASE_REQ (MessageDef *msg_p, const char *msg_name, instance_t instance);
|
||||
|
||||
/*! \fn rrc_eNB_process_S1AP_UE_CONTEXT_RELEASE_COMMAND(MessageDef *msg_p, const char *msg_name, instance_t instance)
|
||||
*\brief process a rrc_eNB_process_S1AP_UE_CONTEXT_RELEASE_COMMAND message received from S1AP.
|
||||
*\param msg_p Message received by RRC.
|
||||
*\param msg_name Message name.
|
||||
*\param instance Message instance.
|
||||
*\return 0 when successful, -1 if the UE index can not be retrieved.
|
||||
*/
|
||||
int rrc_eNB_process_S1AP_UE_CONTEXT_RELEASE_COMMAND (MessageDef *msg_p, const char *msg_name, instance_t instance);
|
||||
|
||||
# endif
|
||||
# endif /* defined(ENABLE_USE_MME) */
|
||||
#endif /* RRC_ENB_S1AP_H_ */
|
||||
|
||||
Reference in New Issue
Block a user