From: Mark Spencer Date: Tue, 30 Sep 2003 14:11:17 +0000 (+0000) Subject: Minor IAX enhancments to support MusicOnHold X-Git-Tag: 0.7.0~424 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=7db0e604867d9ca9cbeb16b2a40ebedb43087450;p=thirdparty%2Fasterisk.git Minor IAX enhancments to support MusicOnHold git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1588 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c index 76957798d5..4de1bbfbb1 100755 --- a/channels/chan_iax2.c +++ b/channels/chan_iax2.c @@ -32,6 +32,7 @@ #include #include #include +#include #include #include #include @@ -3989,12 +3990,22 @@ retryowner: /* Do nothing */ break; case IAX_COMMAND_QUELCH: - if (iaxs[fr.callno]->state & IAX_STATE_STARTED) + if (iaxs[fr.callno]->state & IAX_STATE_STARTED) { iaxs[fr.callno]->quelch = 1; + if (ies.musiconhold) { + if (iaxs[fr.callno]->owner && + iaxs[fr.callno]->owner->bridge) + ast_moh_start(iaxs[fr.callno]->owner->bridge, NULL); + } + } break; case IAX_COMMAND_UNQUELCH: - if (iaxs[fr.callno]->state & IAX_STATE_STARTED) + if (iaxs[fr.callno]->state & IAX_STATE_STARTED) { iaxs[fr.callno]->quelch = 0; + if (iaxs[fr.callno]->owner && + iaxs[fr.callno]->owner->bridge) + ast_moh_stop(iaxs[fr.callno]->owner->bridge); + } break; case IAX_COMMAND_TXACC: if (iaxs[fr.callno]->transferring == TRANSFER_BEGIN) {