mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-04-13 15:50:59 +00:00
Merge branch 'nsg-4.3' of ssh://git.sangoma.com/smg_freeswitch into nsg-4.3
Conflicts: libs/freetdm/src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c
This commit is contained in:
commit
6b542763d9
@ -5,10 +5,13 @@ applications/mod_dptools
|
||||
applications/mod_commands
|
||||
applications/mod_hash
|
||||
applications/mod_spandsp
|
||||
applications/mod_rad_auth
|
||||
dialplans/mod_dialplan_xml
|
||||
endpoints/mod_sofia
|
||||
endpoints/mod_megaco
|
||||
endpoints/mod_media_gateway
|
||||
../../libs/freetdm/mod_freetdm
|
||||
xml_int/mod_xml_cdr
|
||||
event_handlers/mod_event_socket
|
||||
codecs/mod_sangoma_codec
|
||||
event_handlers/mod_radius_cdr
|
||||
|
||||
|
@ -2938,7 +2938,7 @@ static int add_config_nodes(switch_xml_t swnode, ftdm_conf_node_t *rootnode,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static ftdm_conf_node_t *_get_ss7_config_node(switch_xml_t cfg, const char *confname, const char *operatingMode)
|
||||
static ftdm_conf_node_t *_get_ss7_config_node(switch_xml_t cfg, const char *confname, const char *operating_mode)
|
||||
{
|
||||
switch_xml_t signode, ss7configs, isup, gen, param;
|
||||
ftdm_conf_node_t *rootnode, *list;
|
||||
@ -3004,19 +3004,19 @@ static ftdm_conf_node_t *_get_ss7_config_node(switch_xml_t cfg, const char *conf
|
||||
}
|
||||
|
||||
/* operating mode , M2UA or ISUP */
|
||||
if(operatingMode && ('\0' != operatingMode[0])) {
|
||||
if(!strcasecmp(operatingMode, "ISUP")) {
|
||||
if(operating_mode && ('\0' != operating_mode[0])) {
|
||||
if(!strcasecmp(operating_mode, "ISUP")) {
|
||||
is_isup = 0x01;
|
||||
}
|
||||
else if(!strcasecmp(operatingMode, "M2UA_SG")) {
|
||||
else if(!strcasecmp(operating_mode, "M2UA_SG")) {
|
||||
is_isup = 0x00;
|
||||
} else {
|
||||
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Invalid operating Mode[%s] \n", operatingMode);
|
||||
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Invalid operating Mode[%s] \n", operating_mode);
|
||||
ftdm_conf_node_destroy(rootnode);
|
||||
return NULL;
|
||||
}
|
||||
} else {
|
||||
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Operating mode not specified, default to ISUP \n");
|
||||
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "Operating mode not specified, default to ISUP \n");
|
||||
is_isup = 0x01;
|
||||
}
|
||||
|
||||
@ -3367,7 +3367,7 @@ static switch_status_t load_config(void)
|
||||
char *id = (char *) switch_xml_attr(myspan, "id");
|
||||
char *name = (char *) switch_xml_attr(myspan, "name");
|
||||
char *configname = (char *) switch_xml_attr(myspan, "cfgprofile");
|
||||
char *operatingMode = (char *) switch_xml_attr(myspan, "operating_mode");
|
||||
char *operating_mode = (char *) switch_xml_attr(myspan, "operating_mode");
|
||||
ftdm_span_t *span = NULL;
|
||||
uint32_t span_id = 0;
|
||||
unsigned paramindex = 0;
|
||||
@ -3401,7 +3401,7 @@ static switch_status_t load_config(void)
|
||||
span_id = ftdm_span_get_id(span);
|
||||
}
|
||||
|
||||
ss7confnode = _get_ss7_config_node(cfg, configname, operatingMode);
|
||||
ss7confnode = _get_ss7_config_node(cfg, configname, operating_mode);
|
||||
if (!ss7confnode) {
|
||||
CONFIG_ERROR("Error finding ss7config '%s' for FreeTDM span id: %s\n", configname, switch_str_nil(id));
|
||||
continue;
|
||||
@ -3409,9 +3409,9 @@ static switch_status_t load_config(void)
|
||||
|
||||
memset(spanparameters, 0, sizeof(spanparameters));
|
||||
paramindex = 0;
|
||||
if(operatingMode){
|
||||
spanparameters[paramindex].var = "operatingMode";
|
||||
spanparameters[paramindex].val = operatingMode;
|
||||
if(operating_mode){
|
||||
spanparameters[paramindex].var = "operating-mode";
|
||||
spanparameters[paramindex].val = operating_mode;
|
||||
paramindex++;
|
||||
}
|
||||
spanparameters[paramindex].var = "confnode";
|
||||
|
@ -3070,13 +3070,13 @@ static ftdm_status_t cli_ss7_show_all_spans_general(ftdm_stream_handle_t *stream
|
||||
|
||||
static ftdm_status_t handle_show_m2ua_profiles(ftdm_stream_handle_t *stream)
|
||||
{
|
||||
MwMgmt cfm;
|
||||
MwMgmt rsp;
|
||||
char buf[2048];
|
||||
char* xmlhdr = (char*)"<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>";
|
||||
char buf[6144];
|
||||
int x = 0x00;
|
||||
int idx = 0x00;
|
||||
int len = 0x00;
|
||||
MwMgmt cfm;
|
||||
MwMgmt rsp;
|
||||
|
||||
memset((U8 *)&cfm, 0, sizeof(MwMgmt));
|
||||
memset((U8 *)&rsp, 0, sizeof(MwMgmt));
|
||||
@ -3090,11 +3090,11 @@ static ftdm_status_t handle_show_m2ua_profiles(ftdm_stream_handle_t *stream)
|
||||
return FTDM_FAIL;
|
||||
} else {
|
||||
len = len + sprintf(buf + len, "<m2ua_gen>\n");
|
||||
len = len + sprintf(buf + len, "<mem_size> %d </mem_size>\n",cfm.t.ssta.s.genSta.memSize);
|
||||
len = len + sprintf(buf + len, " <allocated_mem_size> %d </allocated_mem_size>\n",cfm.t.ssta.s.genSta.memAlloc);
|
||||
len = len + sprintf(buf + len, " <num_of_cluster> %d </num_of_cluster>\n",cfm.t.ssta.s.genSta.nmbClusters);
|
||||
len = len + sprintf(buf + len, " <num_of_peers> %d </num_of_peers>\n",cfm.t.ssta.s.genSta.nmbPeers);
|
||||
len = len + sprintf(buf + len, " <num_of_interfaces> %d </num_of_interfaces>\n",cfm.t.ssta.s.genSta.nmbIntf);
|
||||
len = len + sprintf(buf + len, "<mem_size> %ld </mem_size>\n", cfm.t.ssta.s.genSta.memSize);
|
||||
len = len + sprintf(buf + len, " <allocated_mem_size> %ld </allocated_mem_size>\n", cfm.t.ssta.s.genSta.memAlloc);
|
||||
len = len + sprintf(buf + len, " <num_of_cluster> %d </num_of_cluster>\n", cfm.t.ssta.s.genSta.nmbClusters);
|
||||
len = len + sprintf(buf + len, " <num_of_peers> %d </num_of_peers>\n", cfm.t.ssta.s.genSta.nmbPeers);
|
||||
len = len + sprintf(buf + len, " <num_of_interfaces> %d </num_of_interfaces>\n", cfm.t.ssta.s.genSta.nmbIntf);
|
||||
len = len + sprintf(buf + len, "</m2ua_gen>\n");
|
||||
}
|
||||
|
||||
@ -3154,7 +3154,7 @@ static ftdm_status_t handle_show_m2ua_profiles(ftdm_stream_handle_t *stream)
|
||||
len = len + sprintf(buf + len, "<name> %s </name>\n",g_ftdm_sngss7_data.cfg.g_m2ua_cfg.m2ua_peer[rsp.t.ssta.s.clusterSta.peerSt[idx].peerId].name);
|
||||
len = len + sprintf(buf + len," <state> %s </state>\n", PRNT_M2UA_PEER_STATE(cfm.t.ssta.s.peerSta.state));
|
||||
len = len + sprintf(buf + len, " <retry_count> %d </retry_count>\n",cfm.t.ssta.s.peerSta.retryCount);
|
||||
len = len + sprintf(buf + len, " <assoc_id> %d </assoc_id>\n",cfm.t.ssta.s.peerSta.assocSta.spAssocId);
|
||||
len = len + sprintf(buf + len, " <assoc_id> %ld </assoc_id>\n",cfm.t.ssta.s.peerSta.assocSta.spAssocId);
|
||||
len = len + sprintf(buf + len, " <connected_status> %s </connected_status>\n",(cfm.t.ssta.s.peerSta.assocSta.connected)?"CONNECTED":"NOT CONNECTED");
|
||||
len = len + sprintf(buf + len, " <flow_cntrl_progress> %d </flow_cntrl_progress>\n",cfm.t.ssta.s.peerSta.assocSta.flcInProg);
|
||||
len = len + sprintf(buf + len, " <flow_cntrl_level> %d </flow_cntrl_level>\n",cfm.t.ssta.s.peerSta.assocSta.flcLevel);
|
||||
@ -3165,17 +3165,17 @@ static ftdm_status_t handle_show_m2ua_profiles(ftdm_stream_handle_t *stream)
|
||||
}
|
||||
}
|
||||
|
||||
if(ftmod_m2ua_ssta_req(STMWSCTSAP,x,&cfm)) {
|
||||
stream->write_function(stream," Request to Trillium SCTP layer failed \n");
|
||||
return FTDM_FAIL;
|
||||
} else {
|
||||
len = len + sprintf(buf + len, "<m2ua_sctp_sap>\n");
|
||||
len = len + sprintf(buf + len," <state> %s </state>\n", PRNT_M2UA_SAP_STATE(cfm.t.ssta.s.sctSapSta.state));
|
||||
len = len + sprintf(buf + len," <end_point_open_state> %s </end_point_open_state>\n", (cfm.t.ssta.s.sctSapSta.endpOpen)?"END_POINT_OPENED_SUCCESSFULLY":"END_POINT_NOT_OPEN");
|
||||
len = len + sprintf(buf + len," <end_point_id> %d </end_point_id>\n", cfm.t.ssta.s.sctSapSta.spEndpId);
|
||||
len = len + sprintf(buf + len," <nmb_of_retry_attemp> %d </nmb_of_retry_attemp>\n", cfm.t.ssta.s.sctSapSta.nmbPrimRetry);
|
||||
len = len + sprintf(buf + len, "</m2ua_sctp_sap>\n");
|
||||
}
|
||||
if(ftmod_m2ua_ssta_req(STMWSCTSAP,x,&cfm)) {
|
||||
stream->write_function(stream," Request to Trillium SCTP layer failed \n");
|
||||
return FTDM_FAIL;
|
||||
} else {
|
||||
len = len + sprintf(buf + len, "<m2ua_sctp_sap>\n");
|
||||
len = len + sprintf(buf + len," <state> %s </state>\n", PRNT_M2UA_SAP_STATE(cfm.t.ssta.s.sctSapSta.state));
|
||||
len = len + sprintf(buf + len," <end_point_open_state> %s </end_point_open_state>\n", (cfm.t.ssta.s.sctSapSta.endpOpen)?"END_POINT_OPENED_SUCCESSFULLY":"END_POINT_NOT_OPEN");
|
||||
len = len + sprintf(buf + len," <end_point_id> %ld </end_point_id>\n", cfm.t.ssta.s.sctSapSta.spEndpId);
|
||||
len = len + sprintf(buf + len," <nmb_of_retry_attemp> %d </nmb_of_retry_attemp>\n", cfm.t.ssta.s.sctSapSta.nmbPrimRetry);
|
||||
len = len + sprintf(buf + len, "</m2ua_sctp_sap>\n");
|
||||
}
|
||||
|
||||
len = len + sprintf(buf + len, "</m2ua_profile>\n");
|
||||
}
|
||||
@ -3284,7 +3284,7 @@ static ftdm_status_t handle_show_m2ua_profile(ftdm_stream_handle_t *stream, char
|
||||
len = len + sprintf(buf + len, "<name> %s </name>\n",g_ftdm_sngss7_data.cfg.g_m2ua_cfg.m2ua_peer[rsp.t.ssta.s.clusterSta.peerSt[idx].peerId].name);
|
||||
len = len + sprintf(buf + len," <state> %s </state>\n", PRNT_M2UA_PEER_STATE(cfm.t.ssta.s.peerSta.state));
|
||||
len = len + sprintf(buf + len, " <retry_count> %d </retry_count>\n",cfm.t.ssta.s.peerSta.retryCount);
|
||||
len = len + sprintf(buf + len, " <assoc_id> %d </assoc_id>\n",cfm.t.ssta.s.peerSta.assocSta.spAssocId);
|
||||
len = len + sprintf(buf + len, " <assoc_id> %ld </assoc_id>\n",cfm.t.ssta.s.peerSta.assocSta.spAssocId);
|
||||
len = len + sprintf(buf + len, " <connected_status> %s </connected_status>\n",(cfm.t.ssta.s.peerSta.assocSta.connected)?"CONNECTED":"NOT CONNECTED");
|
||||
len = len + sprintf(buf + len, " <flow_cntrl_progress> %d </flow_cntrl_progress>\n",cfm.t.ssta.s.peerSta.assocSta.flcInProg);
|
||||
len = len + sprintf(buf + len, " <flow_cntrl_level> %d </flow_cntrl_level>\n",cfm.t.ssta.s.peerSta.assocSta.flcLevel);
|
||||
@ -3302,7 +3302,7 @@ static ftdm_status_t handle_show_m2ua_profile(ftdm_stream_handle_t *stream, char
|
||||
len = len + sprintf(buf + len, "<m2ua_sctp_sap>\n");
|
||||
len = len + sprintf(buf + len," <state> %s </state>\n", PRNT_M2UA_SAP_STATE(cfm.t.ssta.s.sctSapSta.state));
|
||||
len = len + sprintf(buf + len," <end_point_open_state> %s </end_point_open_state>\n", (cfm.t.ssta.s.sctSapSta.endpOpen)?"END_POINT_OPENED_SUCCESSFULLY":"END_POINT_NOT_OPEN");
|
||||
len = len + sprintf(buf + len," <end_point_id> %d </end_point_id>\n", cfm.t.ssta.s.sctSapSta.spEndpId);
|
||||
len = len + sprintf(buf + len," <end_point_id> %ld </end_point_id>\n", cfm.t.ssta.s.sctSapSta.spEndpId);
|
||||
len = len + sprintf(buf + len," <nmb_of_retry_attemp> %d </nmb_of_retry_attemp>\n", cfm.t.ssta.s.sctSapSta.nmbPrimRetry);
|
||||
len = len + sprintf(buf + len, "</m2ua_sctp_sap>\n");
|
||||
}
|
||||
@ -3341,8 +3341,8 @@ static ftdm_status_t handle_show_sctp_profiles(ftdm_stream_handle_t *stream)
|
||||
return FTDM_FAIL;
|
||||
} else {
|
||||
len = len + sprintf(buf + len, "<sctp_gen>\n");
|
||||
len = len + sprintf(buf + len, "<mem_size> %d </mem_size>\n",cfm.t.ssta.s.genSta.memSize);
|
||||
len = len + sprintf(buf + len, " <allocated_mem_size> %d </allocated_mem_size>\n",cfm.t.ssta.s.genSta.memAlloc);
|
||||
len = len + sprintf(buf + len, "<mem_size> %ld </mem_size>\n",cfm.t.ssta.s.genSta.memSize);
|
||||
len = len + sprintf(buf + len, " <allocated_mem_size> %ld </allocated_mem_size>\n",cfm.t.ssta.s.genSta.memAlloc);
|
||||
len = len + sprintf(buf + len, " <num_of_open_assoc> %d </num_of_open_assoc>\n",cfm.t.ssta.s.genSta.nmbAssoc);
|
||||
len = len + sprintf(buf + len, " <num_of_open_end_points> %d </num_of_open_end_points>\n",cfm.t.ssta.s.genSta.nmbEndp);
|
||||
len = len + sprintf(buf + len, " <num_of_lcl_addr_in_use> %d </num_of_lcl_addr_in_use>\n",cfm.t.ssta.s.genSta.nmbLocalAddr);
|
||||
@ -3438,7 +3438,7 @@ int get_assoc_resp_buf(char* buf,SbMgmt* cfm)
|
||||
char *asciiAddr;
|
||||
CmInetIpAddr ip;
|
||||
|
||||
len = len + sprintf(buf + len, " <assoc_id> %d </assoc_id>\n", cfm->t.ssta.s.assocSta.assocId);
|
||||
len = len + sprintf(buf + len, " <assoc_id> %ld </assoc_id>\n", cfm->t.ssta.s.assocSta.assocId);
|
||||
len = len + sprintf(buf + len, " <assoc_status> %s </assoc_status>\n", PRNT_SCTP_ASSOC_STATE(cfm->t.ssta.s.assocSta.assocState));
|
||||
len = len + sprintf(buf + len, " <assoc_dst_port> %d </assoc_dst_port>\n", cfm->t.ssta.s.assocSta.dstPort);
|
||||
len = len + sprintf(buf + len, " <assoc_src_port> %d </assoc_src_port>\n", cfm->t.ssta.s.assocSta.srcPort);
|
||||
@ -3644,8 +3644,8 @@ static ftdm_status_t handle_show_nif_profiles(ftdm_stream_handle_t *stream)
|
||||
return FTDM_FAIL;
|
||||
} else {
|
||||
len = len + sprintf(buf + len, "<nif_gen>\n");
|
||||
len = len + sprintf(buf + len, "<mem_size> %d </mem_size>\n",cfm.t.ssta.s.genSta.memSize);
|
||||
len = len + sprintf(buf + len, " <allocated_mem_size> %d </allocated_mem_size>\n",cfm.t.ssta.s.genSta.memAlloc);
|
||||
len = len + sprintf(buf + len, "<mem_size> %ld </mem_size>\n",cfm.t.ssta.s.genSta.memSize);
|
||||
len = len + sprintf(buf + len, " <allocated_mem_size> %ld </allocated_mem_size>\n",cfm.t.ssta.s.genSta.memAlloc);
|
||||
len = len + sprintf(buf + len, "</nif_gen>\n");
|
||||
}
|
||||
|
||||
@ -3664,7 +3664,7 @@ static ftdm_status_t handle_show_nif_profiles(ftdm_stream_handle_t *stream)
|
||||
len = len + sprintf(buf + len, "<nif_dlsap>\n");
|
||||
len = len + sprintf(buf + len," <m2ua_sap_state> %s </m2ua_sap_state>\n", PRNT_NIF_SAP_STATE(cfm.t.ssta.s.dlSapSta.m2uaState));
|
||||
len = len + sprintf(buf + len," <mtp2_sap_state> %s </mtp2_sap_state>\n", PRNT_NIF_SAP_STATE(cfm.t.ssta.s.dlSapSta.mtp2State));
|
||||
len = len + sprintf(buf + len," <nmb_of_retry> %d </nmb_of_retry>\n", cfm.t.ssta.s.dlSapSta.nmbRetry);
|
||||
len = len + sprintf(buf + len," <nmb_of_retry> %ld </nmb_of_retry>\n", cfm.t.ssta.s.dlSapSta.nmbRetry);
|
||||
len = len + sprintf(buf + len, "</nif_dlsap>\n");
|
||||
}
|
||||
|
||||
@ -3729,7 +3729,7 @@ static ftdm_status_t handle_show_nif_profile(ftdm_stream_handle_t *stream, char*
|
||||
len = len + sprintf(buf + len, "<nif_dlsap>\n");
|
||||
len = len + sprintf(buf + len," <m2ua_sap_state> %s </m2ua_sap_state>\n", PRNT_NIF_SAP_STATE(cfm.t.ssta.s.dlSapSta.m2uaState));
|
||||
len = len + sprintf(buf + len," <mtp2_sap_state> %s </mtp2_sap_state>\n", PRNT_NIF_SAP_STATE(cfm.t.ssta.s.dlSapSta.mtp2State));
|
||||
len = len + sprintf(buf + len," <nmb_of_retry> %d </nmb_of_retry>\n", cfm.t.ssta.s.dlSapSta.nmbRetry);
|
||||
len = len + sprintf(buf + len," <nmb_of_retry> %ld </nmb_of_retry>\n", cfm.t.ssta.s.dlSapSta.nmbRetry);
|
||||
len = len + sprintf(buf + len, "</nif_dlsap>\n");
|
||||
}
|
||||
|
||||
|
@ -38,7 +38,6 @@
|
||||
|
||||
/* INCLUDE ********************************************************************/
|
||||
#include "ftmod_sangoma_ss7_main.h"
|
||||
#include "switch_utils.h"
|
||||
/******************************************************************************/
|
||||
|
||||
/* DEFINES ********************************************************************/
|
||||
|
@ -206,13 +206,12 @@ static void ftmod_ss7_set_glare_resolution (const char *method);
|
||||
|
||||
int ftmod_ss7_parse_xml(ftdm_conf_parameter_t *ftdm_parameters, ftdm_span_t *span)
|
||||
{
|
||||
sng_route_t self_route;
|
||||
sng_span_t sngSpan;
|
||||
int i = 0;
|
||||
const char *var = NULL;
|
||||
const char *val = NULL;
|
||||
ftdm_conf_node_t *ptr = NULL;
|
||||
sng_route_t self_route;
|
||||
sng_span_t sngSpan;
|
||||
|
||||
|
||||
/* clean out the isup ckt */
|
||||
memset(&sngSpan, 0x0, sizeof(sngSpan));
|
||||
@ -223,22 +222,22 @@ int ftmod_ss7_parse_xml(ftdm_conf_parameter_t *ftdm_parameters, ftdm_span_t *spa
|
||||
var = ftdm_parameters[i].var;
|
||||
val = ftdm_parameters[i].val;
|
||||
|
||||
/* confirm that the first parameter is the "operatingMode" */
|
||||
if(!strcasecmp(var, "operatingMode")){
|
||||
/**********************************************************************/
|
||||
g_ftdm_operating_mode = SNG_SS7_OPR_MODE_ISUP;
|
||||
|
||||
/* confirm that the first parameter is the "operating-mode" */
|
||||
if(!strcasecmp(var, "operating-mode")){
|
||||
if(!strcasecmp(val, "ISUP")) {
|
||||
g_ftdm_operating_mode = SNG_SS7_OPR_MODE_ISUP;
|
||||
}
|
||||
else if(!strcasecmp(val, "M2UA_SG")) {
|
||||
g_ftdm_operating_mode = SNG_SS7_OPR_MODE_M2UA_SG;
|
||||
} else {
|
||||
SS7_ERROR("Invalid operating Mode[%s] \n", val);
|
||||
return FTDM_FAIL;
|
||||
SS7_DEBUG("Operating mode not specified, defaulting to ISUP\n");
|
||||
}
|
||||
/**********************************************************************/
|
||||
i++;
|
||||
}
|
||||
|
||||
i++;
|
||||
|
||||
|
||||
var = ftdm_parameters[i].var;
|
||||
val = ftdm_parameters[i].val;
|
||||
@ -261,27 +260,18 @@ int ftmod_ss7_parse_xml(ftdm_conf_parameter_t *ftdm_parameters, ftdm_span_t *spa
|
||||
i++;
|
||||
|
||||
while (ftdm_parameters[i].var != NULL) {
|
||||
/**************************************************************************/
|
||||
|
||||
var = ftdm_parameters[i].var;
|
||||
val = ftdm_parameters[i].val;
|
||||
|
||||
if (!strcasecmp(var, "dialplan")) {
|
||||
/**********************************************************************/
|
||||
/* don't care for now */
|
||||
/**********************************************************************/
|
||||
} else if (!strcasecmp(var, "context")) {
|
||||
/**********************************************************************/
|
||||
/* don't care for now */
|
||||
/**********************************************************************/
|
||||
} else if (!strcasecmp(var, "span-id")) {
|
||||
/**********************************************************************/
|
||||
} else if (!strcasecmp(var, "span-id") || !strcasecmp(var, "ccSpanId")) {
|
||||
sngSpan.ccSpanId = atoi(val);
|
||||
SS7_DEBUG("Found an ccSpanId = %d\n",sngSpan.ccSpanId);
|
||||
/**********************************************************************/
|
||||
} else {
|
||||
SS7_ERROR("Unknown parameter found =\"%s\"...ignoring it!\n", var);
|
||||
/**********************************************************************/
|
||||
}
|
||||
|
||||
i++;
|
||||
|
Loading…
x
Reference in New Issue
Block a user