Aplicações do Dialplan do Asterisk 21
Comando:
Broadcast()
Sinopse:
Transmit or receive audio to or from multiple canais simultaneously
Descrição:
Este aplicativo pode ser usado para transmitir áudio para múltiplos canais de uma só vez. Qualquer áudio recebido neste canal será transmitido para todos os canais especificados e, opcionalmente, para seus pares conectados. Ele também pode ser usado para agregar áudio de múltiplos canais de uma só vez. Qualquer áudio em qualquer um dos canais especificados, e opcionalmente seus pares conectados, será transmitido para este canal. A execução do aplicativo continua até que o canal de transmissão ou todos os canais especificados encerrem a chamada. Este aplicativo é usado para aplicações de áudio um-para-muitos e muitos-para-um onde a mistura de áudio via bridge não pode ser feita de forma síncrona em todos os canais envolvidos. Isso é útil principalmente para injetar o mesmo fluxo de áudio em múltiplos canais de uma vez, ou fazer o inverso, combinando o áudio de múltiplos canais em um único fluxo. Isso contrasta com o uso de um canal de injeção separado para cada canal de destino e/ou o uso de uma bridge de conferência. O canal executando o aplicativo Broadcast deve fazê-lo de forma síncrona. Os canais especificados, no entanto, podem estar fazendo outras coisas.
Exemplo: Transmitir áudio recebido para três canais e seus pares conectados: same => n,Broadcast(wb,DAHDI/1,DAHDI/3,PJSIP/doorphone)
Exemplo: Transmitir áudio recebido para três canais apenas: same => n,Broadcast(w,DAHDI/1,DAHDI/3,PJSIP/doorphone)
Exemplo: Combinar áudio de três canais e seus pares conectados para nós: same => n,Broadcast(s,DAHDI/1,DAHDI/3,PJSIP/doorphone)
Exemplo: Combinar áudio de três canais para nós: same => n,Broadcast(so,DAHDI/1,DAHDI/3,PJSIP/doorphone)
Exemplo: Áudio bidirecional com vários canais: same => n,Broadcast(wbso,DAHDI/1,DAHDI/3,PJSIP/doorphone)
Broadcast([options,]channels)
options b - Além de transmitir para os canais de destino, também transmite para quaisquer canais aos quais os canais de destino estejam conectados. l - Permite o uso de uma fila longa para armazenar quadros de áudio. o - Não mistura fluxos ao combinar áudio dos canais de destino (aplica-se apenas com a opção s). r - Alimenta quadros para canais de intrusão em "ordem reversa" injetando-os na fila de leitura do canal primário em vez disso. Esta opção é necessária para que o barge funcione em uma bridge multiparte (mas não para bridges de duas partes). Alternativamente, você pode adicionar um canal intermediário usando um canal Local não otimizado, para que o canal de destino seja conectado com um único canal que esteja conectado à bridge, mas recomenda-se que esta opção seja usada. Observe que esta opção sempre alimentará áudio injetado para a outra parte, independentemente de o canal de destino estar conectado ou não. s - Em vez de transmitir áudio para um grupo de canais, recebe o áudio combinado dos canais de destino. w - Transmite áudio recebido neste canal para outros canais. channels - Lista de canais para os alvos da transmissão. Os nomes dos canais devem ser os nomes completos dos canais, não apenas nomes de dispositivos. A transmissão continuará até que o canal de transmissão encerre a chamada ou todos os canais de destino tenham encerrado a chamada.
Sintaxe:
same => n,Broadcast(wb,DAHDI/1,DAHDI/3,PJSIP/doorphone)
same => n,Broadcast(w,DAHDI/1,DAHDI/3,PJSIP/doorphone)
same => n,Broadcast(s,DAHDI/1,DAHDI/3,PJSIP/doorphone)
same => n,Broadcast(so,DAHDI/1,DAHDI/3,PJSIP/doorphone)
same => n,Broadcast(wbso,DAHDI/1,DAHDI/3,PJSIP/doorphone)
Broadcast([options,]channels)
Veja Também:
Fonte: Asterisk Wiki