[Asterisk-code-review] stasis: Hangup channel for Local channel No such extension error (...asterisk[16])

Abhay Gupta asteriskteam at digium.com
Fri May 3 10:53:31 CDT 2019


Abhay Gupta has uploaded this change for review. ( https://gerrit.asterisk.org/c/asterisk/+/11352


Change subject: stasis: Hangup channel for Local channel No such extension error
......................................................................

stasis: Hangup channel for Local channel No such extension error

When we use early bridge with create and dial from stasis using Local channel
and the dialplan does not any entry the it is returned from core_local.c with
No such extension .

In such case asterisk locks up till the channel is not hangup with the error
Exceptionally long voice queue length

* Found that in such case app_control_dial fails on ast_call method and
  return -1
* Since it is called from stasis_app_send_command_async and return -1 does
  not cause resources to be freed and since no PBX exist it is not able to
  read from channel causing exceptionally long queue
* After putting this code found that the channel was releasing immediately
  and resources were freed .

ASTERISK-28399
Reported by: Abhay Gupta
Tested by: Abhay Gupta

Change-Id: I0a55c923fc6995559f808d63b9488762b4489318
---
M res/stasis/control.c
1 file changed, 4 insertions(+), 4 deletions(-)



  git pull ssh://gerrit.asterisk.org:29418/asterisk refs/changes/52/11352/1

diff --git a/res/stasis/control.c b/res/stasis/control.c
index 2bf3c91..addf33d 100644
--- a/res/stasis/control.c
+++ b/res/stasis/control.c
@@ -1647,10 +1647,10 @@
 	if (ast_call(chan, args->dialstring, 0)) {
 		/* Dial fails if no dialplan exist for Local channels and channel needs to hangup */
 		int hangup_flag;
-                hangup_flag = ast_bridge_setup_after_goto(chan) ? AST_SOFTHANGUP_DEV : AST_SOFTHANGUP_ASYNCGOTO;
-                ast_channel_lock(chan);
-                ast_softhangup_nolock(chan, hangup_flag);
-                ast_channel_unlock(chan);
+		hangup_flag = ast_bridge_setup_after_goto(chan) ? AST_SOFTHANGUP_DEV : AST_SOFTHANGUP_ASYNCGOTO;
+		ast_channel_lock(chan);
+		ast_softhangup_nolock(chan, hangup_flag);
+		ast_channel_unlock(chan);
 		return -1;
 	}
 

-- 
To view, visit https://gerrit.asterisk.org/c/asterisk/+/11352
To unsubscribe, or for help writing mail filters, visit https://gerrit.asterisk.org/settings

Gerrit-Project: asterisk
Gerrit-Branch: 16
Gerrit-Change-Id: I0a55c923fc6995559f808d63b9488762b4489318
Gerrit-Change-Number: 11352
Gerrit-PatchSet: 1
Gerrit-Owner: Abhay Gupta <abhay at avissol.com>
Gerrit-MessageType: newchange
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-code-review/attachments/20190503/eef3909d/attachment.html>


More information about the asterisk-code-review mailing list