]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
freetdm: ftmod_libpri - add support for RINGING state
authorMoises Silva <moy@sangoma.com>
Tue, 30 Nov 2010 21:42:58 +0000 (16:42 -0500)
committerMoises Silva <moy@sangoma.com>
Tue, 30 Nov 2010 21:42:58 +0000 (16:42 -0500)
libs/freetdm/mod_freetdm/mod_freetdm.c
libs/freetdm/src/ftmod/ftmod_libpri/ftmod_libpri.c

index 07d4e88f33bc5b88bcb2073884206f9c175d2b83..b5c8b84c0c51bd4e4ad17559cb4c8d6989e60b9c 100755 (executable)
@@ -841,9 +841,9 @@ static switch_status_t channel_receive_message_b(switch_core_session_t *session,
        assert(tech_pvt != NULL);
 
        if (switch_test_flag(tech_pvt, TFLAG_DEAD)) {
-        switch_channel_hangup(channel, SWITCH_CAUSE_LOSE_RACE);
-        return SWITCH_STATUS_FALSE;
-    }
+               switch_channel_hangup(channel, SWITCH_CAUSE_LOSE_RACE);
+               return SWITCH_STATUS_FALSE;
+       }
 
        if (ftdm_channel_call_check_hangup(tech_pvt->ftdmchan)) {
                return SWITCH_STATUS_SUCCESS;
@@ -888,9 +888,9 @@ static switch_status_t channel_receive_message_fxo(switch_core_session_t *sessio
        assert(tech_pvt != NULL);
 
        if (switch_test_flag(tech_pvt, TFLAG_DEAD)) {
-        switch_channel_hangup(channel, SWITCH_CAUSE_LOSE_RACE);
-        return SWITCH_STATUS_FALSE;
-    }
+               switch_channel_hangup(channel, SWITCH_CAUSE_LOSE_RACE);
+               return SWITCH_STATUS_FALSE;
+       }
        
        if (switch_channel_test_flag(channel, CF_OUTBOUND)) {
                return SWITCH_STATUS_SUCCESS;
index c8e865214cc866c8e5f370fd1f2bbc5395bfb298..68f0e9e5a4d030d4154bdd836db46c0078b371ab 100644 (file)
@@ -462,7 +462,7 @@ static ftdm_state_map_t isdn_state_map = {
                        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_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_RINGING, FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_UP, FTDM_END}
                },
                {
                        ZSD_INBOUND,
@@ -479,7 +479,7 @@ static ftdm_state_map_t isdn_state_map = {
                {
                        ZSD_INBOUND,
                        ZSM_UNACCEPTABLE,
-                       {FTDM_CHANNEL_STATE_PROGRESS, FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_END},
+                       {FTDM_CHANNEL_STATE_RINGING, FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_END},
                        {FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_PROGRESS_MEDIA, 
                         FTDM_CHANNEL_STATE_CANCEL, FTDM_CHANNEL_STATE_UP, FTDM_END},
                },
@@ -537,6 +537,8 @@ static __inline__ void state_advance(ftdm_channel_t *chan)
                break;
 
        case FTDM_CHANNEL_STATE_PROGRESS:
+       /* RINGING is an alias for PROGRESS state in inbound calls ATM */
+       case FTDM_CHANNEL_STATE_RINGING:
                {
                        if (ftdm_test_flag(chan, FTDM_CHANNEL_OUTBOUND)) {
                                sig.event_id = FTDM_SIGEVENT_PROGRESS;