[Freeswitch-svn] [commit] r8834 - freeswitch/trunk/src
Author: anthm Date: Tue Jun 24 18:14:47 2008 New Revision: 8834 Modified: freeswitch/trunk/src/switch_ivr_originate.c Log: fix small originate issues Modified: freeswitch/trunk/src/switch_ivr_originate.c ============================================================================== --- freeswitch/trunk/src/switch_ivr_originate.c (original) +++ freeswitch/trunk/src/switch_ivr_originate.c Tue Jun 24 18:14:47 2008 @@ -771,7 +771,6 @@ pass = 0; var = NULL; to = 0; - progress_timelimit_sec = 0; sent_ring = 0; progress = 0; @@ -1017,7 +1016,7 @@ goto notready; } - if (!sent_ring && !progress && (switch_timestamp(NULL) - start) > (time_t) progress_timelimit_sec) { + if (!sent_ring && !progress && progress_timelimit_sec && (switch_timestamp(NULL) - start) > (time_t) progress_timelimit_sec) { to++; idx = IDX_TIMEOUT; goto notready; @@ -1417,9 +1416,14 @@ continue; } switch_channel_clear_flag(peer_channels[i], CF_ORIGINATING); - if (status == SWITCH_STATUS_SUCCESS && bleg && *bleg && *bleg == peer_sessions[i]) { - continue; + if (status == SWITCH_STATUS_SUCCESS) { + if (bleg && *bleg && *bleg == peer_sessions[i]) { + continue; + } + } else if (switch_channel_get_state(switch_core_session_get_channel(peer_sessions[i])) < CS_HANGUP) { + switch_channel_hangup(switch_core_session_get_channel(peer_sessions[i]), *cause); } + switch_core_session_rwunlock(peer_sessions[i]); }
participants (1)
-
Freeswitch SVN