viernes, 27 de junio de 2008
Prueba 1
Resultado: Los clientes su pudieron comunicar, sin embargo, el SigAS permaneció en la ruta permanentemente, posiblemente actuando no como proxy, sino como b2bua.
Interoperabilidad de los sistemas de Sixlabs con IMS
Sixlabs está construyendo una plataforma que se ubica en la capa de servicios de IMS, la cual está compuesta de dos partes principales:
Signaling Application Server (SigAS)
Es el encargado de manejar las comunicaciones SIP, usando un stack propietario de Sixlabs.
Business Application Server (BAS)
Gestiona la lógica del negocio para servicios de valor agregado, como sistemas prepago, incluyendo un sistema de charging.
martes, 24 de junio de 2008
Presentación del ambiente implantado
Por solicitud del señor Rodrigo Pérez, gerente técnico del consorcio Sixlabs, hice una introducción a IMS antes de pasar a mostrar los resultados de la segunda semana del plan de trabajo, es decir, del ambiente completo para desarrollo de servicios IMS.
La presentación puede descargase de aquí
viernes, 20 de junio de 2008
Integración del AS Sailfin con el core de IMS
El servidor de aplicaciones está conectado al core de IMS, a través de un Service Profile o de una Public Service Identity (PSI).
El service profile se configura a través de la interfaz de administración del HSS.
Inicialmente se crea el servidor de aplicaciones. Indicando la IP y el puerto.
Luego, el Trigger Point junto con el Service Point Trigger. Indicando la condición que debe cumplirse para que el core de IMS decida redirigir un diálogo al servidor de aplicaciones.
Después se crea el Initial Filter Criteria (IFC).
Luego, se crea el Service Profile.
Finalmente, se asocia el Service Profile creado al usuario que requiere el servicio.
miércoles, 18 de junio de 2008
Test de Open IMS Core
Por defecto OpenIMSCore acepta peticiones únicamente de la interfaz de loopback (127.0.0.1), así que, dado que instalé clientes en otras máquinas, fue necesario cambiar la configuración.
La IP de la máquina openimscore.ope-ims.test es 172.30.1.145, así que usé el script configurator.sh que viene con las fuentes para hacer la configuración de la nueva IP. Para esto puede ser de ayuda http://www.openimscore.org/installation_guide#annexc y http://letsgoustc.spaces.live.com/Blog/cns!89AD27DFB5E249BA!181.entry
Como clientes usé UCT IMS Client que instalé en máquinas separadas (2)
En un cliente registré a Alice y en el otro a Bob.
Primero probé en envío de mensajes instantáneos. Ok
Luego probé una llamada con audio. Ok
jueves, 12 de junio de 2008
Instalación de Netbeans 6.1
En este caso, se usará Netbeans 6.1.
Se descarga de www.netbeans.org (la versión Web y Java EE) y se siguen las instrucciones de instalación en http://www.netbeans.org/community/releases/61/install.html
Es indispensable tener instalado el jdk 5 o 6.
Con la instalación se crea en ubuntu un acceso en el menú Aplicaciones, Programación.
miércoles, 11 de junio de 2008
Instalación del servidor de aplicaciones Sailfin
The SailFin installer installs the GlassFish application server and SailFin sip servlet container on top of that. The majority of the GlassFish code is available under a dual license consisting of the Common Development and Distribution License ( CDDL) v1.0 and the GNU General Public License (GPL) v2. The following page contains details about the components in GlassFish and the licenses under which they are covered.
Sailfin se instala en una máquina Pentium 4 a 3GHz con 1GB en RAM. En esta misma máquina se instalará Netbeans 6.1.
Antes que nada se instala el paquete sun-java6-jdk con todas sus dependencias.
Se descarga de http://sailfin.dev.java.net y se siguen las instrucciones detalladas en ese lugar para compilar, arrancar el servidor y desplegar aplicaciones.
También es conveniente descargar la documentación disponible en https://sailfin.dev.java.net/documentation/DocsIndex.html
Document Title | Version/Milestone |
Release Notes | Milestone 4 |
Installation Guide | Milestone 4 |
Quick Start Guide | Milestone 4 |
Administration Guide | Milestone 4 |
High-Availability Administration Guide | Milestone 4 |
Application Deployment Guide | Milestone 4 |
Developer's Guide | Milestone 4 |
Administration Reference Guide | Milestone 4 |
SIP Servlet Tutorial | Milestone 4 |
Manpages | |
create-sip-listener.1 (PDF) | Milestone 4 |
list-sip-listeners.1 (PDF) | Milestone 4 |
create-trust-config.1 (PDF) | Milestone 4 |
list-trust-configs.1 (PDF) | Milestone 4 |
delete-trust-config.1 (PDF) | Milestone 4 |
create-trusted-entity.1 (PDF) | Milestone 4 |
delete-trusted-entity.1 (PDF) | Milestone 4 |
create-converged-lb.1 (PDF) | Milestone 4 |
create-converged-lb-ref.1 (PDF) | Milestone 4 |
create-converged-lb-config.1 (PDF) | Milestone 4 |
delete-converged-lb.1 (PDF) | Milestone 4 |
delete-converged-lb-ref.1 (PDF) | Milestone 4 |
delete-converged-lb-config.1 (PDF) | Milestone 4 |
list-converged-lbs.1 (PDF) | Milestone 4 |
list-converged-lb-configs.1 (PDF) | Milestone 4 |
lunes, 9 de junio de 2008
Instalación del Core de IMS
http://www.openimscore.org
Preparación del sistema
Equipo
Pentium 4 - 1.8GHz, 1GB RAM
Instalación de Ubuntu 7.10 con actualizaciones de seguridad
Instalación paquetes requeridos y sus dependencias (se usó Synaptic)
- sun-java5-jdk y dependencias
- ant
- mysql-server y dependencias
- libxml2-dev y dependencias
- libmysql++-dev y dependencias
- bind9 y dependencias
- flex
- bison
- subversion y depedencias
Descarga del código fuente
mkdir /opt/OpenIMSCore
cd /opt/OpenIMSCore
mkdir FHoSS
svn checkout http://svn.berlios.de/svnroot/repos/openimscore/FHoSS/trunk FHoSS
mkdir ser_ims
svn checkout http://svn.berlios.de/svnroot/repos/openimscore/ser_ims/trunk ser_ims
Compilar
cd ser_ims
make install-libs all
cd ..
cd FHoSS
ant compile
ant deploy
cd ..
Configuración del entorno
DNS
Para la configuración del DNS se tomó una zona que viene de ejemplo con Open IMS Core.
cp ser_ims/cfg/open-ims.dnszone /etc/bind
Ahora es necesario editar el named.conf para incluir la nueva zona, adicionando la siguiente configuración:
zone "open-ims.test" {
type master;
file "/etc/bind/open-ims.dnszone";
};
Se procede a reiniciar el bind
/etc/init.d/bind9 restart
Y como siempre cuando se realiza algún cambio en la configuración de bind, es indispensable verificar los logs.
tail -n 50 /var/log/syslog
Ahí se confirma que el DNS carga la zona satisfactoriamente con la siguiente línea:
zone icomdevel.test/IN: loaded serial
Ahora verificamos el funcionamiento del DNS (la dirección IP asignada al servidor de OpenIMSCore es 172.30.1.145
root@openimscore:/etc/bind# nslookup
> server 172.30.1.145 (aquí también se puede usar la 127.0.0.1)
Default server: 172.30.1.145
Address: 172.30.1.145#53
> open-ims.test
Server: 172.30.1.145
Address: 172.30.1.145#53
Name: open-ims.test
Address: 127.0.0.1
Perfecto! está funcionando bien, ahora tenemos que configurar la máquina en la que se instaló Open IMS Core con este DNS, para esto podemos usar el applet Network-Manager, al final verificamos el arhivo resolv.conf
root@ouba-icom:/etc/bind# cat /etc/resolv.conf
# generated by NetworkManager, do not edit!
domain open-ims.test
nameserver 172.30.1.145
Ok, es muy conveniente que este DNS reenvíe las solicitudes a nombres de dominio diferentes, para eso, adicionamos la siguiente configuración en el archivo /etc/bind/named.conf.options
forwarders {
172.30.2.2;
};
En este caso 172.30.2.2 es la dirección IP del servidor DNS de la LAN.
MySQL
Es necesario crear y poblar las bases de datos que usa el HSS, para eso se ejecutan los siguientes comandos:
mysql -u root -p -h localhost < style="font-weight: bold;">Configuración de OpenIMSCore
Se copian los archivos de configuración y de arranque a /opt/OpenIMSCore
cd /opt/OpenIMSCore
cp ser_ims/cfg/*.cfg .
cp ser_ims/cfg/*.xml .
cp ser_ims/cfg/*.sh .
Fijamos el JAVA_HOME
export JAVA_HOME="/usr/lib/jvm/java-1.5.0-sun"
y luego podemos arrancar todo. en /opt/OpenIMSCore:
./pcscf.sh
./icscf.sh
./scscf.sh
Cada uno en una terminal aparte.
Ahora en /opt/OpenIMSCore/FHoSS/deploy
./startup.sh
Prueba de funcionamiento
HSS:
En un browser abrir http://localhost:8080
login: hssAdmin
password: hss
Recursos requeridos
Procesador Pentium 4 de 2.8GHz
Memora RAM de 1GB
Disco duro de 40GB
- Dos pares de micrófonos y parlantes, o dos teléfonos USB, o dos terminales IMS.
- Acceso a Internet
Plan de trabajo
- Reconocimiento del lugar.
- Presentación del proyecto "Construcción del producto iCom Centrex IP sobre una arquitectura de servicios convergentes soportada con tecnologías abiertas" al grupo de Sixlabs.
- Presentación del grupo de Sixlabs y su trabajo en torno a la creación de servicios para IMS.
- Visita a Sixbell Nekotec Solutions.
- Visita al departamento de Ciencias de la Computación de la Universidad de Chile.
- Visita a la Fundación para la Transferencia Tecnológica (UNTEC) – opcional.
2. Implementación de una maqueta de IMS con tecnología open source (1 semana)
- Implementación de Open IMS Core y de clientes IMS, validándo a través de llamadas básicas y mensajería instantánea.
- Instalación del servidor de aplicaciones Glassfish y la extensión Sailfin.
- Instalación del IDE Netbeans con el plugin para Sailfin.
- Instalación de Asterisk.
- Validación de la infraestructura de IMS a través de la ejecución de una aplicación convergente HTTP-SIP y de una aplicación que interactúe con Asterisk como servidor de medios.
3. Despliegue de aplicaciones IMS sobre la maqueta basada en tecnologías open source (2 semanas)
- Presentación de la maqueta implementada con tecnologías open source.
- Despliegue de aplicaciones propuestas por Sixlabs sobre la maqueta implementada.
- Exposición de los resultados obtenidos al grupo de Sixlabs.
4. Socialización y refinamiento de la arquitectura propuesta en el proyecto de maestría (2 semanas)
- Presentación de la arquitectura propuesta al grupo de Sixlabs.
- Perfeccionamiento del diseño arquitectónico a través de la realimentación del grupo de Sixlabs.
5. Definición del componente de orquestación de servicios en la arquitectura propuesta (2 semanas)
- Reconocimiento de entornos de orquestación en los que Sixlabs tenga experiencia.
- Refinamiento del sistema de orquestación planteado en la arquitectura propuesta.
- Implementación de un prototipo que valide parcialmente el sistema de orquestación planteado.
- 6.Realimentación a Sixlabs del trabajo realizado (2 semanas)
- Preparación de la infraestructura requerida
- Documentación del trabajo realizado
- Presentaciones y charlas del trabajo realizado al grupo de Sixlabs
5. Realimentación a Sixlabs del trabajo realizado (2 semanas)
- Preparación de la infraestructura requerida
- Documentación del trabajo realizado
- Presentaciones y charlas del trabajo realizado al grupo de Sixlabs
Objetivos
Aportar al refinamiento y validación de la arquitectura propuesta por el proyecto de maestría y requerida por el proyecto iCom centrex IP, a través de un trabajo integrado con el grupo de Sixlabs, estableciendo así un canal de comunicaciones que facilite futuros procesos de colaboración.
Objetivos específicos
- Socializar el proyecto "Construcción del producto iCom Centrex IP sobre una arquitectura de servicios convergentes soportada con tecnologías abiertas".
- Adquirir experiencia en el despliegue de aplicaciones IMS sobre una maqueta basada en los componentes de libre distribución Open IMS Core, Glassfish y opcionalmente Asterisk.
- Exponer la arquitectura propuesta para el desarrollo del proyecto mencionado y recoger los aportes realizados por Sixlabs.
- Definir y validar parcialmente con ayuda de Sixlabs, la capa de orquestación de comunicaciones en la arquitectura propuesta a través de un prototipo.
Antecedentes
El GIT soporta el programa de Maestría en Ingeniería Area Telemática, uno de los programas de maestría más exitoso en el ámbito internacional y reconocido por la AUIP (Asociación Universitaria Iberoamericana de Postgrado) con la mención de honor en el premio AUIP a la calidad del postgrado y el doctorado en Iberoamércia 2007.
Entre los requisitos a cumplir por un estudiante de este programa de maestría está la realización de una pasantía en un grupo externo de I+D o en el área de I+D de una empresa reconocida, razón por la cual se acude en este caso a Sixlabs como escenario propicio para el cumplimiento de este requisito por el candidato a maestría, Ingeniero Danny Fernando Bravo López.
Es importante mencionar que el estudiante participó activamente en la formulación del proyecto "Construcción del producto iCom Centrex IP sobre una arquitectura de servicios convergentes soportada con tecnologías abiertas", el cual fue aprobado y actualmente es cofinanciado por Colciencias, la empresa Avatar Ltda y la Universidad del Cauca. Este proyecto enmarca la tesis de maestría del candidato y apoya económicamente la realización de la pasantía en Sixlabs en conjunto con el programa de maestría, de tal manera que los costos asociados a esta actividad serán cubiertos.
Sixlabs es una iniciativa que nace producto del interés conjunto del Gobierno, la Universidad de Chile y la empresa privada en promover la investigación y desarrollo de tecnología de punta en ese país. Sixlabs se constituye como uno de los mayores consorcios tecnológicos que se han desarrollado en Chile, comprendiendo una inversión de 5 millones de dólares para los próximos tres años. En él participan Sixbell Nekotec Solutions, Intel a través de Commlogik Corporation y la Fundación para la Transferencia Tecnológica (UNTEC) de la Universidad de Chile, todos ellos con el apoyo de CORFO a través de Innova Chile. El objetivo de este proyecto es crear una unidad especializada en el desarrollo de productos y servicios de alto valor agregado para la Industria de las telecomunicaciones y sus usuarios en latinoamérica.
Introducción
Los servicios de telecomunicaciones cobran hoy en día mucha más importancia que nunca, con un número mayor de personas y de empresas que dependen de estos para el adecuado desarrollo de sus actividades cotidianas.
Especialmente en el ámbito corporativo, la telefonía, aunque siendo un servicio que lleva muchos años sin cambiar en su esencia, presenta hoy en día una gran oportunidad para los proveedores de servicios y/o operadores de telecomunicaciones gracias al amplio espectro de posibilidades que ofrece el entorno IMS.
El proyecto de maestría del ingeniero Danny Bravo actúa precisamente en este ámbito, intentando hacer un aporte en el escenario de la prestación de servicios de comunicaciones basados en IMS para el entorno corporativo, al definir una arquitectura para la prestación del servicio de centrex con capacidad para integrar fácilmente nuevos servicios convergentes sobre la plataforma, todo esto a partir de la integración de componentes de software libre.