[core] use switch_core_session_get_partner in sched_hangup to hangup channel also in signalling bond state

This commit is contained in:
Seven Du 2019-11-14 12:31:20 +08:00 committed by Andrey Volk
parent ce019aa566
commit e0aef355db

View File

@ -5163,7 +5163,6 @@ SWITCH_STANDARD_SCHED_FUNC(sch_hangup_callback)
{
struct hangup_helper *helper;
switch_core_session_t *session, *other_session;
const char *other_uuid;
switch_assert(task);
@ -5173,7 +5172,7 @@ SWITCH_STANDARD_SCHED_FUNC(sch_hangup_callback)
switch_channel_t *channel = switch_core_session_get_channel(session);
if (helper->bleg) {
if ((other_uuid = switch_channel_get_variable(channel, SWITCH_BRIDGE_VARIABLE)) && (other_session = switch_core_session_locate(other_uuid))) {
if (SWITCH_STATUS_SUCCESS == switch_core_session_get_partner(session, &other_session)) {
switch_channel_t *other_channel = switch_core_session_get_channel(other_session);
switch_channel_hangup(other_channel, helper->cause);
switch_core_session_rwunlock(other_session);