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:
kapil 2012-06-14 15:45:51 +05:30
commit 6b542763d9
5 changed files with 54 additions and 62 deletions

View File

@ -5,10 +5,13 @@ applications/mod_dptools
applications/mod_commands applications/mod_commands
applications/mod_hash applications/mod_hash
applications/mod_spandsp applications/mod_spandsp
applications/mod_rad_auth
dialplans/mod_dialplan_xml dialplans/mod_dialplan_xml
endpoints/mod_sofia endpoints/mod_sofia
endpoints/mod_megaco endpoints/mod_media_gateway
../../libs/freetdm/mod_freetdm ../../libs/freetdm/mod_freetdm
xml_int/mod_xml_cdr xml_int/mod_xml_cdr
event_handlers/mod_event_socket event_handlers/mod_event_socket
codecs/mod_sangoma_codec codecs/mod_sangoma_codec
event_handlers/mod_radius_cdr

View File

@ -2938,7 +2938,7 @@ static int add_config_nodes(switch_xml_t swnode, ftdm_conf_node_t *rootnode,
return 0; 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; switch_xml_t signode, ss7configs, isup, gen, param;
ftdm_conf_node_t *rootnode, *list; 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 */ /* operating mode , M2UA or ISUP */
if(operatingMode && ('\0' != operatingMode[0])) { if(operating_mode && ('\0' != operating_mode[0])) {
if(!strcasecmp(operatingMode, "ISUP")) { if(!strcasecmp(operating_mode, "ISUP")) {
is_isup = 0x01; is_isup = 0x01;
} }
else if(!strcasecmp(operatingMode, "M2UA_SG")) { else if(!strcasecmp(operating_mode, "M2UA_SG")) {
is_isup = 0x00; is_isup = 0x00;
} else { } 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); ftdm_conf_node_destroy(rootnode);
return NULL; return NULL;
} }
} else { } 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; is_isup = 0x01;
} }
@ -3367,7 +3367,7 @@ static switch_status_t load_config(void)
char *id = (char *) switch_xml_attr(myspan, "id"); char *id = (char *) switch_xml_attr(myspan, "id");
char *name = (char *) switch_xml_attr(myspan, "name"); char *name = (char *) switch_xml_attr(myspan, "name");
char *configname = (char *) switch_xml_attr(myspan, "cfgprofile"); 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; ftdm_span_t *span = NULL;
uint32_t span_id = 0; uint32_t span_id = 0;
unsigned paramindex = 0; unsigned paramindex = 0;
@ -3401,7 +3401,7 @@ static switch_status_t load_config(void)
span_id = ftdm_span_get_id(span); 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) { if (!ss7confnode) {
CONFIG_ERROR("Error finding ss7config '%s' for FreeTDM span id: %s\n", configname, switch_str_nil(id)); CONFIG_ERROR("Error finding ss7config '%s' for FreeTDM span id: %s\n", configname, switch_str_nil(id));
continue; continue;
@ -3409,9 +3409,9 @@ static switch_status_t load_config(void)
memset(spanparameters, 0, sizeof(spanparameters)); memset(spanparameters, 0, sizeof(spanparameters));
paramindex = 0; paramindex = 0;
if(operatingMode){ if(operating_mode){
spanparameters[paramindex].var = "operatingMode"; spanparameters[paramindex].var = "operating-mode";
spanparameters[paramindex].val = operatingMode; spanparameters[paramindex].val = operating_mode;
paramindex++; paramindex++;
} }
spanparameters[paramindex].var = "confnode"; spanparameters[paramindex].var = "confnode";

View File

@ -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) 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* xmlhdr = (char*)"<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>";
char buf[6144];
int x = 0x00; int x = 0x00;
int idx = 0x00; int idx = 0x00;
int len = 0x00; int len = 0x00;
MwMgmt cfm;
MwMgmt rsp;
memset((U8 *)&cfm, 0, sizeof(MwMgmt)); memset((U8 *)&cfm, 0, sizeof(MwMgmt));
memset((U8 *)&rsp, 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; return FTDM_FAIL;
} else { } else {
len = len + sprintf(buf + len, "<m2ua_gen>\n"); 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, "<mem_size> %ld </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, " <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_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_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, " <num_of_interfaces> %d </num_of_interfaces>\n", cfm.t.ssta.s.genSta.nmbIntf);
len = len + sprintf(buf + len, "</m2ua_gen>\n"); 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, "<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," <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, " <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, " <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_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); 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)) { if(ftmod_m2ua_ssta_req(STMWSCTSAP,x,&cfm)) {
stream->write_function(stream," Request to Trillium SCTP layer failed \n"); stream->write_function(stream," Request to Trillium SCTP layer failed \n");
return FTDM_FAIL; return FTDM_FAIL;
} else { } else {
len = len + sprintf(buf + len, "<m2ua_sctp_sap>\n"); 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," <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_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," <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_sctp_sap>\n");
} }
len = len + sprintf(buf + len, "</m2ua_profile>\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, "<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," <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, " <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, " <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_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); 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, "<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," <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_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," <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_sctp_sap>\n");
} }
@ -3341,8 +3341,8 @@ static ftdm_status_t handle_show_sctp_profiles(ftdm_stream_handle_t *stream)
return FTDM_FAIL; return FTDM_FAIL;
} else { } else {
len = len + sprintf(buf + len, "<sctp_gen>\n"); 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, "<mem_size> %ld </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, " <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_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_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); 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; char *asciiAddr;
CmInetIpAddr ip; 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_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_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); 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; return FTDM_FAIL;
} else { } else {
len = len + sprintf(buf + len, "<nif_gen>\n"); 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, "<mem_size> %ld </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, " <allocated_mem_size> %ld </allocated_mem_size>\n",cfm.t.ssta.s.genSta.memAlloc);
len = len + sprintf(buf + len, "</nif_gen>\n"); 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, "<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," <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," <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"); 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, "<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," <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," <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"); len = len + sprintf(buf + len, "</nif_dlsap>\n");
} }

View File

@ -38,7 +38,6 @@
/* INCLUDE ********************************************************************/ /* INCLUDE ********************************************************************/
#include "ftmod_sangoma_ss7_main.h" #include "ftmod_sangoma_ss7_main.h"
#include "switch_utils.h"
/******************************************************************************/ /******************************************************************************/
/* DEFINES ********************************************************************/ /* DEFINES ********************************************************************/

View File

@ -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) 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; int i = 0;
const char *var = NULL; const char *var = NULL;
const char *val = NULL; const char *val = NULL;
ftdm_conf_node_t *ptr = NULL; ftdm_conf_node_t *ptr = NULL;
sng_route_t self_route;
sng_span_t sngSpan;
/* clean out the isup ckt */ /* clean out the isup ckt */
memset(&sngSpan, 0x0, sizeof(sngSpan)); 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; var = ftdm_parameters[i].var;
val = ftdm_parameters[i].val; val = ftdm_parameters[i].val;
/* confirm that the first parameter is the "operatingMode" */ g_ftdm_operating_mode = SNG_SS7_OPR_MODE_ISUP;
if(!strcasecmp(var, "operatingMode")){
/**********************************************************************/ /* confirm that the first parameter is the "operating-mode" */
if(!strcasecmp(var, "operating-mode")){
if(!strcasecmp(val, "ISUP")) { if(!strcasecmp(val, "ISUP")) {
g_ftdm_operating_mode = SNG_SS7_OPR_MODE_ISUP; g_ftdm_operating_mode = SNG_SS7_OPR_MODE_ISUP;
} }
else if(!strcasecmp(val, "M2UA_SG")) { else if(!strcasecmp(val, "M2UA_SG")) {
g_ftdm_operating_mode = SNG_SS7_OPR_MODE_M2UA_SG; g_ftdm_operating_mode = SNG_SS7_OPR_MODE_M2UA_SG;
} else { } else {
SS7_ERROR("Invalid operating Mode[%s] \n", val); SS7_DEBUG("Operating mode not specified, defaulting to ISUP\n");
return FTDM_FAIL;
} }
/**********************************************************************/ i++;
} }
i++;
var = ftdm_parameters[i].var; var = ftdm_parameters[i].var;
val = ftdm_parameters[i].val; 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++; i++;
while (ftdm_parameters[i].var != NULL) { while (ftdm_parameters[i].var != NULL) {
/**************************************************************************/
var = ftdm_parameters[i].var; var = ftdm_parameters[i].var;
val = ftdm_parameters[i].val; val = ftdm_parameters[i].val;
if (!strcasecmp(var, "dialplan")) { if (!strcasecmp(var, "dialplan")) {
/**********************************************************************/
/* don't care for now */ /* don't care for now */
/**********************************************************************/
} else if (!strcasecmp(var, "context")) { } else if (!strcasecmp(var, "context")) {
/**********************************************************************/
/* don't care for now */ /* don't care for now */
/**********************************************************************/ } else if (!strcasecmp(var, "span-id") || !strcasecmp(var, "ccSpanId")) {
} else if (!strcasecmp(var, "span-id")) {
/**********************************************************************/
sngSpan.ccSpanId = atoi(val); sngSpan.ccSpanId = atoi(val);
SS7_DEBUG("Found an ccSpanId = %d\n",sngSpan.ccSpanId); SS7_DEBUG("Found an ccSpanId = %d\n",sngSpan.ccSpanId);
/**********************************************************************/
} else { } else {
SS7_ERROR("Unknown parameter found =\"%s\"...ignoring it!\n", var); SS7_ERROR("Unknown parameter found =\"%s\"...ignoring it!\n", var);
/**********************************************************************/
} }
i++; i++;