Minor IAX enhancments to support MusicOnHold

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1588 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Mark Spencer
2003-09-30 14:11:17 +00:00
parent 19ef8e56ef
commit 7db0e60486

View File

@@ -32,6 +32,7 @@
#include <asterisk/callerid.h>
#include <asterisk/app.h>
#include <asterisk/astdb.h>
#include <asterisk/musiconhold.h>
#include <arpa/inet.h>
#include <sys/socket.h>
#include <netinet/in.h>
@@ -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) {