diff --git a/src/channels/chan_voicemngr.c b/src/channels/chan_voicemngr.c index acb8809594d16787ddc7370ee03f2cd96fb64d4b..097fb557b3a8a57c56235d728a261f6e193d9ab4 100644 --- a/src/channels/chan_voicemngr.c +++ b/src/channels/chan_voicemngr.c @@ -2685,11 +2685,11 @@ static void handle_Rkey_uk(struct chan_voicemngr_subchannel *sub, struct chan_vo } } else if (sub_peer->channel_state == ONHOLD) { ast_log(LOG_NOTICE, "R on hold, line: %d action: %s\n", - p->line_id, sub->call_direction == INCOMING_CALL ? "Toggle" : "3way Conference"); - if (sub->call_direction == OUTGOING_CALL) { + p->line_id, p->sub[1]->call_direction == INCOMING_CALL ? "Toggle" : "3way Conference"); + if (p->sub[1]->call_direction == OUTGOING_CALL) { sub->channel_state = INCALL; sub->conf_timer_id = ast_sched_add(sched, dtmf_wait_timer, setup_conference_call_cb, p); - } else if (sub->call_direction == INCOMING_CALL){ + } else if (p->sub[1]->call_direction == INCOMING_CALL){ chan_voicemngr_unmute_connection(sub_peer); ast_queue_unhold(peer_owner); sub_peer->channel_state = INCALL;