Grava uma chamada e mescla o áudio durante a gravação. O uso de StopMixMonitor é necessário para garantir que o arquivo de áudio esteja disponível para processamento durante a execução do dialplan.
Descrição: Grava o áudio no canal atual para o arquivo especificado. Esta aplicação não responde automaticamente e deve ser precedida por uma aplicação como Answer ou Progress().
Observações importantes:
- MixMonitor executa como um audiohook
- Se um nome de arquivo passado para MixMonitor terminar com '.wav49', o Asterisk converterá silenciosamente a extensão para '.WAV' por razões de legado. A variável MIXMONITOR_FILENAME conterá o nome de arquivo real que o Asterisk está gravando, não necessariamente o valor passado inicialmente
- MIXMONITOR_FILENAME - Conterá o nome de arquivo utilizado para gravação
Aviso: Não utilize strings não confiáveis como CALLERID(num) ou CALLERID(name) como parte de nenhum dos parâmetros da aplicação. Você corre o risco de sofrer um ataque de injeção de comando executando comandos arbitrários se as strings não confiáveis não forem filtradas para remover caracteres perigosos. Consulte a função FILTER().
Aviso: Ao usar a opção 'D' para salvar áudio intercalado, VOCÊ DEVE usar '.raw' como extensão do arquivo. Qualquer outra extensão produzirá um arquivo corrompido.
Sintaxe: MixMonitor(filename.extension,[options,[command]])
Parâmetros:
- file: filename obrigatório - Se filename for um caminho absoluto, usa esse caminho, caso contrário cria o arquivo no diretório de monitoramento configurado em asterisk.conf
- options: opções de gravação (ver abaixo)
- command: comando a ser executado quando a gravação terminar
Opções disponíveis:
- a: Anexar ao arquivo em vez de sobrescrevê-lo
- b: Apenas salvar áudio no arquivo enquanto o canal estiver em bridge
- B(interval): Tocar um beep periódico enquanto a chamada está sendo gravada (intervalo em segundos, padrão é 15)
- c: Usar o Caller ID real do canal para o Caller ID do correio de voz
- d: Excluir o arquivo de gravação assim que o MixMonitor terminar com ele
- v(x): Ajustar volume ouvido por um fator de x (faixa '-4' a '4')
- V(x): Ajustar volume falado por um fator de x (faixa '-4' a '4')
- W(x): Ajustar ambos, volumes ouvido e falado por um fator de x (faixa '-4' a '4')
- r(file): Usar o arquivo especificado para gravar o feed de áudio recebido
- t(file): Usar o arquivo especificado para gravar o feed de áudio transmitido
- D: Intercalar o áudio vindo do canal e o áudio indo para o canal e saída como um stream raw estéreo de 2 canais
- n: Desativar inserção de silêncio para manter sincronização entre arquivos r ou t
- i(chanvar): Armazenar o ID do MixMonitor nesta variável de canal
- p: Tocar um beep no canal que inicia a gravação
- P: Tocar um beep no canal que para a gravação
- m(mailbox): Criar cópia da gravação como correio de voz na(s) caixa(s) indicada(s)
- s(seconds): Não gravar até que segundos tenham decorrido desde a invocação do MixMonitor
O parâmetro command será executado quando a gravação terminar, com strings correspondentes a '^{X}' sendo desescapadas para X.