Enviado por admin el
Terminada la instalación de OpenMeetings 2.0 se inicia con la instalación de Asterisk. Como la integración se apoya a la aplicación Meetme (conferencias audio) hay que instalar DAHDI:
yum install kernel-devel libxml2-devel
DAHDI LINUX
wget http://downloads.asterisk.org/pub/telephony/dahdi-linux/dahdi-linux-2.6....
tar -xf dahdi-linux-2.6.1.tar.gz
cd dahdi-linux-2.6.1
make
make install
DAHDI TOOLS
cd ..
wget http://downloads.asterisk.org/pub/telephony/dahdi-tools/dahdi-tools-2.6....
tar -xf dahdi-tools-2.6.1.tar.gz
cd dahdi-tools-2.6.1
./configure
make
make install
make config
Se inicia DAHDI:
/etc/init.d/dahdi start
Se continua con Asterisk:
cd ..
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-1.8.20.1.t...
tar -xf asterisk-1.8.20.1.tar.gz
cd asterisk-1.8.20.1
./configure
make menuselect
Como la integración se basa en Asterisk Realtime se activa el modulo para MySQL:
Se guardan los cambios y se compila:
make
make install
make samples
make config
Terminada la instalación se configura Asterisk para el Realtime con MySQL. Las tablas están presentes en la base de datos de OpenMeetings y son:
- sipusers
- meetme
- extensions
nano /etc/asterisk/res_config_mysql.conf
al final del archivo se añade este bloque:
[general]
dbhost = 127.0.0.1
dbname = openmeetings
dbuser = openmeetings
dbpass = sesamo
dbport = 3306
dbsock = /var/lib/mysql/mysql.sock
Se guardan los cambios y se modifica el archivo extconfig.conf
nano /etc/asterisk/extconfig.conf
Al final del archivo se añaden las siguientes lineas:
extensions => mysql,general,extensions
meetme => mysql,general,meetme
sippeers => mysql,general,sipusers
Se guardan los cambios y se inicia Asterisk:
/etc/init.d/asterisk start
se entra en la consola de Asterisk:
asterisk –rvvvvvvvvvvvvvv
Y se averigua que la conexión en realtime esté funcionando correctamente:
CLI> realtime mysql status
general connected to openmeetings@127.0.0.1, port 3306 with username openmeetings for 60 seconds.
En otra ventana terminal se entra en el cliente mysql:
mysql -u root -psesamo
se trabaja con la base de datos openmeetings
mysql> use openmeetings
Se crean dos usuarios SIP:
mysql> insert into sipusers (allow, context, disallow, host, name, secret, type) values ('ulaw;alaw', 'rooms', NULL,'dynamic','test1','12345','friend');
mysql> insert into sipusers (allow, context, disallow, host, name, secret, type) values ('ulaw;alaw' , 'rooms' , NULL, 'dynamic' , 'test2', '12345', 'friend');
Se crea el dialplan en relatime:
mysql> insert into extensions (context, exten, priority, app, appdata) values ('rooms', '400', '1', 'MeetMe', '400,dM');
mysql> insert into extensions (context, exten, priority, app, appdata) values ('rooms', '400', '2', 'Hangup', '()');
Por ultimo se crea una sala de conferencia:
mysql> insert into meetme (confno, adminpin) values ('400', '12345');
Se sale de MySQL y se configura el dialplan:
nano /etc/asterisk/extensions.conf
al final del archivo se añade:
[rooms]
switch => realtime
exten => _400X!,1,MeetMe(${EXTEN},dM)
same => n,Hangup
[rooms] es el contexto a que tienen acceso las extensiones configuradas. La primera línea le dice a Asterisk de buscar el dialplan para este contexto en la base de datos. El segundo bloque es para las conferencias que se crearán en Openmeetings y donde los usuarios podrán acceder para participar. Se guardan los cambios y se instala Red5Sip che se encargará de la conexión entre Asterisk y Openmeetings:
cd /opt
svn co http://red5phone.googlecode.com/svn/branches/red5sip/
se entra en la carpeta creada:
cd red5sip
se instala ant para compilarlo:
yum install ant*
y se compila:
ant –v
Muy probablemente saldrá este error:
[javac] /opt/red5sip/src/java/org/zoolu/tools/Base64.java:133: error: unmappable character for encoding UTF8
[javac] // per come � costruita la codifica a base64
[javac] ^
[javac] /opt/red5sip/src/java/org/zoolu/tools/Base64.java:135: error: unmappable character for encoding UTF8
[javac] // il resto pu� essere 0, 2 o 3
[javac] ^
[javac] /opt/red5sip/src/java/org/zoolu/tools/Base64.java:180: error: unmappable character for encoding UTF8
[javac] System.out.println("messaggio decodificato �: "+strdecodificato);
[javac] ^
[javac] [total 981ms]
[javac] 3 errors
Eso porque en el archivo hay caracteres no permitidos (vocales con acento italiano). Se corrige de la siguiente manera:
nano /opt/red5sip/src/java/org/zoolu/tools/Base64.java
Se borran las lineas 133 y 135 (son comentarios) y se modifica la ultima para que quede:
System.out.println("messaggio decodificato: "+strdecodificato);
Se guardan los cambios y se compila otra vez:
ant -v
Se configura:
nano settings.properties
red5.host=127.0.0.1
red5.codec=asao
sip.obproxy=127.0.0.1
sip.phone=test1
sip.authid=test1
sip.secret=12345
sip.realm=asterisk
sip.proxy=127.0.0.1
rooms.forceStart=no
rooms=1,2,3
Los datos:
- red5.host: IP OpenMeetings
- sip.obproxy: IP Asterisk PBX
- sip.phone: extensión configurada
- sip.authid. nombre de la extensión para la autentificación
- sip.secret: contraseña de la extensión
- sip.real: predefinido Asterisk
- sip.proxy: IP Asterisk PBX
- rooms: Los ID de las conferencias de OpenMeetings donde se quiere utilizar red5sip. Los ID aparecen en esta pagina de Openmeetings:
Para iniciar red5sip como servicio, hay que instalar JSVC:
yum install jakarta-commons-daemon-jsvc
Se crea un enlace simbólico de red5sip.sh en la carpeta de los servicios:
ln -s /opt/red5sip/red5sip.sh /etc/init.d/red5sip
Se cambian los permisos:
chmod a+x /etc/init.d/red5sip
Ahora hay que modificar un parámetro en Openmeetings. Se entra en la pagina Administración –> Configuración y se modifica el parámetro indicado poniéndolo en yes:
Ahora se puede iniciar red5sip que entrará como cliente a las con numero 400 más los ID presentes en el parametro rooms del settings.properties +1:
/etc/init.d/red5sip start
En la consola de Asterisk:
-- Executing [4002@rooms:1] MeetMe("SIP/test1-0000001f", "4002,dM") in new stack
== Using SIP RTP CoS mark 5
-- Executing [4004@rooms:1] MeetMe("SIP/test1-00000020", "4004,dM") in new stack
== Using SIP RTP CoS mark 5
-- Executing [4003@rooms:1] MeetMe("SIP/test1-00000021", "4003,dM") in new stack
Entrando en unas de las tres salas de OpenMeetings:
El usuario SIP Transport, es el cliente red5sip que enviará el audio de la conferencia a cada usuario que desde cualquier softphone llamará el numero de la conferencia. Desde X-Lite se llama, en este caso, la extensión 4003 y se escuchará la conferencia de OpenMeetings. Otra funcionalidad es la posibilidad de llamar (configurando un proveedor en el contexto rooms) cualquier numero de teléfono y cuando el usuario conteste, añadirlo a la conferencia:
La calidad del audio que llega a la extensión SIP no es todavía muy buena (por lo menos en las pruebas que he hecho), pero seguramente los desarrolladores la irán mejorando.
Por fin OpenMeetings con Asterisk!!!
Comentarios recientes