Aplicações do Dialplan do Asterisk 21
Comando:
MixMonitor()
Sinopse:
MixMonitor(filename.extension,[options,[command]]) Grava uma chamada e mixa 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 do canal atual no arquivo especificado.
Esta aplicação não responde automaticamente à chamada e deve ser precedida por uma aplicação como Answer ou Progress().
Observações:
* MixMonitor é executado como um audiohook.
* Se o nome do arquivo passado para MixMonitor terminar com '.wav49', o Asterisk converterá silenciosamente a extensão para '.WAV' por motivos de compatibilidade com versões anteriores. MIXMONITOR_FILENAME conterá o nome do arquivo real que o Asterisk está gravando, e não necessariamente o valor que foi passado.
* MIXMONITOR_FILENAME - Conterá o nome do arquivo usado para a gravação.
Atenção: Não use strings não confiáveis, como CALLERID(num) ou CALLERID(name), como parte de qualquer um dos parâmetros da aplicação. Você corre o risco de uma 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().
Atenção: Ao usar a opção 'D' para salvar áudio intercalado, você DEVE usar a extensão de arquivo '.raw'. Qualquer outra extensão produzirá um arquivo corrompido.
Parâmetros:
* filename.extension - Obrigatório. Se o nome do arquivo for um caminho absoluto, ele será usado. Caso contrário, o arquivo será criado no diretório de monitoramento configurado em asterisk.conf.
* options - Opcional. As seguintes opções estão disponíveis:
* a - Adiciona ao arquivo em vez de sobrescrevê-lo.
* b - Salva o áudio no arquivo apenas enquanto o canal estiver conectado.
* B(interval) - Reproduz um bipe periódico durante a gravação. interval é o intervalo em segundos (padrão: 15).
* c - Usa o Caller ID real do canal para o Caller ID do voicemail. Por padrão, a linha conectada é usada.
* d - Exclui o arquivo de gravação assim que o MixMonitor terminar de usá-lo. Por exemplo, se você usar a opção m para enviar a gravação para uma caixa postal, poderá especificar esta opção para excluir a cópia original depois.
* v(x) - Ajusta o volume ouvido por um fator de x (intervalo '-4' a '4'). x é obrigatório.
* V(x) - Ajusta o volume falado por um fator de x (intervalo '-4' a '4'). x é obrigatório.
* W(x) - Ajusta ambos os volumes (ouvido e falado) por um fator de x (intervalo '-4' a '4'). x é obrigatório.
* r(file) - Usa o arquivo especificado para gravar o áudio recebido. Se um caminho absoluto não for fornecido, o arquivo será criado no diretório de monitoramento configurado.
* t(file) - Usa o arquivo especificado para gravar o áudio transmitido. Se um caminho absoluto não for fornecido, o arquivo será criado no diretório de monitoramento configurado.
* D - Intercala o áudio do canal e o áudio que vai para o canal e o envia como um fluxo raw de 2 canais (estéreo) em vez de mixá-lo. Você deve usar a extensão de arquivo '.raw'.
* n - Quando as opções r ou t são usadas, o MixMonitor inserirá silêncio nos arquivos especificados para manter a sincronização entre eles. Use esta opção para desativar esse comportamento.
* i(chanvar) - Armazena o ID do MixMonitor nesta variável de canal. chanvar é obrigatório.
* p - Reproduz um bipe no canal que inicia a gravação.
* P - Reproduz um bipe no canal que interrompe a gravação.
* m(mailbox) - Cria uma cópia da gravação como uma mensagem de voz na caixa postal especificada(s), separadas por vírgulas (por exemplo, m(1111@default,2222@default,...)). Pastas podem ser especificadas opcionalmente usando a sintaxe: mailbox@context/folder.
* command - Opcional. Será executado quando a gravação for concluída. Qualquer string que corresponda a '^{X}' será desescapada para X. Todas as variáveis serão avaliadas no momento em que o MixMonitor for chamado.
Sintaxe:
MixMonitor(filename.extension,[options,[command]])
Fonte: Asterisk Wiki