Meetme Conference
Essa é umas das aplicações mais atraentes do Asterisk. Criar salas de conferência com opção de administração.
Aqui aprenderemos a configurar as salas de conferências.

Configuração da Aplicação Meetme
Começamos com o arquivo meetme.conf:
nano /etc/asterisk/meetme.conf
[general]
audiobuffers=32 ; Numero de pacotes de audio de 20ms que serão guardados em um buffer de memória quando pertencem a canais que não são DAHDI. Isto permite sincronizar o audio dos disitintos participantes e evitar atrasos na voz. Pode ser um valor de 2 a 32.
schedule=yes ; Com este parametro definimos para o Asterisk que as conferências só podem ser programadas em Realtime.
logmembercount=yes ; Este parametro serve para atualizar o realtime cada vez que um usuario entra ou sai da conferência.
fuzzystart=300 ; Temos uma conferência programada para as 9 da manhã, com este parametro podemos definir se um usuario poderá entrar na conferencia antes dela ser iniciada. Ex. Se um usuario entra na conferência as 8:55 será aceitado porque liberamos 5 minutos(300 segundos) antes de iniciar a conferência.
earlyalert=3600 ; Esse parametro (segundos) toca uma mensagem quando tentar entrar na conferencia antes de 1h do programado. Se entrar mais de 1 hora o mesmo acontecerá, ele ouvirá que a conferencia não existe.
endalert=120 ; Quando faltarem 120 segundos para encerrar a conferência todos os participantes serão notificados.
[rooms] ; Chave inicial
;
; a sintaxe é conf => confno[,pin][,adminpin]
;
conf => 8500 ; Conferência publica, qualquer usuario pode entrar
conf => 8501,1234; Conferência com PIN, os usuarios precisam digitar 0 código 1234 para entrar na conferência
conf => 8502,1234,5678; Conferência com PIN, os usuarios precisam digitar o código 1234 e os administradores 5678
Salvamos as mudanças e veremos as aplicações existentes para gerenciar a conferência
Entre na console:
asterisk –rvvvvvvvvvvvvvvv
escreva o seguinte comando CLI
CLI> core show application meetme
MeetMe MeetMeAdmin MeetMeChannelAdmin MeetMeCount
MeetMe é para entrar em uma conferência
MeetMeAdmin para administra
MeetMeChannelAdmin é para controlar un canal da conferencia
MeetMeCount para saber o nmumero de usuarios presentes na conferência
Seguimos com o plano de discagens. Podemos definir um contexto dedicado para as conferências e ai configurar nossas salas
nano /etc/asterisk/extensions.conf
Chamando a extensão 8500 entraremos na sala de conferência 8500 (como configurado no meetme.conf) e usaremos as três opções:
- s - Habilitar o menu de usuarios e aministradores dentro da sala de conferencia marcando a tecla asterisco, assim escutaremos o menu.
- c - Ao entrar na sala de conferência será anunciado o número de participantes.
- M(default) – Quando a sala possui somente um participante ele escutara uma musica de espera da classe default.
Podemos também criar salas de conferência dinamicas(sem ter que configurar no arquivo meetme.conf).
Para cria-las precisamos colocar essas linhas no extensions.conf
exten => 8510,1,Meetme(,DM(default))
exten => 8510,n,Hangup
Primeiro indicamos o número da sada de conferência. A opção D nos permite definir a extensão da conferência e um PIN para entrar na mesma. Se no lugar do D colocarmo d não será necessário definir um PIN para a sala.
Para se ter uma lista completa das opções disponiveis:
CLI> core show application MeetMe
Para definir um número máximo de participantes que podem entrar na conferência podemos usar esta macro com a aplicação MeetMeCounte:
exten => 8520,1,Set(confmax=10)
exten => 8520,2,Macro(meetme)
[macro-meetme]
exten => s,1,MeetMeCount(${MACRO_EXTEN},count)
exten => s,2,Gotoif($[${count} > ${confmax}]?103)
exten => s,3,MeetMe(${MACRO_EXTEN})
exten => s,4,Hangup
exten => s,103,Playback(conf-invalid)
exten => s,104,Hangup
Primeiro atribuimos o valor 10 para a variavel contmax(número máximo de participantes) e depois chamamos a macro meetme. Com a primeira linha controlamos os usuarios que estão na conferência 8520 e atribuimos esse valor para a variavel count. Se o número contido na varivel for maior que o número da variavel contmax iremos para a prioridade 103 onde toca um arquivo informando que a conferencia está cheia, do contrário o usuario entrará na conferência.
Com o comando:
CLI> help meetme
Usage: meetme (un)lock|(un)mute|kick|list [concise] <confno> <usernumber>
Executes a command for the conference or on a conference
podemos controlar através da console muitas opções disponiveis para uma conferência.
CLI> meetme list 8500
meetme list 8500
User #: 01 2100 Joao Channel: SIP/1100-b7835e20 (unmonitored) 00:00:33
User #: 02 2000 Maria Channel: SIP/1000-b7847ce0 (unmonitored) 00:00:22
Veremos a lista de participantes.

