"HANGUP", "HANGUP_COMPLETE", "IN_LOOP", "RESET", "INVALID"
FTDM_STR2ENUM_P(ftdm_str2ftdm_channel_state, ftdm_channel_state2str, ftdm_channel_state_t)
-/*!< Channel flags. This used to be an enum but we reached the 32bit limit for enums */
-#define FTDM_CHANNEL_CONFIGURED (1UL << 0)
-#define FTDM_CHANNEL_READY (1UL << 1)
-#define FTDM_CHANNEL_OPEN (1UL << 2)
-#define FTDM_CHANNEL_DTMF_DETECT (1UL << 3)
-#define FTDM_CHANNEL_SUPRESS_DTMF (1UL << 4)
-#define FTDM_CHANNEL_TRANSCODE (1UL << 5)
-#define FTDM_CHANNEL_BUFFER (1UL << 6)
-#define FTDM_CHANNEL_EVENT (1UL << 7)
-#define FTDM_CHANNEL_INTHREAD (1UL << 8)
-#define FTDM_CHANNEL_WINK (1UL << 9)
-#define FTDM_CHANNEL_FLASH (1UL << 10)
-#define FTDM_CHANNEL_STATE_CHANGE (1UL << 11)
-#define FTDM_CHANNEL_HOLD (1UL << 12)
-#define FTDM_CHANNEL_INUSE (1UL << 13)
-#define FTDM_CHANNEL_OFFHOOK (1UL << 14)
-#define FTDM_CHANNEL_RINGING (1UL << 15)
-#define FTDM_CHANNEL_PROGRESS_DETECT (1UL << 16)
-#define FTDM_CHANNEL_CALLERID_DETECT (1UL << 17)
-#define FTDM_CHANNEL_OUTBOUND (1UL << 18)
-#define FTDM_CHANNEL_SUSPENDED (1UL << 19)
-#define FTDM_CHANNEL_3WAY (1UL << 20)
-#define FTDM_CHANNEL_PROGRESS (1UL << 21)
-#define FTDM_CHANNEL_MEDIA (1UL << 22)
-#define FTDM_CHANNEL_ANSWERED (1UL << 23)
-#define FTDM_CHANNEL_MUTE (1UL << 24)
-#define FTDM_CHANNEL_USE_RX_GAIN (1UL << 25)
-#define FTDM_CHANNEL_USE_TX_GAIN (1UL << 26)
-#define FTDM_CHANNEL_IN_ALARM (1UL << 27)
-#define FTDM_CHANNEL_SIG_UP (1UL << 28)
-#define FTDM_CHANNEL_USER_HANGUP (1UL << 29)
-#define FTDM_CHANNEL_RX_DISABLED (1UL << 30)
-#define FTDM_CHANNEL_TX_DISABLED (1UL << 31)
+/*!< Channel flags. This used to be an enum but we reached the 32bit limit for enums, is safer this way */
+#define FTDM_CHANNEL_CONFIGURED (1ULL << 0)
+#define FTDM_CHANNEL_READY (1ULL << 1)
+#define FTDM_CHANNEL_OPEN (1ULL << 2)
+#define FTDM_CHANNEL_DTMF_DETECT (1ULL << 3)
+#define FTDM_CHANNEL_SUPRESS_DTMF (1ULL << 4)
+#define FTDM_CHANNEL_TRANSCODE (1ULL << 5)
+#define FTDM_CHANNEL_BUFFER (1ULL << 6)
+#define FTDM_CHANNEL_EVENT (1ULL << 7)
+#define FTDM_CHANNEL_INTHREAD (1ULL << 8)
+#define FTDM_CHANNEL_WINK (1ULL << 9)
+#define FTDM_CHANNEL_FLASH (1ULL << 10)
+#define FTDM_CHANNEL_STATE_CHANGE (1ULL << 11)
+#define FTDM_CHANNEL_HOLD (1ULL << 12)
+#define FTDM_CHANNEL_INUSE (1ULL << 13)
+#define FTDM_CHANNEL_OFFHOOK (1ULL << 14)
+#define FTDM_CHANNEL_RINGING (1ULL << 15)
+#define FTDM_CHANNEL_PROGRESS_DETECT (1ULL << 16)
+#define FTDM_CHANNEL_CALLERID_DETECT (1ULL << 17)
+#define FTDM_CHANNEL_OUTBOUND (1ULL << 18)
+#define FTDM_CHANNEL_SUSPENDED (1ULL << 19)
+#define FTDM_CHANNEL_3WAY (1ULL << 20)
+#define FTDM_CHANNEL_PROGRESS (1ULL << 21)
+#define FTDM_CHANNEL_MEDIA (1ULL << 22)
+#define FTDM_CHANNEL_ANSWERED (1ULL << 23)
+#define FTDM_CHANNEL_MUTE (1ULL << 24)
+#define FTDM_CHANNEL_USE_RX_GAIN (1ULL << 25)
+#define FTDM_CHANNEL_USE_TX_GAIN (1ULL << 26)
+#define FTDM_CHANNEL_IN_ALARM (1ULL << 27)
+#define FTDM_CHANNEL_SIG_UP (1ULL << 28)
+#define FTDM_CHANNEL_USER_HANGUP (1ULL << 29)
+#define FTDM_CHANNEL_RX_DISABLED (1ULL << 30)
+#define FTDM_CHANNEL_TX_DISABLED (1ULL << 31)
/*!< The user knows about a call in this channel */
-#define FTDM_CHANNEL_CALL_STARTED (1UL << 32)
+#define FTDM_CHANNEL_CALL_STARTED (1ULL << 32)
typedef enum {
ZSM_NONE,