[asterisk-commits] mmichelson: branch 1.4 r91737 - /branches/1.4/main/autoservice.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Fri Dec 7 09:39:58 CST 2007


Author: mmichelson
Date: Fri Dec  7 09:39:58 2007
New Revision: 91737

URL: http://svn.digium.com/view/asterisk?view=rev&rev=91737
Log:
Hangups that happen during autoservice were not processed appropriately. This is
because a hangup actually causes a NULL frame to be received, not a hangup frame.
Queueing a hangup if we receive a NULL frame during autoservice corrects this problem

(closes issue #11467, reported  by jmls, patched by me)


Modified:
    branches/1.4/main/autoservice.c

Modified: branches/1.4/main/autoservice.c
URL: http://svn.digium.com/view/asterisk/branches/1.4/main/autoservice.c?view=diff&rev=91737&r1=91736&r2=91737
==============================================================================
--- branches/1.4/main/autoservice.c (original)
+++ branches/1.4/main/autoservice.c Fri Dec  7 09:39:58 2007
@@ -90,8 +90,11 @@
 		if (chan) {
 			struct ast_frame *f = ast_read(chan);
 	
-			if (!f)
+			if (!f) {
+				/* NULL means we got a hangup*/
+				ast_queue_hangup(chan);
 				continue;
+			}
 			
 			/* Do not add a default entry in this switch statement.  Each new
 			 * frame type should be addressed directly as to whether it should




More information about the asterisk-commits mailing list