Aplicações do Dialplan do Asterisk 20
Comando:
MixMonitor()
Sinopse:
MixMonitor(filename.extension,[options,[command]])
Grava uma chamada e mistura 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 atende a chamada automaticamente e deve ser precedida por uma aplicação como Answer ou Progress().
Observação: MixMonitor é executado como um audiohook.
Observação: Se um nome de arquivo passado para MixMonitor terminar com '.wav49', o Asterisk converterá silenciosamente a extensão para '.WAV' por razões de compatibilidade. MIXMONITOR_FILENAME conterá o nome de arquivo real que o Asterisk está gravando, nem sempre 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:
file - Nome do arquivo (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.
extension - Extensão do arquivo (obrigatória).
Opções:
a - Anexar ao arquivo em vez de sobrescrevê-lo.
b - Salvar áudio no arquivo apenas enquanto o canal estiver conectado.
B(interval) - Tocar um bipe periódico durante a gravação. interval - Intervalo em segundos (padrão: 15).
c - Usar o Caller ID real do canal para o voicemail Caller ID. Por padrão, a linha conectada é usada.
d - Excluir 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) - Ajustar o volume ouvido por um fator de x (intervalo '-4' a '4'). x (obrigatório).
V(x) - Ajustar o volume falado por um fator de x (intervalo '-4' a '4'). x (obrigatório).
W(x) - Ajustar ambos os volumes (ouvido e falado) por um fator de x (intervalo '-4' a '4'). x (obrigatório).
r(file) - Usar 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) - Usar 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 - Intercalar o áudio do canal e o áudio para o canal e enviá-lo como um fluxo raw de 2 canais (estéreo) em vez de misturá-lo. Você deve usar a extensão de arquivo '.raw'.
n - Quando as opções r ou t forem 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 - Tocar um bipe no canal que inicia a gravação.
P - Tocar um bipe no canal que interrompe a gravação.
m(mailbox) - Criar uma cópia da gravação como uma mensagem de voz na caixa postal indicada(s) separadas por vírgulas, por exemplo, m(1111@default,2222@default,...). Pastas podem ser especificadas opcionalmente usando a sintaxe: mailbox@context/folder.
s(seconds) - Não gravar até que seconds (pode ser fracionário) tenham se passado desde que o MixMonitor foi invocado. Nenhum áudio é gravado no arquivo de gravação durante este período. Se a chamada terminar antes deste período, nenhum áudio será salvo. Isso pode ser útil para evitar a gravação de anúncios, tons de chamada ou outros áudios iniciais não essenciais.
command - Será executado quando a gravação for concluída. Quaisquer strings que correspondam a '^{X}' serão desescapadas 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