From 496e81ef92f36105ce58f7683f5905e804a039ec Mon Sep 17 00:00:00 2001 From: Cedric Roux <cedric.roux@eurecom.fr> Date: Wed, 20 Nov 2013 09:03:47 +0000 Subject: [PATCH] - Fix dependencies in S1AP Makefile - Added xer print for initial context setup request message git-svn-id: http://svn.eurecom.fr/openair4G/trunk@4449 818b1a75-f10b-46b9-bf7c-635c3b92a50f --- openair-cn/S1AP/Makefile.eNB | 4 +-- openair-cn/S1AP/s1ap_eNB_decoder.c | 43 +++++++++++++++++++++++------- 2 files changed, 35 insertions(+), 12 deletions(-) diff --git a/openair-cn/S1AP/Makefile.eNB b/openair-cn/S1AP/Makefile.eNB index bed40953eb..c0d56c3e14 100644 --- a/openair-cn/S1AP/Makefile.eNB +++ b/openair-cn/S1AP/Makefile.eNB @@ -84,15 +84,13 @@ $(S1AP_OBJDIR)/s1ap_asn1regen.stamp: $(ASN1DIR)/$(ASN1RELDIR)/S1AP-CommonDataTyp (cd $(ASN1MESSAGESDIR) && asn1c -fhave_native64 -gen-PER $^) echo Timestamp > $@ -.INTERMEDIATE = $(S1AP_OBJDIR)/s1ap_ieregen.stamp $(S1AP_OBJDIR)/s1ap_asn1regen.stamp - libs1ap.a: $(S1AP_OBJDIR)/s1ap_ieregen.stamp $(S1AP_OBJDIR)/s1ap_asn1regen.stamp $(libs1ap_OBJECTS) @echo Creating S1AP archive @$(AR) rcs $@ $(libs1ap_OBJECTS) clean: @$(RM_F_V) $(libs1ap_OBJECTS) - @$(RM_F_V) .*.d + @$(RM_F_V) *.d @$(RM_F_V) $(addprefix MESSAGES/, $(S1AP_ASN_MODULE_SOURCES)) @$(RM_F_V) $(addprefix MESSAGES/, $(S1AP_ASN_MODULE_SOURCES_R9)) @$(RM_F_V) $(addprefix MESSAGES/, $(S1AP_ASN_MODULE_SOURCES_R10)) diff --git a/openair-cn/S1AP/s1ap_eNB_decoder.c b/openair-cn/S1AP/s1ap_eNB_decoder.c index d1f983c662..6c362aaf72 100644 --- a/openair-cn/S1AP/s1ap_eNB_decoder.c +++ b/openair-cn/S1AP/s1ap_eNB_decoder.c @@ -48,14 +48,22 @@ static int s1ap_eNB_decode_initiating_message(s1ap_message *message, S1ap_InitiatingMessage_t *initiating_p) { - char message_string[10000]; int ret = -1; + MessageDef *message_p; + char *message_string = NULL; + size_t message_string_size; + DevAssert(initiating_p != NULL); + message_string = calloc(10000, sizeof(char)); + + s1ap_string_total_size = 0; + message->procedureCode = initiating_p->procedureCode; message->criticality = initiating_p->criticality; - switch(initiating_p->procedureCode) { + switch(initiating_p->procedureCode) + { case S1ap_ProcedureCode_id_downlinkNASTransport: ret = s1ap_decode_s1ap_downlinknastransporties( &message->msg.s1ap_DownlinkNASTransportIEs, &initiating_p->value); @@ -63,14 +71,26 @@ static int s1ap_eNB_decode_initiating_message(s1ap_message *message, break; case S1ap_ProcedureCode_id_InitialContextSetup: - return s1ap_decode_s1ap_initialcontextsetuprequesties( + ret = s1ap_decode_s1ap_initialcontextsetuprequesties( &message->msg.s1ap_InitialContextSetupRequestIEs, &initiating_p->value); + s1ap_xer_print_s1ap_initialcontextsetuprequest(s1ap_xer__print2sp, message_string, message); + break; default: - S1AP_DEBUG("Unknown procedure ID (%d) for initiating message\n", + S1AP_ERROR("Unknown procedure ID (%d) for initiating message\n", (int)initiating_p->procedureCode); - break; + return -1; } + + message_string_size = strlen(message_string); + + message_p = itti_alloc_new_message_sized(TASK_S1AP, GENERIC_LOG, message_string_size); + memcpy(&message_p->msg.generic_log, message_string, message_string_size); + + itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p); + + free(message_string); + return ret; } @@ -84,18 +104,23 @@ static int s1ap_eNB_decode_successful_outcome(s1ap_message *message, DevAssert(successfullOutcome_p != NULL); + message_string = malloc(sizeof(char) * 10000); + + s1ap_string_total_size = 0; + message->procedureCode = successfullOutcome_p->procedureCode; message->criticality = successfullOutcome_p->criticality; - switch(successfullOutcome_p->procedureCode) { + switch(successfullOutcome_p->procedureCode) + { case S1ap_ProcedureCode_id_S1Setup: - message_string = malloc(sizeof(char) * 10000); ret = s1ap_decode_s1ap_s1setupresponseies( &message->msg.s1ap_S1SetupResponseIEs, &successfullOutcome_p->value); s1ap_xer_print_s1ap_s1setupresponse(s1ap_xer__print2sp, message_string, message); break; + default: - S1AP_DEBUG("Unknown procedure ID (%d) for successfull outcome message\n", + S1AP_ERROR("Unknown procedure ID (%d) for successfull outcome message\n", (int)successfullOutcome_p->procedureCode); return -1; } @@ -127,7 +152,7 @@ static int s1ap_eNB_decode_unsuccessful_outcome(s1ap_message *message, &message->msg.s1ap_S1SetupFailureIEs, &unSuccessfullOutcome_p->value); default: - S1AP_DEBUG("Unknown procedure ID (%d) for unsuccessfull outcome message\n", + S1AP_ERROR("Unknown procedure ID (%d) for unsuccessfull outcome message\n", (int)unSuccessfullOutcome_p->procedureCode); break; } -- GitLab