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.

conferencia-asterisk

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.

Related Posts with Thumbnails

Deixe um comentario