[asterisk-commits] jpeeler: branch 1.4 r273354 - /branches/1.4/apps/app_meetme.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Thu Jul 1 10:05:47 CDT 2010


Author: jpeeler
Date: Thu Jul  1 10:05:43 2010
New Revision: 273354

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=273354
Log:
Ensure channel placed in meetme in ringing state is properly hung up.

An outgoing channel placed in meetme while still ringing which was then hung up
would not exit meetme and the channel was not properly destroyed. Specifically
checking for this scenario by looking at the appropriate control frames resolves
the issue.

(closes issue #15871)
Reported by: Ivan
Patches: 
      meetme_congestion_trunk_v2.patch uploaded by Ivan (license 229)

Modified:
    branches/1.4/apps/app_meetme.c

Modified: branches/1.4/apps/app_meetme.c
URL: http://svnview.digium.com/svn/asterisk/branches/1.4/apps/app_meetme.c?view=diff&rev=273354&r1=273353&r2=273354
==============================================================================
--- branches/1.4/apps/app_meetme.c (original)
+++ branches/1.4/apps/app_meetme.c Thu Jul  1 10:05:43 2010
@@ -2322,6 +2322,20 @@
 					}
 				} else if (f->frametype == AST_FRAME_NULL) {
 					/* Ignore NULL frames. It is perfectly normal to get these if the person is muted. */
+				} else if (f->frametype == AST_FRAME_CONTROL) {
+					switch (f->subclass) {
+					case AST_CONTROL_BUSY:
+					case AST_CONTROL_CONGESTION:
+						ast_frfree(f);
+						goto outrun;
+						break;
+					default:
+						if (option_debug) {
+							ast_log(LOG_DEBUG, 
+								"Got ignored control frame on channel %s, f->frametype=%d,f->subclass=%d\n",
+								chan->name, f->frametype, f->subclass);
+						}
+					}
 				} else if (option_debug) {
 					ast_log(LOG_DEBUG,
 						"Got unrecognized frame on channel %s, f->frametype=%d,f->subclass=%d\n",




More information about the asterisk-commits mailing list