Project "FreeSWITCH Source" received a push.

branch: master updated

       via: 93501b288b34a7d4f5287f7bc2b498a2321d73c5 (commit)
      from: 0e841a5f14810514ee60562481c405d7fb560e72 (commit)


= COMMIT LOG ===========================================================
committer: David Yat Sin
comments: 
Fixes to support QSIG over T1

diff --git a/libs/freetdm/src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c b/libs/freetdm/src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c
index bd5b13b..9fe2819 100644
--- a/libs/freetdm/src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c
+++ b/libs/freetdm/src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c
@@ -84,6 +84,8 @@ static ftdm_status_t parse_switchtype(const char* switch_name, ftdm_span_t *span
 				signal_data->switchtype = SNGISDN_SWITCH_4ESS;
 			} else if (!strcasecmp(switch_name, "dms100")) {
 				signal_data->switchtype = SNGISDN_SWITCH_DMS100;
+			} else if (!strcasecmp(switch_name, "qsig")) {
+				signal_data->switchtype = SNGISDN_SWITCH_QSIG;
 			} else {
 				ftdm_log(FTDM_LOG_ERROR, "%s:Unsupported switchtype %s for trunktype:%s\n", span->name, switch_name, ftdm_trunk_type2str(span->trunk_type));
 				return FTDM_FAIL;
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 a52a624..1bd2753 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
@@ -667,25 +667,33 @@ ftdm_status_t sngisdn_stack_cfg_q931_dlsap(ftdm_span_t *span)
 	cfg.t.cfg.s.inDLSAP.maxBSrvCnt = 2;
 	cfg.t.cfg.s.inDLSAP.maxDSrvCnt = 2;
 #endif /* ISDN_SRV */
-	
-	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;
 
-		if (signal_data->switchtype == SNGISDN_SWITCH_EUROISDN ||
-			signal_data->switchtype == SNGISDN_SWITCH_INSNET) {
-			cfg.t.cfg.s.inDLSAP.rstOpt = FALSE;
-		} else {
-			cfg.t.cfg.s.inDLSAP.rstOpt = TRUE;
-		}
-	} else {
-		cfg.t.cfg.s.inDLSAP.ackOpt = FALSE;
-		cfg.t.cfg.s.inDLSAP.intType = USER;
+	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;
+
+			if (signal_data->switchtype == SNGISDN_SWITCH_EUROISDN ||
+				signal_data->switchtype == SNGISDN_SWITCH_INSNET) {
+				cfg.t.cfg.s.inDLSAP.rstOpt = FALSE;
+			} else {
+				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;
+			cfg.t.cfg.s.inDLSAP.rstOpt = FALSE;
+		}
 	}
 
 	/* Override the restart options if user selected that option */
========================================================================

Summary of changes:
 .../ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c    |    2 +
 .../ftmod_sangoma_isdn_stack_cfg.c                 |   38 ++++++++++++--------
 2 files changed, 25 insertions(+), 15 deletions(-)

this email was generated because of /git/your-repo.git/hooks/post-receive by the file /git-core/contrib/hooks/post-receive-email
For more info, see http://blog.chomperstomp.com/?p=630 --
FreeSWITCH Source