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