[asterisk-commits] file: branch 1.4 r87970 - /branches/1.4/apps/app_meetme.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Wed Oct 31 20:53:56 CDT 2007


Author: file
Date: Wed Oct 31 20:53:55 2007
New Revision: 87970

URL: http://svn.digium.com/view/asterisk?view=rev&rev=87970
Log:
If a Zap channel contains a spy or a spy is added take it out of the conference in kernel space and make it go through Asterisk so the spy gets audio from both sides.
(closes issue #10060)
Reported by: mparker

Modified:
    branches/1.4/apps/app_meetme.c

Modified: branches/1.4/apps/app_meetme.c
URL: http://svn.digium.com/view/asterisk/branches/1.4/apps/app_meetme.c?view=diff&rev=87970&r1=87969&r2=87970
==============================================================================
--- branches/1.4/apps/app_meetme.c (original)
+++ branches/1.4/apps/app_meetme.c Wed Oct 31 20:53:55 2007
@@ -1572,7 +1572,7 @@
 		goto outrun;
 	}
 
-	retryzap = strcasecmp(chan->tech->type, "Zap");
+	retryzap = (strcasecmp(chan->tech->type, "Zap") || chan->spies ? 1 : 0);
 	user->zapchannel = !retryzap;
 
  zapretry:
@@ -1890,14 +1890,14 @@
 				break;
 
 			if (c) {
-				if (c->fds[0] != origfd) {
+				if (c->fds[0] != origfd || (user->zapchannel && chan->spies)) {
 					if (using_pseudo) {
 						/* Kill old pseudo */
 						close(fd);
 						using_pseudo = 0;
 					}
 					ast_log(LOG_DEBUG, "Ooh, something swapped out under us, starting over\n");
-					retryzap = strcasecmp(c->tech->type, "Zap");
+					retryzap = (strcasecmp(chan->tech->type, "Zap") || chan->spies ? 1 : 0);
 					user->zapchannel = !retryzap;
 					goto zapretry;
 				}




More information about the asterisk-commits mailing list