Still ASN1 display bug
This commit is contained in:
@@ -60,6 +60,7 @@
|
|||||||
#include <libxslt/transform.h>
|
#include <libxslt/transform.h>
|
||||||
#include <libxslt/xsltutils.h>
|
#include <libxslt/xsltutils.h>
|
||||||
|
|
||||||
|
#include "intertask_interface_init.h"
|
||||||
#include "assertions.h"
|
#include "assertions.h"
|
||||||
#include "play_scenario.h"
|
#include "play_scenario.h"
|
||||||
//#include "s1ap_eNB.h"
|
//#include "s1ap_eNB.h"
|
||||||
@@ -470,7 +471,7 @@ int hex2data(unsigned char * const data, const unsigned char * const hexstring,
|
|||||||
char buf[5] = {'0', 'x', pos[0], pos[1], 0};
|
char buf[5] = {'0', 'x', pos[0], pos[1], 0};
|
||||||
data[count] = strtol(buf, &endptr, 16);
|
data[count] = strtol(buf, &endptr, 16);
|
||||||
pos += 2 * sizeof(char);
|
pos += 2 * sizeof(char);
|
||||||
AssertFatal (endptr[0] == '\0', "ERROR %s() non-hexadecimal character encountered buf %p endptr %p buf %s count %d pos %p\n", __FUNCTION__, buf, endptr, buf, count, pos);
|
AssertFatal (endptr[0] == '\0', "ERROR %s() non-hexadecimal character encountered buf %p endptr %p buf %s count %zu pos %p\n", __FUNCTION__, buf, endptr, buf, count, pos);
|
||||||
AssertFatal (endptr != buf, "ERROR %s() No digits were found\n", __FUNCTION__);
|
AssertFatal (endptr != buf, "ERROR %s() No digits were found\n", __FUNCTION__);
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
@@ -553,10 +554,13 @@ void ip_str2test_ip(const xmlChar * const ip_str, test_ip_t * const ip)
|
|||||||
int test_s1ap_decode_initiating_message(s1ap_message *message,
|
int test_s1ap_decode_initiating_message(s1ap_message *message,
|
||||||
S1ap_InitiatingMessage_t *initiating_p)
|
S1ap_InitiatingMessage_t *initiating_p)
|
||||||
{
|
{
|
||||||
|
char *message_string = NULL;
|
||||||
int ret = -1;
|
int ret = -1;
|
||||||
|
|
||||||
DevAssert(initiating_p != NULL);
|
DevAssert(initiating_p != NULL);
|
||||||
|
|
||||||
|
message_string = calloc(20000, sizeof(char));
|
||||||
|
AssertFatal (NULL != message_string, "ERROR malloc()failed!\n");
|
||||||
message->procedureCode = initiating_p->procedureCode;
|
message->procedureCode = initiating_p->procedureCode;
|
||||||
message->criticality = initiating_p->criticality;
|
message->criticality = initiating_p->criticality;
|
||||||
|
|
||||||
@@ -565,58 +569,65 @@ int test_s1ap_decode_initiating_message(s1ap_message *message,
|
|||||||
ret = s1ap_decode_s1ap_downlinknastransporties(
|
ret = s1ap_decode_s1ap_downlinknastransporties(
|
||||||
&message->msg.s1ap_DownlinkNASTransportIEs,
|
&message->msg.s1ap_DownlinkNASTransportIEs,
|
||||||
&initiating_p->value);
|
&initiating_p->value);
|
||||||
|
s1ap_xer_print_s1ap_downlinknastransport(s1ap_xer__print2sp, message_string, message);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case S1ap_ProcedureCode_id_InitialContextSetup:
|
case S1ap_ProcedureCode_id_InitialContextSetup:
|
||||||
ret = s1ap_decode_s1ap_initialcontextsetuprequesties(
|
ret = s1ap_decode_s1ap_initialcontextsetuprequesties(
|
||||||
&message->msg.s1ap_InitialContextSetupRequestIEs, &initiating_p->value);
|
&message->msg.s1ap_InitialContextSetupRequestIEs, &initiating_p->value);
|
||||||
|
s1ap_xer_print_s1ap_initialcontextsetuprequest(s1ap_xer__print2sp, message_string, message);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case S1ap_ProcedureCode_id_UEContextRelease:
|
case S1ap_ProcedureCode_id_UEContextRelease:
|
||||||
ret = s1ap_decode_s1ap_uecontextreleasecommandies(
|
ret = s1ap_decode_s1ap_uecontextreleasecommandies(
|
||||||
&message->msg.s1ap_UEContextReleaseCommandIEs, &initiating_p->value);
|
&message->msg.s1ap_UEContextReleaseCommandIEs, &initiating_p->value);
|
||||||
|
s1ap_xer_print_s1ap_uecontextreleasecommand(s1ap_xer__print2sp, message_string, message);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case S1ap_ProcedureCode_id_Paging:
|
case S1ap_ProcedureCode_id_Paging:
|
||||||
ret = s1ap_decode_s1ap_pagingies(
|
ret = s1ap_decode_s1ap_pagingies(
|
||||||
&message->msg.s1ap_PagingIEs, &initiating_p->value);
|
&message->msg.s1ap_PagingIEs, &initiating_p->value);
|
||||||
|
s1ap_xer_print_s1ap_paging(s1ap_xer__print2sp, message_string, message);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case S1ap_ProcedureCode_id_uplinkNASTransport: {
|
case S1ap_ProcedureCode_id_uplinkNASTransport:
|
||||||
ret = s1ap_decode_s1ap_uplinknastransporties (&message->msg.s1ap_UplinkNASTransportIEs, &initiating_p->value);
|
ret = s1ap_decode_s1ap_uplinknastransporties (&message->msg.s1ap_UplinkNASTransportIEs, &initiating_p->value);
|
||||||
}
|
s1ap_xer_print_s1ap_uplinknastransport(s1ap_xer__print2sp, message_string, message);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case S1ap_ProcedureCode_id_S1Setup: {
|
case S1ap_ProcedureCode_id_S1Setup:
|
||||||
ret = s1ap_decode_s1ap_s1setuprequesties (&message->msg.s1ap_S1SetupRequestIEs, &initiating_p->value);
|
ret = s1ap_decode_s1ap_s1setuprequesties (&message->msg.s1ap_S1SetupRequestIEs, &initiating_p->value);
|
||||||
}
|
s1ap_xer_print_s1ap_s1setuprequest(s1ap_xer__print2sp, message_string, message);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case S1ap_ProcedureCode_id_initialUEMessage: {
|
case S1ap_ProcedureCode_id_initialUEMessage:
|
||||||
ret = s1ap_decode_s1ap_initialuemessageies (&message->msg.s1ap_InitialUEMessageIEs, &initiating_p->value);
|
ret = s1ap_decode_s1ap_initialuemessageies (&message->msg.s1ap_InitialUEMessageIEs, &initiating_p->value);
|
||||||
}
|
s1ap_xer_print_s1ap_initialuemessage(s1ap_xer__print2sp, message_string, message);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case S1ap_ProcedureCode_id_UEContextReleaseRequest: {
|
case S1ap_ProcedureCode_id_UEContextReleaseRequest:
|
||||||
ret = s1ap_decode_s1ap_uecontextreleaserequesties (&message->msg.s1ap_UEContextReleaseRequestIEs, &initiating_p->value);
|
ret = s1ap_decode_s1ap_uecontextreleaserequesties (&message->msg.s1ap_UEContextReleaseRequestIEs, &initiating_p->value);
|
||||||
}
|
s1ap_xer_print_s1ap_uecontextreleaserequest(s1ap_xer__print2sp, message_string, message);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case S1ap_ProcedureCode_id_UECapabilityInfoIndication: {
|
case S1ap_ProcedureCode_id_UECapabilityInfoIndication:
|
||||||
ret = s1ap_decode_s1ap_uecapabilityinfoindicationies (&message->msg.s1ap_UECapabilityInfoIndicationIEs, &initiating_p->value);
|
ret = s1ap_decode_s1ap_uecapabilityinfoindicationies (&message->msg.s1ap_UECapabilityInfoIndicationIEs, &initiating_p->value);
|
||||||
}
|
//s1ap_xer_print_s1ap_uecapabilityinfoindication(s1ap_xer__print2sp, message_string, message);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case S1ap_ProcedureCode_id_NASNonDeliveryIndication: {
|
case S1ap_ProcedureCode_id_NASNonDeliveryIndication:
|
||||||
ret = s1ap_decode_s1ap_nasnondeliveryindication_ies (&message->msg.s1ap_NASNonDeliveryIndication_IEs, &initiating_p->value);
|
ret = s1ap_decode_s1ap_nasnondeliveryindication_ies (&message->msg.s1ap_NASNonDeliveryIndication_IEs, &initiating_p->value);
|
||||||
}
|
s1ap_xer_print_s1ap_nasnondeliveryindication_(s1ap_xer__print2sp, message_string, message);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
free(message_string);
|
||||||
AssertFatal( 0 , "Unknown procedure ID (%d) for initiating message\n",
|
AssertFatal( 0 , "Unknown procedure ID (%d) for initiating message\n",
|
||||||
(int)initiating_p->procedureCode);
|
(int)initiating_p->procedureCode);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
fprintf(stdout, "s1ap_xer_print:\n%s\n", message_string);
|
||||||
|
free(message_string);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -624,9 +635,12 @@ int test_s1ap_decode_initiating_message(s1ap_message *message,
|
|||||||
int test_s1ap_decode_successful_outcome(s1ap_message *message,
|
int test_s1ap_decode_successful_outcome(s1ap_message *message,
|
||||||
S1ap_SuccessfulOutcome_t *successfullOutcome_p)
|
S1ap_SuccessfulOutcome_t *successfullOutcome_p)
|
||||||
{
|
{
|
||||||
int ret = -1;
|
char *message_string = NULL;
|
||||||
|
int ret = -1;
|
||||||
|
|
||||||
DevAssert(successfullOutcome_p != NULL);
|
DevAssert(successfullOutcome_p != NULL);
|
||||||
|
message_string = calloc(20000, sizeof(char));
|
||||||
|
AssertFatal (NULL != message_string, "ERROR malloc()failed!\n");
|
||||||
|
|
||||||
message->procedureCode = successfullOutcome_p->procedureCode;
|
message->procedureCode = successfullOutcome_p->procedureCode;
|
||||||
message->criticality = successfullOutcome_p->criticality;
|
message->criticality = successfullOutcome_p->criticality;
|
||||||
@@ -635,23 +649,27 @@ int test_s1ap_decode_successful_outcome(s1ap_message *message,
|
|||||||
case S1ap_ProcedureCode_id_S1Setup:
|
case S1ap_ProcedureCode_id_S1Setup:
|
||||||
ret = s1ap_decode_s1ap_s1setupresponseies(
|
ret = s1ap_decode_s1ap_s1setupresponseies(
|
||||||
&message->msg.s1ap_S1SetupResponseIEs, &successfullOutcome_p->value);
|
&message->msg.s1ap_S1SetupResponseIEs, &successfullOutcome_p->value);
|
||||||
|
s1ap_xer_print_s1ap_s1setupresponse(s1ap_xer__print2sp, message_string, message);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case S1ap_ProcedureCode_id_InitialContextSetup: {
|
case S1ap_ProcedureCode_id_InitialContextSetup:
|
||||||
ret = s1ap_decode_s1ap_initialcontextsetupresponseies (&message->msg.s1ap_InitialContextSetupResponseIEs, &successfullOutcome_p->value);
|
ret = s1ap_decode_s1ap_initialcontextsetupresponseies (&message->msg.s1ap_InitialContextSetupResponseIEs, &successfullOutcome_p->value);
|
||||||
}
|
s1ap_xer_print_s1ap_initialcontextsetupresponse(s1ap_xer__print2sp, message_string, message);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case S1ap_ProcedureCode_id_UEContextRelease: {
|
case S1ap_ProcedureCode_id_UEContextRelease:
|
||||||
ret = s1ap_decode_s1ap_uecontextreleasecompleteies (&message->msg.s1ap_UEContextReleaseCompleteIEs, &successfullOutcome_p->value);
|
ret = s1ap_decode_s1ap_uecontextreleasecompleteies (&message->msg.s1ap_UEContextReleaseCompleteIEs, &successfullOutcome_p->value);
|
||||||
}
|
s1ap_xer_print_s1ap_uecontextreleasecomplete(s1ap_xer__print2sp, message_string, message);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
free(message_string);
|
||||||
AssertFatal(0, "Unknown procedure ID (%d) for successfull outcome message\n",
|
AssertFatal(0, "Unknown procedure ID (%d) for successfull outcome message\n",
|
||||||
(int)successfullOutcome_p->procedureCode);
|
(int)successfullOutcome_p->procedureCode);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
fprintf(stdout, "s1ap_xer_print:\n%s\n", message_string);
|
||||||
|
free(message_string);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -659,29 +677,37 @@ int test_s1ap_decode_successful_outcome(s1ap_message *message,
|
|||||||
int test_s1ap_decode_unsuccessful_outcome(s1ap_message *message,
|
int test_s1ap_decode_unsuccessful_outcome(s1ap_message *message,
|
||||||
S1ap_UnsuccessfulOutcome_t *unSuccessfullOutcome_p)
|
S1ap_UnsuccessfulOutcome_t *unSuccessfullOutcome_p)
|
||||||
{
|
{
|
||||||
|
char *message_string = NULL;
|
||||||
int ret = -1;
|
int ret = -1;
|
||||||
|
|
||||||
DevAssert(unSuccessfullOutcome_p != NULL);
|
DevAssert(unSuccessfullOutcome_p != NULL);
|
||||||
|
message_string = calloc(20000, sizeof(char));
|
||||||
|
AssertFatal (NULL != message_string, "ERROR malloc()failed!\n");
|
||||||
|
|
||||||
message->procedureCode = unSuccessfullOutcome_p->procedureCode;
|
message->procedureCode = unSuccessfullOutcome_p->procedureCode;
|
||||||
message->criticality = unSuccessfullOutcome_p->criticality;
|
message->criticality = unSuccessfullOutcome_p->criticality;
|
||||||
|
|
||||||
switch(unSuccessfullOutcome_p->procedureCode) {
|
switch(unSuccessfullOutcome_p->procedureCode) {
|
||||||
case S1ap_ProcedureCode_id_S1Setup:
|
case S1ap_ProcedureCode_id_S1Setup:
|
||||||
return s1ap_decode_s1ap_s1setupfailureies(
|
ret = s1ap_decode_s1ap_s1setupfailureies(
|
||||||
&message->msg.s1ap_S1SetupFailureIEs, &unSuccessfullOutcome_p->value);
|
&message->msg.s1ap_S1SetupFailureIEs, &unSuccessfullOutcome_p->value);
|
||||||
|
s1ap_xer_print_s1ap_s1setupfailure(s1ap_xer__print2sp, message_string, message);
|
||||||
|
break;
|
||||||
|
|
||||||
case S1ap_ProcedureCode_id_InitialContextSetup: {
|
case S1ap_ProcedureCode_id_InitialContextSetup:
|
||||||
ret = s1ap_decode_s1ap_initialcontextsetupfailureies (&message->msg.s1ap_InitialContextSetupFailureIEs, &unSuccessfullOutcome_p->value);
|
ret = s1ap_decode_s1ap_initialcontextsetupfailureies (&message->msg.s1ap_InitialContextSetupFailureIEs, &unSuccessfullOutcome_p->value);
|
||||||
}
|
s1ap_xer_print_s1ap_initialcontextsetupfailure(s1ap_xer__print2sp, message_string, message);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
free(message_string);
|
||||||
AssertFatal(0,"Unknown procedure ID (%d) for unsuccessfull outcome message\n",
|
AssertFatal(0,"Unknown procedure ID (%d) for unsuccessfull outcome message\n",
|
||||||
(int)unSuccessfullOutcome_p->procedureCode);
|
(int)unSuccessfullOutcome_p->procedureCode);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
fprintf(stdout, "s1ap_xer_print:\n%s\n", message_string);
|
||||||
|
free(message_string);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -758,34 +784,35 @@ void parse_s1ap(xmlDocPtr doc, const xmlNode const *s1ap_node, test_s1ap_t * con
|
|||||||
xml_char = xmlGetProp((xmlNode *)cur_node, (const xmlChar *)"hide");
|
xml_char = xmlGetProp((xmlNode *)cur_node, (const xmlChar *)"hide");
|
||||||
if (NULL != xml_char) {
|
if (NULL != xml_char) {
|
||||||
if ((!xmlStrcmp(xml_char, (const xmlChar *)"yes"))) {
|
if ((!xmlStrcmp(xml_char, (const xmlChar *)"yes"))) {
|
||||||
xmlFree(xml_char);
|
go_deeper_in_tree = 0;
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
xmlFree(xml_char);
|
xmlFree(xml_char);
|
||||||
}
|
}
|
||||||
// first get size
|
if (0 < go_deeper_in_tree) {
|
||||||
xml_char = xmlGetProp((xmlNode *)cur_node, (const xmlChar *)"size");
|
// first get size
|
||||||
if (NULL != xml_char) {
|
xml_char = xmlGetProp((xmlNode *)cur_node, (const xmlChar *)"size");
|
||||||
size = strtoul((const char *)xml_char, NULL, 0);
|
|
||||||
xmlFree(xml_char);
|
|
||||||
// second: try to get value (always hex)
|
|
||||||
xml_char = xmlGetProp((xmlNode *)cur_node, (const xmlChar *)"value");
|
|
||||||
if (NULL != xml_char) {
|
if (NULL != xml_char) {
|
||||||
xml_char2 = xmlGetProp((xmlNode *)cur_node, (const xmlChar *)"name");
|
size = strtoul((const char *)xml_char, NULL, 0);
|
||||||
fprintf(stdout, "s1ap %p field %s size %d value %s\n",s1ap, xml_char2, size, xml_char);
|
|
||||||
xmlFree(xml_char2);
|
|
||||||
// if success to get value, do not parse children
|
|
||||||
//AssertFatal ((xmlStrlen(xml_char) == size), "ERROR %s() mismatch in size %d and strlen %d\n", __FUNCTION__, size, xmlStrlen(xml_char));
|
|
||||||
//if (xmlStrlen(xml_char) == size) {
|
|
||||||
AssertFatal ((s1ap->binary_stream_pos+xmlStrlen(xml_char)/2) <= s1ap->binary_stream_allocated_size,
|
|
||||||
"ERROR %s() in buffer size: binary_stream_pos %d xmlStrlen(xml_char)/2=%d\n", __FUNCTION__, s1ap->binary_stream_pos, xmlStrlen(xml_char)/2);
|
|
||||||
rc = hex2data( &s1ap->binary_stream[s1ap->binary_stream_pos], xml_char, xmlStrlen(xml_char));
|
|
||||||
s1ap->binary_stream_pos += xmlStrlen(xml_char)/2;
|
|
||||||
display_node(cur_node, 0);
|
|
||||||
AssertFatal (rc >= 0, "ERROR %s() in converting hex string %s len %d size %d rc %d\n", __FUNCTION__, xml_char, xmlStrlen(xml_char), size, rc);
|
|
||||||
go_deeper_in_tree = 0;
|
|
||||||
//}
|
|
||||||
xmlFree(xml_char);
|
xmlFree(xml_char);
|
||||||
|
// second: try to get value (always hex)
|
||||||
|
xml_char = xmlGetProp((xmlNode *)cur_node, (const xmlChar *)"value");
|
||||||
|
if (NULL != xml_char) {
|
||||||
|
xml_char2 = xmlGetProp((xmlNode *)cur_node, (const xmlChar *)"name");
|
||||||
|
fprintf(stdout, "s1ap %p field %s size %d value %s\n",s1ap, xml_char2, size, xml_char);
|
||||||
|
xmlFree(xml_char2);
|
||||||
|
// if success to get value, do not parse children
|
||||||
|
//AssertFatal ((xmlStrlen(xml_char) == size), "ERROR %s() mismatch in size %d and strlen %d\n", __FUNCTION__, size, xmlStrlen(xml_char));
|
||||||
|
//if (xmlStrlen(xml_char) == size) {
|
||||||
|
AssertFatal ((s1ap->binary_stream_pos+xmlStrlen(xml_char)/2) <= s1ap->binary_stream_allocated_size,
|
||||||
|
"ERROR %s() in buffer size: binary_stream_pos %d xmlStrlen(xml_char)/2=%d\n", __FUNCTION__, s1ap->binary_stream_pos, xmlStrlen(xml_char)/2);
|
||||||
|
rc = hex2data( &s1ap->binary_stream[s1ap->binary_stream_pos], xml_char, xmlStrlen(xml_char));
|
||||||
|
s1ap->binary_stream_pos += xmlStrlen(xml_char)/2;
|
||||||
|
display_node(cur_node, 0);
|
||||||
|
AssertFatal (rc >= 0, "ERROR %s() in converting hex string %s len %d size %d rc %d\n", __FUNCTION__, xml_char, xmlStrlen(xml_char), size, rc);
|
||||||
|
go_deeper_in_tree = 0;
|
||||||
|
//}
|
||||||
|
xmlFree(xml_char);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1166,7 +1193,6 @@ int generate_xml_scenario(
|
|||||||
int nb_params = 0;
|
int nb_params = 0;
|
||||||
int i,j;
|
int i,j;
|
||||||
char astring[1024];
|
char astring[1024];
|
||||||
char *astring2 = NULL;
|
|
||||||
struct in_addr addr;
|
struct in_addr addr;
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
|
||||||
@@ -1219,8 +1245,8 @@ int generate_xml_scenario(
|
|||||||
params[nb_params] = NULL;
|
params[nb_params] = NULL;
|
||||||
res = xsltApplyStylesheet(cur, doc, params);
|
res = xsltApplyStylesheet(cur, doc, params);
|
||||||
if (NULL != res) {
|
if (NULL != res) {
|
||||||
sprintf(play_scenario_filename,"%s",test_scenario_filename);
|
sprintf((char *)play_scenario_filename,"%s",test_scenario_filename);
|
||||||
if (strip_extension(play_scenario_filename) > 0) {
|
if (strip_extension((char *)play_scenario_filename) > 0) {
|
||||||
strcat((char *)play_scenario_filename, ".tsml");
|
strcat((char *)play_scenario_filename, ".tsml");
|
||||||
play_scenario_file = fopen( play_scenario_filename, "w+");
|
play_scenario_file = fopen( play_scenario_filename, "w+");
|
||||||
if (NULL != play_scenario_file) {
|
if (NULL != play_scenario_file) {
|
||||||
@@ -1398,8 +1424,10 @@ int main( int argc, char **argv )
|
|||||||
|
|
||||||
// logging
|
// logging
|
||||||
logInit();
|
logInit();
|
||||||
set_comp_log(S1AP, LOG_TRACE, LOG_MED,1);
|
itti_init(TASK_MAX, THREAD_MAX, MESSAGES_ID_MAX, tasks_info, messages_info, messages_definition_xml, NULL);
|
||||||
set_comp_log(SCTP, LOG_TRACE, LOG_MED,1);
|
|
||||||
|
set_comp_log(S1AP, LOG_TRACE, LOG_MED, 1);
|
||||||
|
set_comp_log(SCTP, LOG_TRACE, LOG_MED, 1);
|
||||||
asn_debug = 1;
|
asn_debug = 1;
|
||||||
asn1_xer_print = 1;
|
asn1_xer_print = 1;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user