[asterisk-commits] file: branch 1.4 r64240 - /branches/1.4/main/channel.c

asterisk-commits at lists.digium.com asterisk-commits at lists.digium.com
Mon May 14 10:23:52 MST 2007


Author: file
Date: Mon May 14 12:23:51 2007
New Revision: 64240

URL: http://svn.digium.com/view/asterisk?view=rev&rev=64240
Log:
Fix scenario where if a phone that simply called Echo() put itself on hold it could never get off hold.

Modified:
    branches/1.4/main/channel.c

Modified: branches/1.4/main/channel.c
URL: http://svn.digium.com/view/asterisk/branches/1.4/main/channel.c?view=diff&rev=64240&r1=64239&r2=64240
==============================================================================
--- branches/1.4/main/channel.c (original)
+++ branches/1.4/main/channel.c Mon May 14 12:23:51 2007
@@ -2726,8 +2726,11 @@
 				res = ast_senddigit_end(chan, fr->subclass, fr->len);
 				ast_channel_lock(chan);
 				CHECK_BLOCKING(chan);
+			} else if (fr->frametype == AST_FRAME_CONTROL && fr->subclass == AST_CONTROL_UNHOLD) {
+				/* This is a side case where Echo is basically being called and the person put themselves on hold and took themselves off hold */
+				res = (chan->tech->indicate == NULL) ? 0 :
+					chan->tech->indicate(chan, fr->subclass, fr->data, fr->datalen);
 			}
-
 			res = 0;	/* XXX explain, why 0 ? */
 			goto done;
 		}



More information about the asterisk-commits mailing list