From 9055e407e39b38b137048a646bd9aac329de56da Mon Sep 17 00:00:00 2001 From: Hemlata <hemlata.bhatt@iopsys.eu> Date: Fri, 2 Jul 2021 15:57:50 +0000 Subject: [PATCH] Unhold the first call if the second one is rejected during a call waiting --- channels/chan_brcm.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/channels/chan_brcm.c b/channels/chan_brcm.c index d5aeb94404..5f2b7a7d15 100644 --- a/channels/chan_brcm.c +++ b/channels/chan_brcm.c @@ -598,6 +598,7 @@ static int brcm_indicate(struct ast_channel *ast, int condition, const void *dat case AST_CAUSE_USER_BUSY: if (ast_channel_state(ast) != AST_STATE_UP) { /* XXX We should play a busy tone here!! */ + sub->channel_state = CALLENDED; endpt_signal(sub->parent->line_id, "busy", "on", NULL); break; } @@ -1028,6 +1029,7 @@ static int brcm_answer(struct ast_channel *ast) * Treated like a normal call but we want to preserve the channel_state */ if(pvt->dialtone != DIALTONE_HOWLER) { + if(sub->channel_state != CALLENDED)/*Dont change the channel state if call is terminated */ sub->channel_state = INCALL; } //send_ubus_event("RINGING_OFF",pvt->line_id); -- GitLab