From 99c022b1ddf6f8e0566d558c5d9016be66a82163 Mon Sep 17 00:00:00 2001
From: Moises Silva <moy@sangoma.com>
Date: Thu, 1 May 2014 19:59:16 -0400
Subject: [PATCH] FS-6500: freetdm: Add more enum compliance by defining proper
 enum values for FTDM_END and FTDM_ANY special state values

---
 libs/freetdm/src/ftdm_state.c                 |   4 +-
 libs/freetdm/src/ftmod/ftmod_gsm/ftmod_gsm.c  |  64 ++++-----
 .../freetdm/src/ftmod/ftmod_isdn/ftmod_isdn.c |  68 ++++-----
 .../src/ftmod/ftmod_libpri/ftmod_libpri.c     | 112 +++++++--------
 .../src/ftmod/ftmod_pritap/ftmod_pritap.c     |  28 ++--
 libs/freetdm/src/ftmod/ftmod_r2/ftmod_r2.c    |  72 +++++-----
 .../ftmod_sangoma_isdn/ftmod_sangoma_isdn.c   | 136 +++++++++---------
 .../ftmod_sangoma_ss7_main.c                  | 112 +++++++--------
 libs/freetdm/src/include/private/ftdm_state.h |   3 +
 libs/freetdm/src/include/private/ftdm_types.h |   3 -
 10 files changed, 301 insertions(+), 301 deletions(-)

diff --git a/libs/freetdm/src/ftdm_state.c b/libs/freetdm/src/ftdm_state.c
index ade5038dc0..f6bc0ef4c4 100644
--- a/libs/freetdm/src/ftdm_state.c
+++ b/libs/freetdm/src/ftdm_state.c
@@ -149,7 +149,7 @@ static int ftdm_parse_state_map(ftdm_channel_t *ftdmchan, ftdm_channel_state_t s
 			continue;
 		}
 		
-		if (state_map->nodes[x].check_states[0] == FTDM_ANY_STATE) {
+		if (state_map->nodes[x].check_states[0] == FTDM_CHANNEL_STATE_ANY) {
 			proceed = 1;
 		} else {
 			for(i = 0; i < FTDM_MAP_MAX; i++) {
@@ -166,7 +166,7 @@ static int ftdm_parse_state_map(ftdm_channel_t *ftdmchan, ftdm_channel_state_t s
 		
 		for(i = 0; i < FTDM_MAP_MAX; i++) {
 			ok = (state_map->nodes[x].type == ZSM_ACCEPTABLE);
-			if (state_map->nodes[x].states[i] == FTDM_END) {
+			if (state_map->nodes[x].states[i] == FTDM_CHANNEL_STATE_END) {
 				break;
 			}
 			if (state_map->nodes[x].states[i] == state) {
diff --git a/libs/freetdm/src/ftmod/ftmod_gsm/ftmod_gsm.c b/libs/freetdm/src/ftmod/ftmod_gsm/ftmod_gsm.c
index f3bd3b710f..58b7789fe2 100755
--- a/libs/freetdm/src/ftmod/ftmod_gsm/ftmod_gsm.c
+++ b/libs/freetdm/src/ftmod/ftmod_gsm/ftmod_gsm.c
@@ -579,50 +579,50 @@ static ftdm_state_map_t gsm_state_map = {
 		{
 			ZSD_INBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_ANY_STATE, FTDM_END},
-			{FTDM_CHANNEL_STATE_RESET, FTDM_END}
+			{FTDM_CHANNEL_STATE_ANY, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_RESET, FTDM_CHANNEL_STATE_END}
 		},
 		{
 			ZSD_INBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_RESET, FTDM_END},
-			{FTDM_CHANNEL_STATE_DOWN, FTDM_END}
+			{FTDM_CHANNEL_STATE_RESET, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_DOWN, FTDM_CHANNEL_STATE_END}
 		},
 		{
 			ZSD_INBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_DOWN, FTDM_END},
-			{FTDM_CHANNEL_STATE_RING, FTDM_END}
+			{FTDM_CHANNEL_STATE_DOWN, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_RING, FTDM_CHANNEL_STATE_END}
 		},
 		{
 			ZSD_INBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_RING, FTDM_END},
-			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_UP, FTDM_END}
+			{FTDM_CHANNEL_STATE_RING, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_UP, FTDM_CHANNEL_STATE_END}
 		},
 		{
 			ZSD_INBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_HANGUP, FTDM_END},
-			{FTDM_CHANNEL_STATE_DOWN, FTDM_END},
+			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_DOWN, FTDM_CHANNEL_STATE_END},
 		},
 		{
 			ZSD_INBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_TERMINATING, FTDM_END},
-			{FTDM_CHANNEL_STATE_HANGUP, FTDM_END},
+			{FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_END},
 		},
 		{
 			ZSD_INBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_END},
-			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_UP, FTDM_END},
+			{FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_UP, FTDM_CHANNEL_STATE_END},
 		},
 		{
 			ZSD_INBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_UP, FTDM_END},
-			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_END},
+			{FTDM_CHANNEL_STATE_UP, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_END},
 		},
 		
 		/* Outbound states */
@@ -630,29 +630,29 @@ static ftdm_state_map_t gsm_state_map = {
 		{
 			ZSD_OUTBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_ANY_STATE, FTDM_END},
-			{FTDM_CHANNEL_STATE_RESET, FTDM_END}
+			{FTDM_CHANNEL_STATE_ANY, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_RESET, FTDM_CHANNEL_STATE_END}
 		},
 
 		{
 			ZSD_OUTBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_RESET, FTDM_END},
-			{FTDM_CHANNEL_STATE_DOWN, FTDM_END}
+			{FTDM_CHANNEL_STATE_RESET, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_DOWN, FTDM_CHANNEL_STATE_END}
 		},
 
 		{
 			ZSD_OUTBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_DOWN, FTDM_END},
-			{FTDM_CHANNEL_STATE_DIALING, FTDM_END}
+			{FTDM_CHANNEL_STATE_DOWN, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_DIALING, FTDM_CHANNEL_STATE_END}
 		},
 
 		{
 			ZSD_OUTBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_DIALING, FTDM_CHANNEL_STATE_RINGING,  FTDM_END},
-			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_RINGING, FTDM_END}
+			{FTDM_CHANNEL_STATE_DIALING, FTDM_CHANNEL_STATE_RINGING,  FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_RINGING, FTDM_CHANNEL_STATE_END}
 		},
 
 
@@ -660,29 +660,29 @@ static ftdm_state_map_t gsm_state_map = {
 		{
 			ZSD_OUTBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_HANGUP, FTDM_END},
-			{FTDM_CHANNEL_STATE_DOWN, FTDM_END}
+			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_DOWN, FTDM_CHANNEL_STATE_END}
 		},
 
 		{
 			ZSD_OUTBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_TERMINATING, FTDM_END},
-			{FTDM_CHANNEL_STATE_HANGUP, FTDM_END}
+			{FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_END}
 		},
 
 		{
 			ZSD_OUTBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_END},
-			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_UP, FTDM_END}
+			{FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_UP, FTDM_CHANNEL_STATE_END}
 		},
 
 		{
 			ZSD_OUTBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_UP, FTDM_END},
-			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_END}
+			{FTDM_CHANNEL_STATE_UP, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_END}
 		},
 	}
 };
diff --git a/libs/freetdm/src/ftmod/ftmod_isdn/ftmod_isdn.c b/libs/freetdm/src/ftmod/ftmod_isdn/ftmod_isdn.c
index 548bde6f0c..1adad76988 100644
--- a/libs/freetdm/src/ftmod/ftmod_isdn/ftmod_isdn.c
+++ b/libs/freetdm/src/ftmod/ftmod_isdn/ftmod_isdn.c
@@ -2157,107 +2157,107 @@ static ftdm_state_map_t isdn_state_map = {
 		{
 			ZSD_OUTBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_ANY_STATE},
-			{FTDM_CHANNEL_STATE_RESTART, FTDM_END}
+			{FTDM_CHANNEL_STATE_ANY},
+			{FTDM_CHANNEL_STATE_RESTART, FTDM_CHANNEL_STATE_END}
 		},
 		{
 			ZSD_OUTBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_RESTART, FTDM_END},
-			{FTDM_CHANNEL_STATE_DOWN, FTDM_END}
+			{FTDM_CHANNEL_STATE_RESTART, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_DOWN, FTDM_CHANNEL_STATE_END}
 		},
 		{
 			ZSD_OUTBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_DOWN, FTDM_END},
-			{FTDM_CHANNEL_STATE_DIALING, FTDM_END}
+			{FTDM_CHANNEL_STATE_DOWN, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_DIALING, FTDM_CHANNEL_STATE_END}
 		},
 		{
 			ZSD_OUTBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_DIALING, FTDM_END},
-			{FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_PROGRESS, FTDM_CHANNEL_STATE_UP, FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_DOWN, FTDM_END}
+			{FTDM_CHANNEL_STATE_DIALING, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_PROGRESS, FTDM_CHANNEL_STATE_UP, FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_DOWN, FTDM_CHANNEL_STATE_END}
 		},
 		{
 			ZSD_OUTBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_PROGRESS, FTDM_END},
-			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_UP, FTDM_END}
+			{FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_PROGRESS, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_UP, FTDM_CHANNEL_STATE_END}
 		},
 		{
 			ZSD_OUTBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_END},
-			{FTDM_CHANNEL_STATE_HANGUP_COMPLETE, FTDM_CHANNEL_STATE_DOWN, FTDM_END}
+			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_HANGUP_COMPLETE, FTDM_CHANNEL_STATE_DOWN, FTDM_CHANNEL_STATE_END}
 		},
 		{
 			ZSD_OUTBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_HANGUP_COMPLETE, FTDM_END},
-			{FTDM_CHANNEL_STATE_DOWN, FTDM_END},
+			{FTDM_CHANNEL_STATE_HANGUP_COMPLETE, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_DOWN, FTDM_CHANNEL_STATE_END},
 		},
 		{
 			ZSD_OUTBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_UP, FTDM_END},
-			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_END}
+			{FTDM_CHANNEL_STATE_UP, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_END}
 		},
 
 		/****************************************/
 		{
 			ZSD_INBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_ANY_STATE},
-			{FTDM_CHANNEL_STATE_RESTART, FTDM_END}
+			{FTDM_CHANNEL_STATE_ANY},
+			{FTDM_CHANNEL_STATE_RESTART, FTDM_CHANNEL_STATE_END}
 		},
 		{
 			ZSD_INBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_RESTART, FTDM_END},
-			{FTDM_CHANNEL_STATE_DOWN, FTDM_END}
+			{FTDM_CHANNEL_STATE_RESTART, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_DOWN, FTDM_CHANNEL_STATE_END}
 		},
 		{
 			ZSD_INBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_DOWN, FTDM_END},
-			{FTDM_CHANNEL_STATE_DIALTONE, FTDM_CHANNEL_STATE_RING, FTDM_END}
+			{FTDM_CHANNEL_STATE_DOWN, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_DIALTONE, FTDM_CHANNEL_STATE_RING, FTDM_CHANNEL_STATE_END}
 		},
 		{
 			ZSD_INBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_DIALTONE, FTDM_END},
-			{FTDM_CHANNEL_STATE_RING, FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_DOWN, FTDM_END}
+			{FTDM_CHANNEL_STATE_DIALTONE, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_RING, FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_DOWN, FTDM_CHANNEL_STATE_END}
 		},
 		{
 			ZSD_INBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_RING, FTDM_END},
-			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_PROGRESS, FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_UP, FTDM_END}
+			{FTDM_CHANNEL_STATE_RING, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_PROGRESS, FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_UP, FTDM_CHANNEL_STATE_END}
 		},
 		{
 			ZSD_INBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_END},
-			{FTDM_CHANNEL_STATE_HANGUP_COMPLETE, FTDM_CHANNEL_STATE_DOWN, FTDM_END},
+			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_HANGUP_COMPLETE, FTDM_CHANNEL_STATE_DOWN, FTDM_CHANNEL_STATE_END},
 		},
 		{
 			ZSD_INBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_HANGUP_COMPLETE, FTDM_END},
-			{FTDM_CHANNEL_STATE_DOWN, FTDM_END},
+			{FTDM_CHANNEL_STATE_HANGUP_COMPLETE, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_DOWN, FTDM_CHANNEL_STATE_END},
 		},
 		{
 			ZSD_INBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_PROGRESS, FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_END},
+			{FTDM_CHANNEL_STATE_PROGRESS, FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_END},
 			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_PROGRESS_MEDIA,
-			 FTDM_CHANNEL_STATE_CANCEL, FTDM_CHANNEL_STATE_UP, FTDM_END},
+			 FTDM_CHANNEL_STATE_CANCEL, FTDM_CHANNEL_STATE_UP, FTDM_CHANNEL_STATE_END},
 		},
 		{
 			ZSD_INBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_UP, FTDM_END},
-			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_END},
+			{FTDM_CHANNEL_STATE_UP, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_END},
 		},
 	}
 };
diff --git a/libs/freetdm/src/ftmod/ftmod_libpri/ftmod_libpri.c b/libs/freetdm/src/ftmod/ftmod_libpri/ftmod_libpri.c
index 0be6c5dcd4..be301f3da8 100644
--- a/libs/freetdm/src/ftmod/ftmod_libpri/ftmod_libpri.c
+++ b/libs/freetdm/src/ftmod/ftmod_libpri/ftmod_libpri.c
@@ -748,179 +748,179 @@ static ftdm_state_map_t isdn_state_map = {
 		{
 			ZSD_OUTBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_ANY_STATE},
-			{FTDM_CHANNEL_STATE_RESTART, FTDM_END}
+			{FTDM_CHANNEL_STATE_ANY},
+			{FTDM_CHANNEL_STATE_RESTART, FTDM_CHANNEL_STATE_END}
 		},
 		{
 			ZSD_OUTBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_RESTART, FTDM_END},
-			{FTDM_CHANNEL_STATE_DOWN, FTDM_CHANNEL_STATE_SUSPENDED, FTDM_END}
+			{FTDM_CHANNEL_STATE_RESTART, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_DOWN, FTDM_CHANNEL_STATE_SUSPENDED, FTDM_CHANNEL_STATE_END}
 		},
 		{
 			ZSD_OUTBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_DOWN, FTDM_END},
-			{FTDM_CHANNEL_STATE_DIALING, FTDM_END}
+			{FTDM_CHANNEL_STATE_DOWN, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_DIALING, FTDM_CHANNEL_STATE_END}
 		},
 		{
 			ZSD_OUTBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_DIALING, FTDM_END},
+			{FTDM_CHANNEL_STATE_DIALING, FTDM_CHANNEL_STATE_END},
 			{FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_HANGUP,
 			 FTDM_CHANNEL_STATE_PROCEED, FTDM_CHANNEL_STATE_RINGING, FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_PROGRESS,
-			 FTDM_CHANNEL_STATE_UP, FTDM_END}
+			 FTDM_CHANNEL_STATE_UP, FTDM_CHANNEL_STATE_END}
 		},
 		{
 			ZSD_OUTBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_PROCEED, FTDM_END},
+			{FTDM_CHANNEL_STATE_PROCEED, FTDM_CHANNEL_STATE_END},
 			{FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_HANGUP,
-			 FTDM_CHANNEL_STATE_RINGING, FTDM_CHANNEL_STATE_PROGRESS, FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_UP, FTDM_END},
+			 FTDM_CHANNEL_STATE_RINGING, FTDM_CHANNEL_STATE_PROGRESS, FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_UP, FTDM_CHANNEL_STATE_END},
 		},
 		{
 			ZSD_OUTBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_RINGING, FTDM_END},
+			{FTDM_CHANNEL_STATE_RINGING, FTDM_CHANNEL_STATE_END},
 			{FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_HANGUP,
-			 FTDM_CHANNEL_STATE_PROGRESS, FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_UP, FTDM_END},
+			 FTDM_CHANNEL_STATE_PROGRESS, FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_UP, FTDM_CHANNEL_STATE_END},
 		},
 		{
 			ZSD_OUTBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_PROGRESS, FTDM_END},
+			{FTDM_CHANNEL_STATE_PROGRESS, FTDM_CHANNEL_STATE_END},
 			{FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_HANGUP,
-			 FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_UP, FTDM_END}
+			 FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_UP, FTDM_CHANNEL_STATE_END}
 		},
 		{
 			ZSD_OUTBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_END},
-			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_UP, FTDM_END}
+			{FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_UP, FTDM_CHANNEL_STATE_END}
 		},
 		{
 			ZSD_OUTBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_UP, FTDM_END},
-			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_END}
+			{FTDM_CHANNEL_STATE_UP, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_END}
 		},
 		{
 			ZSD_OUTBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_TERMINATING, FTDM_END},
-			{FTDM_CHANNEL_STATE_HANGUP, FTDM_END}
+			{FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_END}
 		},
 		{
 			ZSD_OUTBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_HANGUP, FTDM_END},
-			{FTDM_CHANNEL_STATE_HANGUP_COMPLETE, FTDM_END},
+			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_HANGUP_COMPLETE, FTDM_CHANNEL_STATE_END},
 		},
 		{
 			ZSD_OUTBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_HANGUP_COMPLETE, FTDM_END},
-			{FTDM_CHANNEL_STATE_DOWN, FTDM_END},
+			{FTDM_CHANNEL_STATE_HANGUP_COMPLETE, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_DOWN, FTDM_CHANNEL_STATE_END},
 		},
 		{
 			ZSD_OUTBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_SUSPENDED, FTDM_END},
-			{FTDM_CHANNEL_STATE_DOWN, FTDM_END},
+			{FTDM_CHANNEL_STATE_SUSPENDED, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_DOWN, FTDM_CHANNEL_STATE_END},
 		},
 
 		/****************************************/
 		{
 			ZSD_INBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_ANY_STATE},
-			{FTDM_CHANNEL_STATE_RESTART, FTDM_END}
+			{FTDM_CHANNEL_STATE_ANY},
+			{FTDM_CHANNEL_STATE_RESTART, FTDM_CHANNEL_STATE_END}
 		},
 		{
 			ZSD_INBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_RESTART, FTDM_END},
-			{FTDM_CHANNEL_STATE_DOWN, FTDM_CHANNEL_STATE_SUSPENDED, FTDM_END}
+			{FTDM_CHANNEL_STATE_RESTART, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_DOWN, FTDM_CHANNEL_STATE_SUSPENDED, FTDM_CHANNEL_STATE_END}
 		},
 		{
 			ZSD_INBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_DOWN, FTDM_END},
-			{FTDM_CHANNEL_STATE_DIALTONE, FTDM_CHANNEL_STATE_COLLECT, FTDM_CHANNEL_STATE_RING, FTDM_END}
+			{FTDM_CHANNEL_STATE_DOWN, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_DIALTONE, FTDM_CHANNEL_STATE_COLLECT, FTDM_CHANNEL_STATE_RING, FTDM_CHANNEL_STATE_END}
 		},
 		{
 			ZSD_INBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_DIALTONE, FTDM_END},
-			{FTDM_CHANNEL_STATE_RING, FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_END}
+			{FTDM_CHANNEL_STATE_DIALTONE, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_RING, FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_END}
 		},
 		{
 			ZSD_INBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_COLLECT, FTDM_END},
-			{FTDM_CHANNEL_STATE_RING, FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_END}
+			{FTDM_CHANNEL_STATE_COLLECT, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_RING, FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_END}
 		},
 		{
 			ZSD_INBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_RING, FTDM_END},
-			{FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_PROCEED, FTDM_CHANNEL_STATE_RINGING, FTDM_END}
+			{FTDM_CHANNEL_STATE_RING, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_PROCEED, FTDM_CHANNEL_STATE_RINGING, FTDM_CHANNEL_STATE_END}
 		},
 		{
 			ZSD_INBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_PROCEED, FTDM_END},
+			{FTDM_CHANNEL_STATE_PROCEED, FTDM_CHANNEL_STATE_END},
 			{FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_RINGING, FTDM_CHANNEL_STATE_PROGRESS,
-			 FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_UP, FTDM_END}
+			 FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_UP, FTDM_CHANNEL_STATE_END}
 		},
 		{
 			ZSD_INBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_RINGING, FTDM_END},
+			{FTDM_CHANNEL_STATE_RINGING, FTDM_CHANNEL_STATE_END},
 			{FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_PROGRESS, FTDM_CHANNEL_STATE_PROGRESS_MEDIA,
-			 FTDM_CHANNEL_STATE_UP, FTDM_END}
+			 FTDM_CHANNEL_STATE_UP, FTDM_CHANNEL_STATE_END}
 		},
 		{
 			ZSD_INBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_PROGRESS, FTDM_END},
-			{FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_UP, FTDM_END}
+			{FTDM_CHANNEL_STATE_PROGRESS, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_UP, FTDM_CHANNEL_STATE_END}
 		},
 		{
 			ZSD_INBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_END},
-			{FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_UP, FTDM_END}
+			{FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_UP, FTDM_CHANNEL_STATE_END}
 		},
 		{
 			ZSD_INBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_UP, FTDM_END},
-			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_END},
+			{FTDM_CHANNEL_STATE_UP, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_END},
 		},
 		{
 			ZSD_INBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_TERMINATING, FTDM_END},
-			{FTDM_CHANNEL_STATE_HANGUP, FTDM_END},
+			{FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_END},
 		},
 		{
 			ZSD_INBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_HANGUP, FTDM_END},
-			{FTDM_CHANNEL_STATE_HANGUP_COMPLETE, FTDM_END},
+			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_HANGUP_COMPLETE, FTDM_CHANNEL_STATE_END},
 		},
 		{
 			ZSD_INBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_HANGUP_COMPLETE, FTDM_END},
-			{FTDM_CHANNEL_STATE_DOWN, FTDM_END},
+			{FTDM_CHANNEL_STATE_HANGUP_COMPLETE, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_DOWN, FTDM_CHANNEL_STATE_END},
 		},
 		{
 			ZSD_INBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_SUSPENDED, FTDM_END},
-			{FTDM_CHANNEL_STATE_DOWN, FTDM_END},
+			{FTDM_CHANNEL_STATE_SUSPENDED, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_DOWN, FTDM_CHANNEL_STATE_END},
 		},
 	}
 };
diff --git a/libs/freetdm/src/ftmod/ftmod_pritap/ftmod_pritap.c b/libs/freetdm/src/ftmod/ftmod_pritap/ftmod_pritap.c
index 55b9b8332a..38f9c48e84 100644
--- a/libs/freetdm/src/ftmod/ftmod_pritap/ftmod_pritap.c
+++ b/libs/freetdm/src/ftmod/ftmod_pritap/ftmod_pritap.c
@@ -262,44 +262,44 @@ static ftdm_state_map_t pritap_state_map = {
 		{
 			ZSD_INBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_DOWN, FTDM_END},
-			{FTDM_CHANNEL_STATE_RING, FTDM_END}
+			{FTDM_CHANNEL_STATE_DOWN, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_RING, FTDM_CHANNEL_STATE_END}
 		},
 		{
 			ZSD_INBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_RING, FTDM_END},
-			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_PROGRESS, FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_UP, FTDM_END}
+			{FTDM_CHANNEL_STATE_RING, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_PROGRESS, FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_UP, FTDM_CHANNEL_STATE_END}
 		},
 		{
 			ZSD_INBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_HANGUP, FTDM_END},
-			{FTDM_CHANNEL_STATE_TERMINATING, FTDM_END},
+			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_END},
 		},
 		{
 			ZSD_INBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_TERMINATING, FTDM_END},
-			{FTDM_CHANNEL_STATE_DOWN, FTDM_END},
+			{FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_DOWN, FTDM_CHANNEL_STATE_END},
 		},
 		{
 			ZSD_INBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_PROGRESS, FTDM_END},
-			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_UP, FTDM_END},
+			{FTDM_CHANNEL_STATE_PROGRESS, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_UP, FTDM_CHANNEL_STATE_END},
 		},
 		{
 			ZSD_INBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_END},
-			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_UP, FTDM_END},
+			{FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_UP, FTDM_CHANNEL_STATE_END},
 		},
 		{
 			ZSD_INBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_UP, FTDM_END},
-			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_END},
+			{FTDM_CHANNEL_STATE_UP, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_END},
 		},
 		
 	}
diff --git a/libs/freetdm/src/ftmod/ftmod_r2/ftmod_r2.c b/libs/freetdm/src/ftmod/ftmod_r2/ftmod_r2.c
index 50359c9841..026b7b17df 100755
--- a/libs/freetdm/src/ftmod/ftmod_r2/ftmod_r2.c
+++ b/libs/freetdm/src/ftmod/ftmod_r2/ftmod_r2.c
@@ -1323,62 +1323,62 @@ static ftdm_state_map_t r2_state_map = {
 		{
 			ZSD_INBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_ANY_STATE, FTDM_END},
-			{FTDM_CHANNEL_STATE_RESET, FTDM_END}
+			{FTDM_CHANNEL_STATE_ANY, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_RESET, FTDM_CHANNEL_STATE_END}
 		},
 		{
 			ZSD_INBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_RESET, FTDM_END},
-			{FTDM_CHANNEL_STATE_DOWN, FTDM_END}
+			{FTDM_CHANNEL_STATE_RESET, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_DOWN, FTDM_CHANNEL_STATE_END}
 		},
 		{
 			ZSD_INBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_DOWN, FTDM_END},
-			{FTDM_CHANNEL_STATE_COLLECT, FTDM_END}
+			{FTDM_CHANNEL_STATE_DOWN, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_COLLECT, FTDM_CHANNEL_STATE_END}
 		},
 		{
 			ZSD_INBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_COLLECT, FTDM_END},
-			{FTDM_CHANNEL_STATE_RING, FTDM_CHANNEL_STATE_TERMINATING, FTDM_END}
+			{FTDM_CHANNEL_STATE_COLLECT, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_RING, FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_END}
 		},
 		{
 			ZSD_INBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_RING, FTDM_END},
-			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_PROGRESS, FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_UP, FTDM_END}
+			{FTDM_CHANNEL_STATE_RING, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_PROGRESS, FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_UP, FTDM_CHANNEL_STATE_END}
 		},
 		{
 			ZSD_INBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_HANGUP, FTDM_END},
-			{FTDM_CHANNEL_STATE_DOWN, FTDM_END},
+			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_DOWN, FTDM_CHANNEL_STATE_END},
 		},
 		{
 			ZSD_INBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_TERMINATING, FTDM_END},
-			{FTDM_CHANNEL_STATE_HANGUP, FTDM_END},
+			{FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_END},
 		},
 		{
 			ZSD_INBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_PROGRESS, FTDM_END},
-			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_UP, FTDM_END},
+			{FTDM_CHANNEL_STATE_PROGRESS, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_UP, FTDM_CHANNEL_STATE_END},
 		},
 		{
 			ZSD_INBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_END},
-			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_UP, FTDM_END},
+			{FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_UP, FTDM_CHANNEL_STATE_END},
 		},
 		{
 			ZSD_INBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_UP, FTDM_END},
-			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_END},
+			{FTDM_CHANNEL_STATE_UP, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_END},
 		},
 		
 		/* Outbound states */
@@ -1386,57 +1386,57 @@ static ftdm_state_map_t r2_state_map = {
 		{
 			ZSD_OUTBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_ANY_STATE, FTDM_END},
-			{FTDM_CHANNEL_STATE_RESET, FTDM_END}
+			{FTDM_CHANNEL_STATE_ANY, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_RESET, FTDM_CHANNEL_STATE_END}
 		},
 
 		{
 			ZSD_OUTBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_RESET, FTDM_END},
-			{FTDM_CHANNEL_STATE_DOWN, FTDM_END}
+			{FTDM_CHANNEL_STATE_RESET, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_DOWN, FTDM_CHANNEL_STATE_END}
 		},
 
 		{
 			ZSD_OUTBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_DOWN, FTDM_END},
-			{FTDM_CHANNEL_STATE_DIALING, FTDM_END}
+			{FTDM_CHANNEL_STATE_DOWN, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_DIALING, FTDM_CHANNEL_STATE_END}
 		},
 
 		{
 			ZSD_OUTBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_DIALING, FTDM_END},
-			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_END}
+			{FTDM_CHANNEL_STATE_DIALING, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_END}
 		},
 
 		{
 			ZSD_OUTBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_HANGUP, FTDM_END},
-			{FTDM_CHANNEL_STATE_DOWN, FTDM_END}
+			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_DOWN, FTDM_CHANNEL_STATE_END}
 		},
 
 		{
 			ZSD_OUTBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_TERMINATING, FTDM_END},
-			{FTDM_CHANNEL_STATE_HANGUP, FTDM_END}
+			{FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_END}
 		},
 
 		{
 			ZSD_OUTBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_END},
-			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_UP, FTDM_END}
+			{FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_UP, FTDM_CHANNEL_STATE_END}
 		},
 
 		{
 			ZSD_OUTBOUND,
 			ZSM_UNACCEPTABLE,
-			{FTDM_CHANNEL_STATE_UP, FTDM_END},
-			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_END}
+			{FTDM_CHANNEL_STATE_UP, FTDM_CHANNEL_STATE_END},
+			{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_END}
 		},
 	}
 };
diff --git a/libs/freetdm/src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c b/libs/freetdm/src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c
index 3cde670474..c8b520783e 100644
--- a/libs/freetdm/src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c
+++ b/libs/freetdm/src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c
@@ -66,214 +66,214 @@ ftdm_state_map_t sangoma_isdn_state_map = {
 	{
 		ZSD_INBOUND,
 		ZSM_UNACCEPTABLE,
-		{FTDM_ANY_STATE, FTDM_END},
-		{FTDM_CHANNEL_STATE_RESET, FTDM_CHANNEL_STATE_RESTART, FTDM_END}
+		{FTDM_CHANNEL_STATE_ANY, FTDM_CHANNEL_STATE_END},
+		{FTDM_CHANNEL_STATE_RESET, FTDM_CHANNEL_STATE_RESTART, FTDM_CHANNEL_STATE_END}
 	},
 	{
 		ZSD_INBOUND,
 		ZSM_UNACCEPTABLE,
-		{FTDM_CHANNEL_STATE_RESET, FTDM_END},
-		{FTDM_CHANNEL_STATE_DOWN, FTDM_END}
+		{FTDM_CHANNEL_STATE_RESET, FTDM_CHANNEL_STATE_END},
+		{FTDM_CHANNEL_STATE_DOWN, FTDM_CHANNEL_STATE_END}
 	},
 	{
 		ZSD_INBOUND,
 		ZSM_UNACCEPTABLE,
-		{FTDM_CHANNEL_STATE_RESTART, FTDM_END},
-		{FTDM_CHANNEL_STATE_DOWN, FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_HANGUP, FTDM_END}
+		{FTDM_CHANNEL_STATE_RESTART, FTDM_CHANNEL_STATE_END},
+		{FTDM_CHANNEL_STATE_DOWN, FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_END}
 	},
 	{
 		ZSD_INBOUND,
 		ZSM_UNACCEPTABLE,
-		{FTDM_CHANNEL_STATE_CANCEL, FTDM_END},
-		{FTDM_CHANNEL_STATE_HANGUP_COMPLETE, FTDM_END}
+		{FTDM_CHANNEL_STATE_CANCEL, FTDM_CHANNEL_STATE_END},
+		{FTDM_CHANNEL_STATE_HANGUP_COMPLETE, FTDM_CHANNEL_STATE_END}
 	},
 	{
 		ZSD_INBOUND,
 		ZSM_UNACCEPTABLE,
-		{FTDM_CHANNEL_STATE_SUSPENDED, FTDM_END},
+		{FTDM_CHANNEL_STATE_SUSPENDED, FTDM_CHANNEL_STATE_END},
 		{FTDM_CHANNEL_STATE_DOWN, FTDM_CHANNEL_STATE_COLLECT, FTDM_CHANNEL_STATE_RING, FTDM_CHANNEL_STATE_DIALING,
 		 FTDM_CHANNEL_STATE_RESTART, FTDM_CHANNEL_STATE_PROGRESS, FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_UP,
-		 FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_CANCEL, FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_HANGUP_COMPLETE, FTDM_END}
+		 FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_CANCEL, FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_HANGUP_COMPLETE, FTDM_CHANNEL_STATE_END}
 	},
 	{
 		ZSD_INBOUND,
 		ZSM_UNACCEPTABLE,
-		{FTDM_CHANNEL_STATE_DOWN, FTDM_END},
-		{FTDM_CHANNEL_STATE_COLLECT, FTDM_CHANNEL_STATE_RING, FTDM_CHANNEL_STATE_GET_CALLERID, FTDM_CHANNEL_STATE_IN_LOOP, FTDM_END}
+		{FTDM_CHANNEL_STATE_DOWN, FTDM_CHANNEL_STATE_END},
+		{FTDM_CHANNEL_STATE_COLLECT, FTDM_CHANNEL_STATE_RING, FTDM_CHANNEL_STATE_GET_CALLERID, FTDM_CHANNEL_STATE_IN_LOOP, FTDM_CHANNEL_STATE_END}
 	},
 	{
 		ZSD_INBOUND,
 		ZSM_UNACCEPTABLE,
-		{FTDM_CHANNEL_STATE_GET_CALLERID, FTDM_END},
-		{FTDM_CHANNEL_STATE_RING, FTDM_CHANNEL_STATE_CANCEL, FTDM_CHANNEL_STATE_IN_LOOP, FTDM_END}
+		{FTDM_CHANNEL_STATE_GET_CALLERID, FTDM_CHANNEL_STATE_END},
+		{FTDM_CHANNEL_STATE_RING, FTDM_CHANNEL_STATE_CANCEL, FTDM_CHANNEL_STATE_IN_LOOP, FTDM_CHANNEL_STATE_END}
 	},
 	{
 		ZSD_INBOUND,
 		ZSM_UNACCEPTABLE,
-		{FTDM_CHANNEL_STATE_COLLECT, FTDM_END},
-		{FTDM_CHANNEL_STATE_RING, FTDM_CHANNEL_STATE_CANCEL, FTDM_CHANNEL_STATE_IN_LOOP, FTDM_END}
+		{FTDM_CHANNEL_STATE_COLLECT, FTDM_CHANNEL_STATE_END},
+		{FTDM_CHANNEL_STATE_RING, FTDM_CHANNEL_STATE_CANCEL, FTDM_CHANNEL_STATE_IN_LOOP, FTDM_CHANNEL_STATE_END}
 	},
 	{
 		ZSD_INBOUND,
 		ZSM_UNACCEPTABLE,
-		{FTDM_CHANNEL_STATE_IN_LOOP, FTDM_END},
-		{FTDM_CHANNEL_STATE_COLLECT, FTDM_CHANNEL_STATE_DOWN, FTDM_END}
+		{FTDM_CHANNEL_STATE_IN_LOOP, FTDM_CHANNEL_STATE_END},
+		{FTDM_CHANNEL_STATE_COLLECT, FTDM_CHANNEL_STATE_DOWN, FTDM_CHANNEL_STATE_END}
 	},
 	{
 		ZSD_INBOUND,
 		ZSM_UNACCEPTABLE,
-		{FTDM_CHANNEL_STATE_RING, FTDM_END},
-		{FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_PROCEED, FTDM_CHANNEL_STATE_RINGING, FTDM_CHANNEL_STATE_PROGRESS, FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_END}
+		{FTDM_CHANNEL_STATE_RING, FTDM_CHANNEL_STATE_END},
+		{FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_PROCEED, FTDM_CHANNEL_STATE_RINGING, FTDM_CHANNEL_STATE_PROGRESS, FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_END}
 	},
 	{
 		ZSD_INBOUND,
 		ZSM_UNACCEPTABLE,
-		{FTDM_CHANNEL_STATE_PROCEED, FTDM_END},
-		{FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_RINGING, FTDM_CHANNEL_STATE_PROGRESS, FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_UP, FTDM_CHANNEL_STATE_TRANSFER, FTDM_END}
+		{FTDM_CHANNEL_STATE_PROCEED, FTDM_CHANNEL_STATE_END},
+		{FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_RINGING, FTDM_CHANNEL_STATE_PROGRESS, FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_UP, FTDM_CHANNEL_STATE_TRANSFER, FTDM_CHANNEL_STATE_END}
 	},
 	{
 		ZSD_INBOUND,
 		ZSM_UNACCEPTABLE,
-		{FTDM_CHANNEL_STATE_RINGING, FTDM_END},
-		{FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_PROGRESS, FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_UP, FTDM_END},
+		{FTDM_CHANNEL_STATE_RINGING, FTDM_CHANNEL_STATE_END},
+		{FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_PROGRESS, FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_UP, FTDM_CHANNEL_STATE_END},
 	},
 	{
 		ZSD_INBOUND,
 		ZSM_UNACCEPTABLE,
-		{FTDM_CHANNEL_STATE_PROGRESS, FTDM_END},
-		{FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_UP, FTDM_END},
+		{FTDM_CHANNEL_STATE_PROGRESS, FTDM_CHANNEL_STATE_END},
+		{FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_UP, FTDM_CHANNEL_STATE_END},
 	},
 	{
 		ZSD_INBOUND,
 		ZSM_UNACCEPTABLE,
-		{FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_END},
-		{FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_UP, FTDM_END},
+		{FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_END},
+		{FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_UP, FTDM_CHANNEL_STATE_END},
 	},
 	{
 		ZSD_INBOUND,
 		ZSM_UNACCEPTABLE,
-		{FTDM_CHANNEL_STATE_UP, FTDM_END},
-		{FTDM_CHANNEL_STATE_TRANSFER, FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_END},
+		{FTDM_CHANNEL_STATE_UP, FTDM_CHANNEL_STATE_END},
+		{FTDM_CHANNEL_STATE_TRANSFER, FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_END},
 	},
 
 	{
 		ZSD_INBOUND,
 		ZSM_UNACCEPTABLE,
-		{FTDM_CHANNEL_STATE_TRANSFER, FTDM_END},
-		{FTDM_CHANNEL_STATE_PROCEED, FTDM_CHANNEL_STATE_PROGRESS, FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_UP, FTDM_CHANNEL_STATE_TERMINATING,FTDM_END},
+		{FTDM_CHANNEL_STATE_TRANSFER, FTDM_CHANNEL_STATE_END},
+		{FTDM_CHANNEL_STATE_PROCEED, FTDM_CHANNEL_STATE_PROGRESS, FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_UP, FTDM_CHANNEL_STATE_TERMINATING,FTDM_CHANNEL_STATE_END},
 	},
 	{
 		ZSD_INBOUND,
 		ZSM_UNACCEPTABLE,
-		{FTDM_CHANNEL_STATE_TERMINATING, FTDM_END},
-		{FTDM_CHANNEL_STATE_HANGUP, FTDM_END},
+		{FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_END},
+		{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_END},
 	},
 	{
 		ZSD_INBOUND,
 		ZSM_UNACCEPTABLE,
-		{FTDM_CHANNEL_STATE_HANGUP, FTDM_END},
-		{FTDM_CHANNEL_STATE_HANGUP_COMPLETE, FTDM_END},
+		{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_END},
+		{FTDM_CHANNEL_STATE_HANGUP_COMPLETE, FTDM_CHANNEL_STATE_END},
 	},
 	{
 		ZSD_INBOUND,
 		ZSM_UNACCEPTABLE,
-		{FTDM_CHANNEL_STATE_HANGUP_COMPLETE, FTDM_END},
-		{FTDM_CHANNEL_STATE_DOWN, FTDM_END},
+		{FTDM_CHANNEL_STATE_HANGUP_COMPLETE, FTDM_CHANNEL_STATE_END},
+		{FTDM_CHANNEL_STATE_DOWN, FTDM_CHANNEL_STATE_END},
 	},	
 	{
 		ZSD_OUTBOUND,
 		ZSM_UNACCEPTABLE,
-		{FTDM_ANY_STATE, FTDM_END},
-		{FTDM_CHANNEL_STATE_RESET, FTDM_CHANNEL_STATE_RESTART, FTDM_CHANNEL_STATE_TERMINATING, FTDM_END}
+		{FTDM_CHANNEL_STATE_ANY, FTDM_CHANNEL_STATE_END},
+		{FTDM_CHANNEL_STATE_RESET, FTDM_CHANNEL_STATE_RESTART, FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_END}
 	},
 	{
 		ZSD_OUTBOUND,
 		ZSM_UNACCEPTABLE,
-		{FTDM_CHANNEL_STATE_RESET, FTDM_END},
-		{FTDM_CHANNEL_STATE_DOWN, FTDM_END}
+		{FTDM_CHANNEL_STATE_RESET, FTDM_CHANNEL_STATE_END},
+		{FTDM_CHANNEL_STATE_DOWN, FTDM_CHANNEL_STATE_END}
 	},
 	{
 		ZSD_OUTBOUND,
 		ZSM_UNACCEPTABLE,
-		{FTDM_CHANNEL_STATE_RESTART, FTDM_END},
-		{FTDM_CHANNEL_STATE_DOWN, FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_HANGUP, FTDM_END}
+		{FTDM_CHANNEL_STATE_RESTART, FTDM_CHANNEL_STATE_END},
+		{FTDM_CHANNEL_STATE_DOWN, FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_END}
 	},
 	{
 		ZSD_OUTBOUND,
 		ZSM_UNACCEPTABLE,
-		{FTDM_CHANNEL_STATE_CANCEL, FTDM_END},
-		{FTDM_CHANNEL_STATE_HANGUP, FTDM_END}
+		{FTDM_CHANNEL_STATE_CANCEL, FTDM_CHANNEL_STATE_END},
+		{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_END}
 	},
 	{
 		ZSD_OUTBOUND,
 		ZSM_UNACCEPTABLE,
-		{FTDM_CHANNEL_STATE_SUSPENDED, FTDM_END},
+		{FTDM_CHANNEL_STATE_SUSPENDED, FTDM_CHANNEL_STATE_END},
 		{FTDM_CHANNEL_STATE_DOWN, FTDM_CHANNEL_STATE_COLLECT, FTDM_CHANNEL_STATE_RING, FTDM_CHANNEL_STATE_DIALING,
 		 FTDM_CHANNEL_STATE_RESTART, FTDM_CHANNEL_STATE_PROGRESS, FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_UP,
-		 FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_CANCEL, FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_HANGUP_COMPLETE, FTDM_END}
+		 FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_CANCEL, FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_HANGUP_COMPLETE, FTDM_CHANNEL_STATE_END}
 	},
 	{
 		ZSD_OUTBOUND,
 		ZSM_UNACCEPTABLE,
-		{FTDM_CHANNEL_STATE_DOWN, FTDM_END},
-		{FTDM_CHANNEL_STATE_DIALING, FTDM_CHANNEL_STATE_HANGUP_COMPLETE, FTDM_END}
+		{FTDM_CHANNEL_STATE_DOWN, FTDM_CHANNEL_STATE_END},
+		{FTDM_CHANNEL_STATE_DIALING, FTDM_CHANNEL_STATE_HANGUP_COMPLETE, FTDM_CHANNEL_STATE_END}
 	},
 	{
 		ZSD_OUTBOUND,
 		ZSM_UNACCEPTABLE,
-		{FTDM_CHANNEL_STATE_DIALING, FTDM_END},
+		{FTDM_CHANNEL_STATE_DIALING, FTDM_CHANNEL_STATE_END},
 		{FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_HANGUP,
 		 FTDM_CHANNEL_STATE_PROCEED, FTDM_CHANNEL_STATE_RINGING, FTDM_CHANNEL_STATE_PROGRESS, FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_UP,
-		 FTDM_CHANNEL_STATE_DOWN, FTDM_END}
+		 FTDM_CHANNEL_STATE_DOWN, FTDM_CHANNEL_STATE_END}
 	},
 	{
 		ZSD_OUTBOUND,
 		ZSM_UNACCEPTABLE,
-		{FTDM_CHANNEL_STATE_PROCEED, FTDM_END},
+		{FTDM_CHANNEL_STATE_PROCEED, FTDM_CHANNEL_STATE_END},
 		{FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_HANGUP,
-		 FTDM_CHANNEL_STATE_RINGING, FTDM_CHANNEL_STATE_PROGRESS, FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_UP, FTDM_END},
+		 FTDM_CHANNEL_STATE_RINGING, FTDM_CHANNEL_STATE_PROGRESS, FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_UP, FTDM_CHANNEL_STATE_END},
 	},
 	{
 		ZSD_OUTBOUND,
 		ZSM_UNACCEPTABLE,
-		{FTDM_CHANNEL_STATE_PROGRESS, FTDM_END},
-		{FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_UP, FTDM_END},
+		{FTDM_CHANNEL_STATE_PROGRESS, FTDM_CHANNEL_STATE_END},
+		{FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_UP, FTDM_CHANNEL_STATE_END},
 	},
 	{
 		ZSD_OUTBOUND,
 		ZSM_UNACCEPTABLE,
-		{FTDM_CHANNEL_STATE_RINGING, FTDM_END},
-		{FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_PROGRESS, FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_UP, FTDM_END},
+		{FTDM_CHANNEL_STATE_RINGING, FTDM_CHANNEL_STATE_END},
+		{FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_PROGRESS, FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_UP, FTDM_CHANNEL_STATE_END},
 	},
 	{
 		ZSD_OUTBOUND,
 		ZSM_UNACCEPTABLE,
-		{FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_END},
-		{FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_UP, FTDM_END},
+		{FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_END},
+		{FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_UP, FTDM_CHANNEL_STATE_END},
 	},
 	{
 		ZSD_OUTBOUND,
 		ZSM_UNACCEPTABLE,
-		{FTDM_CHANNEL_STATE_UP, FTDM_END},
-		{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_END},
+		{FTDM_CHANNEL_STATE_UP, FTDM_CHANNEL_STATE_END},
+		{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_END},
 	},
 	{
 		ZSD_OUTBOUND,
 		ZSM_UNACCEPTABLE,
-		{FTDM_CHANNEL_STATE_TERMINATING, FTDM_END},
-		{FTDM_CHANNEL_STATE_HANGUP, FTDM_END},
+		{FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_END},
+		{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_END},
 	},
 	{
 		ZSD_OUTBOUND,
 		ZSM_UNACCEPTABLE,
-		{FTDM_CHANNEL_STATE_HANGUP, FTDM_END},
-		{FTDM_CHANNEL_STATE_HANGUP_COMPLETE, FTDM_END},
+		{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_END},
+		{FTDM_CHANNEL_STATE_HANGUP_COMPLETE, FTDM_CHANNEL_STATE_END},
 	},
 	{
 		ZSD_OUTBOUND,
 		ZSM_UNACCEPTABLE,
-		{FTDM_CHANNEL_STATE_HANGUP_COMPLETE, FTDM_END},
-		{FTDM_CHANNEL_STATE_DOWN, FTDM_END},
+		{FTDM_CHANNEL_STATE_HANGUP_COMPLETE, FTDM_CHANNEL_STATE_END},
+		{FTDM_CHANNEL_STATE_DOWN, FTDM_CHANNEL_STATE_END},
 	}
 	}
 };
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 9a42dedc16..030138658b 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
@@ -70,217 +70,217 @@ ftdm_state_map_t sangoma_ss7_state_map = {
    {
 	ZSD_INBOUND,
 	ZSM_UNACCEPTABLE,
-	{FTDM_CHANNEL_STATE_SUSPENDED, FTDM_END},
+	{FTDM_CHANNEL_STATE_SUSPENDED, FTDM_CHANNEL_STATE_END},
 	{FTDM_CHANNEL_STATE_RESTART, FTDM_CHANNEL_STATE_DOWN,
 	 FTDM_CHANNEL_STATE_IN_LOOP, FTDM_CHANNEL_STATE_COLLECT,
 	 FTDM_CHANNEL_STATE_RING, FTDM_CHANNEL_STATE_PROGRESS,
 	 FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_UP,
 	 FTDM_CHANNEL_STATE_CANCEL, FTDM_CHANNEL_STATE_TERMINATING,
-	 FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_HANGUP_COMPLETE, FTDM_END}
+	 FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_HANGUP_COMPLETE, FTDM_CHANNEL_STATE_END}
 	},
    {
 	ZSD_INBOUND,
 	ZSM_UNACCEPTABLE,
-	{FTDM_CHANNEL_STATE_RESTART, FTDM_END},
+	{FTDM_CHANNEL_STATE_RESTART, FTDM_CHANNEL_STATE_END},
 	{FTDM_CHANNEL_STATE_SUSPENDED, FTDM_CHANNEL_STATE_TERMINATING,
 	 FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_HANGUP_COMPLETE,
-	 FTDM_CHANNEL_STATE_DOWN, FTDM_CHANNEL_STATE_IDLE, FTDM_END}
+	 FTDM_CHANNEL_STATE_DOWN, FTDM_CHANNEL_STATE_IDLE, FTDM_CHANNEL_STATE_END}
 	},
 	{
 	ZSD_INBOUND,
 	ZSM_UNACCEPTABLE,
-	{FTDM_CHANNEL_STATE_IDLE, FTDM_END},
-	{FTDM_CHANNEL_STATE_RESTART, FTDM_CHANNEL_STATE_COLLECT, FTDM_END}
+	{FTDM_CHANNEL_STATE_IDLE, FTDM_CHANNEL_STATE_END},
+	{FTDM_CHANNEL_STATE_RESTART, FTDM_CHANNEL_STATE_COLLECT, FTDM_CHANNEL_STATE_END}
 	},
    {
 	ZSD_INBOUND,
 	ZSM_UNACCEPTABLE,
-	{FTDM_CHANNEL_STATE_DOWN, FTDM_END},
+	{FTDM_CHANNEL_STATE_DOWN, FTDM_CHANNEL_STATE_END},
 	{FTDM_CHANNEL_STATE_SUSPENDED, FTDM_CHANNEL_STATE_RESTART,
-	 FTDM_CHANNEL_STATE_COLLECT, FTDM_CHANNEL_STATE_IN_LOOP, FTDM_END}
+	 FTDM_CHANNEL_STATE_COLLECT, FTDM_CHANNEL_STATE_IN_LOOP, FTDM_CHANNEL_STATE_END}
 	},
    {
 	ZSD_INBOUND,
 	ZSM_UNACCEPTABLE,
-	{FTDM_CHANNEL_STATE_IN_LOOP, FTDM_END},
+	{FTDM_CHANNEL_STATE_IN_LOOP, FTDM_CHANNEL_STATE_END},
 	{FTDM_CHANNEL_STATE_SUSPENDED, FTDM_CHANNEL_STATE_RESTART,
 	 FTDM_CHANNEL_STATE_COLLECT, FTDM_CHANNEL_STATE_DOWN,
-	 FTDM_CHANNEL_STATE_HANGUP_COMPLETE, FTDM_END}
+	 FTDM_CHANNEL_STATE_HANGUP_COMPLETE, FTDM_CHANNEL_STATE_END}
 	},
    {
 	ZSD_INBOUND,
 	ZSM_UNACCEPTABLE,
-	{FTDM_CHANNEL_STATE_COLLECT, FTDM_END},
+	{FTDM_CHANNEL_STATE_COLLECT, FTDM_CHANNEL_STATE_END},
 	{FTDM_CHANNEL_STATE_SUSPENDED, FTDM_CHANNEL_STATE_RESTART,
 	 FTDM_CHANNEL_STATE_CANCEL, FTDM_CHANNEL_STATE_RING, 
-	 FTDM_CHANNEL_STATE_IDLE, FTDM_END}
+	 FTDM_CHANNEL_STATE_IDLE, FTDM_CHANNEL_STATE_END}
 	},
    {
 	ZSD_INBOUND,
 	ZSM_UNACCEPTABLE,
-	{FTDM_CHANNEL_STATE_RING, FTDM_END},
+	{FTDM_CHANNEL_STATE_RING, FTDM_CHANNEL_STATE_END},
 	{FTDM_CHANNEL_STATE_SUSPENDED, FTDM_CHANNEL_STATE_RESTART,
 	 FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_HANGUP,
-	 FTDM_CHANNEL_STATE_RINGING, FTDM_CHANNEL_STATE_PROGRESS, FTDM_END}
+	 FTDM_CHANNEL_STATE_RINGING, FTDM_CHANNEL_STATE_PROGRESS, FTDM_CHANNEL_STATE_END}
 	},
 	{
 	 ZSD_INBOUND,
 	ZSM_UNACCEPTABLE,
-	{FTDM_CHANNEL_STATE_RINGING, FTDM_END},
+	{FTDM_CHANNEL_STATE_RINGING, FTDM_CHANNEL_STATE_END},
 	{FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_HANGUP,
 	 FTDM_CHANNEL_STATE_PROGRESS, FTDM_CHANNEL_STATE_PROGRESS_MEDIA,
-	 FTDM_CHANNEL_STATE_UP, FTDM_END},
+	 FTDM_CHANNEL_STATE_UP, FTDM_CHANNEL_STATE_END},
 	},
    {
 	ZSD_INBOUND,
 	ZSM_UNACCEPTABLE,
-	{FTDM_CHANNEL_STATE_PROGRESS, FTDM_END},
+	{FTDM_CHANNEL_STATE_PROGRESS, FTDM_CHANNEL_STATE_END},
 	{FTDM_CHANNEL_STATE_SUSPENDED, FTDM_CHANNEL_STATE_RESTART,
 	 FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_HANGUP,
-	 FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_END}
+	 FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_END}
 	},
    {
 	ZSD_INBOUND,
 	ZSM_UNACCEPTABLE,
-	{FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_END},
+	{FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_END},
 	{FTDM_CHANNEL_STATE_SUSPENDED, FTDM_CHANNEL_STATE_RESTART,
 	 FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_HANGUP,
-	 FTDM_CHANNEL_STATE_UP, FTDM_END}
+	 FTDM_CHANNEL_STATE_UP, FTDM_CHANNEL_STATE_END}
 	},
    {
 	ZSD_INBOUND,
 	ZSM_UNACCEPTABLE,
-	{FTDM_CHANNEL_STATE_UP, FTDM_END},
+	{FTDM_CHANNEL_STATE_UP, FTDM_CHANNEL_STATE_END},
 	{FTDM_CHANNEL_STATE_SUSPENDED, FTDM_CHANNEL_STATE_RESTART,
-	 FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_HANGUP, FTDM_END}
+	 FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_END}
 	},
    {
 	ZSD_INBOUND,
 	ZSM_UNACCEPTABLE,
-	{FTDM_CHANNEL_STATE_CANCEL, FTDM_END},
+	{FTDM_CHANNEL_STATE_CANCEL, FTDM_CHANNEL_STATE_END},
 	{FTDM_CHANNEL_STATE_SUSPENDED, FTDM_CHANNEL_STATE_RESTART,
-	 FTDM_CHANNEL_STATE_HANGUP, FTDM_END}
+	 FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_END}
 	},
    {
 	ZSD_INBOUND,
 	ZSM_UNACCEPTABLE,
-	{FTDM_CHANNEL_STATE_TERMINATING, FTDM_END},
+	{FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_END},
 	{FTDM_CHANNEL_STATE_SUSPENDED, FTDM_CHANNEL_STATE_RESTART,
-	 FTDM_CHANNEL_STATE_HANGUP, FTDM_END}
+	 FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_END}
 	},
    {
 	ZSD_INBOUND,
 	ZSM_UNACCEPTABLE,
-	{FTDM_CHANNEL_STATE_HANGUP, FTDM_END},
+	{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_END},
 	{FTDM_CHANNEL_STATE_SUSPENDED, FTDM_CHANNEL_STATE_RESTART,
-	 FTDM_CHANNEL_STATE_HANGUP_COMPLETE, FTDM_END}
+	 FTDM_CHANNEL_STATE_HANGUP_COMPLETE, FTDM_CHANNEL_STATE_END}
 	},
    {
 	ZSD_INBOUND,
 	ZSM_UNACCEPTABLE,
-	{FTDM_CHANNEL_STATE_HANGUP_COMPLETE, FTDM_END},
+	{FTDM_CHANNEL_STATE_HANGUP_COMPLETE, FTDM_CHANNEL_STATE_END},
 	{FTDM_CHANNEL_STATE_SUSPENDED, FTDM_CHANNEL_STATE_RESTART,
-	 FTDM_CHANNEL_STATE_DOWN, FTDM_END}
+	 FTDM_CHANNEL_STATE_DOWN, FTDM_CHANNEL_STATE_END}
 	},
 	/**************************************************************************/
    {
 	ZSD_OUTBOUND,
 	ZSM_UNACCEPTABLE,
-	{FTDM_CHANNEL_STATE_SUSPENDED, FTDM_END},
+	{FTDM_CHANNEL_STATE_SUSPENDED, FTDM_CHANNEL_STATE_END},
 	{FTDM_CHANNEL_STATE_RESTART, FTDM_CHANNEL_STATE_DOWN,
 	 FTDM_CHANNEL_STATE_IN_LOOP, FTDM_CHANNEL_STATE_DIALING,
 	 FTDM_CHANNEL_STATE_PROGRESS, FTDM_CHANNEL_STATE_PROGRESS_MEDIA,
 	 FTDM_CHANNEL_STATE_UP, FTDM_CHANNEL_STATE_CANCEL,
 	 FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_HANGUP,
-	 FTDM_CHANNEL_STATE_HANGUP_COMPLETE, FTDM_END}
+	 FTDM_CHANNEL_STATE_HANGUP_COMPLETE, FTDM_CHANNEL_STATE_END}
 	},
    {
 	ZSD_OUTBOUND,
 	ZSM_UNACCEPTABLE,
-	{FTDM_CHANNEL_STATE_RESTART, FTDM_END},
+	{FTDM_CHANNEL_STATE_RESTART, FTDM_CHANNEL_STATE_END},
 	{FTDM_CHANNEL_STATE_SUSPENDED, FTDM_CHANNEL_STATE_TERMINATING,
 	 FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_HANGUP_COMPLETE,
-	 FTDM_CHANNEL_STATE_DOWN, FTDM_CHANNEL_STATE_IDLE, FTDM_END}
+	 FTDM_CHANNEL_STATE_DOWN, FTDM_CHANNEL_STATE_IDLE, FTDM_CHANNEL_STATE_END}
 	},
 	{
 	ZSD_OUTBOUND,
 	ZSM_UNACCEPTABLE,
-	{FTDM_CHANNEL_STATE_IDLE, FTDM_END},
-	{FTDM_CHANNEL_STATE_RESTART, FTDM_END}
+	{FTDM_CHANNEL_STATE_IDLE, FTDM_CHANNEL_STATE_END},
+	{FTDM_CHANNEL_STATE_RESTART, FTDM_CHANNEL_STATE_END}
 	},
    {
 	ZSD_OUTBOUND,
 	ZSM_UNACCEPTABLE,
-	{FTDM_CHANNEL_STATE_DOWN, FTDM_END},
+	{FTDM_CHANNEL_STATE_DOWN, FTDM_CHANNEL_STATE_END},
 	{FTDM_CHANNEL_STATE_SUSPENDED, FTDM_CHANNEL_STATE_RESTART,
-	 FTDM_CHANNEL_STATE_DIALING, FTDM_CHANNEL_STATE_IN_LOOP, FTDM_END}
+	 FTDM_CHANNEL_STATE_DIALING, FTDM_CHANNEL_STATE_IN_LOOP, FTDM_CHANNEL_STATE_END}
 	},
    {
 	ZSD_OUTBOUND,
 	ZSM_UNACCEPTABLE,
-	{FTDM_CHANNEL_STATE_IN_LOOP, FTDM_END},
+	{FTDM_CHANNEL_STATE_IN_LOOP, FTDM_CHANNEL_STATE_END},
 	{FTDM_CHANNEL_STATE_SUSPENDED, FTDM_CHANNEL_STATE_RESTART,
-	 FTDM_CHANNEL_STATE_DIALING, FTDM_CHANNEL_STATE_DOWN, FTDM_END}
+	 FTDM_CHANNEL_STATE_DIALING, FTDM_CHANNEL_STATE_DOWN, FTDM_CHANNEL_STATE_END}
 	},
    {
 	ZSD_OUTBOUND,
 	ZSM_UNACCEPTABLE,
-	{FTDM_CHANNEL_STATE_DIALING, FTDM_END},
+	{FTDM_CHANNEL_STATE_DIALING, FTDM_CHANNEL_STATE_END},
 	{FTDM_CHANNEL_STATE_SUSPENDED, FTDM_CHANNEL_STATE_RESTART,
 	 FTDM_CHANNEL_STATE_CANCEL, FTDM_CHANNEL_STATE_TERMINATING,
 	 FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_PROGRESS,
-	 FTDM_CHANNEL_STATE_PROGRESS_MEDIA ,FTDM_CHANNEL_STATE_UP, FTDM_END}
+	 FTDM_CHANNEL_STATE_PROGRESS_MEDIA ,FTDM_CHANNEL_STATE_UP, FTDM_CHANNEL_STATE_END}
 	},
    {
 	ZSD_OUTBOUND,
 	ZSM_UNACCEPTABLE,
-	{FTDM_CHANNEL_STATE_PROGRESS, FTDM_END},
+	{FTDM_CHANNEL_STATE_PROGRESS, FTDM_CHANNEL_STATE_END},
 	{FTDM_CHANNEL_STATE_SUSPENDED, FTDM_CHANNEL_STATE_RESTART,
 	 FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_HANGUP,
-	 FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_END}
+	 FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_END}
 	},
    {
 	ZSD_OUTBOUND,
 	ZSM_UNACCEPTABLE,
-	{FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_END},
+	{FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_END},
 	{FTDM_CHANNEL_STATE_SUSPENDED, FTDM_CHANNEL_STATE_RESTART,
 	 FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_HANGUP,
-	 FTDM_CHANNEL_STATE_UP, FTDM_END}
+	 FTDM_CHANNEL_STATE_UP, FTDM_CHANNEL_STATE_END}
 	},
    {
 	ZSD_OUTBOUND,
 	ZSM_UNACCEPTABLE,
-	{FTDM_CHANNEL_STATE_UP, FTDM_END},
+	{FTDM_CHANNEL_STATE_UP, FTDM_CHANNEL_STATE_END},
 	{FTDM_CHANNEL_STATE_SUSPENDED, FTDM_CHANNEL_STATE_RESTART,
-	 FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_HANGUP, FTDM_END}
+	 FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_END}
 	},
    {
 	ZSD_OUTBOUND,
 	ZSM_UNACCEPTABLE,
-	{FTDM_CHANNEL_STATE_CANCEL, FTDM_END},
+	{FTDM_CHANNEL_STATE_CANCEL, FTDM_CHANNEL_STATE_END},
 	{FTDM_CHANNEL_STATE_SUSPENDED, FTDM_CHANNEL_STATE_RESTART,
-	 FTDM_CHANNEL_STATE_HANGUP, FTDM_END}
+	 FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_END}
 	},
    {
 	ZSD_OUTBOUND,
 	ZSM_UNACCEPTABLE,
-	{FTDM_CHANNEL_STATE_TERMINATING, FTDM_END},
+	{FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_END},
 	{FTDM_CHANNEL_STATE_SUSPENDED, FTDM_CHANNEL_STATE_RESTART,
-	 FTDM_CHANNEL_STATE_HANGUP, FTDM_END}
+	 FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_END}
 	},
    {
 	ZSD_OUTBOUND,
 	ZSM_UNACCEPTABLE,
-	{FTDM_CHANNEL_STATE_HANGUP, FTDM_END},
+	{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_END},
 	{FTDM_CHANNEL_STATE_SUSPENDED, FTDM_CHANNEL_STATE_RESTART,
-	 FTDM_CHANNEL_STATE_HANGUP_COMPLETE, FTDM_END}
+	 FTDM_CHANNEL_STATE_HANGUP_COMPLETE, FTDM_CHANNEL_STATE_END}
 	},
    {
 	ZSD_OUTBOUND,
 	ZSM_UNACCEPTABLE,
-	{FTDM_CHANNEL_STATE_HANGUP_COMPLETE, FTDM_END},
+	{FTDM_CHANNEL_STATE_HANGUP_COMPLETE, FTDM_CHANNEL_STATE_END},
 	{FTDM_CHANNEL_STATE_SUSPENDED, FTDM_CHANNEL_STATE_RESTART,
-	 FTDM_CHANNEL_STATE_DOWN, FTDM_END}
+	 FTDM_CHANNEL_STATE_DOWN, FTDM_CHANNEL_STATE_END}
 	},
    }
 };
diff --git a/libs/freetdm/src/include/private/ftdm_state.h b/libs/freetdm/src/include/private/ftdm_state.h
index 43cef81f79..b2a9ce2bdd 100644
--- a/libs/freetdm/src/include/private/ftdm_state.h
+++ b/libs/freetdm/src/include/private/ftdm_state.h
@@ -49,6 +49,8 @@ extern "C" {
 #endif
 
 typedef enum {
+	FTDM_CHANNEL_STATE_ANY = -1,
+	FTDM_CHANNEL_STATE_END = -1,
 	FTDM_CHANNEL_STATE_DOWN,
 	FTDM_CHANNEL_STATE_HOLD,
 	FTDM_CHANNEL_STATE_SUSPENDED,
@@ -77,6 +79,7 @@ typedef enum {
 	FTDM_CHANNEL_STATE_RESET,
 	FTDM_CHANNEL_STATE_INVALID
 } ftdm_channel_state_t;
+/* Purposely not adding ANY (-1) and END (-1) since FTDM_STR2ENUM_P works only on enums starting at zero */
 #define CHANNEL_STATE_STRINGS "DOWN", "HOLD", "SUSPENDED", "DIALTONE", "COLLECT", \
 		"RING", "RINGING", "BUSY", "ATTN", "GENRING", "DIALING", "GET_CALLERID", "CALLWAITING", \
 		"RESTART", "PROCEED", "PROGRESS", "PROGRESS_MEDIA", "UP", "TRANSFER", "IDLE", "TERMINATING", "CANCEL", \
diff --git a/libs/freetdm/src/include/private/ftdm_types.h b/libs/freetdm/src/include/private/ftdm_types.h
index 53183594cc..9e8aebe157 100755
--- a/libs/freetdm/src/include/private/ftdm_types.h
+++ b/libs/freetdm/src/include/private/ftdm_types.h
@@ -66,9 +66,6 @@ extern "C" {
 #define FTDM_DEFAULT_DTMF_ON 250
 #define FTDM_DEFAULT_DTMF_OFF 50
 
-#define FTDM_END -1
-#define FTDM_ANY_STATE -1
-
 typedef enum {
 	FTDM_ENDIAN_BIG = 1,
 	FTDM_ENDIAN_LITTLE = -1