Académique Documents
Professionnel Documents
Culture Documents
Agosto 2008
Investigación y Desarrollo
Sebastián Averbuj y Fernando Dorna
Objetivo
La plataforma V3 con la que se brinda entre otros servicios como Hosted PBX o líneas corporativas, esta diseñada para ser
totalmente redundante, cada servidor, dispositivo de acceso, switch o router interviniente esta redundado para obtener una muy
alta disponibilidad de servicio.
La estructura de diseño nos permite brindar un servicio de telefonía hosteado altamente confiable y
escalable y su diseño redundante permite obtener un 99.999 % de confiabilidad.
PROVISIONING & BILLING Interfaz XML para integrar sistemas de IFX con sistemas del Cliente
Credit mngmt, acount mngmt, Fault mngmt, Sist. de Aprovisionamiento
VOICE APPLICATION
CLUSTER
Maneja servicios como VoiceMail, Call Forwarding /Call pick up
Enruta llamadas on net
Soporte de protocolos SIP, MGCP y SCCP
NAT TRANSVERSAL
CLUSTER Resuelve problemática VOIP en entornos de IP Privadas
Es necesaria la intervención
de todos ellos para poder
brindar el servicio en forma
correcta.
¿Que es Hosted PBX?
Agosto 2008
Investigación y Desarrollo
Sebastián Averbuj y Fernando Dorna
Componentes de la Solución
La siguiente sección describe y analiza como es el funcionamiento de cada uno de los servidores que componen la solución
de la plataforma.
√ Los Application Servers interactúan con todos los servidores (SBCs, Streamers, DTMF Proxys) de la plataforma a través de un
protocolo propietario de Genband llamado SDCP (Simple Device Control Protocol)
√ Poseen la inteligencia del enrutamiento y la capacidad de brindar los servicios avanzados de una PBX.
√ Generan y almacenan los CDRs (Call Detail Record) y el envió de traps para el monitoreo mediante SNMP.
√ Las funciones de control de la Señalización de los AS están diseñadas para soportar varios protocolos para el control de
sesiones de voz y video, entre los que se encuentran:
● SIP. Session Initiation Protocol (RFC 3261)
● MGCP. Media Gateway Control Protocol (RFC 3435)
● SCCP. Skinny Client Control Protocol, propietario de Cisco.
Session Border Controllers. (SBC0 y SBC1)
Los Session Border Controllers o Voice Proxy Firewalls son dispositivos que manejan las sesiones entrantes y salientes a la
plataforma y controlan el acceso delimitando la frontera entre la red externa y la interna.
● Los Streamers Servers, son dispositivos que manejan el fluyo RTP para poder realizar funciones como la reproducción y
grabación de anuncios, mensajes de voice mail, Do not Disturb o Music on Hold.
● Los DTMF Proxys son servidores que se encargan de detectar y traducir los tonos generados por dispositivos CPEs como
teléfonos analógicos o IP Phones. Los DP detectan cualquier señal DTMF (Dual Tone Multi-Frecuency) enviada inband en el
fluyo RTP que son codificados usando RFC 2833 o Cisco-RTP y luego enviados a los Application Servers para ser procesada.
● El web server corre en un Apache Tomcat y se encarga de proveer acceso a herramientas web como
webportal y voiss assistant desde las cuales se puede interactuar con la plataforma de telefonía para realizar acciones como
realizar y contestar llamadas, escuchar voice mails, configurar features clase 5 como call forward, do not disturb, virtual ring, etc.
● El Voice Mail Server realiza principalmente funciones de almacenamiento de los voice mails e interactúa con el web server y los
Application Servers para poder revisar los mensajes de voz utilizando un teléfono, desde el webportal o directamente vía POP3
o IMAP.
El voice mail server usa un servidor Stalker que provee una plataforma para el almacenamiento y redireccionamiento de e-mails
en tiempo real. Una de las principales funciones de Stalker es actuar como un MTA (Mail Transfer Agent), el servidor acepta
mensajes desde varios orígenes y los envía a diversos destinos locales o remotos.
Conference Server.
El Convedia CMS-1000 es el dispositivo utilizado en la solución que realiza funciones de Media Server y Conference Server con
una alta disponibilidad y performance. Posee diversas capacidades de procesamiento como la generación de anuncios, detección
y generación de DTMF, transcoding, procesamiento de la voz y reproducción y grabación de mensajes.
Es controlado por una lógica de servicio que reside en un Call Agent como un Softswitch o un Application Server, en nuestro caso
los AS de V3.
Soporta diversos protocolos como:
√ SIP (Session Initiation Protocol) o MGCP (Media Gateway Control Protocol)
√ Voice XML, MSML (Media Sessions Markup Language), MOML (Media Objets Markup Languages)
√ Tiene la capacidad de manejar hasta 100 canales de voz simultáneos para conferencias programadas o ad-hoc.
IPIPGW
El IP to IP gateway es una aplicación integrada de hardware y software propietarios de Cisco que realiza varias funciones de voz y
video, nos ofrece una solución simple que provee demarcación entre redes para el interworking de la señalización y el media,
traducción de direcciones y puertos, seguridad, tasación, calidad de servicio y administración de ancho de banda.
Puntualmente el IP to IP usado es un Cisco 2821 con sistema operativo IOS que posee dos interfaces Gigabit Ethernet. Estas dos
interfaces están conectadas (lógicamente) una al inside de la plataforma y la otra al outside de la misma para que las llamadas
fluyan directamente hacia el IP to IP y este pueda enviarlas a la telco, cliente o ITSP destino.
TERAS. TElephony RAting System & Call Control System
● TERAS es un sistema desarrollado inhouse, basado en .NET + MS SQL Server, es el sistema de Rating Telefónico de IFX que
permite autenticar y tasar servicios telefónicos de valor agregado como servicios de Hosted PBX o líneas corporativas. Todos los
servicios son administrados por una cuenta asociada al servicio. Esta cuenta esta compuesta de los planes de pago (Plano,
Prepago, Postpago).
Debido a la arquitectura con la que se desarrollo TERAS y la flexibilidad de su funcionamiento es posible brindar varios tipos de
servicios, entre ellos:
√ EndPoints
√ Dialtone
√ CallingCards
● El sistema de control de llamadas es también un desarrollo inhouse, realizado íntegramente en lenguaje C que interactúa a
través de una API con la plataforma V3 para manejar todas las transacciones y eventos que desde allí se originan y por otro lado
interactuar con TERAS, en base a eso puede tomar decisiones de enrutamiento de las llamadas, bloqueos, colocar anuncios, etc
El sistema de control de llamadas administra el ciclo de vida de una llamada saliente, ya sea on-net o hacia la PSTN, dentro de sus
funciones están:
1º Hosted PBX. Este servicio es el nativo, a través de la creación de PBX virtuales en V3 se brinda este servicio
con el que se ofrecen todas las funcionalidades básicas de una central tradicional y además muchos features nuevos
como la integración y la movilidad.
Ej: CaribeVision (USA), Karibel (Chile)
2º Telefonía Residencial. Los servicios residenciales apuntan al segmento masivo, cada cliente dispone de una línea
independiente.
Ej: PRIMA (Argentina)
3º HablaShop. El servicio de HablaShop se basa en la utilización de una web desde la que se pueden
monitorear/administrar cada una de las cabinas de un locutorio. El operador puede ver el detalle de llamadas y el precio
asociado a las comunicaciones realizadas en tiempo real.
Ej: DavidR (Panamá)
4º Calling Cards. Este servicio al igual que la telefonía residencial también esta destinado al segmento masivo. En este
caso las llamadas son validadas por un lógica de control en la que se verifica si el PIN es valido y si el cliente posee el
saldo suficiente para llamar al destino marcado.
Ej: Salcobrand (Chile)
5º Hosted CallCenter. HCC es una aplicación web que permite monitorear el estado de todos los agentes definidos en el
Call Center, a través de la API podemos verificar y mostrar cada uno de los eventos de las llamadas que están ingresando
al Call Center.
Ej: CCC Soporte (Colombia)
Hosted PBX
Servicios Residenciales
Interoffice
HablaShop
CallingCards
Hosted Call Center
Short Circuit
Agosto 2008
Investigación y Desarrollo
Sebastián Averbuj y Fernando Dorna
Short Circuit
El feature Short Circuit permite que el Session Border Controller de Genband pueda indicarle a dos endpoints que conecten el
stream RTP en forma directa sin la necesidad de pasar a través de ellos.
Short Circuit también permite que dos teléfonos que se encuentran detrás del mismo firewall puedan conectarse entre ellos en
forma directa sin pasar por el SBC.
Esta particularidad reduce la carga en los Session Border Controllers y el tráfico en los enlaces desde los clientes y la ubicación en
la que están alojados los SBCs.
En este escenario, como se muestra aquí, cuando se da una implementación donde se este usando PAT detrás de un router o
firewall, la dirección publica del firewall es usada por todos los endpoints que se encuentran detrás.
Cada endpoint es identificado por un numero de puerto relacionado con la dirección IP, por ejemplo: 200.80.40.231:5334.
La señalización de la llamada va desde el firewall o router contra el Session Border Controller del M6 el cual le indica al gateway
que debe conectar el RTP de ambos teléfonos en forma directa usando las direcciones <IP: Port>.
Short Circuit con Network Address Translation (NAT)
Cuando se da un escenario usando NAT detrás de un router o firewall, cada dispositivo tiene una dirección ip única del rango de la
LAN y además en el router o firewall se configura un mapeo estático de la ip privada a la ip publica con la que accederán al exterior
de la red.
En este tipo de escenarios hay que tener la certeza de que el firmware que esta usando el firewall o router esta aplicando en forma
correcta la función de NAT y no esta traduciendo la direcciones publicas por las locales, para poder ver esto se debe analizar la
señalización SIP de una llamada, puntualmente las direcciones que se muestran en el campo sip.contact dentro de la mensajeria
SDP.
Residencial Short
Circuit
Short Circuit también puede ser implementado entre teléfonos residenciales que no se encuentren detrás de un firewall.
En este escenario, los Session Border Controllers que tienen visibilidad con ambos endpoints entre los que se realizara la
comunicación indican que el stream RTP se intercambie en forma directa ente ambos.
Ingenieria
Global
de la
Solución
Agosto 2008
Investigación y Desarrollo
Sebastián Averbuj y Fernando Dorna
Diagrama de Alto Nivel
En la actualidad, la
plataforma V3 se encuentra
distribuida entre Argentina y
USA.
*Server de conferencias
(Convedia CMS-1000).
UDP.
161 y 162 SNMP CDRs.
2427 MGCP /usr/voiss/System/CDRFile.frf – cierre diario,
5060 y 5062 SIP escritura doble buffer
29051 control del RP Eventos: /usr/voiss/System/EventLog.txt
Errores: /usr/voiss/System/Errlog.log
TCP.
22 acceso SSH
1050 comunicación contra webportal
29042 sincronización entre CAs
29043 debug del CA
2000 SCCP
TimesTen DataBase.
START / STOP:
[root@v3db0 /]# cd /etc/rc2.d
[root@v3db0 rc2.d]# ls -ltr *tt*
lrwxrwxrwx 1 root other 21 Aug 10 06:21 S90tt_ifx_v3 -> /etc/init.d/tt_ifx_v3*
[root@v3db0 rc2.d]#
DB Agent Software.
START / STOP:
[root@v3db0 rc2.d]# cd /etc/rc3.d
[root@v3db0 rc3.d]# ls -ltr S*apa*
lrwxrwxrwx 1 root other 24 Aug 10 06:35 S98apache -> /etc/init.d/apachetomcat*
[root@v3db0 rc3.d]#
TCP
-29047 conexiones locales para administración de opciones de la DB
-29044 conexiones desde ambos CAs para sincronizar información.
-80 Para Admin GUI
-22 acceso al server via SSH
-15100 y 151022 para TT DB
Logs útiles
Errores de TimesTen: /var/adm/syslog/syslog.log
Provisionamiento: /usr/voiss/dbagent/serviceslog
Errores DB Agent: /usr/voiss/dbagent/dbagentlog
Apache Tomcat.
START / STOP:
[[root@v3ws0 /]# cd /etc/rc3.d
[root@v3ws0 rc3.d]# ls -ltr S*apa*
lrwxrwxrwx 1 root other 24 Aug 10 09:05 S98apache -> /etc/init.d/apachetomcat*
[root@v3ws0 rc3.d]#
START / STOP:
[root@v3vm0 /]# cd /etc/rc2.d
[root@v3vm0 rc2.d]# ls -ltr S*Commu*
lrwxrwxrwx 1 root other 24 Aug 10 09:35 S88CommuniGate -> ../init.d/STLKCGPro.init*
[root@v3vm0 rc2.d]#
TCP.
22 acceso SSH
25 SMTP
143 IMAP
1050 comunicación con v3ws0
8010 Stalker Admin
Contactos
Fernando Dorna
Systems Engineer
fdorna@ifxcorp.com
+54 11 5031 2405
Sebastian Averbuj
Systems Engineer
saverbuj@ifxcorp.com
+54 11 5031 2422