git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3286 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
Anthony Minessale 2006-11-09 05:13:59 +00:00
parent a3277badcd
commit 0ce3f5b08b
3 changed files with 5 additions and 3 deletions

View File

@ -90,7 +90,8 @@ typedef uint8_t switch_byte_t;
typedef enum {
SMF_NONE = 0,
SMF_REBRIDGE = (1 << 0),
SMF_ECHO_BRIDGED = (1 << 1)
SMF_ECHO_BRIDGED = (1 << 1),
SMF_FORCE = (1 << 2)
} switch_media_flag_t;
typedef enum {

View File

@ -2415,7 +2415,7 @@ static void pass_sdp(switch_channel_t *channel, char *sdp)
switch_channel_test_flag(other_channel, CF_NOMEDIA) &&
switch_channel_test_flag(channel, CF_OUTBOUND) &&
switch_channel_test_flag(channel, CF_NOMEDIA)) {
switch_ivr_nomedia(val, SMF_NONE);
switch_ivr_nomedia(val, SMF_FORCE);
}
switch_core_session_rwunlock(other_session);

View File

@ -2489,7 +2489,8 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_nomedia(char *uuid, switch_media_flag
status = SWITCH_STATUS_SUCCESS;
channel = switch_core_session_get_channel(session);
assert(channel != NULL);
if (!switch_channel_test_flag(channel, CF_NOMEDIA)) {
if ((flags & SMF_FORCE) || !switch_channel_test_flag(channel, CF_NOMEDIA)) {
switch_channel_set_flag(channel, CF_NOMEDIA);
switch_core_session_receive_message(session, &msg);
if ((flags & SMF_REBRIDGE) && (other_uuid = switch_channel_get_variable(channel, SWITCH_BRIDGE_VARIABLE)) &&