From 12e61692dd9af265cb77448a74a584f09ab53d37 Mon Sep 17 00:00:00 2001
From: Kapil Gupta <kgupta@sangoma.com>
Date: Fri, 17 Aug 2012 19:05:12 -0400
Subject: [PATCH] adding signaling   FTDM_SIGTYPE_M2UA type

---
 libs/freetdm/src/ftdm_io.c                                   | 3 ++-
 .../src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c     | 5 +++++
 libs/freetdm/src/include/private/ftdm_types.h                | 1 +
 3 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/libs/freetdm/src/ftdm_io.c b/libs/freetdm/src/ftdm_io.c
index 6bc5471e5a..5f89067304 100644
--- a/libs/freetdm/src/ftdm_io.c
+++ b/libs/freetdm/src/ftdm_io.c
@@ -1470,7 +1470,8 @@ FT_DECLARE(ftdm_status_t) ftdm_group_channel_use_count(ftdm_group_t *group, uint
 
 static __inline__ int chan_is_avail(ftdm_channel_t *check)
 {
-	if (check->span->signal_type == FTDM_SIGTYPE_NONE) {
+	if ((check->span->signal_type == FTDM_SIGTYPE_M2UA) || 
+			(check->span->signal_type == FTDM_SIGTYPE_NONE)) {
 		if (!ftdm_test_flag(check, FTDM_CHANNEL_READY) ||
 			ftdm_test_flag(check, FTDM_CHANNEL_INUSE) ||
 			ftdm_test_flag(check, FTDM_CHANNEL_SUSPENDED) ||
diff --git a/libs/freetdm/src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c b/libs/freetdm/src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c
index fbc74d66cb..55b95f6acf 100644
--- a/libs/freetdm/src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c
+++ b/libs/freetdm/src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c
@@ -2552,6 +2552,11 @@ static FIO_CONFIGURE_SPAN_SIGNALING_FUNCTION(ftdm_sangoma_ss7_span_config)
 		return FTDM_FAIL;
 	}
 
+	if(SNG_SS7_OPR_MODE_M2UA_SG == g_ftdm_operating_mode){
+		ftdm_log (FTDM_LOG_INFO, "FreeTDM running as M2UA_SG mode, Setting Span type to FTDM_SIGTYPE_M2UA\n"); 
+		span->signal_type = FTDM_SIGTYPE_M2UA;
+	}
+
 	if (ft_to_sngss7_cfg_all()) {	/* configure libsngss7 */
 		ftdm_log (FTDM_LOG_CRIT, "Failed to configure LibSngSS7!\n");
 		ftdm_sleep (100);
diff --git a/libs/freetdm/src/include/private/ftdm_types.h b/libs/freetdm/src/include/private/ftdm_types.h
index 8a0a2238de..c92164dd8c 100755
--- a/libs/freetdm/src/include/private/ftdm_types.h
+++ b/libs/freetdm/src/include/private/ftdm_types.h
@@ -162,6 +162,7 @@ typedef enum {
 	FTDM_SIGTYPE_ANALOG,
 	FTDM_SIGTYPE_SANGOMABOOST,
 	FTDM_SIGTYPE_M3UA,
+	FTDM_SIGTYPE_M2UA,
 	FTDM_SIGTYPE_R2,
 	FTDM_SIGTYPE_SS7,
 	FTDM_SIGTYPE_GSM