]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
Changed default setting for 5ESS to send CONNECT ACK to match spec
authorDavid Yat Sin <dyatsin@sangoma.com>
Tue, 19 Feb 2013 21:56:11 +0000 (16:56 -0500)
committerDavid Yat Sin <dyatsin@sangoma.com>
Tue, 19 Feb 2013 21:56:11 +0000 (16:56 -0500)
libs/freetdm/src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c

index 862d4d5584daca8a8d712966c5d5c946c73d770f..8be078c0b286b45bc1e672ed68a76601384e7d35 100644 (file)
@@ -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;