Author: anthm Date: Mon Dec 1 11:21:27 2008 New Revision: 10559 Log: FSCORE-240 Modified: freeswitch/trunk/src/switch_core_session.c freeswitch/trunk/src/switch_ivr.c freeswitch/trunk/src/switch_ivr_originate.c Modified: freeswitch/trunk/src/switch_core_session.c ============================================================================== --- freeswitch/trunk/src/switch_core_session.c (original) +++ freeswitch/trunk/src/switch_core_session.c Mon Dec 1 11:21:27 2008 @@ -441,6 +441,7 @@ "SWITCH_MESSAGE_INDICATE_VIDEO_REFRESH_REQ", "SWITCH_MESSAGE_INDICATE_DISPLAY", "SWITCH_MESSAGE_INDICATE_TRANSCODING_NECESSARY", + "SWITCH_MESSAGE_INDICATE_AUDIO_SYNC", "SWITCH_MESSAGE_INVALID" }; Modified: freeswitch/trunk/src/switch_ivr.c ============================================================================== --- freeswitch/trunk/src/switch_ivr.c (original) +++ freeswitch/trunk/src/switch_ivr.c Mon Dec 1 11:21:27 2008 @@ -52,7 +52,13 @@ cng_frame.buflen = 2; switch_set_flag((&cng_frame), SFF_CNG); - switch_channel_audio_sync(channel); + if (!switch_channel_test_flag(channel, CF_PROXY_MODE)) { + switch_channel_audio_sync(channel); + } + + if (!ms) { + return SWITCH_STATUS_SUCCESS; + } for (;;) { now = switch_timestamp_now(); Modified: freeswitch/trunk/src/switch_ivr_originate.c ============================================================================== --- freeswitch/trunk/src/switch_ivr_originate.c (original) +++ freeswitch/trunk/src/switch_ivr_originate.c Mon Dec 1 11:21:27 2008 @@ -39,12 +39,6 @@ { switch_channel_t *channel = switch_core_session_get_channel(session); - if (!switch_channel_test_flag(channel, CF_PROXY_MODE)) { - while (switch_channel_get_state(channel) == CS_CONSUME_MEDIA && !switch_channel_test_flag(channel, CF_TAGGED)) { - switch_ivr_sleep(session, 10, NULL); - } - } - switch_channel_clear_state_handler(channel, &originate_state_handlers); return SWITCH_STATUS_FALSE; @@ -97,6 +91,8 @@ return NULL; } + switch_ivr_sleep(collect->session, 0, NULL); + if (!strcasecmp(collect->key, "exec")) { char *data; switch_application_interface_t *application_interface; @@ -1680,6 +1676,13 @@ *bleg = NULL; } + if (*bleg) { + switch_ivr_sleep(*bleg, 0, NULL); + } + + if (session) { + switch_ivr_sleep(session, 0, NULL); + } if (var_event) { switch_event_destroy(&var_event);
participants (1)
-
FreeSWITCH SVN