mod_freetdm: Coding style and whitespace clean up.
No functional changes. Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
This commit is contained in:
parent
b9a45c75f4
commit
42c76fa81b
|
@ -121,7 +121,6 @@ struct private_object {
|
||||||
uint32_t write_error;
|
uint32_t write_error;
|
||||||
uint32_t read_error;
|
uint32_t read_error;
|
||||||
char network_peer_uuid[SWITCH_UUID_FORMATTED_LENGTH + 1];
|
char network_peer_uuid[SWITCH_UUID_FORMATTED_LENGTH + 1];
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/* private data attached to FTDM channels (only FXS for now) */
|
/* private data attached to FTDM channels (only FXS for now) */
|
||||||
|
@ -1149,10 +1148,10 @@ static switch_status_t channel_receive_message(switch_core_session_t *session, s
|
||||||
break;
|
break;
|
||||||
case FTDM_CHAN_TYPE_B:
|
case FTDM_CHAN_TYPE_B:
|
||||||
status = channel_receive_message_b(session, msg);
|
status = channel_receive_message_b(session, msg);
|
||||||
break;
|
break;
|
||||||
case FTDM_CHAN_TYPE_CAS:
|
case FTDM_CHAN_TYPE_CAS:
|
||||||
status = channel_receive_message_cas(session, msg);
|
status = channel_receive_message_cas(session, msg);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
status = SWITCH_STATUS_FALSE;
|
status = SWITCH_STATUS_FALSE;
|
||||||
break;
|
break;
|
||||||
|
@ -1187,20 +1186,21 @@ switch_io_routines_t freetdm_io_routines = {
|
||||||
|
|
||||||
static const char* channel_get_variable(switch_core_session_t *session, switch_event_t *var_event, const char *variable_name)
|
static const char* channel_get_variable(switch_core_session_t *session, switch_event_t *var_event, const char *variable_name)
|
||||||
{
|
{
|
||||||
const char *variable = NULL;
|
const char *variable = NULL;
|
||||||
if (var_event) {
|
|
||||||
if ((variable = switch_event_get_header(var_event, variable_name))) {
|
|
||||||
return variable;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (session) {
|
if (var_event) {
|
||||||
switch_channel_t *channel = switch_core_session_get_channel(session);
|
if ((variable = switch_event_get_header(var_event, variable_name))) {
|
||||||
if ((variable = switch_channel_get_variable(channel, variable_name))) {
|
return variable;
|
||||||
return variable;
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
return NULL;
|
if (session) {
|
||||||
|
switch_channel_t *channel = switch_core_session_get_channel(session);
|
||||||
|
if ((variable = switch_channel_get_variable(channel, variable_name))) {
|
||||||
|
return variable;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
@ -1430,7 +1430,7 @@ static switch_call_cause_t channel_outgoing_channel(switch_core_session_t *sessi
|
||||||
if (sipvar) {
|
if (sipvar) {
|
||||||
ftdm_set_string(caller_data.loc.digits, sipvar);
|
ftdm_set_string(caller_data.loc.digits, sipvar);
|
||||||
}
|
}
|
||||||
|
|
||||||
sipvar = switch_channel_get_variable(channel, "sip_h_X-FreeTDM-Access-Transport-URLENC");
|
sipvar = switch_channel_get_variable(channel, "sip_h_X-FreeTDM-Access-Transport-URLENC");
|
||||||
if (sipvar) {
|
if (sipvar) {
|
||||||
ftdm_usrmsg_add_var(&usrmsg, "ss7_access_transport_urlenc", sipvar);
|
ftdm_usrmsg_add_var(&usrmsg, "ss7_access_transport_urlenc", sipvar);
|
||||||
|
@ -1586,7 +1586,7 @@ static switch_call_cause_t channel_outgoing_channel(switch_core_session_t *sessi
|
||||||
if (sipvar) {
|
if (sipvar) {
|
||||||
ftdm_usrmsg_add_var(&usrmsg, "ss7_iam_fwd_ind_hex", sipvar);
|
ftdm_usrmsg_add_var(&usrmsg, "ss7_iam_fwd_ind_hex", sipvar);
|
||||||
}
|
}
|
||||||
|
|
||||||
sipvar = switch_channel_get_variable(channel, "sip_h_X-FreeTDM-IAM-NATURE-CONN-HEX");
|
sipvar = switch_channel_get_variable(channel, "sip_h_X-FreeTDM-IAM-NATURE-CONN-HEX");
|
||||||
if (sipvar) {
|
if (sipvar) {
|
||||||
ftdm_usrmsg_add_var(&usrmsg, "ss7_iam_nature_connection_hex", sipvar);
|
ftdm_usrmsg_add_var(&usrmsg, "ss7_iam_nature_connection_hex", sipvar);
|
||||||
|
@ -1703,21 +1703,21 @@ static switch_call_cause_t channel_outgoing_channel(switch_core_session_t *sessi
|
||||||
switch_set_string(tech_pvt->network_peer_uuid, network_peer_uuid);
|
switch_set_string(tech_pvt->network_peer_uuid, network_peer_uuid);
|
||||||
switch_set_string(peer_private->network_peer_uuid, my_uuid);
|
switch_set_string(peer_private->network_peer_uuid, my_uuid);
|
||||||
|
|
||||||
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Session %s is network-bridged with %s\n",
|
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Session %s is network-bridged with %s\n",
|
||||||
my_uuid, network_peer_uuid);
|
my_uuid, network_peer_uuid);
|
||||||
|
|
||||||
snprintf(sigbridge_peer, sizeof(sigbridge_peer), "%u:%u",
|
snprintf(sigbridge_peer, sizeof(sigbridge_peer), "%u:%u",
|
||||||
ftdm_channel_get_span_id(peer_private->ftdmchan), ftdm_channel_get_id(peer_private->ftdmchan));
|
ftdm_channel_get_span_id(peer_private->ftdmchan), ftdm_channel_get_id(peer_private->ftdmchan));
|
||||||
switch_core_session_rwunlock(network_peer);
|
switch_core_session_rwunlock(network_peer);
|
||||||
}
|
}
|
||||||
/* Figure out if there is a native bridge requested through dial plan variable and the originating channel is also freetdm (not going through SIP) */
|
/* Figure out if there is a native bridge requested through dial plan variable and the originating channel is also freetdm (not going through SIP) */
|
||||||
} else if (session
|
} else if (session
|
||||||
&& (var = channel_get_variable(session, var_event, FREETDM_VAR_PREFIX "native_sigbridge"))
|
&& (var = channel_get_variable(session, var_event, FREETDM_VAR_PREFIX "native_sigbridge"))
|
||||||
&& switch_true(var)
|
&& switch_true(var)
|
||||||
&& switch_core_session_compare(*new_session, session)) {
|
&& switch_core_session_compare(*new_session, session)) {
|
||||||
private_t *peer_pvt = switch_core_session_get_private(session);
|
private_t *peer_pvt = switch_core_session_get_private(session);
|
||||||
peer_chan = switch_core_session_get_channel(session);
|
peer_chan = switch_core_session_get_channel(session);
|
||||||
snprintf(sigbridge_peer, sizeof(sigbridge_peer), "%u:%u",
|
snprintf(sigbridge_peer, sizeof(sigbridge_peer), "%u:%u",
|
||||||
ftdm_channel_get_span_id(peer_pvt->ftdmchan), ftdm_channel_get_id(peer_pvt->ftdmchan));
|
ftdm_channel_get_span_id(peer_pvt->ftdmchan), ftdm_channel_get_id(peer_pvt->ftdmchan));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1755,8 +1755,8 @@ static switch_call_cause_t channel_outgoing_channel(switch_core_session_t *sessi
|
||||||
}
|
}
|
||||||
|
|
||||||
if (our_chan && peer_chan) {
|
if (our_chan && peer_chan) {
|
||||||
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO,
|
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO,
|
||||||
"Bridging native signaling of channel %s to channel %s\n",
|
"Bridging native signaling of channel %s to channel %s\n",
|
||||||
switch_channel_get_name(peer_chan), switch_channel_get_name(our_chan));
|
switch_channel_get_name(peer_chan), switch_channel_get_name(our_chan));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1885,8 +1885,8 @@ ftdm_status_t ftdm_channel_from_event(ftdm_sigmsg_t *sigmsg, switch_core_session
|
||||||
if (globals.sip_headers) {
|
if (globals.sip_headers) {
|
||||||
switch_channel_set_variable(channel, "sip_h_X-FreeTDM-SpanName", ftdm_channel_get_span_name(sigmsg->channel));
|
switch_channel_set_variable(channel, "sip_h_X-FreeTDM-SpanName", ftdm_channel_get_span_name(sigmsg->channel));
|
||||||
switch_channel_set_variable_printf(channel, "sip_h_X-FreeTDM-SpanNumber", "%d", spanid);
|
switch_channel_set_variable_printf(channel, "sip_h_X-FreeTDM-SpanNumber", "%d", spanid);
|
||||||
switch_channel_set_variable_printf(channel, "sip_h_X-FreeTDM-TransUUID", "%s",switch_core_session_get_uuid(session));
|
switch_channel_set_variable_printf(channel, "sip_h_X-FreeTDM-TransUUID", "%s",switch_core_session_get_uuid(session));
|
||||||
switch_channel_set_variable_printf(channel, "sip_h_X-FreeTDM-SpanNumber", "%d", spanid);
|
switch_channel_set_variable_printf(channel, "sip_h_X-FreeTDM-SpanNumber", "%d", spanid);
|
||||||
switch_channel_set_variable_printf(channel, "sip_h_X-FreeTDM-ChanNumber", "%d", chanid);
|
switch_channel_set_variable_printf(channel, "sip_h_X-FreeTDM-ChanNumber", "%d", chanid);
|
||||||
|
|
||||||
switch_channel_set_variable_printf(channel, "sip_h_X-FreeTDM-CallerName", "%s", channel_caller_data->cid_name);
|
switch_channel_set_variable_printf(channel, "sip_h_X-FreeTDM-CallerName", "%s", channel_caller_data->cid_name);
|
||||||
|
@ -1910,17 +1910,17 @@ ftdm_status_t ftdm_channel_from_event(ftdm_sigmsg_t *sigmsg, switch_core_session
|
||||||
if (!ftdm_strlen_zero(var_value)) {
|
if (!ftdm_strlen_zero(var_value)) {
|
||||||
switch_channel_set_variable_printf(channel, "sip_h_X-FreeTDM-IAM-NATURE-CONN-HEX", "%s", var_value);
|
switch_channel_set_variable_printf(channel, "sip_h_X-FreeTDM-IAM-NATURE-CONN-HEX", "%s", var_value);
|
||||||
}
|
}
|
||||||
|
|
||||||
var_value = ftdm_sigmsg_get_var(sigmsg, "ss7_iam_fwd_ind_hex");
|
var_value = ftdm_sigmsg_get_var(sigmsg, "ss7_iam_fwd_ind_hex");
|
||||||
if (!ftdm_strlen_zero(var_value)) {
|
if (!ftdm_strlen_zero(var_value)) {
|
||||||
switch_channel_set_variable_printf(channel, "sip_h_X-FreeTDM-IAM-FWD-IND-HEX", "%s", var_value);
|
switch_channel_set_variable_printf(channel, "sip_h_X-FreeTDM-IAM-FWD-IND-HEX", "%s", var_value);
|
||||||
}
|
}
|
||||||
|
|
||||||
var_value = ftdm_sigmsg_get_var(sigmsg, "ss7_access_transport_urlenc");
|
var_value = ftdm_sigmsg_get_var(sigmsg, "ss7_access_transport_urlenc");
|
||||||
if (!ftdm_strlen_zero(var_value)) {
|
if (!ftdm_strlen_zero(var_value)) {
|
||||||
switch_channel_set_variable_printf(channel, "sip_h_X-FreeTDM-Access-Transport-URLENC", "%s", var_value);
|
switch_channel_set_variable_printf(channel, "sip_h_X-FreeTDM-Access-Transport-URLENC", "%s", var_value);
|
||||||
}
|
}
|
||||||
|
|
||||||
var_value = ftdm_sigmsg_get_var(sigmsg, "ss7_rdinfo_indicator");
|
var_value = ftdm_sigmsg_get_var(sigmsg, "ss7_rdinfo_indicator");
|
||||||
if (!ftdm_strlen_zero(var_value)) {
|
if (!ftdm_strlen_zero(var_value)) {
|
||||||
switch_channel_set_variable_printf(channel, "sip_h_X-FreeTDM-RDINF-Indicator", "%s", var_value);
|
switch_channel_set_variable_printf(channel, "sip_h_X-FreeTDM-RDINF-Indicator", "%s", var_value);
|
||||||
|
@ -1940,7 +1940,7 @@ ftdm_status_t ftdm_channel_from_event(ftdm_sigmsg_t *sigmsg, switch_core_session
|
||||||
if (!ftdm_strlen_zero(var_value)) {
|
if (!ftdm_strlen_zero(var_value)) {
|
||||||
switch_channel_set_variable_printf(channel, "sip_h_X-FreeTDM-RDINF-Reason", "%s", var_value);
|
switch_channel_set_variable_printf(channel, "sip_h_X-FreeTDM-RDINF-Reason", "%s", var_value);
|
||||||
}
|
}
|
||||||
|
|
||||||
var_value = ftdm_sigmsg_get_var(sigmsg, "ss7_clg_nadi");
|
var_value = ftdm_sigmsg_get_var(sigmsg, "ss7_clg_nadi");
|
||||||
if (!ftdm_strlen_zero(var_value)) {
|
if (!ftdm_strlen_zero(var_value)) {
|
||||||
switch_channel_set_variable_printf(channel, "sip_h_X-FreeTDM-NADI", "%s", var_value);
|
switch_channel_set_variable_printf(channel, "sip_h_X-FreeTDM-NADI", "%s", var_value);
|
||||||
|
@ -2040,7 +2040,7 @@ ftdm_status_t ftdm_channel_from_event(ftdm_sigmsg_t *sigmsg, switch_core_session
|
||||||
if (!ftdm_strlen_zero(var_value)) {
|
if (!ftdm_strlen_zero(var_value)) {
|
||||||
switch_channel_set_variable_printf(channel, "sip_h_X-FreeTDM-OCN", "%s", var_value);
|
switch_channel_set_variable_printf(channel, "sip_h_X-FreeTDM-OCN", "%s", var_value);
|
||||||
}
|
}
|
||||||
|
|
||||||
var_value = ftdm_sigmsg_get_var(sigmsg, "ss7_ocn_nadi");
|
var_value = ftdm_sigmsg_get_var(sigmsg, "ss7_ocn_nadi");
|
||||||
if (!ftdm_strlen_zero(var_value)) {
|
if (!ftdm_strlen_zero(var_value)) {
|
||||||
switch_channel_set_variable_printf(channel, "sip_h_X-FreeTDM-OCN-NADI", "%s", var_value);
|
switch_channel_set_variable_printf(channel, "sip_h_X-FreeTDM-OCN-NADI", "%s", var_value);
|
||||||
|
@ -2234,7 +2234,7 @@ static FIO_SIGNAL_CB_FUNCTION(on_fxo_signal)
|
||||||
|
|
||||||
ftdm_log(FTDM_LOG_DEBUG, "got FXO sig %d:%d [%s]\n", spanid, chanid, ftdm_signal_event2str(sigmsg->event_id));
|
ftdm_log(FTDM_LOG_DEBUG, "got FXO sig %d:%d [%s]\n", spanid, chanid, ftdm_signal_event2str(sigmsg->event_id));
|
||||||
|
|
||||||
switch(sigmsg->event_id) {
|
switch (sigmsg->event_id) {
|
||||||
case FTDM_SIGEVENT_PROGRESS_MEDIA:
|
case FTDM_SIGEVENT_PROGRESS_MEDIA:
|
||||||
{
|
{
|
||||||
if ((session = ftdm_channel_get_session(sigmsg->channel, 0))) {
|
if ((session = ftdm_channel_get_session(sigmsg->channel, 0))) {
|
||||||
|
@ -2302,7 +2302,7 @@ static FIO_SIGNAL_CB_FUNCTION(on_fxs_signal)
|
||||||
|
|
||||||
ftdm_log(FTDM_LOG_DEBUG, "got FXS sig [%s]\n", ftdm_signal_event2str(sigmsg->event_id));
|
ftdm_log(FTDM_LOG_DEBUG, "got FXS sig [%s]\n", ftdm_signal_event2str(sigmsg->event_id));
|
||||||
|
|
||||||
switch(sigmsg->event_id) {
|
switch (sigmsg->event_id) {
|
||||||
case FTDM_SIGEVENT_UP:
|
case FTDM_SIGEVENT_UP:
|
||||||
{
|
{
|
||||||
if ((session = ftdm_channel_get_session(sigmsg->channel, 0))) {
|
if ((session = ftdm_channel_get_session(sigmsg->channel, 0))) {
|
||||||
|
@ -2804,8 +2804,8 @@ static uint32_t enable_analog_option(const char *str, uint32_t current_options)
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Create ftdm_conf_node_t tree based on a fixed pattern XML configuration list
|
* Create ftdm_conf_node_t tree based on a fixed pattern XML configuration list.
|
||||||
* last 2 args are for limited aka dumb recursivity
|
* Last 2 args are for limited aka dumb recursivity.
|
||||||
*/
|
*/
|
||||||
static int add_config_list_nodes(switch_xml_t swnode, ftdm_conf_node_t *rootnode,
|
static int add_config_list_nodes(switch_xml_t swnode, ftdm_conf_node_t *rootnode,
|
||||||
const char *list_name, const char *list_element_name,
|
const char *list_name, const char *list_element_name,
|
||||||
|
@ -2859,8 +2859,10 @@ static int add_config_list_nodes(switch_xml_t swnode, ftdm_conf_node_t *rootnode
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* create ftdm_conf_node_t tree based on a fixed pattern XML configuration list
|
/*
|
||||||
* last arg is to specify if we have any sublist for e.g.
|
* Create ftdm_conf_node_t tree based on a fixed pattern XML configuration list.
|
||||||
|
* Last arg is to specify if we have any sublist for e.g.:
|
||||||
|
*
|
||||||
* <list_name>
|
* <list_name>
|
||||||
* <list_element_name>
|
* <list_element_name>
|
||||||
* <param name="xxx" value="xxx"/>
|
* <param name="xxx" value="xxx"/>
|
||||||
|
@ -2868,9 +2870,9 @@ static int add_config_list_nodes(switch_xml_t swnode, ftdm_conf_node_t *rootnode
|
||||||
* <param name="xxx" value="xxx"/>
|
* <param name="xxx" value="xxx"/>
|
||||||
* </sub-list>
|
* </sub-list>
|
||||||
* </list_element_name>
|
* </list_element_name>
|
||||||
* </list_name>
|
* </list_name>
|
||||||
* */
|
*/
|
||||||
static int add_config_nodes(switch_xml_t swnode, ftdm_conf_node_t *rootnode,
|
static int add_config_nodes(switch_xml_t swnode, ftdm_conf_node_t *rootnode,
|
||||||
const char *list_name, const char *list_element_name, const char *sub_list_name)
|
const char *list_name, const char *list_element_name, const char *sub_list_name)
|
||||||
{
|
{
|
||||||
char *var, *val;
|
char *var, *val;
|
||||||
|
@ -2970,7 +2972,7 @@ static ftdm_conf_node_t *_get_ss7_config_node(switch_xml_t cfg, const char *conf
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!isup) {
|
if (!isup) {
|
||||||
/* search the isup config */
|
/* search the isup config */
|
||||||
for (isup = switch_xml_child(ss7configs, "sng_isup"); isup; isup = isup->next) {
|
for (isup = switch_xml_child(ss7configs, "sng_isup"); isup; isup = isup->next) {
|
||||||
|
@ -2996,11 +2998,11 @@ 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(operating_mode && ('\0' != operating_mode[0])) {
|
if (operating_mode && ('\0' != operating_mode[0])) {
|
||||||
if(!strcasecmp(operating_mode, "ISUP")) {
|
if (!strcasecmp(operating_mode, "ISUP")) {
|
||||||
is_isup = 0x01;
|
is_isup = 0x01;
|
||||||
}
|
}
|
||||||
else if(!strcasecmp(operating_mode, "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", operating_mode);
|
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Invalid operating Mode[%s] \n", operating_mode);
|
||||||
|
@ -3053,7 +3055,7 @@ static ftdm_conf_node_t *_get_ss7_config_node(switch_xml_t cfg, const char *conf
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(is_isup) {
|
if (is_isup) {
|
||||||
/* add mtp3 links */
|
/* add mtp3 links */
|
||||||
if (add_config_list_nodes(isup, rootnode, "mtp3_links", "mtp3_link", NULL, NULL)) {
|
if (add_config_list_nodes(isup, rootnode, "mtp3_links", "mtp3_link", NULL, NULL)) {
|
||||||
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "failed to process mtp3_links for sng_isup config %s\n", confname);
|
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "failed to process mtp3_links for sng_isup config %s\n", confname);
|
||||||
|
@ -3248,10 +3250,12 @@ static void parse_gsm_spans(switch_xml_t cfg, switch_xml_t spans)
|
||||||
LOAD_ERROR("Error configuring Sangoma GSM FreeTDM span %d\n", span_id);
|
LOAD_ERROR("Error configuring Sangoma GSM FreeTDM span %d\n", span_id);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
SPAN_CONFIG[span_id].span = span;
|
SPAN_CONFIG[span_id].span = span;
|
||||||
switch_copy_string(SPAN_CONFIG[span_id].context, context, sizeof(SPAN_CONFIG[span_id].context));
|
switch_copy_string(SPAN_CONFIG[span_id].context, context, sizeof(SPAN_CONFIG[span_id].context));
|
||||||
switch_copy_string(SPAN_CONFIG[span_id].dialplan, dialplan, sizeof(SPAN_CONFIG[span_id].dialplan));
|
switch_copy_string(SPAN_CONFIG[span_id].dialplan, dialplan, sizeof(SPAN_CONFIG[span_id].dialplan));
|
||||||
switch_copy_string(SPAN_CONFIG[span_id].type, "GSM", sizeof(SPAN_CONFIG[span_id].type));
|
switch_copy_string(SPAN_CONFIG[span_id].type, "GSM", sizeof(SPAN_CONFIG[span_id].type));
|
||||||
|
|
||||||
ftdm_log(FTDM_LOG_DEBUG, "Configured GSM FreeTDM span %d\n", span_id);
|
ftdm_log(FTDM_LOG_DEBUG, "Configured GSM FreeTDM span %d\n", span_id);
|
||||||
ftdm_span_start(span);
|
ftdm_span_start(span);
|
||||||
}
|
}
|
||||||
|
@ -3379,10 +3383,12 @@ static void parse_bri_pri_spans(switch_xml_t cfg, switch_xml_t spans)
|
||||||
LOAD_ERROR("Error configuring Sangoma ISDN FreeTDM span %d\n", span_id);
|
LOAD_ERROR("Error configuring Sangoma ISDN FreeTDM span %d\n", span_id);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
SPAN_CONFIG[span_id].span = span;
|
SPAN_CONFIG[span_id].span = span;
|
||||||
switch_copy_string(SPAN_CONFIG[span_id].context, context, sizeof(SPAN_CONFIG[span_id].context));
|
switch_copy_string(SPAN_CONFIG[span_id].context, context, sizeof(SPAN_CONFIG[span_id].context));
|
||||||
switch_copy_string(SPAN_CONFIG[span_id].dialplan, dialplan, sizeof(SPAN_CONFIG[span_id].dialplan));
|
switch_copy_string(SPAN_CONFIG[span_id].dialplan, dialplan, sizeof(SPAN_CONFIG[span_id].dialplan));
|
||||||
switch_copy_string(SPAN_CONFIG[span_id].type, "Sangoma (ISDN)", sizeof(SPAN_CONFIG[span_id].type));
|
switch_copy_string(SPAN_CONFIG[span_id].type, "Sangoma (ISDN)", sizeof(SPAN_CONFIG[span_id].type));
|
||||||
|
|
||||||
ftdm_log(FTDM_LOG_DEBUG, "Configured Sangoma ISDN FreeTDM span %d\n", span_id);
|
ftdm_log(FTDM_LOG_DEBUG, "Configured Sangoma ISDN FreeTDM span %d\n", span_id);
|
||||||
ftdm_span_start(span);
|
ftdm_span_start(span);
|
||||||
}
|
}
|
||||||
|
@ -3400,6 +3406,7 @@ static switch_status_t load_config(void)
|
||||||
|
|
||||||
memset(&globals, 0, sizeof(globals));
|
memset(&globals, 0, sizeof(globals));
|
||||||
switch_mutex_init(&globals.mutex, SWITCH_MUTEX_NESTED, module_pool);
|
switch_mutex_init(&globals.mutex, SWITCH_MUTEX_NESTED, module_pool);
|
||||||
|
|
||||||
if (!(xml = switch_xml_open_cfg(cf, &cfg, NULL))) {
|
if (!(xml = switch_xml_open_cfg(cf, &cfg, NULL))) {
|
||||||
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "open of %s failed\n", cf);
|
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "open of %s failed\n", cf);
|
||||||
return SWITCH_STATUS_TERM;
|
return SWITCH_STATUS_TERM;
|
||||||
|
@ -3490,14 +3497,17 @@ static switch_status_t load_config(void)
|
||||||
|
|
||||||
memset(spanparameters, 0, sizeof(spanparameters));
|
memset(spanparameters, 0, sizeof(spanparameters));
|
||||||
paramindex = 0;
|
paramindex = 0;
|
||||||
if(operating_mode){
|
|
||||||
|
if (operating_mode) {
|
||||||
spanparameters[paramindex].var = "operating-mode";
|
spanparameters[paramindex].var = "operating-mode";
|
||||||
spanparameters[paramindex].val = operating_mode;
|
spanparameters[paramindex].val = operating_mode;
|
||||||
paramindex++;
|
paramindex++;
|
||||||
}
|
}
|
||||||
|
|
||||||
spanparameters[paramindex].var = "confnode";
|
spanparameters[paramindex].var = "confnode";
|
||||||
spanparameters[paramindex].ptr = ss7confnode;
|
spanparameters[paramindex].ptr = ss7confnode;
|
||||||
paramindex++;
|
paramindex++;
|
||||||
|
|
||||||
for (param = switch_xml_child(myspan, "param"); param; param = param->next) {
|
for (param = switch_xml_child(myspan, "param"); param; param = param->next) {
|
||||||
char *var = (char *) switch_xml_attr_soft(param, "name");
|
char *var = (char *) switch_xml_attr_soft(param, "name");
|
||||||
char *val = (char *) switch_xml_attr_soft(param, "value");
|
char *val = (char *) switch_xml_attr_soft(param, "value");
|
||||||
|
@ -3525,12 +3535,16 @@ static switch_status_t load_config(void)
|
||||||
LOAD_ERROR("Error configuring ss7 FreeTDM span %d\n", span_id);
|
LOAD_ERROR("Error configuring ss7 FreeTDM span %d\n", span_id);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
SPAN_CONFIG[span_id].span = span;
|
SPAN_CONFIG[span_id].span = span;
|
||||||
|
|
||||||
switch_copy_string(SPAN_CONFIG[span_id].context, context, sizeof(SPAN_CONFIG[span_id].context));
|
switch_copy_string(SPAN_CONFIG[span_id].context, context, sizeof(SPAN_CONFIG[span_id].context));
|
||||||
switch_copy_string(SPAN_CONFIG[span_id].dialplan, dialplan, sizeof(SPAN_CONFIG[span_id].dialplan));
|
switch_copy_string(SPAN_CONFIG[span_id].dialplan, dialplan, sizeof(SPAN_CONFIG[span_id].dialplan));
|
||||||
switch_copy_string(SPAN_CONFIG[span_id].type, "Sangoma (SS7)", sizeof(SPAN_CONFIG[span_id].type));
|
switch_copy_string(SPAN_CONFIG[span_id].type, "Sangoma (SS7)", sizeof(SPAN_CONFIG[span_id].type));
|
||||||
|
|
||||||
ftdm_log(FTDM_LOG_DEBUG, "Configured ss7 FreeTDM span %d with config node %s\n", span_id, configname);
|
ftdm_log(FTDM_LOG_DEBUG, "Configured ss7 FreeTDM span %d with config node %s\n", span_id, configname);
|
||||||
if(FTDM_SUCCESS != ftdm_span_start(span)){
|
|
||||||
|
if (FTDM_SUCCESS != ftdm_span_start(span)) {
|
||||||
LOAD_ERROR("Error Starting ss7 FreeTDM span %d\n", span_id);
|
LOAD_ERROR("Error Starting ss7 FreeTDM span %d\n", span_id);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -4702,38 +4716,38 @@ end:
|
||||||
|
|
||||||
FTDM_CLI_DECLARE(ftdm_cmd_alarms)
|
FTDM_CLI_DECLARE(ftdm_cmd_alarms)
|
||||||
{
|
{
|
||||||
ftdm_alarm_flag_t alarmbits = FTDM_ALARM_NONE;
|
ftdm_alarm_flag_t alarmbits = FTDM_ALARM_NONE;
|
||||||
uint32_t chan_id = 0;
|
uint32_t chan_id = 0;
|
||||||
ftdm_span_t *span;
|
ftdm_span_t *span;
|
||||||
|
|
||||||
if (argc < 3) {
|
if (argc < 3) {
|
||||||
print_usage(stream, cli);
|
print_usage(stream, cli);
|
||||||
goto end;
|
goto end;
|
||||||
}
|
}
|
||||||
|
|
||||||
ftdm_span_find_by_name(argv[1], &span);
|
ftdm_span_find_by_name(argv[1], &span);
|
||||||
chan_id = atoi(argv[2]);
|
chan_id = atoi(argv[2]);
|
||||||
if (!span) {
|
if (!span) {
|
||||||
stream->write_function(stream, "-ERR invalid span\n");
|
stream->write_function(stream, "-ERR invalid span\n");
|
||||||
} else if (chan_id) {
|
} else if (chan_id) {
|
||||||
if (chan_id > ftdm_span_get_chan_count(span)) {
|
if (chan_id > ftdm_span_get_chan_count(span)) {
|
||||||
stream->write_function(stream, "-ERR invalid channel\n");
|
stream->write_function(stream, "-ERR invalid channel\n");
|
||||||
} else {
|
} else {
|
||||||
ftdm_channel_t *chan = ftdm_span_get_channel(span, chan_id);
|
ftdm_channel_t *chan = ftdm_span_get_channel(span, chan_id);
|
||||||
if (!chan) {
|
if (!chan) {
|
||||||
stream->write_function(stream, "-ERR channel not configured\n");
|
stream->write_function(stream, "-ERR channel not configured\n");
|
||||||
} else {
|
} else {
|
||||||
ftdm_channel_get_alarms(chan, &alarmbits);
|
ftdm_channel_get_alarms(chan, &alarmbits);
|
||||||
if (!strlen(ftdm_channel_get_last_error(chan))) {
|
if (!strlen(ftdm_channel_get_last_error(chan))) {
|
||||||
stream->write_function(stream, "+OK No alarms\n");
|
stream->write_function(stream, "+OK No alarms\n");
|
||||||
} else {
|
} else {
|
||||||
stream->write_function(stream, "-ERR %s on %s:%d\n", ftdm_channel_get_last_error(chan), argv[1], chan);
|
stream->write_function(stream, "-ERR %s on %s:%d\n", ftdm_channel_get_last_error(chan), argv[1], chan);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
end:
|
end:
|
||||||
return SWITCH_STATUS_SUCCESS;
|
return SWITCH_STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
FTDM_CLI_DECLARE(ftdm_cmd_sigstatus)
|
FTDM_CLI_DECLARE(ftdm_cmd_sigstatus)
|
||||||
|
|
Loading…
Reference in New Issue