Don't do conferencing totally in Zaptel if Monitor is running on the channel.

(closes issue #11709)
Reported by: BigJimmy
Patches:
      patch-meetmerec uploaded by BigJimmy (license 371)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@97450 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Joshua Colp
2008-01-09 16:11:17 +00:00
parent d235974bd6
commit 7a3ee5a7fc

View File

@@ -1578,7 +1578,7 @@ static int conf_run(struct ast_channel *chan, struct ast_conference *conf, int c
goto outrun;
}
retryzap = (strcasecmp(chan->tech->type, "Zap") || chan->spies ? 1 : 0);
retryzap = (strcasecmp(chan->tech->type, "Zap") || (chan->spies || chan->monitor) ? 1 : 0);
user->zapchannel = !retryzap;
zapretry:
@@ -1896,14 +1896,14 @@ static int conf_run(struct ast_channel *chan, struct ast_conference *conf, int c
break;
if (c) {
if (c->fds[0] != origfd || (user->zapchannel && c->spies)) {
if (c->fds[0] != origfd || (user->zapchannel && (c->spies || c->monitor))) {
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") || c->spies ? 1 : 0);
retryzap = (strcasecmp(c->tech->type, "Zap") || (c->spies || c->monitor) ? 1 : 0);
user->zapchannel = !retryzap;
goto zapretry;
}