]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
MODAPP-226
authorAnthony Minessale <anthony.minessale@gmail.com>
Thu, 5 Mar 2009 16:53:31 +0000 (16:53 +0000)
committerAnthony Minessale <anthony.minessale@gmail.com>
Thu, 5 Mar 2009 16:53:31 +0000 (16:53 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@12466 d0543943-73ff-0310-b7d9-9358b9ac24b2

src/mod/applications/mod_conference/mod_conference.c
src/switch_ivr.c

index f3dde9ec311801760a7b9c0b752f882531fd6093..7a38596877cd160cfdd1b3977f9a01d5a8c29872 100644 (file)
@@ -1563,7 +1563,7 @@ static void *SWITCH_THREAD_FUNC conference_loop_input(switch_thread_t *thread, v
 
        while (switch_test_flag(member, MFLAG_RUNNING) && switch_channel_ready(channel)) {
 
-               if (switch_channel_test_flag(channel, CF_SERVICE)) {
+               if (switch_channel_test_app_flag(channel, CF_APP_TAGGED)) {
                        switch_yield(100000);
                        continue;
                }
@@ -1878,7 +1878,7 @@ static void conference_loop_output(conference_member_t *member)
        }
 
        if (restarting) {
-               switch_channel_clear_flag(channel, CF_SERVICE);
+               switch_channel_clear_app_flag(channel, CF_APP_TAGGED);
        }
 
        /* Fair WARNING, If you expect the caller to hear anything or for digit handling to be processed,      */
@@ -2094,9 +2094,9 @@ static void conference_loop_output(conference_member_t *member)
 
 
                if (switch_core_session_private_event_count(member->session)) {
-                       switch_channel_set_flag(channel, CF_SERVICE);
+                       switch_channel_set_app_flag(channel, CF_APP_TAGGED);
                        switch_ivr_parse_all_events(member->session);
-                       switch_channel_clear_flag(channel, CF_SERVICE);
+                       switch_channel_clear_app_flag(channel, CF_APP_TAGGED);
                        switch_set_flag_locked(member, MFLAG_FLUSH_BUFFER);
                        switch_core_session_set_read_codec(member->session, &member->read_codec);
                }
@@ -3697,7 +3697,7 @@ static switch_status_t conf_api_sub_transfer(conference_obj_t *conference, switc
                                if (setup_media(member, new_conference)) {
                                        switch_clear_flag_locked(member, MFLAG_RUNNING);
                                } else {
-                                       switch_channel_set_flag(channel, CF_SERVICE);
+                                       switch_channel_set_app_flag(channel, CF_APP_TAGGED);
                                        switch_set_flag_locked(member, MFLAG_RESTART);
                                }
                        }
index a8721dcb89eac08555361b2ac078debabc2b795e..2dbf2ad47b98e425b5ce8d6f13d37ae822095ec0 100644 (file)
@@ -975,9 +975,10 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_collect_digits_count(switch_core_sess
                        switch_ivr_parse_all_events(session);
                }
 
-
+               
                if (eff_timeout) {
                        digit_elapsed = (uint32_t) ((switch_micro_time_now() - digit_started) / 1000);
+
                        if (digit_elapsed >= eff_timeout) {
                                status = SWITCH_STATUS_TIMEOUT;
                                break;
@@ -987,7 +988,7 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_collect_digits_count(switch_core_sess
                if (switch_channel_has_dtmf(channel)) {
                        switch_dtmf_t dtmf = { 0 };
                        switch_size_t y;
-
+                       
                        if (eff_timeout) {
                                eff_timeout = digit_timeout;
                                digit_started = switch_micro_time_now();
@@ -1006,6 +1007,7 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_collect_digits_count(switch_core_sess
 
                                buf[x++] = dtmf.digit;
                                buf[x] = '\0';
+                               
                                if (x >= buflen || x >= maxdigits) {
                                        return SWITCH_STATUS_SUCCESS;
                                }