Configuración de Asterisk 1.6.X - Decima Parte - Las conferencias

Quizás una de las características más interesantes de Asterisk es la posibilidad de crear conferencias audio. En este articulo veremos como configurar el archivo meetme.conf y algunos ejemplos de como usar una conferencia. En el próximo articulo veremos como instalar Web-MeetMe, un modulo que nos permite, entre otras cosas, programar conferencias, monitorearlas y controlar algunas de sus funciones a través de una pagina Web.

Empecemos con el archivo meetme.conf:

nano /etc/asterisk/meetme.conf

[general]
audiobuffers=32 ; Numero de paquetes audio de 20ms que serán guardados en un buffer de memoria cuando pertenecen a canales que no son DADHI. Esto permite sincronizar el audio de los distintos participantes y evitar retrasos. Puede ser un valor entre 2 y 32
schedule=yes ; con este parámetro le decimos a asterisk que las conferencias pueden ser programadas (solamente en realtime)

logmembercount=yes ; este parámetro sirve para actualizar el realtime cada vez que un usuario entra/sale de una conferencia
fuzzystart=300 ; Tenemos una conferencia programada a las 8 de la mañana. Este parámetro sirve para definir si un usuario puede o no entrar a la conferencia si esta no ha empezado. 300 es el numero de segundos. Ejemplo. Si el usuario entra a la 7:55 será aceptado porque puede entrar hasta 5 minutos (300 segundos) antes del comienzo de la conferencia. Si entra a las 7:50 será rechazado.
earlyalert=3600 ; Este valor (siempre en segundos) define si al usuario que intenta entrar en una conferencia programada le será anunciado o no que la conferencia todavía no ha empezado. Si entra cuando falta menos de una hora recibirá este aviso. Si entra más de una hora antes se le anunciará que la conferencia no existe.
endalert=120 ; cuando faltarán 120 segundo para terminar la conferencia programada, se le anunciará a todos los participantes.

[rooms] ; desde esta etiqueta empieza la configuración de las conferencias
;
; la sintaxis es conf => confno[,pin][,adminpin]
;
conf => 3500
conf => 3501,1234
conf => 3502,1234,5678

Miramos los tres ejemplos. En el primero definimos un cuarto de conferencias cuya extensión es 3500 y a todos los usuarios es permitido entrar. En el segundo la extensión es la 3501 y para entrar los usuarios tendrán que digitar el PIN 1234. En la tercero la extensión es la 3502. Los usuarios tendrán que usar el PIN 1234 y los administradores el PIN 5678

guardamos los cambios y miramos las aplicaciones disponibles para gestionar las conferencias.

Entramos en nuestra consola:

asterisk –rvvvvvvvvvvvvvvv

y escribimos

CLI> core show application meetme (más la tecla tab)
MeetMe              MeetMeAdmin         MeetMeChannelAdmin  MeetMeCount

Como pueden ver  las aplicaciones disponibles son cuatro. La primera es para entrar en una conferencia, la segunda para administrarla, la tercera es para controlar un canal de la conferencia y la tercera para conocer el numero de usuarios presentes en una conferencia.

Seguimos con la configuración del plan de llamadas. Podemos definir un contexto dedicado a las conferencias y ahí configurar nuestros cuartos

nano /etc/asterisk/extensions.conf

Llamando la extensión 3500 entraremos en el cuarto de conferencia 3500 (como configurado en meetme.conf) y usaremos las tres opciones:

  • s - Con esta opción activamos el menú del cuarto de conferencias para usuarios y administradores. Marcando la tecla asterisco escucharemos el menú.
  • c - Al entrar en un cuarto de conferencia se le anunciará al usuario el numero de personas presentes.
  • M(default) - Cuando en el cuarto está solamente una persona, ésta escuchara la música en espera de la clase default”

Podemos también crear cuartos de conferencias de forma dinámica (sin tener que configurarlos en el archivo meetme.conf). para hacerlo podemos crear estas líneas en el extensions.conf

exten => 3510,1,Meetme(,DM(default))
exten => 3510,n,Hangup

Primero no indicamos el numero del cuarto de conferencias y luego usamos la opción D que nos permite definir la extensión de la conferencia y un PIN para entrar a ella. Si en lugar de la opción D ponemos la opción d no se necesitará definir un PIN para el cuarto de conferencia.

Para tener una lista completa de las opciones disponibles desde la consola de Asterisk escribimos:

CLI> core show application MeetMe

Si queremos definir el numero máximo de usuarios que pueden participar en una conferencia podemos usar esta macro (con la aplicación MeetMeCount):

exten => 3520,1,Set(confmax=10)
exten => 3520,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

Primero asociamos a la variable confmax el numero 10 (el numero máximo de participantes permitidos en la conferencia) y llamamos la macro meetme. Con la primera línea de la macro controlamos cuantos usuarios están en la conferencia 3520 y asociamos ese numero a la variable count. Si el numero contenido en la variable count es mayor del numero contenido en la variable confmax (10) vamos a la línea con prioridad 103 donde se comunicará que la conferencia no es valida y se colgará la llamada; si es menor el usuario entrará al cuarto de conferencias.

Con este 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

podremos manejar desde la consola de asterisk muchas opciones disponibles para una conferencia.

CLI> meetme list 3500

meetme list 3500
User #: 01         2100 Soporte              Channel: SIP/1100-b7835e20     (unmonitored) 00:00:33
User #: 02         2000 Fulano               Channel: SIP/1000-b7847ce0     (unmonitored) 00:00:22

Veremos la lista de usuarios presentes en el cuarto de conferencia 3500

Preguntas, inquietudes, sugerencias?

Comentarios

Problemas con meetme

Hola amigo

Ante todo, felicitarte por este extenso tutorial, no sabes la ayuda que me aportas.
Mi problema es que cuando creo una conferencia, y los participantes están dentro, aproximadamente al minuto de haberse iniciado la conferencia en el CLI del asterisk aparece el mensaje "Quitting time..." y la conferencia se cierra. No encuentro ningún sitio donde definirle la duración mínima a la conferencia, o quitarle esa duración mínima de tiempo.

¿Puedes ayudarme?

Un saludo
javi

Re: Problemas con meetme

Todavía no he tenido tiempo de investigar pero si pones:

schedule=no

el problema se resuelve.

Confirmame por favor.

Chao

Hola otra vez He añadido la

Hola otra vez

He añadido la línea que comentas en el meetme.conf y tras reiniciar el Asterisk parece que funciona.

Muchísimas gracias por tu ayuda!!
Seguimos en contacto

Un saludo
Javi

Meetme conference

Hola, tengo una consulta. Cuando le doi el comando "core show application" no tengo la opcion de meetme. Como podria adicionarlo?. Gracias de antemano por tu respuesta

Re: Meetme conference

Hola,

si no te aparece la aplicación meetme es porque no tienes DAHDI instalado. Has instalado Asterisk desde la fuentes? Que version? Que distribución de LInux?

Saludos

core show application meetme

Estimado, yo tampoco tengo la opciones al poner core show application meetme. He instalado el libpri, el dadhi linux y el dadhi tools.
Saludos

meetme

he realizado los pasos, pero al llamar me dice "Este no es un numero de conferencia valido" y sale esto en sip show peer

 

 == Parsing '/etc/asterisk/users.conf': Found
    -- Executing [1100@interno:1] MeetMe("SIP/2300-081f6578", "59|cMs") in new stack
  == Parsing '/etc/asterisk/meetme.conf': Found
    -- <SIP/2300-081f6578> Playing 'conf-invalid' (language 'es')
  == Spawn extension (interno, 1100, 1) exited non-zero on 'SIP/2300-081f6578'

 

alguien sabe porque.

 

gracias y saludos.

edito, el numero 59 es 1100.

edito, el numero 59 es 1100.

meetme

Hola un saludo a todos,

quiero configurar un numero para una sala de conferencia, no una extension si no un numero telefonico, que cuando desde el exterior marquen se añadan a la conferencia, me puedes dar alguna idea de como hacerlo??

Saludos y gracias.

Re: Meetme

Hola gecko,

es bastante sencillo,

en el extensions.conf pones

[from-pstn] ; contexto donde llegan las llamadas en entrada

exten => s,1,Wait(1)

exten => s,n,Meetme(etcetera)

Saludos

 

Problema con conferencia

Saludos, en principio te agradezco por tu tutorial.

Tengo un problema con las conferencias, he creado una conferencia que no tiene tiempo de finalización para tenerla siempre disponible.

Resulta que cuando estoy conversando con los asistentes el sistema saca aleatoriamente a los asistentes, es decir, de los 4 participantes puede botar a uno y a los 5 o 10 min botar a otro de la sala, tendrán alguna solución para esto?

Mi distribución es elastix 1.6

 

Gracias

Configuracion de Pin y Pin de Admin.

Hola. Queria hacerte la sigueinte consulta:
Se podria configurar que en la sala no tengan pin los usuarios, pero el administrador si? ahora en el caso de que si se puede, como queda la estructura del archivo meetme.conf?
conf => 3502,¿?,5678

Saludos!

 

Re: Configuracion de Pin y Pin de Admin

Hola,

intenta con:

conf => 3502,,5678

Cuentanos si te funcionó.

Saludos

Configuracion de Pin y Pin de Admin.

Todavia no puedo confirmar si me sirvio o no, necesito poder probar algunas cosas q todavia no puedo, pero luego estaré respondiendo. Gracias igual por la respuesta :)

meetme en dos redes

Lo primero de todo felicitar por el trabajo y dar las gracias, es una ayuda muy útil.

Luego comentar una duda que tengo... Tengo dos redes conectadas y quiero tener una sala de conferencias común para ambas, pero no lo consigo, tengo una sala para la red1 y otra sala distinta para la red2 a pesar de que el número de sala es el mismo.

¿Es posible tener una sala de conferencias común? Llevo unos días dándole vueltas a la forma de hacerlo y no se me ocurre la forma. Una idea me vendría de gran ayuda porque aún estoy un poco verde con esto del Asterisk

Gracias por adelantado

Re: meetme en dos redes

Hola,

antes de contestar este y el otro comentario que dejaste tengo una pregunta: cuando dices dos redes distintas entiendes dos Asterisk o otra cosa?

Saludos

Cuando digo dos redes me

Cuando digo dos redes me refiero exactamente a dos redes IP cada una con su servidor Asterisk correspondiente que las regula. Mi problema es ese, que al ser dos redes distintas me crea una sala de conferencias para la red1 gestionada por mi servidor1 y otra para la red2 gestionada por el serv2, a pesar de que tienen el mismo número de sala de conferencias.

¿No deberían entrar todas las extensiones a la misma sala una vez ha sido creada? Esa es mi duda. 

En este caso uso la función MeetMe() con el número de la sala de conferencia y sin opciones. 

Esta duda sobre cómo comunicar dos redes independientes para gestionarlas en conjunto me surge varias veces, como en el caso de los buzones de voz con voicemail. No sé cual es el mi fallo, ya que soy novata en Asterisk y me pierdo un poco en el dialplan....

Gracias por adelantado  :)

Re: Cuando digo dos redes

Si son dos servidores Asterisk tienes que decidir donde quieres que esté configurada la videoconferencia. El hecho che tenaga el mismo numero no significa nada.

Ejemplo:

Nel servidor A creas una sala de conferencias con numero 5000. Los usuarios del servidor A para entrar a la conferencia tendrán que marcar 5000

En el dialplan del servidor B tendrás que poner que si un usuario marca el numero 5000, la llamada debe ser transferida al servidor A.

Para ese efecto los dos servidores tienen que estar conectados entre ellos con una troncal SIP o IAX2.

Espero que te ayude.

Saludos

Tengo conectados los dos

Tengo conectados los dos servidores Asterisk mediante IAX, y me permiten la comunicación entre extensiones sin problemas, pensé en definir en un servidor la sala de conferencias y por ejemplo el A, y que cuando las extensiones del B quieran entrar a la sala lo hagan a través del servidor A, pero no sé como hacer que un servidor redireccione la llamada a otro.

En el caso de la aplicación Dial es muy fácil, pero con Meetme no sé como hacerlo. Me falta mucho manejo de Asterisk

Siento hacer preguntas tan básicas, sé que tu tiempo es oro...

Muchas gracias por tu atención

Re: Tengo conectados los dos

Hola,

con la aplicación Meetme es lo mismo.

Desde el servidor B cuando marcas el numero 5000 (la sala conferencia del servidor A) transfiere la llamada al servidor A (como lo haces para llamar extensiones de un servidor a otro y en el contesto donde llegan las llamadas defines algo parecido:

exten => 5000,1,Meetme(5000,etc....)

exte => 5000,n,Hangup

Saludos

Muchas gracias por la ayuda,

Muchas gracias por la ayuda, me funcionó perfectamente, ahora mis dos redes se pueden comunicar en una sola sala de conferencias común.

:)

como poner configuracion del extension.?

Hola quiero saber en que parte del extension.conf pongo la configuracion de la confeencia que pusieron ustedes si en el inbound-call  o en la parte de lineas o abajo de las lineas? ayuda..!!!cy como puedo hacer pruebas??

fabilu

Grabacion de Conferencias

Hola buenos dias el tutorial esta muy bueno, pero tengo una inquietud como puedo grabar las conferencias, yo tengo un marcador predictivo basado en gnudialer y ahora se a implementado las salas de conferencias pero no encuentro como poder grabar las conversaciones que se dan dentro de la sala cualquier apoyo les estare muy agradecidos.

programar hora de conferencia en asterisk 1.8

El block publicado es muy bueno pero necesito saber como programar la hora de la conferencia ya que todo lo demás me funciona
Saludos
Gino

Distribuir contenido Distribuir contenido