diff --git a/src/switch_core_media.c b/src/switch_core_media.c index 53ee50c1fc..c8fc87bc8c 100644 --- a/src/switch_core_media.c +++ b/src/switch_core_media.c @@ -3682,7 +3682,7 @@ SWITCH_DECLARE(int) switch_core_media_toggle_hold(switch_core_session_t *session const char *info; if ((switch_channel_test_flag(session->channel, CF_SLA_BARGE) || switch_channel_test_flag(session->channel, CF_SLA_BARGING)) && - (!b_channel || switch_channel_test_flag(b_channel, CF_BROADCAST))) { + (!b_channel || switch_channel_test_flag(b_channel, CF_EVENT_LOCK_PRI))) { switch_channel_mark_hold(session->channel, sendonly); switch_channel_set_flag(session->channel, CF_PROTO_HOLD); changed = 0; @@ -3719,13 +3719,13 @@ SWITCH_DECLARE(int) switch_core_media_toggle_hold(switch_core_session_t *session } - if (stream && strcasecmp(stream, "silence") && (!b_channel || !switch_channel_test_flag(b_channel, CF_BROADCAST))) { + if (stream && strcasecmp(stream, "silence") && (!b_channel || !switch_channel_test_flag(b_channel, CF_EVENT_LOCK_PRI))) { if (!strcasecmp(stream, "indicate_hold")) { switch_channel_set_flag(session->channel, CF_SUSPEND); switch_channel_set_flag(session->channel, CF_HOLD); - switch_ivr_hold_uuid(switch_channel_get_partner_uuid(session->channel), NULL, 0); + switch_ivr_hold_uuid(switch_core_session_get_uuid(b_session), NULL, 0); } else { - switch_ivr_broadcast(switch_channel_get_partner_uuid(session->channel), stream, + switch_ivr_broadcast(switch_core_session_get_uuid(b_session), stream, SMF_ECHO_ALEG | SMF_LOOP | SMF_PRIORITY); switch_yield(250000); }