Documente Academic
Documente Profesional
Documente Cultură
Facultad de Matemáticas
TESIS
Presentada por:
Dedico la presente tesis a los seres que más quiero en este mundo: mi
esposa, Nidia Rubi y mi hija, Darelle Andrea, por ser la fuente de mi inspiración y
motivación para superarme cada día más y así poder luchar para que la vida nos
A mis padres que me apoyaron durante toda la licenciatura y forman una parte
I
Agradecimientos
En Primer lugar quiero agradecerle a Dios por haber llegado hasta este
cualquier circunstancia. A mi esposa Nidia y mi hija Darelle que forman una parte
apoyo para concluir de manera satisfactoria esta tesis. A don Pastor (bibliotecario)
por todas las facilidades que me otorgo durante el proceso de investigación y por su
este proceso.
II
Índice
CAPÍTULO I ........................................................................................................... 1
INTRODUCCIÓN ................................................................................................... 1
CAPÍTULO II .......................................................................................................... 8
III
2.6.3 Señalización entre centrales telefónicas .......................................................... 19
IV
3.3.4 Teléfonos VoIP ................................................................................................ 48
3.3.5 Telefonía con Software – SoftPhones ............................................................. 48
CAPÍTULO IV....................................................................................................... 80
Índice de Figuras:
Fig.1: Enlace de dos Servidores Asterisk vía Internet con sus terminales Softphone ........... 2
Fig. 2: A) Un teléfono analógico es un dispositivo FXO conectado a una línea telefónica
(RTB) actuando como FXS ......................................................................................... 18
Figura 3 Elementos de una red Voz IP ................................................................................ 24
Figura 4 Pila de protocolos en VoIP ................................................................................... 30
Figura: 5 El proceso de registro entre clientes y el servidor “proxy”.La señalización (SIP) y las
conversaciones de voz (RTP) viajan por caminos diferentes. ..................................... 35
Figura: 6 Requisitos de Hardware ....................................................................................... 44
Fig 7. Proceso de alta a un cliente softphone en la red VoIP .............................................. 72
Fig.8.- Representa al Softphone A, el cual establecio una conversación VoIP con el
softphone B .................................................................................................................. 80
Fig.9.- Representa al Softphone B, el cual establecio una conversación VoIP con el softphone
A. ................................................................................................................................. 80
V
CAPÍTULO I
Introducción
1.2 Hipótesis.
1
1.3.1 Objetivos específicos.
Implementar dos pequeñas centrales (Asterisk), con un servicio como mínimo,
para enlazar a la Facultad de Matemáticas localizada en la ciudad de Mérida
Yucatán. Con el Campos Universitario localizado en la ciudad de Tizimín Yucatán.
Hacer una investigación exhaustiva y una aportación de gran valor en el uso y
funcionamiento de estos recursos.
Fig.1: Enlace de dos Servidores Asterisk vía Internet con sus terminales Softphone
Además de:
Identificación conceptual de:
PBX
Asterisk
GNU/Linux
2
Estudio de conceptos básicos de telefonía tradicional tales como:
Conmutación
Señalización
3
En numerosas empresas se está produciendo una evolución silenciosa de sus
redes internas. El objetivo común es reducir la factura telefónica de las llamadas de
voz nacionales e internacionales, que representan un elevado porcentaje del total
pagado a los operadores. La migración hacia la telefonía IP se hace al margen de los
operadores, con instalaciones privadas, aunque la intensa competencia entre
operadores de voz hace que también se puedan contratar servicios unificados a
precios interesantes (Collins, 2001)
La consultora IDC prevé que este mercado se duplicará cada año hasta
alcanzar los 59.000 millones de dólares en el 2004. Entonces, el tráfico de voz a
través de IP será una cuarta parte del total (Howard C., 2002.)
4
La regulación del mercado de telefonía IP varía según el país y el tipo de
servicio ofrecido. En este sentido, Estados Unidos es el país más avanzado y tres
grandes operadores ya ofrecen un servicio de alta calidad.
5
retardos, ya que teniendo en cuenta cada uno de los factores, es posible mantener la
red en un estado aceptable. La calidad de la voz es función de muchos factores,
como lo son, los algoritmos de compresión, los errores y las perdidas de tramas, la
cancelación del eco y los retardos
[1]
se refiere a las principales conexiones troncales de Internet. Está compuesta de un gran número de routers
6
1.5.3 Seguridad
En resumidas cuentas, los riesgos que comporta usar el protocolo VoIP no son
muy diferentes de los que nos podemos encontrar en las redes habituales de
1.5.4 Económica.
7
CAPÍTULO II
Revisión de la Literatura.
2.1 Introducción.
Hasta hace pocos años, la mayoría de las corporaciones poseía una PBX de
tecnología propietaria para la red telefónica y una red LAN completamente separada
para el transporte de datos ahora se han ido haciendo cada vez más populares los
sistemas CTI (integración telefónica computacional) que relacionan las redes de voz
y de datos, pero en un contexto limitado, sin llegar a utilizar un formato de transporte
común.
8
costo y localización. IP puede viajar sobre ATM, ethernet, frame relay, ISDN o incluso
mediante líneas analógicas.
Sin duda alguna todo esto a toman un papel muy importante para las
empresas que prestan este tipo de servicios tal es el caso que actualmente existen
diferentes proyectos realizados, por ejemplo:
En primer sito se encuentra Skype, el cual es una red de telefonía entre pares
por Internet, fundada por Niklas Zennström y Janus Friis, los creadores de Kazaa. El
código y protocolo de Skype permanecen cerrados y propietarios, pero los usuarios
interesados pueden descargar la aplicación del sitio oficial.
9
Otras compañías que ofrecen el servicio de telefonía IP que cuentan con su
propio equipo tanto en hardware como en software que ellos mismos desarrollan y
que de igual manera permanece completamente hermético son por ejemplo: Celsius
Inc. Y el Call Manager Celsius IP-PBX.
2.2 Conmutación.
Conmutación de circuitos
Conmutación de mensajes
Conmutación de paquetes
10
Su funcionamiento pasa por las siguientes etapas: solicitud, establecimiento,
transferencia de archivos y liberación de conexión.
Ventajas:
Desventajas:
Este método era el usado por los sistemas telegráficos, siendo el más antiguo
que existe. Para transmitir un mensaje a un receptor, el emisor debe enviar primero
el mensaje completo a un nodo intermedio el cual lo encola en la cola donde
almacena los mensajes que le son enviados por otros nodos. Luego, cuando llega su
turno, lo reenviará a otro y éste a otro y así las veces que sean necesarias antes de
llegar al receptor. El mensaje deberá ser almacenado por completo y de forma
temporal nodo intermedio antes de poder ser reenviado al siguiente, por lo que los
nodos temporales deben tener una gran capacidad de almacenamiento.
Ventajas
Desventajas
11
Un mensaje puede acaparar una conexión de un nodo a otro mientras
transmite un mensaje, lo que lo incapacita para poder ser usado por otros
nodos.
Se dividen en:
2.2.3.2 Datagrama.
Por este método los paquetes son tratados de forma individual se les asigna
datos de control y son enviados por diferentes canales formados por diferentes
nodos hasta al destinatario, los paquetes pueden llegar en diferentes tiempos y en
desorden al receptor debido a los diferentes camino que puedan tomar estos los
cuales solo dependen de los nodos temporales por donde pasan estos paquetes, el
ordenamiento y detección de perdida de paquetes depende exclusivamente del nodo
receptor y es este el encargado de tomar las medidas necesarias para solucionar
esto.
12
Ventajas
Gran flexibilidad y rentabilidad en las líneas que se logran con esta técnica.
Si existe un error en uno de los paquetes enviados o éste se pierde, sólo
tendría que ser reenviado este paquete y no el mensaje completo.
El tiempo de transmisión de los paquetes es casi inmediato por tal motivo casi
no existe retardo.
Se asignan prioridades: así, un nodo puede seleccionar de su cola de
paquetes en espera de ser transmitidos aquellos que tienen mayor prioridad.
Desventajas
2.3 Señalización.
Control de tráfico
Comunicación con bases de datos.
Redes Inteligentes.
Gestión de red
13
Hoy en día las redes de telecomunicaciones son de 2 tipos:
Por conmutación de circuitos
Por conmutación de paquetes
2.4 Asterisk.
14
– Traductor de números
– Y muchas otras...
2.5 PBX
El uso mas común de una PBX es compartir de una a varias líneas telefónicas
con un grupo de usuarios. Una PBX se emplaza entre las líneas telefónicas y los
teléfonos (terminales de voz)
La palabra “private” en la sigla PBX significa que el dueño del sistema tiene
todo el control y decide como compartir las líneas exteriores con los usuarios.
15
castellano la PSTN es conocida como la red pública conmutada (RTC) o red
telefónica básica (RTB). De la misma forma que Internet es la red global IP, la RTB
es la amalgama de todas las redes conmutadas de teléfono. Una diferencia muy
importante entre la RTB e Internet es la noción de “flujo de información”. En telefonía
los flujos de información son cada una de las llamadas o conversaciones mientras
que en Internet es cada uno de los paquetes de datos. Desde el punto de vista
conceptual la RTB e Internet son muy diferentes y representan dos mundos y
filosofías casi antagónicas. Si una conversación se efectúa en una RTB se tiene que
reservar un canal (circuito) dedicado de 64 Kbps, pero en Internet la misma
conversación puede coexistir con otros servicios de manera simultánea.
Un canal analógico. Si ese mismo cable se usa para conectarse a una red
conmutada de paquetes como Internet, se puede implementar cualquier tipo de
Servicio basado en el protocolo IP. La RTB ha estado históricamente gobernada por
estándares creados por la UIT, mientras que Internet es gobernada por los
estándares del IETF. Ambas redes, la RTB e Internet usan direcciones para
encaminar sus flujos de información. En la primera se usan números telefónicos
para conmutar llamadas en las centrales telefónicas, en Internet se usan direcciones
IP para conmutar paquetes entre los enrutadores (routers).
16
Un FXO debe ser capaz de aceptar señales de llamada o ring, ponerse en
estado de colgado o descolgado, y enviar y recibir señales de voz. Asume que un
FXO es como un “teléfono” o cualquier otro dispositivo que “suena” (como una
máquina de fax o un módem).
Una PBX que integra periféricos FXO y FXS puede conectarse a la RTB e
incorporar teléfonos analógicos. Las líneas telefónicas que vienen del operador se
tienen que conectar a una interfaz FXO. Los teléfonos se deben conectar a las
interfaces FXS de la centralita.
En resumen:
Un FXS necesita estar conectado a un FXO (como una línea telefónica
Necesita estar conectada a un teléfono) o viceversa.
17
Fig. 2: A) Un teléfono analógico es un dispositivo FXO conectado a una línea telefónica
(RTB) actuando como FXS
B) Una PBX puede incorporar tanto interfaces FXS como FXO.
C) Un adaptador telefónico o ATA actúa como un FXS.
18
2.6.3 Señalización entre centrales telefónicas
19
El Sistema de Señalización 7 (SS7) por canal común es el más utilizado en
telecomunicaciones públicas, porque soporta la señalización de abonados telefónicos
analógicos y digitales Funciona como una red de señalización conformada por
puntos de señalización y enlaces de señalización, sobre la cual se conmutan los
mensajes de señalización. El SS7 puede aplicarse a todas las redes de
telecomunicaciones nacionales e internacionales, así como en redes de servicios
especializados (RSE) y en las redes de servicios digitales. En un futuro próximo, se
va a estar ante un nuevo entorno de comunicaciones, caracterizado, entre otros
aspectos, por el estratégico papel que va a jugar la señalización y por el incremento
importante en el intercambio del tráfico de señalización que se va a producir entre los
distintos elementos de red que intervienen en la prestación de servicios.
2.7 VoIP
20
2.8 Telefonía IP.
Voz sobre IP se puede definir como una aplicación de telefonía que puede
ser habilitada a través de una red de datos de conmutación de paquetes vía
protocolo IP (Internet Protocol).La ventaja real de ésta es la transmisión de voz
como datos, ya que se mejora la eficiencia del ancho de banda para transmisión
de voz en tiempo real en un factor de 10.
VoIP es una tecnología que tiene todos los elementos para su rápido
desarrollo. Como muestra se puede ver que compañías como Cisco, la han
incorporado a su catálogo de productos, los teléfonos IP están ya disponibles y los
principales operadores mundiales, así como “Telefónica” (operadora española de
servicios de telecomunicaciones), están promoviendo activamente el servicio IP a
las empresas, ofreciendo calidad de voz a través del mismo. Por otro lado se tiene
ya un estándar que garantiza interoperabilidad entre los distintos fabricantes. La
conclusión parece lógica: hay que estudiar cómo poder implantar VoIP en
nuestra empresa.
21
Se define la telefonía IP como el uso de paquetes IP para tráfico de voz full-
duplex. Estos paquetes son transmitidos a través de internet o de redes IP
privadas. El componente clave de la tecnológica en telefonía IP son los equipos
que convierten la señal de voz analógica en paquetes IP. Estos equipos pueden ser
tarjetas específicas para PC, software específico o servidores-pasarela de voz.
Estos equipos consiguen una calidad comparable a la telefonía móvil analógica a
5 Kbps. a partir de algoritmos de compresión que explotan las redundancias,
pausas y silencios del habla.
22
Gatekeeper.
Unidades de audio conferencia múltiple. (MCU Voz)
Servicios de Directorio.
2.8.1.1 Gatekeeper
2.8.1.2 Gateway
23
Figura 3 Elementos de una red Voz IP
Fuente: Artículo Voz IP, ingeniería en Redes y Comunicaciones,
http://www.comunicaciones.unitronics.es/tecnologia.htm
2.8.2.1 Internet.
2.8.1.3 Intranet.
24
Frame-Relay/ATM, líneas punto a punto, RDSI para el acceso remoto, etc. En este
caso la empresa tiene bajo su control prácticamente todos los parámetros de la red,
por lo que resulta ideal para su uso en el transporte de la voz.
25
La telefonía VoIP se manifiesta en tres formas básicas, estas son:
2.8.3.1 Llamadas PC a PC
26
se encarga de enviar la señal analógica al teléfono B. Por tanto tenemos una
comunicación de datos a través de una red IP, entre el ordenador A y el gateway de
B, y una comunicación telefónica convencional entre el gateway que da servicio al
teléfono B (gateway B), y éste. Es decir, una llamada telefónica convencional, y una
comunicación IP
27
los MCUs son considerados extremos porque pueden generar y/o terminar
sesiones H.323. El gatekeeper es considerado una entidad de red porque no
puede ser llamado, pero se le puede solicitar que lleve a cabo funciones
específicas tales como traducción de direcciones o control de acceso. Cada
componente se describe a continuación.
28
implementaciones H.323 estarán basadas en IP. Por ejemplo, la mayor parte de las
aplicaciones de telefonía IP están basadas en la configuración H.323 mínima que
incluye codec de audio, control del sistema y componentes de red. H.323 requiere
un servicio TCP extremo a extremo fiable para documentar y controlar las
funciones. Sin embargo, utiliza un sistema no fiable para transportar información
de audio y video. H.323 se basa en el Protocolo de Tiempo Real (Real-time
Protocol, RTP) y el Protocolo de Control de Tiempo Real (Real-Time Control
Protocol, RTCP) por encima de la UDP para ofrecer corrientes de audio en redes
basadas en paquetes.
El VoIP/H.323 comprende a su vez una serie de estándares y se apoya
en una serie de protocolos que cubren los distintos aspectos de la comunicación:
Direccionamiento:
1. RAS (Registration, Admision and Status). Protocolo de
comunicaciones que permite a una estación H.323 localizar otra
estación H.323 a través de el Gatekeeper.
2. DNS (Domain Name Service). Servicio de resolución de nombres
en direcciones IP con el mismo fin que el protocolo RAS pero a través
de un servidor DNS
Señalización:
1. Señalización inicial de llamada.
2. H.225 Control de llamada: señalización, registro y admisión,
paquetización / sincronización del flujo de voz.
3. H.245 Protocolo de control para especificar mensajes de apertura y
cierre de canales para flujos de voz.
Compresión de voz:
1.Requeridos: G.711 y G.723.
2. Opcionales: G.728, G.729 y G.722
29
Transmisión de voz:
1. UDP. La transmisión se realiza sobre paquetes UDP, pues aunque UDP
no ofrece integridad en los datos, el aprovechamiento del ancho de
banda es mayor que con TCP.
2. RTP (Real Time Protocol). Maneja los aspectos relativos a la
temporización, marcando los paquetes UDP con la información necesaria
para la correcta entrega de los mismos en recepción.
Control de la transmisión:
RTCP (Real Time Control Protocol). Se utiliza principalmente para
detectar situaciones de congestión de la red y tomar, en su caso,
acciones correctoras.
La figura 4 visualiza gráficamente el nivel en el que trabajan estos
protocolos cuando se establece una llamada VoIP.
30
tendrán una implantación mucho más simple. Será el paso del tiempo y la
imaginación de las personas involucradas en estos entornos, los que irán
definiendo aplicaciones y servicios basados en VoIP.
31
2. Está diseñado para operar en presencia de NATs (soporte nativo) y es más
fácil de usar detrás de los cortafuegos.
3. Reduce aún más el ancho de banda cuando se realizan varias llamadas
simultáneas (como resultado del “trunking”)
1. Encargarse de la autentificación.
2.-Negociar la calidad de una llamada telefónica.
32
3. Intercambiar las direcciones IP y puertos que se van utilizar para enviar
y recibir las “conversaciones de voz”.
1. Localización de usuarios
2. Determinación de los medios para la comunicación (es decir, las capacidades de
usuario)
3. Establecimiento de los parámetros de la comunicación entre las partes
involucradas
4. Manipulación de llamadas (establecimiento, transferencia y terminación de la
llamada).
Los elementos funcionales de la arquitectura SIP son:
33
comunicación básica (modelo de llamada básico, directamente entre endpoints).
Pero la potencialidad SIP se aprovecha con el empleo de servidores de red (modelo
de llamada con servidores proxy y modelo de llamada con servidores de redirección).
Los User Agent deben implementar el transporte tanto sobre TCP como sobre UDP.
Los User Agents pueden tomar distintas formas de acuerdo a su función:
Teléfono
Softphone
Gateway PSTN
Servidor de conferencias
Servidor de voice mail
IVR
2.8.6.2 Servidores de red.
34
asociado a la misma. Un servidor proxy stateless no puede realizar todas las
funciones, como pueden ser la contabilización de las llamadas.
35
conectar más fácilmente ordenadores a la red, lo hace al precio de no permitir una
conexión puramente bi-direccional. El efecto de un NAT en voz sobre IP es que no se
pueden recibir conexiones iniciadas desde el exterior. Existen varios problemas
relacionados con NAT y VoIP. El más común de los problemas es conocido como
“audio en una sola dirección” (oneway audio). Como recordarás, una conversación
está compuesta por dos flujos de paquetes RTP distintos. En presencia de un NAT,
sólo el flujo de dentro a fuera no es bloqueado; el flujo de fuera adentro no tiene la
misma suerte y puede atravesar el NAT.
36
descritos anteriormente. Por ultimo, decir que el protocolo SIP puede ser utilizado
conjuntamente con otros protocolos de señalización.
37
2.8.6.4 Servicios de Valor Agregado
38
relaciona con un tremendo impacto en la adopción de SIP en el ámbito comercial.
Network World Fusion encabezó una prueba de interoperabilidad para Windows
Messenger en Enero de 2002, registrando el cliente de Microsoft con un Servidor
Proxy SIP de Synamicsoft y generando llamadas desde y hacia un teléfono por IP de
Pingtel. Las llamadas no sólo fueron exitosas, sino que la voz tuvo una alta calidad.
H.323 y SIP son dos formas diferentes de resolver un mismo problema. Los
dos emplean el protocolo RTP para el transporte de medios (audio y vídeo) pero en
lo que se diferencian es en cómo desarrollan la señalización y el control de llamadas.
Para la interoperabilidad entre entornos SIP y H.323 es factible emplear un gateway
que desarrolle el mapping de señalización entre ambas soluciones.
39
2.8.6.8 Calidad de servicio en VoIP
Es evidente que el hecho de tener una red en vez de dos, es beneficioso para
cualquier operador que ofrezca ambos servicios, véase gastos inferiores de
mantenimiento, personal cualificado en una sola tecnología. Realmente se trata de
40
una solución verdaderamente fantástica. Facturas de teléfono muy bajas, oficinas
virtuales, dirección centralizada y un rápido despliegue, son sólo algunos de sus
muchos beneficios. El éxito de algunas grandes compañías combinado con el
crecimiento de las redes wireless, puede mover esta tecnología desde las empresas
a los pequeños negocios y a todo el mercado en general. Como si el ahorro de ancho
de banda no fuera suficiente, el despliegue de la voz sobre IP reduce el costo y
mejora la escalabilidad empleando componentes de redes de datos estándares
(enrutador, switches...), en vez de los caros o complicados switches para teléfonos.
Ahora el mismo equipo que dirige las redes de datos puede manejar una red de voz.
VoIP posibilita desarrollar una única red convergente que se encargue de cursar todo
tipo de comunicación, ya sea voz, datos, video o cualquier tipo de información. La
telefonía IP no requiere el establecimiento de un circuito físico durante el tiempo que
toma la conversación, por lo tanto, los recursos que intervienen en la realización de
una llamada pueden ser utilizados en otra cuando se produce un silencio, lo que
implica un uso más eficiente de los mismos. Las redes de conmutación por paquetes
proveen alta calidad telefónica utilizando un ancho de banda menor que el de la
telefonía clásica, ya que los algoritmos de compresión pueden reducir hasta 8kbps la
rata para digitalización de la voz produciendo un desmejoramiento en la calidad de la
misma apenas perceptible.
41
pública Internet, los niveles de calidad telefónica son bajos pues tal red no puede
proveer anchos de banda reservados ni controlar la dramática fluctuación de carga
que se presenta.
42
CAPÍTULO III
3.1 Metodología
Para tener una maquina trabajando en óptimas condiciones y con todas sus
características, Asterisk recomienda un tipo especial de hardware según la cantidad
de usuarios utilizando la plataforma. Fig. 6
43
Figura: 6 Requisitos de Hardware
Fuente: Artículo Voz IP, ingeniería en Redes y Comunicaciones,
http://www.comunicaciones.unitronics.es/tecnologia.htm
Que tan poderoso se quiere Asterisk es una pregunta importante para tener en
cuenta las siguientes recomendaciones:
2.- Porcentaje de tráfico que requerirá Digital Signal Processing (DSP): El Digital
Signal Processing, que es el estudio de las señales análogas en una señal digitales y
los métodos de representación de las señales. Asterisk trabaja con DSP para trabajar
con las señales analógicas y digitales, lo que implica un alto impacto en el
funcionamiento de este básicamente con el número de llamadas que puede manejar
en forma simultanea, por ejemplo: Transmitiendo 50 llamadas G711 en una
conferencia de 10 canales G729 comprimidos.
44
4.- Cancelación de Echo: La cancelación de Echo sobre las llamadas hacia la
RTPC es una función matemática la cual sobrecarga el uso de la CPU.
5.- Dialplan scripting logic: Los script de configuración del sistema y dialplan,
deberán estar incluidos en el sistema Asterisk, de lo contrario puede provocar una
pérdida considerable de rendimiento.
A.- Codecs and Transcoding: Los Codecs se definen como funciones matemáticas
que definen la forma en que la onda análoga será digitalizada, la diferencia entre los
codecs es la forma en la que varia la calidad y la compresión que ofrecen. Por lo
general mas compresión significa mas trabajo del Digital Signal Processing (DSP)
para cifrar o descifrar la señal por ende mas trabajo del CPU por su contraparte
menos compresión significa mayor utilización del ancho de banda por ende se
recomienda encontrar el justo equilibrio entre uso de CPU y ancho de banda a
utilizar.
B.- Unidad Central de Procesos (CPU) y Punto Flotante (FPU): Una de las
variables dentro de un CPU es la velocidad y la eficiencia de la FPU, esta tiene
directa relación con la cantidad de usuarios que puede albergar un sistema Asterisk.
45
D.- Optimización del Kernel: Un kernel optimizado para una tarea es algo que
puede ayudar mucho a mejorar su sistema Asterisk. Por ende se recomienda bajar el
último kernel disponible desde http: //www.kernel.org, la cual debería ser compilada e
instalada. Como además sus respectivos parches.
E.- Latencias en las IRQ: La petición de Interrupción (IRQ) es una petición desde un
dispositivo para utilizar la CPU (como de la tarjeta que conecta la RPTC con el
servidor), la latencia de la IRQ es el tiempo desde que un dispositivo pide utilizar la
CPU y la CPU responde y esta lista para realizar esta tarea.
Las tarjetas zaptel son sumamente sensibles a esta latencia por esto se recomienda
utilizar solo una tarjeta sea controlada en el sistema, si necesita ampliar la
conectividad conviene cambiar la tarjeta por una de mayores prestaciones.
Para elegir una placa base acorde con el sistema debemos tener en cuenta
las siguientes directrices:
1.- Con el fin de generar la mejor latencia posible para la tarjeta que conecta el
servidor con la RTPS, Como las tarjetas Zaptel que generar alrededor de 1000
interrupciones por segundo, es recomendable usar una placa base con chipset Intel
para CPUs Intel y una nVidea nforce para CPUs AMD.
46
2.- Para el manejo de tarjetas Zaptel es recomendable el manejo de IRQ por BIOS
para tener mejor control sobre las IRQ. Para este caso es recomendable una placa
madre con APIC-PERMITIDAS para el control de IRQs
3.- Si va a trabajar con tarjetas Zaptel es recomendable trabajar con placas madres
destinadas a servidores ya que estas poseen un slot PCI de 3.3V (32 bits 33Mhz) slot
del cual las placas madres orientadas a Desktop carecen, las placas madres de
desktop solo traen slot PCI de 5V 64 bits.
Para los servidores es normal ver fuentes de poder redundantes, esto consiste
en dos fuentes de poder independientes cada una de ellas capaces de mantener el
sistema, conectadas de formas paralelas y alimentadas por conexiones eléctricas
distintas, para que cualquiera pueda mantener el sistema si una de ellas falla.
47
3.3.4 Teléfonos VoIP
48
3.5 Instalación del Sistema Base:
49
3.5.1 Configuración del Sistema Base
50
Luego de realizar los cambios debemos reiniciar el servicio de red, para esto
ejecutamos el siguiente comando.
Y por ultimo revisamos que tengamos la correcta dirección IP, la cual podemos
visualizar con el siguiente comando.
Asterisk:~# ifconfig
Otro factor importante a considerar es la hora del sistema ya que nos puede
presentar errores cuando tratamos de realizar alguna operación.
Antes de instalar las últimas actualizaciones tanto del sistema como de seguridad
debemos configurar la forma en la cual vamos acceder a las actualizaciones, ya sea
51
de forma http, ftp o simplemente desde una unidad de CDROM, para esto
ejecutamos el siguiente comando
Una vez que tenemos apt configurado nos disponemos a actualizar la lista de
paquetes y listar los que necesitamos actualizar, para realizar esta acción
utilizaremos el comando Asterisk:~# apt-get update
Una vez que nuestro sistema se encuentra totalmente actualizado, ya sea con
parches de seguridad, actualizaciones software y librerías necesarias para el
funcionamiento estamos en condiciones de instalar nuestra PBX por software
Asterisk.
52
3.6 Instalando Asterisk
Asterisk usa algunos del los directorios del sistema Linux para manejar
algunos aspectos. A continuación veremos la estructura de archivos de Asterisk.
53
/usr/lib/Asterisk/modules/: En este directorio se encuentran todos los módulos
cargables de Asterisk, por defecto Asterisk carga todos los módulos de este
directorio, pero estos pueden ser deshabilitados editando el archivo modules.conf,
para que no sean cargados durante la partida de Asterisk
agi-bin/ : Contiene los script para las aplicaciones AGI (Asterisk Gateway Interface)
firmware/: Contiene los firmware de los dispositivos compatibles con Asterisk.
images/: Contiene las aplicaciones para la conexión con canales que soportan
imágenes graficas, comúnmente los canales de Asterisk no soportan aplicaciones
graficas por lo cual este directorio es rara vez usado.
keys/: Contiene las llaves publicas y privadas que Asterisk puede utilizar para la
autentificación de usuarios, vía RSA (esto es un algoritmo asimétrico cifrador de
bloques, que utiliza una clave pública, la cual se distribuye (en forma autenticada
preferentemente), y otra privada, la cual es guardada en secreto por su propietario).
mohmp3/: Contiene los mp3 para la configuración de la música de espera para las
llamadas.
sounds/: Contiene los archivos de audio usados por la aplicaciones de Asterisk.
54
/var/run/: En este directorio se guardan toda la información de los procesos (pid) del
sistema, incluidos los de Asterisk
/var/log/Asterisk/: Contiene los logs del sistema estos pueden ser configurados
según las necesidades en el archivo logger.conf.
55
los usuarios no registrados. Las secciones están denotadas por corchetes ([]).
Ejemplo:
Asterisk:/etc/Asterisk# vi sip.conf
[general]
context=default
srvlookup=yes
[john]
type=friend
secret=welcome
qualify=yes ; Qualify peer is no more than 2000 ms away
nat=no ; This phone is not natted
host=dynamic ; This device registers with us
canreinvite=no ; Asterisk by default tries to
redirect
context=internal ; the internal context controls what we can do
Opciones Generales:
port: El puerto en el que se escuchan las conexiones SIP entrantes. El valor por
defecto es 5060. bindaddr: La dirección IP en la que se escuchan las conexiones SIP
entrantes. Si la máquina tiene múltiples direcciones IP esta opción permite
seleccionar una de estas como dirección de conexión, de otra manera el sistema
escuchará en todas las direcciones IP disponibles. context: Define el contexto por
defecto para todos los clientes definidos y será el valor a utilizar a menos que se
defina un contexto diferente dentro de la configuración propia del cliente SIP.
56
canreinvite = update | yes | no: Opciones de reinvitación.
defaultexpirey = <entero>: Longitud por defecto para registros entrantes y/o
salientes. Ej: defaultexpire=120
externip = <direccion ip>: Dirección que se colocará en los mensajes SIP si el
servidor PBX está detrás de un Firewall NAT.
localnet = <dirección ip/mascara de red>: Red local y mascara de red.
fromdomain: Define el valor por defecto del dominio origen en los mensajes SIP
cuando el servidor actúa como un cliente SIP conectado a otro servidor SIP.
maxexpirey=<entero>: Longitud máxima permitida de los registros
entrantes. Ej: maxexpiery=3600
nat= yes | no: Define si el servidor está detrás de NAT o no.
notifymimetype=text/plain: Permite sobrescribir el tipo mime utilizado para
notificar mensajes de correo de voz.
register =>: Registra el servidor PBX con un proveedor SIP externo.
srvlookup = yes|no: Habilita la búsqueda del servidor DNS en las llamadas.
tos=<value>: Define parámetros de calidad de servicio sobre la red. Acepta valores
numéricos.
videosupport=yes|no: Activa o desactiva el soporte de video en dispositivos
SIP.
Opciones de Usuarios:
Type: El parámetro 'type' define la clase de conexión que tendrá el cliente.
Las opciones disponibles son:
peer: Dispositivo que recibe llamadas desde un servidor PBX
user: Dispositivo que hace llamadas a través de un servidor PBX.
friend: Dispositivo que puede hacer y recibir llamadas a través de un
servidor PBX.
secret: Define la contraseña del cliente. Recibe un valor alfanumérico.
host: Define la dirección IP o el nombre del dispositivo (que se pueda resolver a
través de un DNS). También puede tomar el valor de 'dynamic' en cual caso se
57
espera una conexión desde cualquier dirección IP. Esta opción es de utilidad en
redes que utilizan asignaciones dinámicas de IP con DHCP.
defaultip: Este parámetro puede ser usado en conjunto con el parámetro
host=dynamic para intentar conexiones a la dirección IP del dispositivo
cuando aun no se ha registrado.
username: Define el nombre de usuario o el número de la extensión definida en el
plan de numeración del servidor PBX. Por lo general este valor debe ser el mismo
que utiliza el cliente para registrarse.
canreinvite: Este parámetro es utilizado para decirle al servidor que no intente
reinvitar al cliente.
context: Cuando se define este parámetro dentro de la definición del cliente, se
define el contexto para ese cliente en particular.
accountcode: Define un código de cuenta asociado a un usuario.
amaflags: Categorización para los registros del sistema CDR. Las opciones
disponibles son: default, omit, billing, documentación.
dtmfmode: Define el modo en que el cliente maneja la señalización DTMF
fromuser: Especifica el valor en from para el usuario como reemplazo del
'callerid' cuando se colocan llamadas a otro servidor SIP.
incominglimit y outgoinglimit: Limita el número de llamadas activas
simultáneas para un cliente SIP.
language: Especifica un código de lenguaje definido en indications.conf
58
rtpholdtimeout: Termina la llamada si pasan x segundos sin actividad RTP cuando se
está en modo de espera. Debe ser mayor que rtptimeout.
useragent: Permite configurar el encabezado 'User-Agent' del protocolo SIP al valor
deseado.
Ejemplo de configuración SIP
[general]
port = 5060
bindaddr = 0.0.0.0
allow=all
context = internal
[2000] ;
type=friend
username=2000
secret=Asterisk
host=dynamic
context=external
mailbox=100
[2001]
type=friend
username=2001
secret=Asterisk
host=dynamic
context=external
mailbox=101
[2002] ; Otro duplicado de 2000
type=friend
username=2002
secret=Asterisk
host=dynamic
59
context=external
mailbox=102
3.6.3 Dialplan
Una vez que tenemos configurado el protocolo SIP, procederemos a crear el dialplan
correspondiente, el dialplan es básicamente una lista de instrucciones que la PBX
debe realizar cada vez que se disca un número o entra una llamada por el canal.
Para configurar estas acciones debemos editar el archivo extencions.conf. Primero
analizaremos la estructura de un Dialplan Un diaplan básicamente esta dividido en
cuatro secciones estas son:Contexto, Extensiones, Prioridades y Aplicaciones
60
La sintaxis para definir una extensión debe ser con la palabra “exten” mas el símbolo
igual (=) acompañado del símbolo mayor que “>”, por lo tanto una extensión se
definirá de la siguiente forma.
exten => Lo que sigue es el nombre de la extensión, regularmente el nombre de la
extensión es el número al cual se desea llamar, pero en el sistema Asterisk puede
ser mucho mas, los nombres pueden ser numéricos y alfanuméricos.
Una extensión esta compuesta por tres elementos
Como se ve en el Ejemplo la extensión tiene como nombre 123, posee una prioridad
de 1 y ejecuta la acción de contestar.
Prioridad: Cada extensión puede tener múltiples pasos, llamadas prioridades. Cada
prioridad tiene una numeración secuencial, partiendo desde el numero 1. Cada
prioridad ejecuta una aplicación específica.
Ejemplo:
exten => 123,1,Answer( )
exten => 123,2,Hangup( )
Como se ve en el ejemplo anterior de damos prioridad de 1 para la aplicaciones de
contestar, y aplicación de 2 para cortar.
61
Aplicaciones: La aplicación es la base del dialplan, Estas aplicaciones especifican la
acción a realizar en el canal, como emitir un sonido. Algunas de las aplicaciones
pueden necesitar de argumentos para su realización aplicaciones como hangup() o
Answer() no necesitan la utilización de argumentos. Para definir argumentos a las
aplicaciones deben colocarse entre los paréntesis de la aplicación y separadas por
comas. Algunas de las aplicaciones más importantes son:
Answer( ): Se utiliza para contestar el canal del ring, es la principal configuración
para la llamada entrante, esta aplicación no necesita de argumentos algunos para si
funcionamiento.
The Playback( ): Esta aplicación se utiliza para emitir un sonido previamente gravado
por un canal. Esta aplicación necesita de argumentos para su funcionamiento, es el
argumento se debe especificar el sonido a emitir. Los sonidos deben estar guardados
en /var/lib/Asterisk/sounds/ si el sonido a reproducir no se encuentra en ese directorio
se debe especificar en el argumento el path completo de la ubicación del sonido
Ejemplo 1:
exten => 123,2,Playback(hola-mundo)
En el ejemplo 1estamos reproduciendo el sonido llamado “hola-mundo”
Ejemplo 2:
exten => 123,2,Playback(/home/john/sounds/hola-mundo)
En el ejemplo 2 estamos reproduciendo el sonido “hola-mundo” que se
encuentra dentro en el paht “/home/john/sounds/“
Hangup( ): Esta aplicación se utiliza para cortar un canal activo, esta aplicación al
igual que Answer() no necesita argumentos para su realización.
Background( ): Esta aplicación al igual que playback() emite un sonido por el canal,
pero esta puede ser interrumpida por presionar un digito o una serie de dígitos en el
canal, y lo envía a la extensión correspondientes.
62
Ejemplo:
exten => 123,2,background(hola-mundo)
Goto(): Esta aplicación se usa para enviar otra llamada a otra extensión, esta
extensión necesita de argumentos, la cual, debe ser de la siguiente forma:
exten => 123,1,Goto(context,extension,priority)
Dial(): Esta aplicación se sirve como puente para las llamadas entrantes. Asterisk
comúnmente puede comunicar distintas tecnologías (Análoga/digital).
Por ejemplo en el sistema Asterisk tenemos que comunicar una llamada con una
interfaz FXS para eso utilizamos la aplicación Dial().
Ejemplo:
exten => 123,1,Dial(Zap/1)
En el ejemplo anterior comunicaremos la llamada hacia el canal zap/1
Si deseamos enviar llamadas desde una interfaz hacia otra, podemos
utilizar la misma aplicación Dial() acompañado del numero del la interfaz.
exten => 123,1,Dial(Zap/4/5551212)
63
Durante a creación del dialplan podemos utilizar variables para disminuir el tamaño y
la complejidad durante su construcción, estas variables pueden representar
interfases, nombres o intervalos de tiempo. Estas variables se aplicaran durante la
extensión en la cual están definidas.
Ejemplo:
Dead=15s
Para el ejemplo anterior llamamos a dead para un intervalo de tiempo de 15
segundos. Y dentro de la extensión quedara de la siguiente forma
exten => 555,1,Dial(${dead},,r)
Entonces donde aparezca ${dead} será reemplazado por el intervalo de tiempo
definido Por otra parte podemos definir variables de carácter globales en la cual las
variables aquí definidas serán aplicadas en todo el dialplan, para esta definición
tenemos dos formas, la primera es definiéndola en el contexto especial [global] o
utilizando la aplicación SetGlobalVar().
Ejemplo:
[globals]
Dead=15s
[internal]
exten => 123,1,SetGlobalVar(dead=15s)
Pattern Matching
64
Z: para representar dígitos del 1 al 9
N: para representar dígitos del 2 al 9
[15-7]: Para representar dígitos específicos en este caso 1, 5 o 7
.: wildcard para presentar uno o mas caracteres
Ejemplo: _NXXXXXX
En el ejemplo anterior estamos definiendo un numero de 7 dígitos en el cual el primer
digito debe ser entre el 2 al 9 y los restante entre el 0 al 9.
Outbounding
Ahora que ya sabemos como configurar un dialplan y las partes que la componen,
estamos listos para habilitar las salidas de llamadas, para realizar esta acción
debemos agregar un contexto de salida. Básicamente la creación de un contexto
nuevo para las llamadas de salidas es para tener un mayor control sobre la
configuración del dialplan El contexto de salida será más o menos así:
[globals]
JOHN=Zap/1
JANE=SIP/jane
OUTBOUNDTRUNK=Zap/4
[outbound-local]
exten => _9NXXXXXX,1,Dial(${OUTBOUNDTRUNK}/${EXTEN:1})
exten => _9NXXXXXX,2,Congestion( )
exten => _9NXXXXXX,102,Congestion( )
65
por el canal. En las extensiones siguientes definimos una congestión si el canal no es
contestado.
Include: Asterisk permite utilizar un contexto dentro de otro contexto, esto se utilizar
para conceder el acceso a un contexto en otro. Un caso normal es permitir a los
usuarios del contexto interno a que puede ocupar las extensiones definidas en el
contexto de salida. Para activar estas opciones utilizamos la directiva include la cual
tiene la siguiente sintaxis:
66
[internal]
3.6.4 Voicemail
El voicemail es una de las características con las cuales debe contar un sistema de
telefonía moderno. Asterisk cuenta con un sistema de voicemail y además es muy
flexible, algunas de las principales características del voicemail de Asterisk son:
67
/etc/Asterisk dentro de este archivo encontrara todas las sentencias que necesita
para la configuración de esta característica de Asterisk. Tal como se definen
contextos en el dialplan para la configuración del voicemail se definen con contextos
que poseen una estructura similar
68
especifico, para dejar un mensaje en este.
Las direcciones de los voicemail suelen ser mailbox@contexto donde
contexto es el contexto al cual esta referido
Ejemplo:
exten => 101,1,Dial(${JOHN},,r)
exten => 101,102,VoiceMail(b101@default)
69
El prototipo tiene 2 usuarios en cada servidor; que se deben registrar para ser
parte de la red, esto quiere decir que cada uno tiene nombre de usuario y
contraseña, al registrarse se pueden comunicar a cualquier número dentro de la red
y ocupar cual quiera de los servicios que ofrece la PBX
Facultad de matemáticas
70
Figura 1 Enlace de dos Servidores Asterisk vía Internet con sus terminales Softphone
Campus Tizimín
71
decir, permite usar la computadora para hacer llamadas a otros softphones o a otros
teléfonos convencionales.
El Softphone que se utilizará será el X-lite, no olvidar que existen otros tipos
de Softphone, sin embargo, se eligió este por ser libre y de fácil uso. Puedes
descargarlo de http://www.xten.com/
72
3.7.4 La Configuración de Asterisk
[general]
context =bogon-calls
bindport=5060
bindaddr=0.0.0.0
srvlookup=yes
allow=ulaw
allow=ilbc
allow=gsm
allow=ilbc
allow=g723.1
allow=g729
[20] ; definoa al primer usuario
type=friend
username=20
secret=slackware
allow=gsm
nat=no
host=dynamic
qualify=yes
context=slack-sip
mailbox=100
callerid="Martin Basto"
[general]
context =bogon-calls
bindport=5060
73
bindaddr=0.0.0.0
srvlookup=yes
allow=ulaw
allow=ilbc
allow=gsm
allow=ilbc
allow=g723.1
allow=g729
[22] ; defino al segundo usuario
;type=friend
type=friend
username=22
secret=slackware
host=dynamic
allow=gsm
qualify=yes
nat=no
context=slack-sip
mailbox=100
callerid="Martin Caballero"
Cabe señalar que en este archivo se pueden definir todos los usuarios SIP que se
deseen.
[general]
bindport=4569
bindaddr=0.0.0.0
language=en
bandwidth=low
disallow=all
disallow=g723.1
allow=lpc10
allow=gsm
tos=lowdelay
autokill=yes
74
[88] ; defino al primer usuario iax
type=friend
secret=slackware
host=dynamic
context=slack-sip
callerid="Jesus Caballero"
[general]
bindport=4569
bindaddr=0.0.0.0
language=en
bandwidth=low
disallow=all
disallow=g723.1
allow=lpc10
allow=gsm
tos=lowdelay
autokill=yes
[bogon-calls]
75
exten => _.,1,congestion
[slack-sip]
[Asterisk2context]
exten => _XX,1,Answer()
exten => _XX,2,Dial(SIP/${EXTEN})
exten => _XX,3,Dial(IAX2/${EXTEN})
exten => _XX,4,Hangup()
[bogon-calls]
exten => _.,1,congestion
[slack-sip]
76
exten => 22,1,Dial(SIP/22,20)
exten => 22,2,Voicemail(u22)
exten => 22,102,Voicemail(b22)
exten => 22,103,Hangup
[meetme]
exten => 100,1,Playback, thereare
exten => 100,2,Playback,callersin
exten => 100,1,MeetMe,4000
[Asterisk1context]
exten => _XX,1,Answer()
exten => _XX,2,Dial(SIP/${EXTEN})
exten => _XX,3,Dial(IAX2/${EXTEN})
exten => _XX,4,Hangup()
[Asterisk2]
type=friend
77
host=dynamic
context=Asterisk2context
auth=rsa
inkeys=Asterisk2key
notransfer=yes
[Asterisk1]
type=friend
host=dynamic
context=Asterisk1context
auth=rsa
inkeyis=Asterisk1key
notransfer=yes
extensión.conf servidor A
[bogon-calls]
exten => _.,1,congestion
[slack-sip]
78
extensión.conf servidor A
[bogon-calls]
exten => _.,1,congestion
[slack-sip]
79
CAPÍTULO IV
Resultados y conclusiones
Los resultados. Fueron la elaboración del prototipo de red y verificar su
funcionamiento el cual analizamos a continuación.
80
En las figuras anteriores (Fig 8 y Fig 9) podemos observar el funcionamiento de dos
terminales Softphone (Softphone A y softphone B) conectados al servidor Asterisk y
estableciendo una conversación telefónica vía VoIP.
Esta nueva tecnología esta creciendo de una manera rápida la cual esta siendo
adoptada por las empresas por sus múltiples servicios y su bajo costo.
Esta nueva tecnología nos permite ser dueños de nuestro propio desarrollo y que
podamos adaptarla a nuestras necesidades. Dado que es difícil imaginar un
desarrollo sostenible sin transmisión de conocimiento y reapropiamiento tecnológico.
Una solución basada en estándares abiertos y código libre no es sólo una buena
solución desde un punto de vista puramente técnico sino que además permite la
posibilidad de adaptación para mejorarse a la realidad local.
81
manera todos los elementos necesarios están al alcance: tenemos el acceso a los
programas y a los equipos que permiten el intercambio de conversaciones
telefónicas. Esto es, se tiene una red abierta y pública para intercambiar esas
llamadas (la Internet).se tiene la posibilidad de modificar cada uno de los elementos
para adaptarlos a las propias necesidades.
Plan a Futuro.
82
Referencias Bibliográficas:
Jim Van Meggelen, Jared Smith, Leif Madsen. “Asterisk, The Future of
Telephony”, O'Really 2005. Licencia Creative Commons.
Minoli Daniel., “Delivering Voice Over IP Networks”, 2nd edition, Cisco Press.
- http://www.asterisk.org/
- http://www.monografias.com/trabajos11/descripip/descripip.shtml#estand
- http://www.netacad.uat.edu.mx/retooling.html
- http://www.skype.com/intl/es/helloagain.html
*consultadas el 13/06/2006
83
Tabla de Abreviaturas
Abreviatura Descripción
Frame Relay (Frame-mode Bearer Service)
ATA Adaptador Telefónico Analógico
DECT Comunicación Digital Inalámbrica Mejorada
Digital Enhanced Cordless Telecommunications
FXO Foreign Exchange Office
FXS Foreign Exchange Station
GSM Sistema Global para Comunicaciones Móviles
Global System for Mobile communication
IAX(2) Protocolo de intercambio de Asterisk (versión 2) IETF
Grupo de Trabajo de Ingeniería de la Internet
Internet Engineering Task Force
ITU/UIT Unión Internacional de Telecomunicaciones
Internacional Telecommunications Union
IVR Respuesta de Voz Interactiva Respuesta Vocal Interactiva
Interactive Voice Response 0
NAT Traductor de Direcciones de Red
Network Address Translator
PBX (PABX) Centralita Telefónica (Automática) Privada
Private (Automatic) Branch Exchange
PCM/MIC Modulación por Impulsos Codificados
Pulse Code Modulation PSTN/RTB(C) Red de Telefonía Básica
(Conmutada)
Public Switched Telephone Network
QoS Calidad de Servicio
Quality of Service
RFC Documento de Trabajo de Estandarización (Internet) Request For
Comment
RTP Protocolo de Tiempo Real
84
Real-time Transport Protocol
SCCP Protocolo de Control de Llamadas Skinny
Skinny Call Control Protocol
SIP Protocolo de Señalización de Sesión(es) Session Initiation
Protocol
SS7 Sistema de Señalización (versión) 7
Signalling System 7 TA/ATA Adaptador Telefónico
Telephone Adapter
UDP User Data Protocol
VoIP Voz sobre IP. Telefonía IP
VSAT Terminal de Pequeña Apertura (Comunicaciones por Satélite)
Very Small Apertura Termina
85