From 98fd8b7db461d118b8c6c6c43f72185a00c00c06 Mon Sep 17 00:00:00 2001
From: Grzegorz Sluja <grzegorz.sluja@sigma.se>
Date: Wed, 20 Sep 2023 08:42:49 +0200
Subject: [PATCH] Fix toggling between calls for 'uk' flash_spec

---
 src/channels/chan_voicemngr.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/channels/chan_voicemngr.c b/src/channels/chan_voicemngr.c
index acb8809..097fb55 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;
-- 
GitLab