From 79324e1fe93dfcd0ad917a75eb81ffa758bb7952 Mon Sep 17 00:00:00 2001 From: David Yat Sin Date: Tue, 19 Feb 2013 16:56:11 -0500 Subject: [PATCH] Changed default setting for 5ESS to send CONNECT ACK to match spec --- .../ftmod_sangoma_isdn_stack_cfg.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/libs/freetdm/src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c b/libs/freetdm/src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c index 862d4d5584..8be078c0b2 100644 --- a/libs/freetdm/src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c +++ b/libs/freetdm/src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c @@ -712,14 +712,12 @@ ftdm_status_t sngisdn_stack_cfg_q931_dlsap(ftdm_span_t *span) #endif /* ISDN_SRV */ if (signal_data->switchtype == SNGISDN_SWITCH_QSIG) { - cfg.t.cfg.s.inDLSAP.ackOpt = TRUE; cfg.t.cfg.s.inDLSAP.intType = SYM_USER; cfg.t.cfg.s.inDLSAP.clrGlr = TRUE; /* in case of glare, clear local call */ cfg.t.cfg.s.inDLSAP.statEnqOpt = FALSE; cfg.t.cfg.s.inDLSAP.rstOpt = FALSE; } else { if (signal_data->signalling == SNGISDN_SIGNALING_NET) { - cfg.t.cfg.s.inDLSAP.ackOpt = TRUE; cfg.t.cfg.s.inDLSAP.intType = NETWORK; cfg.t.cfg.s.inDLSAP.clrGlr = FALSE; /* in case of glare, do not clear local call */ cfg.t.cfg.s.inDLSAP.statEnqOpt = TRUE; @@ -730,7 +728,6 @@ ftdm_status_t sngisdn_stack_cfg_q931_dlsap(ftdm_span_t *span) cfg.t.cfg.s.inDLSAP.rstOpt = TRUE; } } else { - cfg.t.cfg.s.inDLSAP.ackOpt = FALSE; cfg.t.cfg.s.inDLSAP.intType = USER; cfg.t.cfg.s.inDLSAP.clrGlr = TRUE; /* in case of glare, clear local call */ cfg.t.cfg.s.inDLSAP.statEnqOpt = FALSE; @@ -738,6 +735,16 @@ ftdm_status_t sngisdn_stack_cfg_q931_dlsap(ftdm_span_t *span) } } + if (signal_data->switchtype == SNGISDN_SWITCH_QSIG || + signal_data->switchtype == SNGISDN_SWITCH_5ESS) { + + cfg.t.cfg.s.inDLSAP.ackOpt = TRUE; + } else if (signal_data->signalling == SNGISDN_SIGNALING_NET) { + cfg.t.cfg.s.inDLSAP.ackOpt = TRUE; + } else { + cfg.t.cfg.s.inDLSAP.ackOpt = FALSE; + } + if (signal_data->send_connect_ack != SNGISDN_OPT_DEFAULT) { if (signal_data->send_connect_ack == SNGISDN_OPT_TRUE) { cfg.t.cfg.s.inDLSAP.ackOpt = TRUE;