VoIP y Asterisk

VoIP y Asterisk

Redescubriendo la telefonía
V oIP Y Asterisk
Redescubriendo la telefonía
Coordinadores:
Julio Gómez López
Francisco Gil Montoya
Autores de capítulo:
(por orden alfabético)
Alfredo Alcayde García Ingeniero Infonnático
Raúl Baños Navarro Investigador de la Universidad de Almena
Jesús Camacho Rodríguez Ingeniero Infonnático
Juan Antonio García Moreno Consultor de Comunicaciones
Consolación Gil Montoya Profesora de la Universidad de Almena
Francisco Gil Montoya Profesor de la Universidad de Almena
María Dolores Gil Montoya Profesora de la Universidad de Almena
Julio Gómez López Profesor de la Universidad de Almería
Saúl Ibarra Corretgé Consultor de tecnologías VoIP
Francisco José Méndez Cirera Ingeniero Infonnático
David Prieto CarreUán Ingeniero Infonnático
Almería, 2008
Alfaomega ~ ~ Ra-Ma®
Datos catalográficos
Gómez, Julio; Gil, Francisco
VoIP y Asterisk. Redescubriendo la telefonía
Primera Edición
Alfaomega Grupo Editor, S.A. de C.V., México
ISBN: 978-607-7686-08-8
Formato: 17 x 23 cm Páginas: 348
VoIP y Asterisk. Redescubriendo la telefonía
Julio Gómez López, Francisco Gil Montoya
ISBN: 978-84-7897-902-8, edición original publicada por RA-MA Editorial, Madrid, España
Derechos reservados © RA-MA Editorial
Primera edición: Alfaomega Grupo Editor, México, enero 2009
© 2009 Alfaomega Grupo Editor, S.A. de C.V.
Pitágoras 1139, Col. Del Valle, 03100, México D.E
Miembro de la Cámara Nacional de la Industria Editorial Mex.icana
Registro No. 2317
Pág. Web: http://www.alfaomega.com.mx
E-mail: atencionalcliente@alfaomega.com.mx
ISBN: 978-607-7686-08-8
Derechos reservados:
Esta obra es propiedad intelectual de su autor y los derechos de publicación en lengua
española han sido legalmente transferidos al editor. Prohibida su reproducción parcial o total
por cualquier medio sin permiso por escrito del propietario de los derechos del copyright.
Nota importante:
La información contenida en esta obra tiene un fin exclusivamente didáctico y, por lo tanto, no está
previsto su aprovechamiento a nivel profesional o industriaL Las indicaciones técnicas y programas
incluidos, han sido elaborados con gran cuidado por el autor y reproducidos bajo estrictas normas
de control. ALFAOMEGA GRUPO EDITOR, S.A. de C.v. no será jurídicamente responsable
por: errores u omisiones; daños y perjuicios que se pudieran atribuir al uso de la información
comprendida en este libro, ni por la utilización indebida que pudiera dársele.
Edición autorizada para venta en México y todo el continente americano.
Impreso en México. Printed in Mexico.
Empresas del grupo:
México: Alfaomega Grupo Editor, S.A. de C.V. - Pitágoras 1139, Col. Del Valle, México, DF. - c.P. 03100.
Tel.: (52-55) 5089-7740 Fax: (52-55) 5575-2420 /2490. Sin costo: 01-800-020-4396
E-mail: atencionaJcliente@alfaomega.com.mx
Colombia: Alfaomega Colombiana S.A. Carrera 15 No. 64 A 29 PBX (57-1) 2100122, Bogotá,
Colombia, Fax: (57-1) 6068648 - E-mail: sclienle@alfaomega.com.co
Chile: Alfaoruega Grupo Editor, S.A. - General del Canto 370-Providencia, Santiago, Chile
Te!.: (56-2) 235-4248 - Fax: (56-2) 235-5786 - E-ruail: agechile@alfaomega.c1
Argentina: Alfaomega Grupo Editor Argentino, S.A. - Paraguay 1307 P.B. "11", Buenos Aires,
Argentina, C.P. 1057 - Te!.: (54-11) 4811-7183/8352, E-mail: ventas@alfaomegaeditor.com.ar
Dedicado a María,
que trajo este libro bajo el brazo
ÍNDICE
INTRODUCCIÓN......................................................................................... XIII
CAPÍTULO l. LA TELEFONÍA TRADICIONAL .......................................... 1
1 Sistemas analógicos ................................................................. 1
1.1 FXS................... , ..... " .. , ...... "." .. ,.".. "."."., ....... "",,, .... ,,,,, .. ,,.,,.,,,,,,.,,2
1,2 FXO"".,,,,,, .. ,,, ... ,,,.,,,, ... ,,,, .... ,,, .. ,, ... ,,.,, .. ,,,,,.,, ....... ,,,." ....... , ...." ...... ,,3
2 Sistemas digitales ..................................................................... 4
2.1 RDSI".." ........ ", ....... " ... , .......... , .......... ,,,,,.,, ..... ,,.,,, ..... ...... "" ....... "... 4
2,2 El/TI., .." ..... , .... ,."" .........."." ...... , ..... , ....... """" ... , ..... ".. " .......... " .... 6
2.3 Otros ......... "' ... " ........ , .... " .......... , .... " .............. ,, ............................... 7
3 Redes móviles ........................................................................... 8
3.1 GSM (2G) ........ , .. , ........ , .. , ................. , ........ , .. , ............ " ......... , ..... " .... 8
3.2 UMTS (3G) .... " ..... "" ...... " .. " ..... , ..." .......... """".... " .... " ................ 11
4 Centralitas tradicionales PBX .............................................. 12
4.1 Introducción, ...... , .. , ..... ,., ..... , ..... " ... , .......... , .... , ............ " .......... , ...".12
4.2 Sistemas comerciales """ ........... " ...... " .......................................... 13
CAPÍTULO 2. VOIP - LA NUEVA REVOLUCIÓN ..................................... 17
1 Introducción a la VoIP.......................................................... 17
2 Evolución ............................................................................... 18
3 Ventajas ................................................................................. 19
4 Arquitectura .......................................................................... 22
4.1 Teléfonos IP .. ................................................................................. 23
4.2 Gateways y adaptadores analógicos ............................................. 26
4.3 Dispositivos GSMlUMTS ............................... ,., ............................. 28
4.4 Softphones ....... , .......................................... , ................................... 29
QU VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
4.5 Proxys y enrutadores ..................................................................... 31
5 Señalización y audio .............................................................. 32
5.1 Protocolos de comunicación ...... .................................................... 32
5.1.1 Session Initiation Protocool (SIP) .......................................... 32
5.1.2 H323 ....................................................................................... 47
5.1.3 Otros ....................................................................................... 49
5.2 Protocolos de Audio ....... ...................................... .......................... 50
5.3 Algoritmos de codificación y decodificación de voz (Codees) ...... 53
6 Conclusiones .......................................................................... 59
CAPÍTULO 3. LA REVOLUCIÓN SE LLAMA ASTERISK ........................ 61
1 Introducción .......................................................................... 61
2 Arquitectura .......................................................................... 62
3 Iustalación.............................................................................. 64
4 Estructura de directorios ...................................................... 68
5 Puesta en marcha conAsterisk ............................................. 69
6 Consola de comandos (CLI) ................................................. 71
7 Configuración básica ............................................................ 72
7.1 CanAles SIP ................................................................................... 72
7.1.1 Protocolo SIP ......................................................................... 72
7.1.2 Configuración de canales SIP ................................................ 73
7.2 Protocolo IAX........................................................................ ........ 75
7.2.1 Configuración de Canales IAX .............................................. 76
7.2.2 Definición de extensiones IAX2 ............................................ 77
7.2.3 Interconexión de dos Asterisk mediante IAX2 ...................... 79
7.2.4 Aumentando la seguridad ...................................................... 83
7.3 Canales Zap ................................................................................... 85
7.3.1 Canales analógicos ................................................................. 85
7.3.2 Canales digitales .................................................................... 90
7.3.3 Grupos de canales en Zaptel .................................................. 94
7.3.4 Aplicando la configuración de Zaptel... ................................. 95
7.4 Buzones de Voz .............................................................................. 95
CAPÍTULO 4. LÓGICA DE MARCADO O DIALPLAN.............................. 99
1 Introducción .......................................................................... 99
2 Contextos, extensiones y prioridades................................. 100
3 Sintaxis.................................................................................. 100
4 Aplicaciones y funciones ..................................................... 101
5 Prioridades y etiquetas (labels) .......................................... 102
6 UD dialplan sencillo ............................................................. 103
7 Buzón de voz ........................................................................ 104
8 Macros.................................................................................. 106
9 Guardando la información en la base de datos ................. 108
10 Colas y agentes ..................................................................... 112
11 Interactive Voice Response (IVR) ....................................... 116
© RA-MA ÍNDICE IX
12 Salas de conferencias........................................................... 119
13 Haciendo un dialplan mantenible ...................................... 125
CAPÍTULO 5. GESTIÓN DE ASTERlSKMEDIANTE INTERFAZ
WEB...................................................................................... 127
1 Introducción ........................................................................ 127
2 Gestores web ........................................................................ 128
2.1 FreePBX ...................................................................................... 128
2.2 AsteriskGUI ................................................................................. 130
2.3 Otros ............................................................................................ 130
3 Instalación de FreePBX ...................................................... 131
3.1 Dependencias............................................................................... 132
3.2 Instalación y configuración de MySQL ....................................... 133
3.3 Instalación y configuración de Apache ....................................... 136
3.4 Instalación de FreePBX (amportal) ............................................ 137
3.5 Modificaciones previas al inicio de FreePBX ............................ 139
3.5.1 Permisos en directorios ........................................................ 139
3.5.2 Rutas del FOP y permisos para la IP de Administración..... 139
3.5.3 Permisos y cambio Password al módulo Manager .............. 140
4 Utilización de FreePBX....................................................... 140
4.1 Inicio de FreePBX. ...................................................................... 141
4.2 Administración de FreePBX. ....................................................... 142
4.2.1 Instalación de módulos ........................................................ 145
4.2.2 Configuración de Trunks ...................................................... 150
4.2.3 Configuración de Extensions ............................................... 153
4.2.4 Configuración de System Recordíngs .................................. 156
4.2.5 Configuración de Ríng Groups ............................................ 159
4.2.6 Configuración de IVR .......................................................... 160
4.2.7 Configuración de Announcements ....................................... 162
4.2.8 Configuración de Time Conditíons ...................................... 164
4.2.9 Configuración de Zap Channel DIDs .................................. 166
4.2.10 Configuración de Inbound Routes ....................................... 168
4.2.11 Configuración de Outbound Routes ..................................... 170
4.2.12 Configuración de General Settings ...................................... 172
4.2.13 Otros módulos interesantes .................................................. 173
4.3 Reports ......................................................................................... 175
4.4 Voicemail & Recordings (ARI) .................................................... 177
4.5 Flash Operator Panel (FOP) ....................................................... 180
5 Varios ................................................................................... 183
5.1 Autentificación servidor Web ...................................................... 183
5.2 Ajustes en Asterisk Manager ....................................................... 184
5.3 Ajustes en FOP ............................................................................ 185
APÉNDICE l. HERRAMIENTAS Y URLS REFERENCIADAS ............... 187
x VOlP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
APÉNDICE ll. ADMINISTRACIÓN BÁSICA DE LINUX........................ 191
1 Introducción ........................................................................ 191
2 Sistema de ficheros .............................................................. 193
2.1 Reglas para nombrar ficheros ..................................................... 195
2.2 Nombres de caminos absoluto y relativo..................................... 195
2.3 Órdenes de manipulación de directorios..................................... 196
2.4 Órdenes de manipulación de ficheros .. ....................................... 198
2.5 Acceso a los ficheros ..................... ............................................... 201
2.6 Modificación de permisos y propietarios .. .................................. 202
3 Comandos más importantes ............................................... 203
APÉNDICE llL ASPECTOS BÁSICOS DE REDES.................................. 207
1 Introducción ........................................................................ 207
2 Tipos de cable ...................................................................... 208
3 Dispositivos de interconexión ............................................. 210
4 El protocolo TCPIlP ............................................................ 214
5 Direccionamiento IP ............................................................ 216
5.1 Clases de ..... ............................................................. 217
5.2 Direcciones especificas ............................................................... 219
5.3 Direcciones privadas ................................................. .................. 220
6 Configuración de routers .................................................... 221
6.1 Tablas de enrutado ...................................................................... 221
6.1.1 Encaminamiento clásico ...................................................... 221
6.1.2 Encaminamiento regulado ................................................... 222
6.2 Ejemplo de creación de una tabla de enrulado ........................... 224
APÉNDICE IV. CLIENTES DE VOIP......................................................... 227
1. Introducción ........................................................................ 227
2. Teléfono software o softpbone ............................................ 228
2.1. X-Lite .............................................................................................. 229
2.2. SJphone........................................................................................... 232
3. Teléfono web o webpbone ................................................... 236
4. Teléfono IP o bardpbone .................................................... 238
APÉNDICE V. DISTRIBUCIONES PRECOMPILADAS DE
ASTERISK........................................................................... 241
1 Introducción ........................................................................ 241
2 Sistemas para servidor ........................................................ 243
2.1 Elastú: .......................................................................................... 243
2.1.1 Instalación ................................................................ : ........... 245
2.1.2 Configuración....................................................................... 247
2.1.3 Conclusión e impresiones .................................................... 265
2.2 PBX in a Flash ............................................................................. 266
2.2.1 Instalación y configuración .................................................. 266
2.2.2 Conclusión e impresiones .................................................... 269
2.3 AsteriskNow ................................................................................. 269
© RA·MA ÍNDICE XI
3 Sistemas integrados o de capacidad limitada .................... 274
3.1 Askozia PBX................................................................................ 276
3.2 AstLinux ....................................................................................... 280
APÉNDICE VI. SOFTWARE DE TERCEROS PARA ASTERISK••..•.....•. 283
1 Introducción ........................................................................ 283
2 Tarificación mediante A2billing ......................................... 285
2.1 Conjiguración ................................................................ .............. 286
2.2 Conclusión ............................................................................. ...... 300
3 Manejo de Faxes mediante Avantfax •................................ 300
3.1 Instalación ....................................... ............................................ 302
3.2 Configuración .............................................................................. 302
4 Ejemplos prácticos .............................................................. 305
4.1 Tarificación en locutorios ............................................................ 305
4.2 Esquema de trabajo de un locutorio.... ........................................ 306
4.3 Puesta en marcha y configuración de un locutorio IP ........ ........ 308
APÉNDICE VII. ASEGURANDO LA CALIDAD DE UN
SISTEMA VOIP ................................................................ 317
1 Introducción ........................................................................ 317
2 Análisis inicial de la seguridad VoIP ................................. 318
3 Elementos susceptibles de ataques ..................................... 318
3.1. Seguridad en los terminales .................... : ...................................... 319
3.2. Seguridad en la red VolP ............................................................... 319
3.3. Seguridad en el servidor Asterisk (PBX) ........................................ 321
4 Conclusiones ........................................................................ 322
,
PAGINA WEB ................................................................................................. 325
ÍNDICE ALFABÉTICO................................................................................ 327
INTRODUCCIÓN
Francisco Gil Montoya yJulio Gómez lópez
La telefonía de hoy en día, tal y como la hemos conocido siempre, toca a
su fin. La era de las nuevas tecnologías, con Internet a la cabeza, está poniendo
patas arriba bastantes nichos tecnológicos que han permanecido invariables e
intocables durante mucho tiempo. El mundo de las comunicaciones por voz es uno
de ellos.
Desde que Antonio Menucci
1
inventara el primer teléfono (existe cierta
polémica acerca de quién inventó realmente el primer teléfono) allá por el año
1860, se han venido produciendo cambios y mejoras en los sistemas de telefonía
que han permitido su expansión por todo el mundo, llegando a prácticamente todos
los hogares y rincones.
No obstante, a día de hoy, estos sistemas siguen basándose en tecnologías
de hace varias décadas, obsoletas y que no son óptimas en muchos sentidos.
Piénsese, por ejemplo, en el uso que se hace de la línea telefónica cuando se
establece una comunicación: desde un extremo hasta el otro, se necesita que exista
una canal (habitualmente un par de cobre) constantemente abierto o dedicado, con
el consiguiente despilfarro de recursos.
http://es.wikipedia.org/wiki/Antonio_Meucci
.... -.._____i]lflIll!III:"
XIV VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
Hoy en día ya no es necesario dedicar un recurso por completo para
mantener una conversación. En la era de Internet, es posible que una conversación
telefónica se pueda mantener entre cualesquiera dos puntos, ocupando una simple
porción del espectro o ancho de banda de nuestra conexión de área local o hacia
Internet. La voz se convierte en paquetes y pasa a denominarse Voz sobre IP
(VoIP
2
en inglés).
Si la voz ya no viaja por un circuito dedicado y exclusivo, sino que ahora
es parte de nuestras comunicaciones de datos, conseguimos otro de los grandes
beneficios de las nuevas tecnologías, la unificación. La voz y los datos viajan por
la misma red, y no sólo eso, además son tratados y gestionados de forma conjunta y
coordinada. Este escenario permite un uso óptimo de los recursos.
Todo lo anterior implica que, a partir de ahora, la forma en que estamos
acostumbrados a comunicarnos cambiará sustancialmente. Las grandes compañías
ya lo saben y se están preparando para ello. Gracias al despliegue de nuevas redes
de datos (VDSL, FTTH, etc.), se p u ~ d e ofrecer ya una gran cantidad de servicios al
usuario fmal, con una calidad óptima y además de manera centralizada: televisión,
Internet y por supuesto, voz. Yana será necesario una "línea telefónica" y sí una
línea de datos.
Dentro de este contexto, la voz sobre IP está teniendo un auge vertiginoso.
Fundamentalmente, aquellos países que disponen y/o se están dotando de redes de
última generación y aquellos que realmente están invirtiendo en ello, disponen de
ventaja en su uso y disfrute. Sin redes fiables que dispongan de un buen caudal en
cuanto al ancho de banda, no es posible una migración seria y efectiva. Desde este
punto de vista, los países o comunidades que no tengan claro este concepto
perderán el tren digital y aumentarán aún más su déficit tecnológico (la famosa
brecha digital).
La voz sobre IP está teniendo un gran auge actualmente, apoyada en dos
pilares fundamentales: el protocolo SIp
3
y las aplicaciones GPL
4
(OpenSource)
tipo Asterisk
5

, http://es.wikipedia.org/wiki/Voip
http://es.wikipedia.org/wiki/Session_Initiation_Protoc01
, http://es.wikipedia.org/wiki/GPL
, http://www.asterisk.org
©RA-MA INTRODUCCIÓN XV
Sobre todo, este último está teniendo una gran aceptación en los entornos
más dinámicos e innovadores como son las empresas de tecnología o de corte
tecnológico.
Asterisk es una plataforma telefónica de código abierto (GPL) que
pretende revolucionar el mundo de las comunicaciones IP frente a las tradicionales
soluciones de grandes corporaciones como Cisco, Nortel, Ericsson, Siemens, etc.,
caracterizadas por su falta de transparencia hacia el usuario, sus protocolos
propietarios y cerrados, así como su elevado coste. También se habla de Asterisk
como una plataforma convergente por cuanto que unifica muchos de los servicios
que, tradicionalmente, se ofrecían por separado y/o en sistemas no integrados.
Asterisk es una solución completamente software y corre bajo GNUlLinux.
Esta configuración le confiere una robustez innata para desplegar servicios típicos
de los sistemas tradicionales, pero aportando mucha más flexibilidad, control,
creatividad ya muy bajo coste.
A los típicos servicios de buzón de voz, conferencias, colas, agentes,
música en espera, parking de llamadas, etc., se le une toda la potencia de
interacción con cualquier lenguaje de programación para realizar cualquier
funcionalidad que se desee. Todo se hace vía software. Y se hace de una manera
transparente, cumpliendo los estándares internacionales fijados de manera que
pueda interoperar con otros sistemas o tecnologías de manera clara y cercana. Esto
último sólo lo pueden soñar los sistemas propietarios (ji ya qué precio oiga!!).
Mediante la presente obra se intenta mostrar un enfoque eminentemente
práctico en el uso de la voz sobre IP a través del paquete Asterisk. Este enfoque es,
fundamentalmente, inicial, básico y con un carácter eminentemente introductorio.
No obstante, se incluyen los aspectos esenciales que ayudarán a tener una idea
general y de conjunto, permitiendo al lector recorrer un camino personal en la
construcción de un sistema completo de telefonía IP mediante herramientas de uso
libre y código abierto.
Para una mejor comprensión, se emplean numerosos ejemplos en aquellos
capítulos que se centran, mayoritariamente, en la descripción de la filosofia de
trabajo de Asterisk. Es recomendable que el lector esté familiarizado con una
administración básica de Linux, aunque esto no es del todo imprescindible.
El libro se estructura en los siguientes capítulos:
• Capítulo 1. La telefonía tradicional. Se proporciona una visión
genéricá acerca de las tecnologías más usuales existentes en el
campo de las comunicaciones y, más concretamente, en la Red
Pública Conmutada RTC (PSTN en inglés).
-----__II/IIIIIIII!II'II'"
XVI VOIP y ASTERlSK: REDESCUBRlENDO LA TELEFONÍA ©RA-MA
• Capítulo 1. VolP - La nueva revolución. En este capítulo se
cubren los aspectos básicos y esenciales de la incipiente tecnología
de Voz sobre IP (VoIP en inglés). Se detallan los protocolos más
importantes y utilizados en la vida real, así como los elementos de
hardware y software que hacen posible la comunicación.
• Capítulo 3. La revolución se llama Asterisk. En este capítulo se
entra de lleno en el apasionante mundo de Asterisk. Se habla y
detallan todos los aspectos de su potencial, instalación, lógica de
trabajo y configuración. Todo lo anterior, aderezado de sugerentes
y aclaradores ejemplos prácticos.
• Capítulo 4. Lógica de marcado o "Dialplan". Una vez conocida la
rutina de trabajo de Asterisk, se pasa a detallar su sintaxis, las
funciones y variables de trabajo, así como los diferentes módulos
que lo componen y/o que pueden añadirse a conveniencia.
También se presentan numerosos ejemplos prácticos alrededor de
cada explicación.
• Capítulo 5. Gestión de Asterisk mediante interfaz Web. Se detalla
cómo es posible manejar la configuración de Asterisk mediante
diversas interfaces Web al objeto de automatizar el proceso de
creación de usuarios, troncales de salida, IVR's, etc., así como
acercar la complejidad y potencial que presenta el sistema al
usuario menos experto o no iniciado.
Al final del libro se encuentran una serie de anexos que complementan la
filosofia general del libro. En ellos se realiza una introducción general al mundo de
GNUlLinux y las redes de datos. Así mismo, se presentan una serie de ejemplos de
configuración de clientes para VoIP junto a una detallada descripción de software
creado para trabajar conjuntamente con Asterisk. Se presentan unos ejemplos
prácticos que ayudarán al lector a comprender mucho mejor la potencia del
sistema, así como sus diversos usos en el mundo reaL Por último, se realiza una
breve introducción a los diferentes problemas de seguridad que pueden surgir en
los sistemas de telefonía IP, proponiendo algunas soluciones a los mismos.
Además se pone a disposición del lector el uso de la Web
http://www.adminso.es para completar información relacionada con Asterisk. Tras
un proceso de registro, se tendrá acceso a diferente material electrónico como, por
ejemplo, ficheros de configuración, diferente material didáctico, etc.
••
-


..
*

;.
,

11



t;
1
©RA-MA INTRODUCCIÓN XVII
1': ,,'Y'f
Admimst,,,ci<ín 00
Slsl<>mas Operatlvos
- ,
"
tnformación generaJ
••
SI"..... <ME ,,:..m..dc.... ¡;.qu,nM! 1""'*-""u ""'1".... y L""",
.b. tO"" :tdo'q;lrtt! d.
....(\t",:·s.p$cl!n!;ffOóhe•
Figura 1. Portal www.adminso.es
Por último, reseñar que el libro está basado en la rama 1.4 de Asterisk, que
a fecha de edición, es la rama estable y en desarrollo del proyecto. Existen además
la rama 1.0 y 1.2 (en estado de mantenimiento, es decir, sólo se resuelven aspectos
críticos o de seguridad), y la rama 1.6 (aún en estado beta).
CAPÍTULO 1
,
LA TELEFONIA TRADICIONAL
Jesús Camacho Rodríguez yFrancisco José Méndez Cirera
1 Sistemas analógicos
La red telefónica básica (RTB
1
) fue creada para transmitir la voz humana.
Tanto por la naturaleza de la información a transmitir, como por la tecnología
disponible en la época en que fue creada, es de tipo analógico. Hasta hace poco se
denominaba RTC (Red Telefónica Conmutada), pero la aparición del sistema
RDSI (digital pero basado también en la conmutación de circuitos) ha hecho que
se prefiera utilizar la terminología RTB para la primitiva red telefónica (analógica),
reservando las siglas RTC para las redes conmutadas de cualquier tipo (analógicas
y digitales); así pues, la RTC incluye la primitiva RTB y la moderna RDSI (Red
Digital de Servicios Integrados). RTB es en definitiva la línea que tenemos en el
hogar o la empresa, cuya utilización ha estado enfocada fundamentalmente hacia
1 La RTB es conocida en literatura inglesa como PSTN.
2 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA·MA
las comunicaciones mediante voz, aunque cada vez ha ido tomando más auge el
uso para transmisión de datos como fax, Internet, etc.
Cada línea RTB tiene asignada una numeración específica (su dirección
telefónica) y está fisicamente construida por dos hilos metálicos (conocidos como
par de cobre), que se extienden desde la central telefónica hasta la instalación del
abonado (se conoce también como bucle de abonado). Cada central atiende las
líneas de abonado de un área geográfica detenninada. A su vez, las centrales
telefónicas están unidas entre sí por sistemas más complejos y basados en
tecnología digital. Esta unión de centrales constituye el sistema telefónico nacional
que a su vez está enlazado con los restantes del mundo.
En los años 60 las centrales telefónicas, mayoritariamente analógicas,
fueron transfonnando su tecnología a digital. Ello solventó diversos problemas,
como los relacionados con la degradación de la señal de voz y la imposibilidad de
manejar gran cantidad de llamadas. Del mismo modo, la intención fue también
digitalizar el bucle local pero por motiVúS meramente económicos el bucle local
continuó siendo analógico. Finalmente, la medida que se adoptó fue la de
digitalizar la comunicación entre las centralitas telefónicas, manteniendo el bucle
local analógico, y obteniéndose así los beneficios de la telefonía digital a un precio
razonable. Esta medida dio lugar a lo que se conoce como RDJ "Red Digital
Integrada" .
La situación actual para la RTB puede clasificarse como híbrida; lo nonnal
es que la transmisión sea todavía analógica en los bucles de abonado de ambos
extremos y digital en su tráfico entre centrales (esto requiere una doble conversión,
analógico-digital y digital-analógico). Para su digitalización, la señal analógica es
muestreada a 8.000 veces por segundo (8 Khz.). El valor de cada muestra puede ser
un valor entre O y 255 (puede ser representado por 1 byte
-octeto-) lo que supone un flujo de datos de 8 KB/s o 64 Kb/s, lo cual se denomina
calidad de sonido telefónico.
Como hemos visto, se disponga por tanto de tecnología RDSI o analógica
se requiere de un enlace desde nuestro hogar hasta la central telefónica asignada a
nuestra zona. Es por ello que es de gran importancia conocer los dos tipos de
conexiones telefónicas analógicas existentes, conocidas como FXS y FXO, es
decir, los nombres de los puertos o interfaces usados por las líneas telefónicas y los
dispositivos analógicos.
1.1 FXS
La interfaz "Foreign eXchange Subscriber" o FXS es el puerto por el cual
el abonado accede a la línea telefónica, ya sea de la compañía telefónica o de la
©RA-MA CAPÍTULO 1: LA TELEFONÍA TRADICIONAL 3
central de la empresa. En otras palabras, la interfaz FXS provee el servicio al
usuario final (teléfonos, módem s o faxes).
Los puertos FXS son, por lo tanto, los encargados de:
• Proporcionar tono de marcado.
• Suministrar tensión (y corriente) al dispositivo final.
Para entender mejor el concepto, piense en el caso de un hogar tradicional.
La interfaz FXS es el punto donde se conectan los teléfonos del hogar que quieren
hacer uso de la línea. La interfaz FXS sería entonces la roseta de telefonía del
hogar.
Figura l-l. Roseta telefónica o PTR
1.2 FXO
La interfaz "Foreign eXchange Office" o FXO es el puerto por el cual se
recibe a la línea telefónica. Los puertos FXO cumplen la funcionalidad de enviar
una indicación de colgado o descolgado conocida como cierre de bucle.
Un ejemplo de interfaz FXO es la conexión telefónica que tienen los
teléfonos analógicos, fax, etc. Es por ello que a los teléfonos analógicos se les
denomina "dispositivos FXO".
A modo de resumen se quiere destacar que dos puertos se pueden conectar
entre sí con la condición de ser de distinto tipo, es decir, FXO y FXS son siempre
pareja (similar a un enchufe macho/hembra).
En la figura 1-3 se muestra el escenario de un hogar tradicional. Como
podemos apreciar siempre se conectan entre sí interfaces de distintos tipos, es
decir, FXS con FXO o viceversa. El teléfono posee una interfaz FXO como se
4 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
muestra en la imagen, el cual es conectado a la roseta de la compañía telefónica
(FXS).
Figura 1-2. Dispositivo FXO
-IFXSI
•....,...
Figura /-3. FXS IFXO sin centralita
2 Sistemas digitales
2.1 RDSI
Los trabajos de desarrollo de la Red Digital de Servicios Integrados (RDSI
o ISDN, en inglés Integrated Services Digital Network) comenzaron en la década
de los 80, pero ésta no sería comercializada hasta principios de los años 90. Se
esperaba que la RDSI pudiera revolucionar la industria de las comunicaciones
telefónicas como hoy día se espera que lo pueda hacer la VoIP. Sin embargo, y
aunque las compañías telefónicas pusieron mucho empeño en extenderlo al mayor
número de lugares posibles, muchos consideran la RDSI un fracaso debido a que
©RA-MA CAPÍTULO 1: LA TELEFONÍA TRADICIONAL 5
todo lo que prometía no se pudo llevar a cabo. Lo cierto es que la RDSI nunca
terminó de despegar ya que cuando lo estaba haciendo surgió otra tecnología que
tuvo una implantación mucho más barata y rápida, la Asymmetric Digital
Subscriber Line (ADSL).
La RDSI permite que en una línea coexistan múltiples canales, pudiendo
contener cada uno de ellos datos (canales B) o señalización (canales D). Pero
además, la RDSI no se limita sólo a la transmisión de voz. Cada canal tiene un
ancho de banda de 64 Kbps, de forma que pueden emplearse canales B y D para la
transmisión de datos (éstos últimos siempre que no haya datos de señalización).
Precisamente esta característica dota a la RDSI de una mayor flexibilidad que la
que poseen las líneas de la RTB, ya que los canales pueden ser reconfigurados
sobre la marcha para que transmitan voz o datos.
Tal y como se muestra en la figura 1-4, la línea RDSI básica, también
conocida como BRI (Basic Rate Interface), tiene tres canales (dos canales B y un
canal D), de forma que pueden rel\.lizarse dos llamadas telefónicas de forma
simultánea en una única BRI. Los usuarios finales de este tipo de línea fueron, en
principio, empresas relativamente pequeñas. Desafortunadamente, cuando esta
versión de la RDSI fue lanzada al público, otros tipos de medios y servicios ya
habían evolucionado de forma que ofrecían más ancho de banda sin la complejidad
y el coste asociados a ésta. Todavía existen algunos usuarios de líneas BRI
(emplean ésta principalmente para videoconferencia debido a su ancho de banda
fijo), pero en la mayoría de los casos se encuentran en proceso de cambio hacia la
ADSL, cable o algún tipo de tecnología inalámbrica.
1 canal B a 64 Kbps
1 canal 6 a 64 Kbps
1 canal O a 16 Kbps
Figura 1-4. Arquitectura de un cable RDS1 BRI
A diferencia de la versión BRI de RDSI, la PRI (Primary Rate Interface)
posee dos versiones, una de 31 (30 canales B y 1 canal D) y otra de 24 canales (23
canales B y 1 canal D), por lo tanto, con ésta pueden realizarse 30 ó 23 llamadas
6 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
telefónicas al mismo tiemp02, respectivamente. Su implantación ha sido mayor que
la de la BRI y normalmente constituye la elección para instalaciones de un tamaño
considerable. Además, sus costes son proporcionalmente menores que los
asociados a la BRI.
2.2 El/TI
Un TI es un acceso digital que dispone de 24 canales, pudiéndose realizar
en cada uno de ellos ( menos uno) una llamada.
Mientras que el TI es muy común en Estados Unidos y Japón, en Europa
se emplea con mayor frecuencia el E1. A diferencia del TI, esta línea dispone de
32 canales en vez de 24.
Tanto los TI s como los El s tienen que señalizar las llamadas de alguna
manera. Esto se consigue mediante lo que 'Se conoce como Señalización por Robo
de Bit (Robbed BU Signaling), es decir, que cada cierto tiempo se usa un bit de
cada canal para así señalizar y enviar información a través de la línea (TI s), o
mediante multiplexación del bit en un canal común, algo que se emplea sobre todo
en Europa (EIs).
Usar TIs y EIs para proporcionar datos y voz a la vez es muy común. En
esta ocasión, algunos de los canales de las líneas son asignados para ser usados
para datos y otros son asignados para ser usados para voz. Incluso se puede dar el
caso de que existan canales sin usar. Los proveedores de servicios pueden
proporcionar en este caso precios más bajos de lo normal, ya que, por ejemplo,
unos cuantos canales podrían ser para voz, otros para conectarse a Internet y un
último grupo podría ser para conectarse de forma privada a otra oficina de la
organización.
Por todo lo comentado, si necesita tener, por ejemplo, de 8 a 16 líneas así
como conexión de datos, tanto un TI como un El (dependiendo de la zona donde
estemos) podrían constituir una buena elección.
Los dos tipos de enlaces primarios se denominan El Tl. El primero de
ellos es utilizado en Europa y Australia, mientras que segundo se usa en
Estados Unidos, Canadá y Jap6n, fundamentalmente.
© RA-MA CAPíTULO 1: LA TELEFONÍA TRADICIONAL 7
2.3 OTROS
Además de las líneas mencionadas anterionnente, existen otros tipos de
líneas digitales que son empleadas nonnalmente para realizar la comunicación de
una red a otra red. Principalmente se trabaja con las siguientes:
• Las líneas T3s, que son proporcionadas a través de cable coaxial o enlace
de microondas y que son capaces de transportar 28 TI s, o lo que es lo
mismo, 672 canales. Esto hace que una T3 tenga un ancho de banda de
44,736 Mbps.
• Las líneas E3s, proporcionadas únicamente a través de cable coaxial. Son
capaces de transportar 16 E 1 s, lo que hace un total de 512 canales. El
ancho de banda de este tipo de líneas es de 34,368 Mbps.
• Las líneas T 4s, proporcionadas tanto a través de cable coaxial como a
través de enlace de microondas. Son capaces de transportar 168 TI s, es
decir, 4.032 canales, por lo que su ancho de banda es de 274,176 Mbps.
• Por último, la Synchronous Optical Network (SONET) y la Synchronous
Digital Hierarchy (SDR), proporcionadas a través de fibra óptica. La
primera se emplea en Estados Unidos y Canadá, mientras que la segunda lo
es en el resto del mundo. Los anchos de banda de transmisión de datos
empleados en estas líneas varían desde los 51,840 Mbps hasta los 39,813
Gbps (aunque teóricamente se podrían alcanzar los 159,252 Gbps).
La relación anterior no es definitiva, ni mucho menos, ya que cada día
salen al mercado nuevos estándares de mucha más capacidad, como por ejemplo el
novedoso FTTR.
Para la señalización entre redes, además de emplear las técnicas
mencionadas anterionnente en TI y El, se suele emplear también un método
llamado Signaling System 7 (SS7), conocido como C7 en los países europeos. Éste
es un protocolo que aporta ciertas ventajas sobre los otros ya que está basado en
conmutación de paquetes y la señalización no se realiza de fonna intercalada en la
línea de transmisión, sino que se realiza a través de paquetes que contienen toda la
infonnación necesaria al comienzo de la conexión. Esto provoca que toda la
infonnación sea enviada de manera más rápida.
8 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
Figura 1-5. Cable defibra óptica
3 Redes móviles
3.1 GSM (2G)
GSM (Global System lor Mobile communications, proveniente en un
principio de Groupe Special Mobile) es el estándar más popular y extendido para
teléfonos móviles en todo el mundo. Se comenzó a trabajar en él en la década de
los 80, pero no sería hasta 1991 cuando la primera red GSM fue lanzada,
concretamente en Finlandia. Su promotor, la Asociación GSM, estima que el 82%
del mercado global de teléfonos móviles lo emplea. Precisamente su ubicuidad
hace que el roamini internacional sea muy común entre los operadores de
móviles, permitiendo a los usuarios suscritos a sus servicios emplear sus teléfonos
en muchas partes del mundo. Los operadores móviles también se han visto
favorecidos por esta implantación tan grande ya que les ha permitido elegir su
equipamiento entre multitud de fabricantes de todo el mundo que emplean GSM en
sus dispositivos.
o itinerancia es un concepto relacionado con la capacidad de un
para moverse de una zona de cobertura a otra.
©RA-MA CAPÍTULO 1: LA TELEFONÍA TRADICIONAL 9
.11
r:n.
GS1.1.ln.
Figura 1-6. Logotipo GSM
GSM difiere de sus predecesores en que ambos canales, tanto el de
señalización como el de voz, son en esta ocasión digitales. Por ello se considera a
GSM como un sistema de telefonía móvil de segunda generación (2G). Además,
con GSM comenzó a ser mucho más fácil integrar, en los teléfonos móviles, la
posibilidad de establecer comunicaciones de datos.
GSM en una red celular para dispositivos móviles, lo que significa que los
terminales se conectarán a ella buscando estaciones base (también conocidas como
células o BTS, en inglés Base Telephone Station) en sus inmediaciones. GSM
funciona principalmente en cuatro rangos de frecuencias: las bandas de frecuencia
de 900 MHz y 1800 MHz son las más comunes, mientras que en algunos países
americanos (como Estados Unidos o Canadá) se emplean las bandas de 850 MHz y
1900 MHz debido a que las anteriores se encontraban ya en uso para otras
aplicaciones. También existen casos, aunque son poco frecuentes, en los que se
emplean las bandas de frecuencia de 400 MHz y 450 MHz. Este hecho se produce
por ejemplo en los países escandinavos, donde los dispositivos móviles de primera
generación comenzaron empleando esos rangos de frecuencias y decidieron
mantenerlos para su uso con GSM.
La red existente detrás de GSM (y que el usuario corriente no percibe) es
bastante grande y compleja. De otra manera sería imposible proporcionar todos los
servicios que el usuario final recibe de ésta.
GSM emplea varios codecs
4
de audio para comprimir el sonido transmitido
a través de los terminales móviles. Al principio, fueron empleados dos codecs, Half
Rafe y Full Rate, que se llamaban así debido a la relación que éstos guardaban con
la forma en la que usaban el canal de transferencia (de forma parcial o de forma
completa, respectivamente) en el que eran empleados. Ambos codecs eran bastante
• Codee es una abreviatura de codificación-decodificación. Su uso se refiere
a la capacidad de codificar y decodificar una señal de audio en un sistema
concreto.
;------------, ,-----------­
, 1 I
, 1 I
:.,
"'---.I
, I
I
AlH ',, _____A:."!t____ _
,,1
t! :
,
,
,
I
,
I
,
,
.... ___________ ,f
10 VOlP Y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
eficientes en cuanto a compreslon, además de implementar la identificación de
partes importantes de audio permitiendo la priorización y protección de dichas
partes. A partir de 1997 comenzó a emplearse el codec Enhanced Fu!! Rate (EFR),
que mejoró el estándar y usaba el canal de transferencia completamente.
(UM
Estac:ión Subsist ..... a de Subsistema de
móvil Estación Base Red
SIM TarjetaSIMa MódUm de IdenUflatdorde Usuario DM Dlsposrtiw Mó,,'
nT ES1adón 9aseTf3nsmtsora CEO fontrotadorde Estación 9'ase
RlI. ReI!lSl'" ele "',,"!1a<ión "'ca, RI.V Registro de lotBIizaoón
Vt5itante
(:1M CentTode Intercambio de 5entdos Mó;Hes _
Figura 1-7. Esquema de una red tradicional GSM
El estándar GSM fue pionero al incluir una alternativa barata a las llamadas
de voz a través de la red de telefonía, el mensaje de texto (Short Messaging Service
o SMS), soportado hoy día por prácticamente la totalidad de estándares para móvil.
También incluía el número de teléfono para emergencias (concretamente en Europa
es el 112), que hacía muy fácil a los viajeros el poder contactar con los servicios de
emergencias sin tener que conocer el número local de éstos.
Las nuevas versiones del estándar han sido retro-compatibles con los
teléfonos GSM originales. En la especificación de 1997 el estándar añadió
capacidad para transportar paquetes de datos a través del servicio General Packet
Radio Service (GPRS), incluyendo entre otras cosas mensajes multimedia
(Multimedia Messaging Servíce o MMS) o aplicaciones de Internet a través del
Wireless Application Protocol (WAP). GPRS es comúnmente conocido como
2,5G, debido a que es una especificación que se encuentra entre la segunda y la
tercera generación de telefonía móviL En la especificación de 1999 se introdujo
una mejora en la velocidad de transmisión de datos a través del uso del servicio
Enhanced Data rates lor GSMEvolution (EDGE).
© RA-MA CAPÍTULO 1: LA TELEFONÍA TRADICIONAL 11
3.2 UMTS (3G)
UMTS (Universal Mobile Telecommunications System) es una tecnología
de tercera generación (30) para telefonía móvil. Está estandarizado por 30PP (3rd
Generation Partnership Program), una colaboración entre grupos de
telecomunicaciones de varios lugares del mundo para desarrollar una
especificación de un sistema de telefonía aplicable globalmente y que cumpla las
exigencias de ITU IMT-2000. Ese sistema está basado en una evolución de las
especificaciones de OSM. 30PP fue creado a finales de 1998, pero no sería hasta
principios de 2000 cuando surgiría la especificación de la primera red UMTS.
Las bandas de frecuencia en las que opera UMTS varían dependiendo del
país, aunque en el estándar original se definía el rango de frecuencias 1885-2025
MHz para la comunicación de móvil a estación base (uplink o enlace de subida) y
el rango de frecuencias 2110-2200 MHz para la comunicación de estación base a
móvil (downlink o enlace de bajada). El amplio espectro de frecuencias que emplea
UMTS ha sido ampliamente criticado ya que retrasó el despliegue en algunos
países en los que es lenta la asignación de frecuencias (como en Estados Unidos).
Para los operadores de OSM existentes, la migración de esta tecnología a
UMTS constituye un camino simple pero costoso. Esto se debe a que una gran
parte de la infraestructura de UMTS se comparte con OSM, pero el coste de
obtener las nuevas licencias para el espectro de frecuencias así como implementar
UMTS en las torres existentes es alto. Por otra parte, los mayores fabricantes de
móviles 20 son hoy día también fabricantes de modelos 30.
Además de la familia OSM de codecs de voz, con el desarrollo de UMTS,
EFR dio paso a un codec de ratio variable llamado A.MR-Narrowband. Éste tiene
una calidad alta y es robusto contra interferencias cuando es usado empleando el
canal de transferencia completamente, mientras que es menos robusto pero
mantiene una calidad relativamente alta cuando es usado en buenas condiciones
empleando el canal de transferencia de forma parcial.
UMTS proporciona una gran mejora en la transferencia de datos con
respecto a sus predecesores, pudiendo alcanzar (eso sí, de forma teórica) hasta 14
Mbps. En la práctica se han llegado a alcanzar tasas de transferencia de bajada de
7;2 Mbps, una velocidad muy superior a los 9,6 Kbps que ofrecían los primeros
canales de datos empleados en OSM. Esta velocidad de transferencia ha abierto la
posibilidad de ejecutar aplicaciones y realizar acciones con nuestros terminales
móviles que nos parecían impensables hace tan sólo unos años. A largo plazo, el
proyecto 3GPP Long Term Evolution planea que UMTS pueda alcanzar en una
tecnología para móviles de cuarta generación (40) velocidades de bajada de hasta
100 Mbps y de subida de hasta 50 Mbps.
12 VOIP y ASTERlSK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
Las primeras redes comerciales UMTS fueron lanzadas en 2002 y para
promocionarlas se hizo especial énfasis en las posibilidades que éstas brindaban
relacionadas con aplicaciones como la televisión por móvil o la videoconferencia.
Poco a poco, las experiencias en Japón y otros lugares de temprana implantación
mostraron que las videoconferencias no eran muy empleadas y que aplicaciones
como la televisión por móvil no alcanzaban la demanda esperada, empleándose la
alta velocidad de transferencia de datos de UMTS mayoritariamente para acceder a
Internet. De esta forma, hoy día es común el uso de las redes UMTS para acceder a
Internet, ya sea directamente desde un terminal móvil o bien desde un ordenador a
través de Wi-Fi, Bluetooth, infrarrojos o USB.
4 Centralitas tradicionales PBX
4.1 INTRODUCCIÓN
Una Centralita privada o PBX
5
es un dispositivo de telefonía que actúa
como conmutador de llamadas en una red telefónica o de conmutación de circuitos.
La centralita es un dispositivo de telefonía que se suele utilizar en la
mayoría de las medianas y grandes empresas, no así en los hogares, donde los
terminales existentes son pocos y las exigencias no son importantes. Permite a los
usuarios o abonados compartir un determinado número de líneas externas
(analógicas o digitales) para hacer llamadas telefónicas entrantes o salientes, así
como establecer comunicaciones internas entre todos los dispositivos que dependen
de la PBX. Entre las muchas ventajas que ofrece, una PBX es una solución mucho
menos cara que proporcionar a cada usuario de la empresa una línea telefónica
externa. Así mismo, a una PBX se le pueden conectar teléfonos, máquinas de fax,
módems y otros dispositivos de comunicación.
La PBX normalmente se instala en la propia empresa y conecta las
llamadas entre los teléfonos situados e instalados en la misma. Habitualmente, hay
un número limitado de líneas externas, también llamadas líneas troncales, para
realizar y recibir llamadas externas a la empresa desde un origen externo que suele
ser la RTC (PSTN).
Las llamadas realizadas a números de teléfono externos, mediante una
PBX, se suelen realizar anteponiendo un dígito (habitualmente el O) al número
, Private Branch Exchange en inglés.
eRA-MA CAPÍTULO 1: LA TELEFONÍA TRADICIONAL \3
externo en algunos sistemas, de fonna que la PBX selecciona automáticamente una
linea troncal saliente. Al contrario, las llamadas realizadas entre usuarios dentro de
la empresa nonnalmente no necesitan el marcado de ningún número especial o el
uso de una línea externa troncaL Esto se debe a que la PBX enruta o conmuta las
llamadas internas entre teléfonos que están conectados fisicamente a dicha PBX.
En la figura 1-8 se puede apreciar un esquema de ejemplo de conexión de
varias PBX pertenecientes a la Universidad de Almería.
Campus Telefónica
la Cañada España
Figura 1-8. Esquemas de interconexión de centralitas
4.2 SISTEMAS COMERCIALES
Actualmente existe una gran diversidad de modelos de centralitas:
centralitas con mayor o menor número de extensiones para pequefias o grandes
empresas, de más o menos prestaciones, con mayor o menor funcionalidad,
totalmente analógicas, híbridas o completamente IP.
Figura 1-9. Centralitas tradicionales
14 VOlP y ASTERlSK: REDESCUBRtENDO LA TELEFONÍA ©RA-MA
En general, la mayoría de centralitas comerciales ofrece una serie de
funciones muy importantes como la recepción de llamadas sin necesidad de
comunicarse con la operadora, es decir, los llamantes pueden seleccionar el destino
con el que desean hablar tecleando el número que tiene asignado. Un ejemplo sería
"Pulse uno para deparJamento de ventas, dos para departamentos de
marketing. .. n. También se integran funciones de buzón de voz en caso de que el
destinatario no se encuentre disponible para responder a la llamada, mensajes en
espera personalizados para cada una de las extensiones, desvío de llamadas, etc.
Otras funcionalidades muy útiles en entornos empresariales son: conferencias,
grupos de extensiones, restricción de llamadas, etc. Los grupos de extensiones
permiten definir un conjunto de extensiones para cumplir entre todas una función
específica, por ejemplo dar un servicio de atención al cliente. La restricción de
llamadas es también fundamental en el entorno empresarial, la cual permite
programar qué destinos para llamadas salientes están prohibidos o qué destinos
están permitidos.
Las centralitas híbridas combinan las prestaciones de una central telefónica
con la tecnología IP. A nivel empresarial esta integración con la tecnología IP
ofrece grandes ventajas: los recursos humanos de la empresa pueden estar
dispersos geográficamente manteniendo los recursos telefónicos centralizados,
además de que aquellas empresas que desean utilizar su cableado de red para
conectar teléfonos en lugares donde no siempre hay conectado un terminal
telefónico, o bien trasladarse de un punto a otro de la red junto con su terminal
telefónico (con todas sus prestaciones asociadas), sin tener que volver a configurar
el terminal, resulta muy práctico.
En la figura 1-10 puede ver una centralita modelo "Panasonic TDA 15":
Figura 1-10. Centralita híbrida (Panasonic TDA15)
¡; RA-MA CAPÍTULO 1: LA TELEFONÍA TRADICIONAL 15
Otros fabricantes que se dedican a la comercialización son Alcatel,
Ericsson, A vaya, Siemens, etc. Las prestaciones entre uno y otro fabricante son
muy similares
CAPÍTULO 2
VOIP - LA NUEVA REVOLUCIÓN
Alfredo Alcaide García y Raúl Baños Navarro
1 Introducción a la VoIP
En la década de los 90, un grupo de personas perteneciente al entorno de la
investigación, tanto de instituciones educativas como empresariales, comenzaron a
mostrar un cierto interés por transportar voz y video sobre redes IP, especialmente
a través de intranets corporativas e Internet. Esta tecnología es conocida hoy día
como VoIP y es el proceso de dividir el audio y el vídeo en pequeños fragmentos,
transmitir dichos fragmentos a través de una red IP y reensamblar esos fragmentos
en el destino final permitiendo de esta manera que la gente pueda comunicarse.
La idea de la VoIP no es nueva, ya que hay patentes y publicaciones de
investigaciones que datan de varias décadas. La VoIP ha tomado un papel central
en la autopista de la información (o Internet) para que la red pueda interconectar
cada hogar y cada negocio a través de una red de conmutación de paquetes. Fue la
posibilidad de un despliegue masivo de Internet la que volvió a reabrir el interés en
la VoIP a partir de esos años.
2
18 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
Evolución
En 1995, una pequeña compañía llamada Vacoltec anunció el lanzamiento
del primer teléfono software para Internet. Este software era únicamente útil para
entablar una comunicación de PC a PC y para ello necesitaba hacer uso de diversos
requisitos hardware tales como micrófono, altavoces, tarjeta de sonido y módem.
Básicamente el funcionamiento de este software es igual al de hoy día, transformar
la señal de voz en paquetes IP una vez comprimida. Sin embargo, esta alternativa a
la comunicación telefónica tradicional fue comercialmente un fracaso ya que las
conexiones a Internet que se disponían ofreCÍan un ancho de banda muy escaso.
Durante los años siguientes, la tecnología asociada a las redes de datos y
las comunicaciones continuó mejorando, para ser en 1998 cuando se dieron
definitivamente los primeros pasos desde un punto de vista comercial. En este año
diversas compañías lanzaron al mercado adaptadores que permitían hacer uso de
los teléfonos tradicionales en un entorno VoIP. Ello facilitó el acercamiento a los
clientes a la hora de poder hacer uso de la tecnología VoIP, por lo que algunas
empresas importantes se lanzaron al mercado ofreciendo productos y servicios
relacionados con esta tecnología. Durante el año 1998 la tecnología VolP
alcanzaba ya el 1% del tráfico total de voz: su carrera había comenzado.
En 1999, compañías dedicadas a las redes de datos tales como Cisco
crearon las primeras plataformas destinadas a empresas capaces de tratar con
tráfico VoIP. Esto supuso un nuevo impulso a la VolP ya que comenzó a
implantarse en muchas empresas. La consecuencia directa fue que la VoIP
alcanzara en el año 2000 más del 3% del tráfico total de voz.
Las redes de datos siguieron mejorando en años venideros, y alrededor del
año 2005 ya era fácil para cualquier persona de países desarrollados conseguir una
conexión a Internet que cumpliera los requisitos mínimos para ofrecer una buena
calidad de voz y una comunicación fiable a través de VoIP, reduciendo al mínimo
las posibles interrupciones que se pudieran producir durante la conversación.
Esto supuso otro gran impulso a la VoIP y provocó que a día de hoy
existan muchas soluciones que hacen uso de esta tecnología. Un ejemplo claro es
Asterisk, una centralita telefónica de software libre que se distribuye bajo licencia
GPL. Este producto, soportado comercialmente por Digium, se ha convertido en
pocos años en una de las soluciones IP más extendidas en diversos ámbitos, como
el empresarial o el educativo. Otro ejemplo destacable de producto VoIP es Skype,
que fue creado por dos jóvenes universitarios en el año 2003. A diferencia de
Asterisk, Skype hace uso de un protocolo privado que no está basado en un
estándar, lo que a largo plazo se piensa que limitará a sus usuarios. A día de hoy
Skype se puede emplear en multitud de plataformas y su uso se encuentra también
ampliamente extendido.
1
19 eRA-MA CAPÍTULO 2; VOIP -LANUEVAREVOLUCrÓN
>0,00: .... ___ _
1997 1998 1999 2000 2001 2002 2003 2004 2005
11 Aftíca/Middle Eut • Eurojl(l
• S. Amerka¡Caribbean Nortn America
• AsiajPadflc
Figura 2-1. Tráfico VolP en todo el mundo (dividido por regiones)
De un modo u otro, a finales del año 2008 se espera que el negocio
Rlacionado con la VoIP llegue a la impresionante cifra de 5.000 millones de
dólares, El bajo coste de las llamadas a distancia y las nuevas funcionalidades que
se están implementando son sólo dos de los alicientes que están provocando esta
R:\'olución.
3 Ventajas
Aunque VoIP puede definirse de forma abreviada como una tecnología que
apuvecha el protocolo TCP/IP para ofrecer conversaciones de voz, lo cierto es que
es mucho más que esto, VoIP puede ser usada para reemplazar la telefonía
1I3Idicional en un entorno empresarial, en un pequeño negocio o en casa, o
simplemente para añadir ventajas a un sistema de telefonía tradicional.
)
Consideremos hacer una llamada a una persona que se encuentra en la otra
..nad del globo. ¡Lo primero en lo que pensaríamos, sin duda, sería la factura de
ldéfono que tendríamos que pagar! VoIP soluciona este problema y muchos otros.
'1
VoIP tiene también algunas desventajas, sin embargo, las ventajas que
tl
puede aportar superan claramente a éstas. A continuación vamos a nombrar
100,000
90,000
3: 80,000
;:)
'O 70,000
$
Ul
60,000
;;¡
¡;;
:i 5°,000
'O 4°,000
J3°,000
~ 20,000
Global VolP Trame by Reglon. 1997~ 2 0 0 5
••1
20 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
algunos de los beneficios asociados al uso de VoIP y veremos cómo podría mejorar
la comunicación por voz de nuestro negocio u hogar:
• Ahorrar dinero. Si no se usa VoIP para la comunicacIOn por voz,
entonces seguramente se esté utilizando la vieja línea de teléfono. En una
línea RTC, tiempo significa dinero. Como VoIP emplea Internet como
medio de transporte, el único coste que se tiene es la factura mensual de
Internet a tu proveedor de servicio o ISP. Hoy día el servicio de Internet
más común es una ADSL que se puede emplear de forma ilimitada y
conlleva un coste fijo al mes. De esta forma, si el ADSL tiene una
velocidad razonable, podrá hablar a través de VoIP con una buena calidad
de llamada y el coste seguirá siendo siempre el mismo.
• Más de dos personas. En una línea de teléfono corriente, únicamente dos
personas pueden hablar al mismo tiempo. Con VoIP, puedes configurar
una conferencia que permite a un grupo de personas comunicarse en
tiempo real. VoIP comprime los paquetes durante la transmisión, algo que
provoca que se pueda transmitir una cantidad mayor de datos. Como
resultado, se pueden establecer más llamadas a través de una única línea de
acceso.
• Hardware y software baratos. Si eres un usuario de Internet que está
deseando usar VoIP para comunicarse por voz, el único hardware adicional
que necesitarás además de tu ordenador y tu conexión a Internet será una
tarjeta de sonido, unos altavoces y un micrófono. Todo este material es a
día de hoy bastante barato. Existen diferentes paquetes software
descargables de Internet que emplean VoIP y que sirven para establecer
comunicaciones por voz. Algunos ejemplos son aplicaciones tan conocidas
como Skype o Net2Phone. Lo que debemos tener en cuenta es que para
comenzar a emplear VoIP no necesitaremos un teléfono con todo el
equipamiento asociado a éste, algo que podría resultar algo más caro.
Además en la mayoría de los casos no será necesario hacer nuevas
instalaciones de cableado telefónico, ya que VoIP se integra con la red de
datos existente en la gran mayoría de empresas y hogares.
• Prestaciones abundantes, interesantes y útiles. Usar VoIP también
significa beneficiarse de sus prestaciones abundantes, que pueden hacer la
experiencia de emplear VoIP mucho más rica y sofisticada, tanto en tu
hogar como en tu trabajo. En general, te encontrarás mejor equipado para
la gestión de llamadas. Podrás, por ejemplo, hacer llamadas en cualquier
lugar del mundo a cualquier destino del mundo únicamente empleando tu
cuenta VoIP. De esta forma, la VoIP pasa a ser un servicio tan portable
como el e-mail, es decir, no limita la movilidad del abonado. Otras
prestaciones que ofrece VoIP son el reconocimiento de llamada,
1
21 eRA-MA CAPÍTUL02: VOIP LANUEVAREVOLUCIÓN
posibilidad de crear números virtuales o el contestador automático, por
poner algunos ejemplos.
• Más que voz. Al estar basada en una red de paquetes, VoIP puede manejar
también otros tipos de datos además de la voz: podríamos transmitir
imágenes, video o texto a la vez que la voz. De esta forma, puedes hablar
con alguien a la vez que le envías archivos o incluso a la vez que te está
viendo a través de una webcam.
• Uso más eficiente del ancho de banda. Se sabe que el 50% de una
conversación de voz es silencio. VoIP rellena estos espacios de silencio
con datos de forma que el ancho de banda de los canales de comunicación
de datos no sean desaprovechados. La compresión y la posibilidad de
eliminar la redundancia cuando se transmite voz serán también factores
que elevarán la eficiencia del uso del ancho de banda de la conexión.
• Esquema de red flexible. Lared que encontramos bajo VoIP no necesita
tener un esquema o topología en concreto. Esto hace posible que una
organización pueda hacer uso de la potencia de las tecnologías que elijan,
como A TM, SONET o Ethernet.
Cuando empleamos VoIP, la complejidad de la red inherente en las
conexiones RTC es eliminada, creándose una infraestructura flexible que
puede soportar muchos tipos de comunicación. El sistema estará más
estandarizado, requerirá menos equipamiento y su tolerancia a fallos será
mayor.
• Teletrabajo. Si trabajas en una organización que emplea una intranet o
extranet, todavía podrás acceder a tu oficina desde casa a través de VoIP.
Puedes convertir tu hogar en una parte de la oficina y usar remotamente la
voz, el fax o los servicios de datos de tu lugar de trabajo a través de la
intranet de la oficina. La naturaleza portátil de la tecnología VoIP está
provocando que gane popularidad, ya que proporciona una gran cantidad
de comodidades impensables hace unos años. La portabilidad tanto de
hardware como de servicios se está convirtiendo cada día en algo más
normal, y en ese contexto VoIP encaja perfectamente.
• Fax sobre IP. Los problemas de los servicios de fax sobre RTC son el alto
coste que conllevan para largas distancias, la atenuación de la calidad en
las señales analógicas y la incompatibilidad entre algunas máquinas
cuando se comunican. La transmisión de fax en tiempo real sobre VoIP
simplemente utiliza una interfaz de fax para convertir los datos en paquetes
y asegura que éstos serán entregados completamente y de forma segura.
s
4
22 VOIP y ASTERISK: REDESClJBRIENDO LA TELEFONÍA ©RA-MA
Otra ventaja de este sistema es que ni siquiera necesitaremos una máquina
fax para enviar y recibir fax.

Desarrollo de software más productivo. VoIP puede combinar diferentes
tipos de datos, enrotándolos y señalizándolos de forma muy flexible y
robusta. Como resultado de esto, los desarrolladores de aplicaciones de red
encontrarán más fácil crear y desplegar aplicaciones que realicen
comunicaciones de datos empleando VoIP. Además, la posibUidad de
implementar VoIP en navegadores web y servidores proporciona un filón
tanto productivo como competitivo a esta tecnología.
Arquitectura
Uno de los beneficios que aporta la VoIP es que la arquitectura, desde el
punto de vista de su distribución, pue4,e ser centralizada o distribuida. El enfoque
centralizado es criticado porque al estar todo localizado en un mismo punto las
futuras innovaciones tecnológicas se verán entorpecidas. Por otro lado la
arquitectura distribuida es más compleja que la arquitectura centralizada. Sea
partidario de un enfoque u otro, lo que la VoIP nos permite es una gran
flexibilidad.
Sin entrar en debates sobre un enfoque u otro, en la figura 2-2 se muestra, a
modo de ejemplo, un entorno VoIP.
PDAwifi
Internet
Teléfono IP
I
softphone
• ·
Destino
I



de la

Adaptador ATA llamada
~
Origen
de la
llamada
Figura 2-2. Arquitectura
23 &RA-MA CAPÍTULO 2: VOIP - LA NUEVA REVOLUCIÓN
En la figura 2-2 se muestra una arquitectura de VoIP muy general, donde
podemos ver los distintos dispositivos que la compone:
• TelefonoIP. Es un teléfono similar a un teléfono tradicional con la
diferencia que está adaptado para ser utilizado en entornos IP.
• Softphone. Es un teléfono similar al del punto anterior con la peculiaridad
de que este es software.
• Adaptador ATA. Es un adaptador que permite conectar un teléfono
convencional a una red IP.
• SIPo Es un protocolo usado por los proveedores de VoIP encargado de,
entre otras funciones, iniciar y finalizar las llamadas VoIP.
• B2BUA. Es una entidad intermediaria encargada de procesar las
comunicaciones VoIP y retransmitirlas a su destino.
A continuación se mostrará de manera más detallada los elementos más
significativos de un entorno de VoIP.
4.1 TELÉFONOS IP
Los teléfonos IP son una parte importante de la arquitectura de la VoIP.
A1Dlque se viene trabajando duro desde hace tiempo, hoy día se está consiguiendo
a pasos agigantados en el desarrollo de estos terminales, y ya se empiezan
a observar las posibilidades que estas unidades pueden llegar a brindar a nivel
fimcional. Pronto serán accesibles a una gran cantidad de usuarios equipos como
IP, soluciones de movilidad basadas en redes IP, sistemas
..wtimedia "todo-en-uno" completamente flexibles o unidades capaces de
con muchos usuarios. De hecho, la revolución no se producirá
debido a la nueva forma que tenemos de conectar los teléfonos cuando se emplea
,roIP, sino a la posibilidad que darán estos teléfonos de comunicarse de la forma
que exactamente se desea.
En la actualidad, los teléfonos IP son, en su gran mayoría, muy similares al
KSto de teléfonos tradicionales. Sin embargo, si nos fijamos detenidamente en su
aspecto exterior se puede apreciar que existen ciertas diferencias:
• Disponen de al menos un puerto de conexión RJ-45 en lugar del tradicional
RJ-l1.
111111
1
11
1
'"
24 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
• Suelen disponer de pantalla para mostrar información relevante.
• Incorporan varios botones programables que pueden usarse para diferentes
funcionalidades.
• Conector de auriculares.
El puerto RJ-45 de los teléfonos IP es un puerto Ethernet con el cual se
conectan dichos teléfonos a la red. A través de este puerto, éstos se comunican con
cualquier otro dispositivo basado en IP que se encuentre en la red, como puede ser
un proxy o enrutador para VozIP, otro teléfono IP, una puerta de enlace a la RTC
(para realizar llamadas hacia la red telefónica tradicional) o el router que sabemos
que establecerá la conexión con cualesquiera otros elementos IP de la red.
Ciertos modelos de teléfonos IP tienen varios conectores RJ-45 en lugar de
uno. En estas ocasiones el teléfono tendrá un switch o incluso un router integrado,
que permite conectar dispositivos como impresoras de red, ordenadores o incluso
otros teléfonos IP.
Además de 10 comentado anteriormente, algunos teléfonos tienen
implementada la posibilidad de ser alimentados eléctricamente a través de la red de
datos, es decir, la LAN proporcionará al teléfono la electricidad que necesita para
funcionar. Esta tecnología se conoce con el nombre de Powér over Ethernet
l
(PoE).
Los teléfonos IP se pueden encontrar a precios muy asequibles y cada vez
bajan más, debido principalmente a que existen una gran cantidad de fabricantes,
distribuidores y modelos. Dependiendo de sus caracteristicas y posibilidades
podríamos clasificar los teléfonos IP en tres categorias:
• Gama baja. Constituyen la mayoria y son aquellos que recuerdan más a
los teléfonos tradicionales. Éstos proporcionarán un buen servicio para
realizar llamadas por VoIP a otros terminales de la red o a través de
proxys, aunque disponen de pocas funcionalidades extra. Entre las mismas
cabe destacar el soporte para varios idiomas o la personalización de tonos
de llamada y melodías.
Power over Ehternet: alimentación eléctrica a través de la Red.
CRA-MA CAPÍnJLO 2: vorp LA NUEVA REvOLucrÓN 25
Figura 2-3. Teléfono de gama baja marca Pheenet
• Gama media. Son muy parecidos a los teléfonos IP básicos, pero añaden
nuevas funcionalidades que los anteriores no poseen. Además suelen tener .
una pantalla más avanzada y grande, así como más conexiones hardware
de las que tienen los básicos. Por ejemplo, es habitual que dispongan de
pantalla retroiluminada, capacidades de VLAN e incluso la posibilidad de
registrar varias líneas con operadores IP diferentes.
Figura 2-4. Teléfono IP de gama media marca Linksys
4.2
26 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
• Gama Avanzada. Estos teléfonos suelen incluir pantallas a color y
muchas otras funciones extras como la posibilidad de configurar el acceso
a un servidor LDAP de una organización o acceso Web a través de la
pantalla del teléfono.
Figura 2-5. Teléfono IP Nortel IP Phone 2007, uno de los últimos modelos de este
fabricante en salir al mercado, que incluye entre otras muchas cosas conectividad USB
para ratón y teclado, puerto RJ-8 para conectar altavoces y pantalla táctil de 5, 7"
Las funciones propias de los sistemas telefónicos tradicionales (rellamada,
llamada en espera o llamada a tres por poner algunos ejemplos), además de muchas
otras que no podremos encontrar en éstos, se encuentran implementadas en VolP
de dos formas distintas: como funciones del propio teléfono IP o a través de la red
IP a la que está conectada dicho teléfono, por ejemplo con un servidor o un
controlador telefónico. Mientras que con la telefonía tradicional todo este tipo de
funciones sólo pueden ser accesibles mediante la compra de licencias adicionales,
algo que supone un cambio radical con respecto al anterior enfoque y un enorme
ahorro para los usuarios de todo este tipo de servicios.
GATEW AYS y ADAPTADORES ANALÓGICOS
Un adaptador de teléfono analógico (normalmente conocido como Analog
Telephone Adaptor o ATA) se puede describir brevemente como un dispositivo
que convierte señales empleadas en las comunicaciones analógicas a un protocolo
de VozIP. En concreto, estos dispositivos se emplean para convertir una señal
digital (ya sea IP o propietaria) a una señal analógica (o viceversa) que pueda ser
conectada a teléfonos o faxes tradicionales.
27 CRA-MA CAPÍTULO 2: VOIP - LA NUEVA REVOLUCIÓN
Existen diferentes versiones en función de que desee conectar un puerto
FXO o un puerto FXS. Para más información véase el Capítulo 1. La telefonía
tradicional.
Figura 2-6. Adaptador telefónico para analógico y SIP (Linksys PAP2). Obsérvese que
dispone de 2 puertos analógicos (puertos FXS) para conectar dos teléfonos y un puerto RJ­
45 para conectividad ethernet
Estos adaptadores podrían ser descritos como gateways, ya que su función
es justamente la de pasarela entre el mundo analógico y el IP. Sin embargo, el uso
popular del término gateway de telefonía describiría mejor un adaptador telefónico
multipuerto, generalmente con funciones de enrutamiento más complejas.
Figura 2-7. Adaptador analógico para interconexión con la RTC, marca Grandstream.
Dispone de 8 puertos FXO y dos puertos RJ45 (incorpora rauter)
Aunque con estos adaptadores telefónicos no se puede disfrutar de todas
las funciones y ventajas que ofrece la telefonía IP, éstos seguirán existiendo
mientras exista la necesidad de conectar estándares incompatibles y viejos
dispositivos a nuevas redes. Eventualmente, nuestra dependencia hacia esos viejos
28 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
dispositivos desaparecerá, como lo hizo, por ejemplo, nuestra dependencia hacia un
dispositivo como el módem en su momento.
4.3 DISPOSITIVOS GSMlUMTS
Los teléfonos móviles son dispositivos electrónicos de pequeño tamaño
empleados para realizar comunicaciones de voz o datos a través de una conexión a
una estación base que pertenecerá a una determinada red de telefonía móvil. Éstos
han supuesto una auténtica revolución en nuestra manera de comunicamos.
Existen muchos tipos de teléfonos móviles, desde los más básicos hasta los
teléfonos que ofrecen mayores funcionalidades, como los smartphones (teléfonos
inteligentes), musicphones (teléfonos con posibilidad de reproducir música) o
cameraphones (teléfonos con cámara integrada).
Desde el punto de vista de la VozIP se pueden encontrar dispositivos que
integran ambas tecnologías, por ejemplo, SIP y GSM. Estos dispositivos permiten
una mayor integración que la tecnología analógica tradicional ya que no dependen
de conversiones intermedias a analógico y, por tanto, permiten enviar toda la
señalización existente entre ambas redes, de forma transparente y fiable.
Figura 2-8. Gateway GSM-IP para interconexión directa de redes GSM e IP. Fabricante
2N, modelo VoiceBlue Enterprise (4 líneas GSM, Proxy SIP y H323)
29 eRA-MA CAPÍTULO 2: VOIP - LA NUEVA REVOLUCIÓN
4.4 SOFTPHONES
Los sofiphones son teléfonos implementados por software. Éstos
proporcionarán a un dispositivo que no sea un teléfono, como un ordenador o una
PDA, las funcionalidades de un teléfono VoIP. Para que esto sea posible, no es
necesario que el dispositivo en cuestión sea muy potente. Simplemente se necesita
un equipo de audio adecuado y alguna forma de conectarse a una red TCPIIP.
Se pueden encontrar modelos que funcionan bajo diferentes protocolos,
aunque el más usado es el SIPo Entre ellos, el más conocido y usado es el X-lite
(ver Apéndice IV Clientes VoIP), aunque también existen muchos otros que
presentan buenas funcionalidades. Existe una larga lista en la página wiki del
proyecto Asterisk http://www.voip-info.orl.
El concepto de teléfono está hoy día en constante evolución, lo que hace
dificil en ocasiones diferenciar lo que es un softphone de lo que no lo es. La
comunicación por VoIP está presente en programas de mensajería instantánea por
poner un ejemplo, pero sólo el tiempo dirá si éstos pueden llegar a ser considerados
softphones. A pesar de ello, cuando nosotros hablemos de un sofiphone, nos
referiremos a un software ejecutable en ordenadores u otros dispositivos que tenga
el aspecto de un teléfono, se use como cualquier teléfono y cuya funcionalidad
principal sea la de realizar llamadas telefónicas.
Figura 2-9. Softphone Zoiper: puede trabajar con el protocolo SfP o fAX, y dispone de una
versión gratuita y otra comercial
, http://www.voip-info org/wiki-VOIp+phones
30 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
Figura 2-10. X-lite de CounterPath, uno de los softphones más empleados hoy día y se
encuentra disponible para varios sistemas operativos
Los teléfonos VoIP hardware son una combinación entre un softphone y un
hardware dedicado. Aunque la capacidad de computación de un ordenador o una
PDA exceda de forma exultante a la de un teléfono IP, siempre debemos recordar
que estos últimos son dispositivos especialmente creados para realizar llamadas y
transportar voz.
La principal ventaja de un softphone sobre un teléfono VoIP hardware es el
coste. En muchas empresas se debe instalar como mínimo en cada escritorio un
ordenador y un teléfono. Si pudiéramos quitar el teléfono de todos esos escritorios
se produciría un claro ahorro. Además, hay una gran cantidad de softphones y la
mayoría de sistemas operativos ya vienen con alguno instalado por defecto.
Los softphones tienen por delante un largo camino hasta que puedan ser
aceptados por la mayoría de usuarios. A la costumbre de usar un teléfono
tradicional, se une el grave inconveniente de que al tener el teléfono en el
ordenador se añaden complicaciones extras. Por ejemplo, si tenemos una caída de
tensión o un corte eléctrico, el reinicio del pe siempre es mucho más problemático
y lento que un softphone. A pesar de esto, siempre es una opción que se debe tener
en cuenta al realizar una instalación, prestando sobre todo mucha atención al
entorno en el que se vaya a emplear el teléfono y a que los usuarios no vayan a
tener ningún problema a la hora de emplear un softphone.
31 ©RA-MA CAPÍTULO 2: VOIP - LA NUEVA REVOLUCIÓN
4.5 PROXYS y ENRUTADORES
Dentro de la arquitectura de VozIP es necesario el uso de ciertos elementos
que permitan ordenar el tráfico telefónico y a la vez poner en contacto a los
diferentes usuarios de las redes implicadas.
Tal y como trabajan los routers con los datos en general, recibiendo y
enviando peticiones desde y hacia otras máquinas, los diferentes protocolos IP
necesitan igualmente que alguien o algo encamine sus peticiones hacia los usuarios
finales, a fin de establecer una conversación. Esta tarea la realizan los proxys o
enrutadores, encargándose de rutar la señalización hacia los sitios adecuados en
función de las indicaciones pertinentes que cada protocolo implementa. En la
figura 2-11 puede verse un esquema de enrutado en un entorno SIP.
Servidor proxy SIP Servidor Registrar SIP
,-.... -
7.-2000K .
8.-ACK

1.- Register
, "
2.-2000K
"

-..-.,.
10.- audio!
....--- video ---.....
11.- BYE
Llamante
12.- 200 OK
Llamado
Figura 2-11. Esquema de enrutado en un entorno SIP
Existen multitud de implementaciones para servidores proxy, aunque entre
las más usadas se encuentran las distribuciones de código abierto SER, Kamailio y
OpenSIPS
3
. Estos paquetes son capaces de gestionar gran cantidad de peticiones
por segundo, haciendo un gran trabajo de enrotado gracias a un diseño óptimo en
su código base.
; http://www.iptel.org/ser http://www.kamailio_org/ http://www.opensips.org
....... ------­
32 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
5 Señalización y audio
5.1 PROTOCOLOS DE COMUNICACIÓN
La realización de una llamada entre dos teléfonos cualesquiera implica la
utilización de diversos equipos electrónicos, los cuales deben comunicarse entre sí.
Para poder garantizar que la comunicación entre los equipos se realiza
adecuadamente, son necesarias diversas reglas y/o normas. Estas reglas y/o normas
de las que se habla es lo que se conoce como protocolo de señalización.
En las redes analógicas o redes de conmutación de circuitos antes de que
ambos extremos puedan comunicarse, se produce la reserva de recursos necesarios
para que la comunicación tenga éxito. Si por cualquier circunstancia no puede
llevarse a cabo esta reserva de camino entre ambos extremos se informa al emisor
de este hecho. A la acción de "reservar un camino de recursos entre ambos
extremos" es lo que se le conoce como señalización.
En la telefonía tradicional los protocolos de señalización se pueden
clasificar en dos categorias:
• Channel Associated Singnalling (CAS). Tanto la información de
señalización como los datos (voz) se transmiten por los mismos canales.
Protocolos de señalización pertenecientes a esta categoría: G.732, E&M,
etc.
• Common Channel Signalling (CCS) Aquí la información
correspondiente a la señalización se transmite en un canal independiente al
de los datos (voz). Protocolos de señalización pertenecientes a esta
categoría es, por ejemplo, SS7.
En conmutación de paquetes los protocolos de señalización reaUzan
acciones muy similares a los protocolos de señalización en conmutación de
circuitos además de cuidar de que se cumplan ciertas garantías de calidad. Los
protocolos de señalización más utilizados en conmutación de paquetes son: SIP y
H323.
5.1.1 Session Initiation Protocool (SIP)
El protocolo SIP es un protocolo de señalización a nivel de aplicación
encargado de la iniciación, modificación y terminación de sesiones multimedia,
las cuales se llevan a cabo de manera interactiva. Por sesiones multimedia se
refiere a aplicaciones de mensajería instantánea, aplicaciones de video, de audio,
conferencias y aplicaciones similares.
¡; RA-MA CAPÍTULO 2: VOIP - LA NUEVA REVOLUCIÓN 33
SIP se definió en el RFC 2543 en marzo de 1999 por el grupo de trabajo
MMSC perteneciente a IEFT. En junio de 2002, el IETF publicó una nueva
revisión de SIP con el RFC 3261.
El protocolo SIP posee cuatro características que lo hacen muy
recomendable para cumplir esta función:
Caracteristica Descripción
SIP posee la capacidad de poder conocer en todo
la localización de los usuarios. De esta
no importa en qué lugar se encuentre un
determinado usuario. En definitiva la movilidad de los
usuarios no se ve limitada.
Posibilidad de negociar los parámetros necesarios para
la comunicación: puertos para el tráfico SIP.asÍ como
el tráfico Media, direcciones IP para el tráfico Media,
etc.
SIP permite determinar si un determinado usuario está
disponible o no para establecer una comunicación.
Permite la modificación, transferencia, finalización de
la sesión activa. Además informa del estado de la
comunicación que se encuentra en progreso.
momento
manera
Figura 2-12. Arquitectura de protocolos SIP
34 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-M<\
El protocolo SIP es una parte de una arquitectura multimedia, ya que la
única finalidad es la de gestionar las sesiones multimedia: iniciarlas, modificarlas,
finalizarlas, etc. Sin embargo, se integra perfectamente con otros protocolos como
RVSP, RTP o RTSP. Gracias al protocolo SDP se puede formar una completa
arquitectura multimedia.
Conceptos básicos
El protocolo es similar a HTTP por la forma en que funciona (protocolo
basado en texto) y es similar a SMTP en la forma en la que se especifican las
direcciones SIPo
Las direcciones SIP identifican a un usuario de un determinado dominio. A
estas direcciones SIP habitualmente se les llama URI (Uniform Resource
Identifier). Una URI se puede especificar de las siguientes maneras:
sip:\l$u.;u;io@ciominio[:portl
sip:usuario@direcciónIP[:portl
El dominio representa el nombre del proxy SIP que conoce la dirección IP
del terminal identificado por el usuario de dicho dominio. El puerto por defecto
para SIP es 5060, aunque es posible especificar otros adicionales si es necesario.
En la tabla 2-2 se pueden ver algunos ejemplos de direcciones SIPo
Descripción Dirección SIP
Usuario "200" perteneciente al dominio "ual.es"
Usuario "200" perteneciente al dominio con dirección IP
200@192.168.1.120
192.168.1.120
Es por tanto posible hacer uso de una dirección IP si no disponemos de un
dominio registrado para este propósito.
Supongamos el escenario de la Universidad de Almería (ual.es). Cada uno
de los trabajadores de la UAL dispone de una dirección SIP que lo identifica de
manera unívoca en el dominio "ual.es" (véase la figura 2-13).
35 ©RA-MA CAPÍTULO 2: VOIP - LA NUEVA REVOLUCIÓN
UAC 200@ual.es UAC 201@ual.es
ual.es
UAC 202@ual.es UAC 203@ual.es
Figura 2-13. Ejemplo de escenario SIP
Si por ejemplo el usuario 200@ual.es desea comunicarse con el usuario
201@ual.es, el usuario 200 únicamente tendría que marcar en su teléfono el
número 201. Al marcar el número 201, comienza la señalización SIP entre el
terminal 200 y el 201 iniciando así una comunicación SIP entre ambos terminales
para posteriormente establecerse una conexión Media entre ambos (RTP).
Este es un escenario en el que no es posible establecer la señalización SIP
ya que el teléfono "200@ual.es" realmente desconoce la dirección IP en la que se
encuentra el teléfono 201. Es por ello que para que la señalización SIP pueda
llevarse a cabo, es necesario hacer uso de varios elementos intermediarios.
Para una comunicación SIP es necesaria la intervención de varios
elementos, donde cada uno desempeña su papel. Los elementos de la comunicación
son:
• Los agentes de usuario (Vser agent), o de manera abreviada VA,
manejan la señalización SIPo Se pueden dividir en dos categorías:
o Vser agent client (VAC). Es un elemento que realiza peticiones SIP
y acepta respuestas SIP provenientes de UAS. Un ejemplo de UAC
es un teléfono VoIP ya que realiza peticiones SIPo
o Vser agent server (VAS). Es el elemento encargado de aceptar las
peticiones SIP realizadas por el UAC y enviar a este la respuesta
conveniente. Un teléfono VoIP también es un ejemplo de UAS, ya
que acepta las peticiones de inicio de comunicación enviadas por
36 VOIP y ASTERlSK: REDESCUBRlENDO LA TELEFONÍA ©RA-MA
otro teléfono (UAC). Un servidor SIP o proxy también es un UAS,
lo veremos a continuación.
UAS: ZJ1@B.es
Figura 2-14. Ejemplo de llamada SIP (200 llama al 201)
• Los intermediarios necesarios para que la comunicación entre dos UA sea
posible:
o Servidor Proxy. Es el elemento encargado de reenviar las peticiones
SIP provenientes de unUAC al UAS destino que corresponda, así
como de encaminar las respuestas del UAS destino al UAC origen.
Podemos hacer una similitud con el encaminamiento que realizan los
router con los paquetes a nivel [P, es decir, sería como el encargado
de enrutar los paquetes SIPo Para rutar, lo que hace es una traducción
de la dirección de destino dada de la forma usuario@dominio a la
forma usuario@direcciónlP donde dirección IP es la dirección IP
que tiene en ese momento el teléfono de destino.
SIP origen: 200@JaLes
SIP destino: 201@Jal.es
SIP origen: 2OO@.IaI.es
SlP destino: 201@192.168.1.201
Dirección SIP: 2OO@JaI.es Dirección SIP: 201@JaI.es
Dirección IP: 192.168.1.200 Dirección IP: 192.168.1.201
200 LLAMA A 201
Figura 2-15. Ejemplo de llamada SIP con intermediarios (200 llama al 201)
En la figura 2-15 podemos ver la función más importante de
un proxy SIP, la de enrutar los mensajes SIP estableciendo así la
señalización SIP pertinente. El escenario mostrado en la figura no es
37 ©RA-MA CAPÍTULO 2: VOIP - LA NUEVA REVOLUCIÓN
todavía funcional ya que el proxy SIP necesita conocer la dirección
IP física asociada con cada usuario. En el ejemplo, el proxy SIP tiene
que saber que el teléfono identificado como 201 de dominio "ual.es"
tiene asignada la dirección IP real 192.168.1.201.
De esta nueva necesidad se encarga el servidor de registro y
localización:
• Registrar-Location server. Acepta las peticiones de registro de los UAC,
guardando toda la información referente a la localización física del UAC,
para que si posteriormente llega una petición con destino el UAC, sea
posible localizarlo (sea posible traducir su dirección a la forma
usuario@direcciónIP donde dirección se refiere a la IP del usuario).
Continuando con la figura 2-15, para que 200 llame al usuario 201
es necesario que previamente ambos teléfonos se hayan registrado en
servidor de registro. Esto es necesariamente así porque el proxy SIP
necesita conocer las dirección lp del teléfono 201 para enviarle la petición
de inicio de conversación y del mismo modo necesita la dirección IP del
teléfono 200 para que pueda rutarle las respuestas SIP generadas por el
teléfono 20 l.
Servidor Proxy
Servidor registro - localización
Dirección SIP: 200@ual.es
Dirección IP: 192.168.1.200
Figura 2-16. Proceso de registro
Una vez que los teléfonos se han registrado en el servidor de registro, estos
pueden entonces realizar y recibir llamadas entre sí ya que el proxy SIP conoce sus
direcciones IP físicas/reales (mediante consultas). Habitualmente, el proxy SIP y el
servidor de "registro-localización" se encuentran juntos en el mismo software por
lo general.
Dirección SIP: 201@ual.es
Dirección IP: 192.168.1.201
38 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
Ahora sí se puede afinnar que la llamada realizada en la figura 2-16 va a
tener éxito.
• Redirect Server. Su funcionamiento es similar al servidor proxy anterior,
con la diferencia que cuando este resuelve la dirección, esto es, realiza la
traducción, infonna al UAC que realizó la petición SIP para que sea este
mismo el que la envíe hacia el UA destino. Un servidor de redirección
actúa realmente como un UAS.
SlP origen: 200@.Jal.es 1° I
SlPdestino: .'
2OO@JaI.es
deslioo: 201@192.168.1.201
';5'
200 LLAM6. A 201
IJrecciérl SlP: 2OO@.JaI.es IJrección SlP: 201@Ja1.es
IJrecciOO IP: 192.168.1.200 IJrecciérl IP: 192. 168.1.201
Figura 2-17. Registro completado
En la figura 2-17 ambos teléfonos se han registrado previamente en el
proxy SIPo A partir de ahora cuando se hable de servidor proxy SIP se refiere a un
servidor que contiene conjuntamente el proxy SIP y el servidor de registro­
localización.
• Back-to-back user agent (B2BUA). Es una entidad intennediaria que
procesa peticiones SIP entrantes comportándose como un UAS, y responde
a estas actuando como un UAC regenerando por completo la petición SIP
entrante en una nueva petición SIP que va a ser enviada.
Peticiones SIP
Hasta el momento se ha descrito a grandes rasgos cómo se lleva a cabo una
comunicación SIP y los requisitos o elementos que se necesitan para ella. Sin
embargo no se han indicado qué mensajes son intercambiados entre los distintos
elementos durante una comunicación SIPo En primera instancia se verán los
mensajes SIP para posterionnente tratar con ellos en diversos escenarios ejemplo.
En la tabla 2-3 se muestran las distintas peticiones SIPo
39 ©RA-MA CAPÍTULO 2: VOIP - LA NUEVA REVOLUCIÓN
Petición SIP Descripción
Es la petición SIP que se envía a un usuario cuando queremos
INVITE
establecer con él una comunicación, una llamada.
Esta petición es enviada por el usuario origen que envió la petición
INVITE para hacer saber al usuario destino que su respuesta 200
ACK
OK ha sido recibida. Es el momento en que ambos pueden empezar
a enviar tráfico Media.
Para finalizar la conexión, la comunicación entre los dos usuarios
BVE
establecida anteriormente con INVITE.
CANCEL
Se utiliza para cancelar una petición, por ejemplo INVITE, que se
encuentra en progreso. Por ejemplo si el teléfono destino está
sonando pero aún no ha sido descolgado y el teléfono origen cuelga,
se envía un CANCEL a diferencia de un BYE que se enviaría si el
teléfono destino hubiera sido descolgado previamente y por tanto la
comunicación establecida unos instantes.
Un UA puede enviar peticiones OPTIONS a un UAS para solicitar
·OPTlONS
cierta información sobre este.
REGISTRR
Un UAC envía peticiones REGISTER a un servidor de registro­
localización para informar de la posición actual en la que se
encuentra en un momento determinado. Esto hace posible que el
UAC pueda ser localizado haciendo uso de su misma dirección
user@dominio sin importar donde el UAC se encuentre
fisicamente.
Respuestas SIP
Cada petición SIP lleva asociada una respuesta (la que corresponda)
enumerada con un código que la identifica. Estos códigos van desde el
identificador 100 hasta el identificador 699, siendo además agrupadas en grupos de
respuestas tales como: 1 xx, 2xx, 3xx, 4xx, 5xx y 6xx:
• Las respuestas del grupo Ixx indican el estado temporal de la
comunicación. Estas se utilizan por ejemplo cuando se tiene en progreso el
establecimiento de una comunicación mediante la petición INVITE.
• Las respuestas pertenecientes al grupo 2xx corresponden a respuestas que
informan del éxito de una petición SIPo Por ejemplo, cuando se establece
con éxito el establecimiento de comunicación con la petición INVITE se
envía una respuesta 200 OK informando al UAC origen de este hecho.
--------
40 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
• Las respuestas que confonnan el grupo 3xx infonnan de que la petición
SIP ha de ser reenviada a otro VAS. Un servidor de redirección nos
enviaría una respuesta con código "302 Moved temporarily".
• Las respuestas pertenecientes al· grupo 4xx corresponden a errores en el
cliente SIP.
• Las respuestas del grupo 5xx corresponden a errores en el servidor SIP.
• Las respuestas pertenecientes al grupo 6xx infonnan de errores generales.
A continuación en la tabla 2-4 se muestran las distintas respuestas SIPo
Tipo de respuesta Identificador Significado
100
Informan
181 Call Being Forwarded
provi5-..1deJa
Cmalllucaeión .
--"-18.;;..;2=--_____C___all Queued - Encolada
183 Session Progre ss - Llamada en progreso
Intor"uJD del éntode la 200 OK- OK
. éo.unieaaDll 202 Accepted - Aceptada
--=:..30.:::..0"--____-:M=ul::.:t:::.¡ip:..:le=-.:::C:.:::h:::.oices - Múltiples opciones
301 Moved Pennanently - Movido
&Ireéllvfo . ______
neeesllne de SIP 302 Moved Temporarily - Movido
305 Use Proxy - Usar Proxy
380 Alternative Service - Servicio alternativo
Informan de _40_0______ íciº:tI Bad Request - Mala petición .....
eHente 401 Unauthorized - No autorizado

_40_2_____ Required - Se requiere pago
403 Forbidden - Prohibido
404 Not Found - No encontrado
405 Method Not Allowed - Método no
____.::..N:..;.o:.::..t.::.:A:::c.::..ceptable - No es aceptable
407 Proxy Authentication Required - Se
requiere autentificación
408 Request Timeout - Tiempo agotado para
410 Gone - Se ha marchado
413 Request Entity Too Large - Petición
demasiado grande
41 ©RA-MA CAPÍTULO 2: VOIP - LA NUEVA REVOLUCIÓN
414 Request URI Too Long - URI demasiado
415 Unsupported Media Type - Tipo de
;,"';;"")/,
416 Unsupported URI Scheme - Esquema
_______....:URI:..; no soportado
420 Bad Extension - Extensión incorrecta
-'---­
421 Extension Required - Se requiere
extensión
423 Interval Too Brief - Intervalo demasiado
480 Temporarily Unavailable - No
_______ temporalmente
481 Call1Transaction Does Not Exist - No
existe la llamada/transacción
482 Loop Detected - Círculo vicioso
detectado
___ ____
484 Address Incomplete - Dirección
485 Ambiguous - Ambiguo
486 Busy Here - Ocupado
487 . Request Terminated - Petición terminada
488 Not Acceptable Here - No es aceptable
491 Request Pending - Petici§n pendiente
493 - Indescifrable
500 Server Internal Error - Error interno del
______
502 Bad Gateway - Gateway incorrecto
503 Service Unavailable - Servicio no
504 Server Time-Out - Tiempo agotado en el
servidor
505 Version Not Supported - Versión no
513 Message Too Large - Mensaje
demasiado largo
600 Busy Everywhére - Ocupado en todos
603 Declined - Rechazado
604 Does Not Exist Anywhere - No existe en
ningún sitio
606 Not Acceptable - No aceptable


de errorn ...

42 VOIP y ASTERlSK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
Conocidas tanto las peticiones SIP así como las respuestas SIP que
podemos recibir en cada caso, se van a mostrar escenarios más detallados.
En la figura 2-18 se muestra cómo se lleva a cabo el registro del usuario
200@ual.es ante un proxy SIP que requiere autenticación, es decir, se muestra
cómo un terminal se registra en el proxy SIPo
Servidor Proxy
Servidor registro - localización
Dirección SIP: 200@ual.es
ual.es
Dirección IP: 192.168.1.200
I
1. Register
2.401 Unauthorized
3. Register
4.2000K
Figura 2-18. Proceso de registro de un usuario en un Proxy SIP
El teléfono envía la petición SIP Register al proxy SIPo Este al estar
configurado para exigir autenticación envía una respuesta de vuelta indicando que
el usuario 200@ual.es no está autorizado por el momento y requiere por tanto
mostrar los credenciales necesarios. El teléfono envía por tanto de nuevo la
petición Register añadiendo a esta unos nuevos campos donde indica el password
con el que se encuentra registrado en el proxy SIP de ual.es. Dado que la
información de autenticación es correcta, el proxy SIP responde con una respuesta
200 OK indicando el éxito de la petición.
Suponiendo que tanto el usuario 200 como el 201 se encuentran
registrados, en la figura 2-19 se muestra cómo se establecería una comunicación
entre ellos.
-------
43 ©RA-MA CAPÍTULO 2: VOlP - LA NUEVA REVOLUCIÓN
Servidor proxy
Servidor registro - localización
Dirección SIP: 200@ual,es
Dirección IP: 192,168,1,200
ual.es
Dirección SIP: 201@ual.es
Dirección IP: 192,168,1.201
I
1, INVITE
5, 180 Ringing
oC
7,2000K
oC
8.ACK
,
Sesión Media RTP
3, INVITE
4, 180 Ringing
oC
6,2000K
..
oC
)lo
9, BYE
oC
10,2000K
)lo
Figura 2-19. Proceso de establecimiento de llamada entre dos terminales
En la figura 2-19 se muestra cómo se completa la señalización REGISTER
e INVITE. Estas son las peticiones más importantes, las cuales se requiere conocer
detalladamente. Para ello vamos a describir a continuación el contenido de los
mensajes intercambiados para ver el funcionamiento de SIP en mayor profundidad.
Descripción de los mensajes SIP
Conocidos los pasos en los que se lleva a cabo una comunicación entre dos
teléfonos, cómo se registran ante un proxy SIP con autenticación, etc., se está en
disposición de conocer el contenido de cada uno de los mensajes SIP que se
intercambian. En la tabla 2-5 que se presenta a continuación se muestran cada uno
de los campos de la cabecera SIP junto a su descripción.
Un ejemplo del contenido de los mensajes SIP intercambiados entre un
teléfono y el proxy SIP durante el registro es el que se muestra en el listado 2.
Antes, es necesario conocer la configuración del teléfono que va a registrarse:
Campo Descripción
En este campo se almacena cada uno de los elementos por los que va
pasando la petición. Almacenar el camino que sigue la petición desde
su origen al destino es muy útil para las respuestas, ya que estas
simplemente tienen que seguir el camino inverso.
44 VOIP y ASTERlSK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
Número máximo de saltos permitidos a la petición para llegar a su
destino. Ese valor será decrementado en cada uno de los saltos por los
En ella se indica la entidad origen que envió la petición SIPo Se
especifica mediante la URI o mejor dicho mediante el AOR (Address
of Record) que no es ni más ni menos que una URI global y pública
que puede ser rutada desde punto.
. Tamaño del cuerpo del mensaje.
Atributo Valor
Login 200
Password 200
Dirección IP 192.168.1.129
Proxy SIP 192.168.1.36:5060
TO
", ';'" '-'r<"-:-:-\-
>__ ."> y,;''_>''_'__ ::: ",;',
Hace referencia a la URI de destino o AOR de destino de la petición.
Hay que mencionar que esta no se utiliza para rutar el paquete hacia el
próximo salto, sino que siempre mantiene el destino de la petición
inicial.
Es un identificador único y global que se forma mediante
combinación de una cadena aleatoria, el nombre de la máquina o la
dirección IP del teléfono. La combinación de los tags que se indican
en TO, FROM junto con el CALL-ID definen e identifican de manera
unívoca un diálogo SIP entre dos extremos.
Es un número de secúencia, donde cada nueva petición que se envía
en un mismo diálogo incrementa en una unidad su valor. No es ni más
ni menos que un contador de peticiones pertenecientes a un mismo
En él se indica la SIP URI de la forma usuario@direcciónIP[:puerto]
o usuario@dominio[:puerto] que representa la dirección de contacto
directo con el emisor de la petición. La finalidad de esta dirección de
contacto directo es la de que las futuras peticiones se puedan enviar
directamente al emisor, evitando a la petición seguir el mismo
camino, como sucede con las respuestas, que siguen el camino inverso
dictaminado por las cabeceras VIA.
Tipo del cuerpo del mensaje. No siempre tiene cuerpo el mensaje,
pero si lo tuviera por lo general seria "applicationlSDP", esto es, el
protocolo multimedia SDP.
45 ©RA-MA CAPÍTIJLO 2: VOIP - LA NUEVA REVOLUCIÓN
192.168.1.36
Dominio
Dirección del proxy SIP, pero podría ser otra
El primer mensaje es el mensaje REGISTER enviado del teléfono al proxy
SIP:
En la comunicación hay que destacar dos cosas. La primera es que el
teléfono quiere recibir las respuestas asociadas a esta petición que genere el proxy
SIP, ya que incluye un registro con su dirección IP en el campo VIA. La segunda y
muy importante es la información indicada en la cabecera Contact ya que es donde
el teléfono de identificador 200 le indica al proxy SIP la dirección IP que tiene en
este preciso instante. Esto permite al proxy SIP poder localizarlo para enviarle
futuras peticiones.
46 VOIP y ASTERJSK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
Continuando con el flujo de la figura 2-19, el proxy SIP envía la respuesta
"401 Unauthorized" ya que en la petición REGISTER anterior el teléfono no indicó
los credenciales, es decir, no indicó su password, y por tanto no está autorizado. La
cabecera WWW-Authenticate indica al teléfono que debe autenticarse para el
dominio 192.168.1.36.
El siguiente mensaje de la comunicaclOn es el envío del mensaje
REGISTER pero esta vez añadiendo el campo "Authorization" donde indica sus
credenciales.
SIl?/2.
194.168.1. : SOpO i
CEM14D44
From: 200 .::.sip:200@192. .1.36>;tag""61B484649
Tal 200 <sip:200@192.l66.1.36>
Contact,: "200" : 200@192 .168 .1.129: !i!lI){) >
-ID:
CSeg: 4203.í!
Expire$ : ¡ a00 . .
!l.uthod2:ation: Dige.st
username="200",realm="192.168.1.36",nonoe="48a3134d61dad5515f7
9f3f7363hda6aab8alf90".response="b7cc90ae907b4a7655aeeo66df6Ca
.
Max-Forwards:,7·0
User-Agent: .X-Lite releas.e 110Sd
Finalmente si los credenciales son correctos el proxy SIP le comunica al
teléfono que la autenticación se ha llevado a cabo con éxito y ahora el teléfono 200
puede realizar y recibir llamadas.
Sl)?12.0 200 OK,
yia,;SIl?1.2.
0
!DPI? ..' "., , .... ,' .. ' .. ,. '., '.... , .'
192
2p;n.ScaB!l.14D44
200
'1'0:200 ...... ...... ,. . '. ..... '. .
.1613 .1. 36>; t.ag=329c:::Eeaa6dedQ39da2$:E:E8cbb8668OO2. 26
eh .
3é76$Q6F91;l4QEi 603 585E:.2A12E4 9'1:'ACE6'!lil192. 168.1 •.36.
·l2032RE.G¡STaR
<;sip
{l·, (;386[Q,tiúxJ)

47 ©RA-MA CAPÍTULO 2: VOIP LA NUEVA REVOLUCIÓN
A
Aprovechando este ejemplo se van a introducir dos nuevos conceptos:
a
transacción y diálogo:
a
Ó
• Transacción. Una transacción se lleva a cabo entre un UAC y un UAS.
Comprende todos los mensajes desde la primera petición hasta la última
respuesta asociada a esta (no se toman como respuesta válida para finalizar
la transacción las 1xx). Si la petición es INVITE y la última respuesta no
s
~ l
es del tipo 2xx, la transacción incluye el ACK como parte de esta. Si por el
contrario la respuesta es del tipo 2xx, el mensaje ACK no se incluye en la
transacción.
• Diálogo. Por lo general comienza con una petición INVITE y finaliza con
la petición BYE. Un diálogo es identificado por las etiquetas (tag) de los
campos FROM, TO y el campo Call-ID.
Servidor Proxy
Servidor regIstro .Iocalizactón
Dirección SIP, 200@uaL •• Dirección SIP: 201@ual.es
uates
DirecciÓn IP, 192.168.1.200 Direeción IP, 192.168.1.201
I IJ
1. INVITE
2.100 Trying
«
5. 180 Ringing
«
7. 200 OK
..
__3._IN_VIT_E__~ ] Transaccl6n
4. 180 Ringing
.. «
6.2000K
«
Diálogo
8.ACK
~
Sesión Media RTP
] Transacci6n
Figura 2-20. Petición invite
Ringing es una respuesta del tipo 1 xx por lo que no se toma como
respuesta válida para finalizar la transacción. Sin embargo la respuesta 200 OK sí
que es una respuesta válida para finalizar la transacción.
Dado que la respuesta a la petición INVITE es del tipo 2xx, el ACK no se
incluye en la transacción. Por último una nueva transacción se inicia con la petición
BYE y finaliza con la respuesta asociada "200 OK".
5.1.2 H323
El protocolo H.323 fue diseñado por ITU, International
Telecommunication Union en 1996. Fue diseñado para ser un estándar en la
48 VOlP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
transmisión de audio, video y datos a través de las redes IP en las cuales no existe
garantía en la calidad del servicio. El estándar H.323 ofrece control y señalización
de la llamada, control y transporte multimedia, control del ancho de banda punto a
punto y conferencias.
La señalización de H.323 es muy rápida, sobre todo si las comparamos con
la de SIP, la cual utiliza paquetes de gran tamaño. Esto es debido a que el formato
de los mensajes en H.323 es binario, mientras que en los mensajes SIP el formato
es texto plano. El diseño de H.323 está muy arraigado a la filosofia seguida en el
diseño de la PSTN: simplicidad y alta disponibilidad.
H.323 es una suite de protocolos tanto de audio como de video, junto a los
componentes necesarios para ofrecer comunicaciones multimedia en redes de
conmutación de paquetes.
Figura 2-21. Protocolo H323
Tal y como se muestra en la figura 2-21 el protocolo H.323 incluye el
protocolo H.225 para empaquetar, sincronizar e iniciar llamadas mediante la
señalización Q.931. Por otro lado H.245 se usa tanto para la negociación como para
el manejo de los canales lógicos. T.120 y T.38 son utilizados para Datos y Fax.
A pesar de estar muy extendido, actualmente el auge de H.323 está
descendiendo, ya que está siendo sustituido por SIP, el cual es modular y por tanto
mucho más flexible.
1
49 ©RA-MA CAPÍTULO 2: VOIP - LA NUEVA REVOLUCIÓN
\.
.5.1.3 Otros
El "Inter-Asterisk Exchange Protocol", o de manera abreviada IAX, es
también un protocolo de señalización; y algo más. La principal diferencia entre
IAX y SIP o H.323 es que IAX no utiliza RTP, sino que en su lugar implementa su
a
propio mecanismo de transmisión de voz.
o
o
n
IAX es mucho más compacto que los dos anteriores ya que ha sido
:1
diseñado únicamente para aplicaciones telefónicas, a diferencia de H.323 y sobre
todo de SIP, que pueden utilizarse en otros tipos de tráfico media.
IAX trabaja junto a UDP con una característica muy especial: todas las
IS
comunicaciones (registro, señalización de llamada, transmisión de voz) hacen uso
de un único puerto UDP. Por lo tanto el NAT no supone un problema en IAX a
diferencia de SIP, ya que tanto los datos de señalización como el audio viajan por
el mismo puerto.
,e
Un inconveniente de IAX es que no es un estándar, sino un protocolo
independiente creado por Mark Spencer, creador de Digium. A pesar de ser un
protocolo propietario es abierto y ha sido aceptado por la comunidad de VoIP.
La nueva revisión de IAX, IAX2, resulta ser un protocolo con muchas
novedades respecto de su versión anterior pero con la característica de conservar
aún su sencillez. Permite utilizar una gran cantidad de codecs y stream, lo que le
permite aumentar su funcionalidad para dar soporte a aplicaciones no únicamente
telefónicas.
En la tabla 2-7 se muestran las diferencias más importantes entre SIP e
IAX.
T-abla 2-7. Comparativa entre SIP e IAX
SIP IAU( Conclusión
Los mensajes son en Los mensajes son en IAX consume menos
1
Tipos de mensajes formato texto formato binario ancho de banda
1
Datos y señalización Datos y señalización En SIP aparecen
Sefializaci6n
en puertos distintos por el mismo puerto problemas de NAT
Al ir la señalización y Al ir la señalización y Consumo alto de
audio por puertos audio por el mismo recursos en el servidor
distintos, el audio puerto, el audio pasa IAX ante una gran
Seiíalización II
puede ir de extremo a obligatoriamente por cantidad de llamadas
extremos sin pasar por el servidor IAX
el servidor SIP
50 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA
Estandarizados por la Aún está siendo SIP es soportado por
IETF hace tiempo estandarizado la mayoría de equipos
1 señalización + 2 Un único puerto para SIP requiere de trui.s
Media RTP (uno por señalización y audio puertos libres
. sentido)
Existen otros protocolos que son utilizados generalmente por compañías
telefónicas así como proveedores de servicios de VoIP: MGCP (Media Gateway
Controller Protocol); MEGACOIH.248, cuya funcionalidad es la de conformar un
estándar en la señalización de gateways media que físicamente se encuentran
distribuidos; SIGTRAN (Signalling Transport) aparece como otro protocolo
gracias al cual solventan algunas limitaciones de MGCP, etc ..
5.2 PROTOCOLOS DE AUDIO
En el punto anterior se han mostrado los distintos protocolos que se tienen
a disposición para establecer una comunicación entre dos extremos, sin embargo
como ya se indicó anteriormente esto no es suficiente para establecer una
comunicación media. Para establecer un flujo de comunicación media es necesario
un protocolo que intercambie la información entre los extremos de dicha
comunicación, es decir, que transporte la información entre un origen y su destino,
además de proveer de las técnicas necesarias para enviar los problemas que se
pueden presentar durante el intercambio, tales como: jitter
4
, retardo, etc.
Los protocolos más utilizados para esta finalidad de transporte de audio y
video en tiempo real son:
• Real Time Protocol (RTP)
• Real Time Control Protocol (RTCP)
RTP se encuentra definido en el RFC3550 y es el encargado de transportar
tanto audio como vídeo en tiempo real. Utiliza UDP como protocolo de transporte,
ya que el uso de TCP y su control de flujo y congestión darían lugar a un retardo
elevado durante la comunicación a causa de las retransmisiones.
, jitter: variación del retardo.
51 i:lRA-MA CAPÍTULO 2: VOIP - LA NUEVA REVOLUCIÓN
El protocolo RTP, para llevar a cabo su función, hace uso de un número de
secuencia, marcas de tiempo, envío de paquetes sin retransmisión, identificación
del origen, identificación del contenido, sincronización, etc., lo que le permite en
presencia de pérdidas, jitter o retardo poder continuar con la reproducción del flujo
de paquetes. Por lo tanto no puede garantizar que la entrega de tráfico se haga en
tiempo real, aunque sí garantiza al menos que lo hará de forma sincronizada.
El protocolo RTCP es el protocolo compañero de RTP. RTCP es el
encargado de monitorizar el flujo de los paquetes RTP. Obtiene estadísticas sobre
el jitter, RTT, latencia, pérdida de paquetes, etc. Fundamentalmente está
relacionado con la calidad de servicio. El inconveniente es que, aunque realice una
monitorización de la calidad de servicio de RTP, no se poseen mecanismos como
reservar ancho de banda o control de la congestión para intentar paliar una
situación en la que la calidad de la transmisión no es suficiente. Es por ello por lo
que la utilización de R TCP es opcional, aunque también recomendable.
Al inicio del punto anterior 5.1. Protocolos de comunicación se hizo
referencia a que el protocolo SIP se integra perfectamente con protocolos de audio
como RTP, RTSP (Real Time Streaming Protocol) gracias al protocolo SOP, que
pennite formar así una completa arquitectura multimedia. Por ello queda más que
justificado el realizar una introducción del protocolo SOPo
SOP o Session Oescription Protocol, definido en el RFC4566, se utiliza
durante la negociación que lleva a cabo SIP entre los dos agentes. Su función es la
de detallar cómo se va a realizar el intercambio de comunicación posterior
mediante protocolos como, por ejemplo, RTP. Para ello indica toda la información
relacionada con el tráfico Media tal como IP y puerto donde espera cada agente
recibir el audio, el codec a utilizar entre ambos, etc.
En SIP, la petición INVITE es la que contiene como cuerpo del mensaje la
4cscripción de la sesión (el SDP) del agente I1amémosle "llamante", mientras que
la repuesta "200 OK" del agente "llamado" contiene la descripción de la sesión del
tp:nte "llamado". En la descripción de la sesión cada agente informa al otro
CI1remo de los codee que soporta, de la dirección IP y puerto donde espera recibir
el ttáfico RTP además de cierta información adicional requerida por RTP.
"'I!III'
__IIIII11I1111Ii1IIWllmlll'III'II'I!"
52 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
CSeq: 2:U>Oe INVITl%
10
: applícation/sdp
User-Agent: X-Lite ralease 1105d
: 310
v=O
donde terminal 201 espera recibir el tráfico Mediall
0=201 3462578896 346257B922 IN IP4 192.168.1.130
s=x-Lit.e
c=IN IP4 192.16B.l.130
t=O O
IIPuerto donde al terminal 201 espera recibir el tráfico
Medial I
m=audio SOOO RTP!AVP O B 3 98 97 un
a=rtpmap:.O pcmu/aooo
a=rtpmap:8 pcma/sooo
a=rtpmap:3 gsm/BOOO
a=rtpmap:g8 8000
speex/8000
a=rtpmap:l0l telephone-event/aOOO
a=fmtp:101 0-15
a=sendrecv
.... •..• :>L,C,
sn/2.0 200 ü:!t
Vial SIP!2.0!UDP
192 . 16.B .1.130 :5060 ¡rport
From: "device" :2011jji192. 168.1. 130>itag=ae312f6ed9
To: <sip:200@192.16B.1.129:5061>,tag=1526648226
Contact: <aip: 200@192,. Ha .1.129: 5061>
Call.,-ID: 61426ef4123gebf33a6e4d9361c7564a@192.16S.1.130
CSeq: 102
Content-Type: application/sdp
Server: X-Lite
content-Length: 310
v",O
!!IP d0Q4e el terminal 200 aepara .el Medial/
0=200 3238555091 32:Hl570131 IN IP4 192.168. :1..129
s=.X-Lite
c=IN Il?4 192 .168. L 129
t=O O
l/puerto donde.el terminal 200espe:t::a recibir el
Medial!
m"'audio 8000 RTP/AVP O 8 3 sr8 97 101
a=-rtpmap:O pcmu!8000
f,O
1.
53 ©RA-MA CAPÍTULO 2: VOIP - LA NUEVA REVOLUCIÓN
a=rtpmap;8 poma/aooo
a=rtpmap: 3 gsm/eooo
a=rtpmap:
a=rtpmap:97 speexj8000
a=rtpmap:10l
a=fmtp:101 0-15
a=sendrecv
5.3 ALGORITMOS DE CODIFICACIÓN Y DECODIFICACIÓN
DE VOZ (CODECS)
La información transportada por un protocolo de audio tal como RTP es
tratada por un codee antes de añadirla en un paquete RTP.
Un codificador-decodificador o de manera abreviada "codee" es un
algoritmo que traduce una señal analógica en una señal digital. Por lo tanto uno de
los aspectos a valorar a la hora de elegir un codee es el tamaño al codificar la onda
analógica. Si el tamaño es muy grande una vez finalizada la codificación, la
compresión del codee será baja y por tanto se espera una buena fidelidad en sonido
digital. Sin embargo, al tener un tamaño grande se requiere un mayor ancho de
banda para transmitirlo. Por otro lado si el tamaño es pequeño tras la codificación,
el ratio de compresión es alto y no se espera tanta fidelidad con el sonido analógico
original como en el caso anterior. En este caso al ser el ratio de compresión alto, no
requiere tanto ancho de banda para poder ser enviado por la red. Por tanto la
elección de un codee de mayor o menor fidelidad hay que valorarlo, ya que no
siempre es tan importante un alto grado de fidelidad. Por ejemplo, en el caso de los
humanos nuestro oído tiene unos límites a partir de los cuales no percibe mejoras
en la calidad del sonido y es entonces importante no seleccionar un codee con
demasiada calidad pero sí con el menor consumo de ancho de banda posible
manteniendo una calidad aceptable, lo que nos va a permitir tener un mayor
número de comunicaciones VoIP simultáneamente.
Los codees de audio para telefonía se pueden dividir en dos grupos:
aquellos basados en "pulse code modulation" (PCM) y aquellos que reestructuran
la representación digital de PCM en formatos más livianos. Ambos tipos se
detallan mediante los distintos aspectos técnicos, a los cuales es posible realizar
distintas configuraciones que modifican el funcionamiento del codee. A
continuación vamos a ver de manera sencilla su funcionamiento.
En la figura 2-22 puede observarse cómo el codee va tomando
consecutivamente las distintas partes que componen el flujo de audio que se tiene
de entrada. A cada una de estas partes se le denomina muestra.
54 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
Figura 2-22. Flujo de audio
Cada codec tiene unos valores detenninados en dos atributos relacionados
con el tamaño y tiempo de la muestra: sample size o tamaño muestra y sample
intervalo intervalo muestra. El primero detennina el número de bits de la muestra
una vez codificada por el codec. El segundo atributo indica el intervalo de tiempo o
cada cuánto tiempo se lleva a cabo este proceso, es decir, cada cuánto se va
codificando una muestra.
Conocido el tamaño de cada muestra codificada y la frecuencia de
muestreo, es posible calcular el ancho de banda que es necesario para poder
establecer una comunicación de buena calidad entre dos puntos. Esta medida se
conoce con el nombre de Bit rate o tasa de bits. Supongamos que el tamaño del
sample size es 24 bytes y el intervalo de tiempo sample interval es cada 30 ms:
I I
Intervalo muestra
Figura 2-23. Intervalo de muestreo
( 24 * 8 ) / ( 30 * 0.001) == 6400 bits/segundo
Este sería el ancho de banda teórico necesario para poder establecer una
buena comunicación. Sin embargo en la realidad se requiere bastante ancho de
banda, ya que no sólo se envía el audio codificado, sino que también se envían
cabeceras de los distintos paquetes que encapsulan el sample o la muestra.
55 ©RA-MA CAPÍTULO 2: VOIP LA NUEVA REVOLUCIÓN
Tal y como se puede ver en la figura 2-24, el siguiente paso consiste en que
cada una de las muestras codificadas se incluyan como contenido en un paquete
RTP, el cual se incluye a su vez en un paquete UDP, y por último en un paquete a
nivel IP. Al final se genera un paquete de un tamaño mayor al sample size, y es ese
el motivo por 10 que se requiere más ancho de banda. A este tamaño extra, que se
añade al sample size, y que es absolutamente necesario para poder rutar el paquete
a través de la red, se le denomina overhead o sobrecarga.
-----Sobrecarga----­
Figura 2-24. Estructura de un paquete RTP
Teóricamente se le añade un tamaño de cabecera de IP de 20 bytes, un
cabecera UDP de 8 bytes y una cabecera RTP de 12 bytes, lo que hace un total de
overhead de 40 Bytes (mínimo). Ahora sí podemos calcular el ancho de banda que
teóricamente vamos a utilizar:
«40 + 24) * 8) / (30 * 0.001) = 17066 bits por segundo.
Como se puede apreciar, la necesidad de ancho de banda ha aumentado
considerablemente de unos 6400 a 17066 bits por segundo. Como ya se ha
comentado, esto es debido al overhead. Si observamos la figura 2-24 realmente se
tiene demasiado overhead para un pequeño frame de audio codificado. La relación
"audio codificado y overhead necesario para enviar ese audio codificado" no está
bien equilibrada, ya que se tienen 24 bytes de audio útil por 40 bytes de las
distintas cabeceras. Una medida para paliar esta proporción excesiva de overhead,
es introducir más de un frame en el paquete RTP (véase la figura 2-25).
-----Sobrecarga ----­
Figura 2-25. Estructura de un paquete RTP con variosframes
56 VOIP y ASTERlSK: REDESCUBRIENDO LA TELEFONÍA ©RA-M-\
De esta manera la proporción de audio útil y overhead está mucho más
equilibrada. Sin embargo esto tiene una consecuencia negativa, y es que la latencia
aumenta. Si antes se genera una muestra codificada cada 30 ms y que la
enviábamos rápidamente, ahora cada muestra se sigue generando también cada 30
ms pero son necesarias 3 (en este ejemplo). Ello aumenta el tiempo en que se envía
cada paquete a 90 ms:
«40 + (3 * 24) ) * 8) / (3 * (30 * 0.001)) 9956 bits por segundo.
El ancho de banda necesario se ha visto reducido considerablemente
respecto a la situación anterior pero aumenta la latencia, es decir, hay que esperar
más tiempo a obtener el audio suficiente para generar 3 frames para poder
completar un paquete. Esto provoca que el destinatario del paquete tarde más
tiempo (aunque recibe más cantidad de audio) en llegar a destino, por lo que si se
retrasa (lag) durante el trayecto se va a producir temporalmente un corte en la
comunicación. Además ahora se tienen 72 bytes de audio útil frente a 40 bytes de
overhead. Indirectamente se presenta otro problema además de la latencia, y es que
la pérdida de un paquete con 72 bytes de audio es mucho más considerable que la
pérdida de un paquete de 24 bytes de audio.
En definitiva y a modo de resumen, incluir más o menos frames de audio
en el paquete tiene sus ventajas e inconvenientes. Unas consideraciones que pueden
ayudamos a decantamos por una u otra forma son las siguientes:
• Si se dispone de una buena conexión a Internet, qUlzas 10 más
recomendable sería reducir la latencia todo lo posible, con la consecuencia
de que ante una pérdida de un paquete los resultados no serían tan graves.
• Si por el contrario no dispone de una buena conexión, un término medio
entre latencia y overhead es 10 más recomendable.
• Si el sample interval del codec es muy pequeño, a pesar de que incluyamos
varios frames de sonido en un mismo paquete, la latencia va a ser pequeña
(recordar que la latencia es el resultado de multiplicar el número de frames
de sonido en el paquete por el sample interval). De esta manera podemos
enviar la mayor cantidad de audio posible, teniendo una baja latencia
(lógicamente el consumo de ancho de banda aumentará).
• Si el sample interval del codec es muy grande, es recomendable no incluir
más de un frame de sonido en el paquete ya que la latencia es elevada.
En definitiva, a la hora de elegir un codec hay que tener en cuenta la
calidad de sonido y el ratio de compresión (directamente relacionado con el
57 ©RA-MA CAPÍTULO 2: VOIP LA NUEVA REVOLUCIÓN
ancho de banda y la latencia) y seleccionar aquel que más se adapte a nuestro
requerimientos de voz.
En la tabla 2-8 se muestra un resumen con los codecs más utilizados
actualmente y la configuración más equilibrada. El significado de cada campo de la
tabla es:
• Bit Rate es, teóricamente, el ancho de banda requerido por un solo sentido
de la comunicación y suponiendo un uso continuo del ancho de banda. Por
tanto, para la práctica este valor ha de ser multiplicado por dos (ya que se
tienen dos sentidos en la comunicación). Para algunos codecs, el consumo
de ancho de banda real será menor al obtenido tras la multiplicación ya que
durante una conversación se tienen silencios que son detectados por el
codec y no hace por tanto un uso continuo del ancho de banda. Para
aquellos que no detectan el silencio en ambos sentidos, el consumo real
será mayor ya que hay que tener en cuenta que no se envía únicamente
datos de voz, sino también datos como cabeceras, que suponen un
"overhead" en el tamaño del paquete de voz y requiere por tanto un ancho
de banda adicional.
• Audio útil (ms) no es ni más ni menos que la "cantidad de voz útil", la
cantidad de voz real que representa el total del paquete. Es un detalle que
afecta de manera notable en el funcionamiento del codec desde el punto de
vista del lag y del consumo de ancho de banda.
• Ancho de banda ethernet estimado indica el consumo de ancho de banda
esperado en una conversación.
• Latencia o tiempo transcurrido entre envío y envío de los paquetes.
• Calidad general del codec (valor dell=muy mala aI5=excelente).
Bit Audio Ancho
Latencia Calidad
Nombre rate útil estimado Observaciones
(ms) General
(kbps) (Bytes) (kbps)
PCM. Existen dos versiones
64 240 74.6 30 "u-law" (US, Japan) y "a­ 4.1
law" (Europa).
58 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
Utiliza Multipulse
Maximum Likelihood
Quantization (MP-MLQ) o
Algebraic-Code-Excited
O c 1 Í 3 ~ l
6.4 24 17 30 3.8-3.9
Linear-Prediction
(ACELP). Alta compresión
manteniendo una buena
calidad de sonido.
ADPCM. Sustituye a los
G.726 32 80 48 20 3.85
codecs 0.721 y 0.723
G.71& 16 60 26.6 30
Utiliza Code-Excited
Linear-Prediction (CELP)
para codificar.
3.61
<;.719 8 20 24 20
0729: codec original.
0729A menos complejo
que 0729 pero menor
calidad (compatible con
0729). 0729B es corno
0729 pero con supresión de
silencios (no es compatible
con las anteriores). Por
último 0729AB es un
0729A con supresión de
silencios y únicamente
compatible con 0729B.
3.92
Bit Audio Ancho
Latencia Calidad
Nombre rate útil estimado Observaciones
(ms) General
(kbps) (Bytes) (kbps)
Utiliza Regular-Pulse
Excitation Long-Tenn
Predictor (RPE-LTP).
GSM
06.10
13.2 33 29.2 20
Usado por la tecnología
celular OSM. Es soportado
3.8
por gran cantidad de
platafonnas hardware y
software.
Linear predictive codee
LrCI0 2.4 7 16.7 22.5 (LPC). La voz suena un
poco "robótica".
59 ©RA-MA CAPÍTULO 2: VOIP - LA NUEVA REVOLUCIÓN
El bitrate es variable.
Speex 11.2 28 27.2 20
Además detecta el silencio.
Reciente, por lo que su
soporte en dispositivos
comerciales es muy
ILBC 15.2 57 25.8 30 4.14
reducido. Requiere un
importante procesamiento
del sonido.
6 Conclusiones
La tecnología de VoIP dispone de todo lo necesario y fundamental para
comenzar su expansión: teléfonos IP, centralitas software así como hardware,
estándares que definen el funcionamiento, líneas de datos con buen ancho de
banda, etc. Las ventajas respecto a la telefonía tradicional resultan muy claras, y es
por ello por lo que la mayoría de las empresas telefónicas están comenzando a
ofrecer servicios de VoIP, y el motivo no es otro que la tecnología VoIP es la
telefonía del futuro.
CAPÍTULO 3
LA REVOLUCIÓN SE LLAMA ASTERISK
Saúllbarra Corretgé y David Prieto Carrellán
1 Introducción
Hoy en día se puede afirmar sin lugar a dudas que las comunicaciones
están cambiando. Al principio sólo disponíamos de telefonía fija, ahora tenemos
telefonía móvil, y además Internet.
En las últimas décadas la tecnología ha avanzado de una manera imparable,
y desde hace poco estos avances han llegado al mundo de las comunicaciones
empresariales.
Todo comenzó cuando un chico joven (Mark Spencer) decidió montar una
empresa para dar soporte sobre temas relacionados con GNUlLinux, a la que llamó
Linux Support Services. Para captar clientes y meterse en el mercado Mark quería
dar un servicio de atención las 24 horas del día, de forma que alguien podría llamar
a LSS, dejar un mensaje y su incidencia sería atendida lo antes posible.
2
62 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
Esta idea derivó en la necesidad de un sistema telefónico, pero tras varias
consultas de precios, Mark se dio cuenta de que no podría pagarlo (LSS se fundó
con 4000$ de capital social). Cualquier otra persona habría pensado en robar un
banco, pedir prestado el dinero o simplemente abandonar su idea, pero Mark tenía
esa mentalidad hacker: "¿por qué no hacerlo yo mismo?".
Así, emprendió la aventura de programar una PBX software desde cero,
algo inexistente hasta el momento. Asterisk supone un cambio radical en los
sistemas de comunicaciones, ya que estos están basados en hardware, y Asterisk es
software, por lo que ofrece una mayor flexibilidad y escalabilidad.
Para tener un producto completo a Asterisk le faltaba interactuar con las
líneas analógicas y digitales existentes en la telefonía tradicional, y en busca de
esta interoperabilidad, el proyecto Asterisk se encontró con el proyecto Zapata
Te/ephony, iniciado por Jim Dixon. En este punto, Asterisk ya era capaz de unir
ambos mundos: la telefonía analógica/digital tradicional y la VoIP.
Finalmente, en Linux Support Services se dieron cuenta de que lo más
importante de su negocio no era el negocio en sí, sino Asterisk, por lo que su
nombre cambió a Digium y el enfoque de la empresa cambió radicalmente para
enfocarse al desarrollo de Asterisk.
La clave del éxito de Asterisk es que es Software Libre, aunque la decisión
de hacerlo libre fue simple casualidad, ya que Mark tenía experiencia en el mundo
Open Source con proyectos como cheops, 12tpd y Gaim. Más tarde se dio cuenta de
que la decisión de hacer libre Asterisk fue lo que le ha dado tanto éxito, ya que
contrasta totalmente con el mundo cerrado de las PBX tradicionales.
Todo esto ha llevado a que Asterisk se expanda muy rápidamente, y haya
captado todo tipo de público: usuarios de Asterisk, empresas que basan su modelo
de negocio en Asterisk y los hackers de Asterisk. Todos ellos han formado el
ecosistema de la telefonía Open Source, que ha supuesto esta revolución imparable
en el mundo de las comunicaciones.
Arquitectura
Tal y como puede verse en la figura 3-1, Asterisk fue diseñado de manera
modular, de manera que cada usuario pueda seleccionar qué partes de Asterisk o
módulos desea utilizar. Esto hace de Asterisk una aplicación realmente escalable y
extensible:
© RA-MA CAPÍTULO 3: LA REVOLUCIÓN SE LLAMA ASTERlSK 63
• Escalable. Es posible desactivar los módulos no utilizados para instalar
Asterisk en dispositivos embebidos de pocos recursos.
• Extensible. Para programar un nuevo módulo de Asterisk no es necesario
conocer todo el código de Asterisk.
~ ~ ~
[
.. @
....x ~ t e n s k
Figura 3-1. Estructura modular de Asterisk
Esta arquitectura permite al usuario construir su sistema Asterisk como si
de un "Lego" se tratase, seleccionando los módulos que va a necesitar. Estos
módulos se dividen en 7 categorías:
• Coreo Se trata del núcleo de Asterisk, que incluye las funciones más
básicas y posibilita la carga de módulos.
• Recursos. Aportan funcionalidades adicionales al core, como la
posibilidad de leer ficheros de configuración (res_config), música en
espera (res_musiconhold), etc.
• Canales. Permiten a Asterisk manejar un dispositivo de una determinada
tecnología. Por ejemplo, para manejar dispositivos SIP se utiliza el módulo
chan_sip, para IAX2 chan iax y para canales analógicos/digitales
chan_zap.
• Aplicaciones y funciones. Estos módulos conforman la "caja de
herramientas" de Asterisk, ya que son los módulos que aportan las distintas
herramientas para configurar nuestro sistema Asterisk.
• CDR. Estos módulos controlan la escritura del registro telefónico generado
por Asterisk a diferentes formatos, por ejemplo a un fichero CSV, una base
de batos MySQL, etc.
3
64 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-M-\
• Codees. Para que Asterisk pueda codificar y decodificar la infonnación de
audio/vídeo que tiene que enviar y recibir dispone de distintos codees.
• Formatos. Estos módulos posibilitan a Asterisk "entender" y manejar
ficheros en distintos fonnatos, como mp3, alaw, ulaw, etc.
Se pueden definir los módulos que Asterisk cargará en fichero
modules.con/, y consultar cuáles se encuentran cargados ejecutando module show
desde el CLT de Asterisk.
Instalación
Una vez que estamos dispuestos a instalar Asterisk, mucha gente se hace la
eterna pregunta: ¿qué distribución elegir? Esta pregunta da lugar a intenninables
charlas, y la respuesta siempre suele ser la misma: la distribución con la que te
sientas más cómodo.
No obstante, las instrucciones que se darán en este libro están orientadas a
Debian y a derivados de RedHat como Fedora y Centos, aunque no resulta dificil
encontrar instrucciones precisas para otros sistemas.
¿Quépaquetes instalar?
En la web de Asterisk podemos encontrar 4 paquetes: Asterisk, Asterisk­
Addons, Zaptel y LibPRI. Dependiendo de la instalación que vayamos a hacer
necesitaremos unos u otros. Si nuestra instalación va a ser puramente VoIP, sin
interacción con líneas analógicas o digitales, sólo necesitaremos el paquete
"asterisk". Si vamos a utilizar tarjetas de comunicaciones analógicas, también
necesitaremos el paquete "zaptel". Si se van a utilizar trujetas de comunicaciones
digitales, será necesario instalar "libpri".
El paquete "asterisk-addons" puede ser instalado en cualquiera de los
escenarios de configuración, ya que contiene módulos adicionales que no se han
incluido en el paquete principal por temas relacionados con las licencias de uso.
Dependencias necesarias para instalar Asterisk
Para compilar Asterisk se necesita el compilador gcc así como la utilidad
make, además de las cabeceras de C. También son necesarias las librerías de
©RA-MA CAPÍTULO 3: LA REVOLUCIÓN SE LLAMA ASTERISK 65
desarrollo de OpenSSL, ya que Asterisk las utiliza en su propia librería
criptográfica. Para instalar estas dependencias en Debian basta con ejecutar:
# ,,-pt;-get instaH builo.-.es¡;Jential libncursesS-dev libssl-dev
Si además vamos a instalar Zaptel, necesitaremos las cabeceras del Kernel
(o las fuentes, si es un Kernel personalizado) y también se recomiendan las
librerías newt, para disponer de la utilidad zttool. Para instar estas dependencias
ejecutamos:
i apt-get i.nstCillllinux-headers-$ (uIl¡;¡.me-r) libnewt-dev
Llegado este punto, nuestro sistema ya está listo para que comencemos a
compilar Asterisk.
Descargar los paquetes necesarios
Procedemos a descargar los paquetes necesarios de la web de Asterisk:
# mkdir -p lus.z-lsre/asteriliik
#ed lusrlsrclasterisk
ft wget
# wge
t

# . -wge t A-corrent.W.gz
# wget •
9Y!mnt.t@r.gz .
1* tar pkg in *. tar . g¡¡;; do tar >ucvf $pkg¡done
Ahora ya tendremos todos los paquetes descomprimidos en
/usr/src/asterisk, así que ¡a compilar!
CompilarlibPRI
LibPRI es la librería encargada de dar soporte a señalización de primario
(El/TI) a Zaptel. No es necesario instalarla si no se van a utilizar tarjetas de
primario.
# cd lusrlsrc/asterisk/libpri-l.4-current
#
# .. makeinsta11
i
e
66 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
Compilar Zaptel
El paquete Zaptel contiene los módulos del Kernel para hacer funcionar las
trujetas de comunicación analógicas y digitales. Además, contiene varias utilidades
de configuración y diagnóstico.
#cd .4;"cu1:J:"ent
# . .
#
i make
#make install
# ttiakeconfig
A la hora de compilar Zaptel, primero ejecutamos ./configure, de manera
que se chequea nuestro sistema para comprobar si tenemos las dependencias
necesarias instaladas. Posteriormente, al hacer make menuselect, se nos muestra un
menú donde es posible elegir qué módulos y utilidades de Zaptel serán compilados.
Si un módulo va a ser compilado, se mostrará un '*' a su lado, mientras que si no
está disponible por la falta de alguna dependencia, se mostrará una 'X'. Una vez
hemos elegido las opciones que queremos compilar, pulsamos 's', para salvar estas
opciones.
Tras seleccionar los módulos que serán compilados, se ejecuta make, que
los compilará, y make install, que los instalará. Si queremos que Zaptel se añada al
arranque del sistema, ejecutamos make config, y se creará un script de inicio en
letc/init. di.
Compilar Asterisk
La compilación de Asterisk es muy similar a la de Zaptel, pero en este
caso, como Asterisk tiene muchos módulos habrá muchos que se marquen con una
'X', ya que nos falta alguna librería para poder compilarlo. Cuando un módulo está
marcado con una 'X', en la parte inferior de la pantalla se muestra la librería que
necesita, por lo que si queremos que se compile no tenemos más que instalar esa
librería, y tras ejecutar de nuevo ./configure, saldrá marcado con un '*' en el
menuselect.
#cd
41 ,'configure
#
#. make
# make
#m.lte
# make samples
©RA-MA CAPÍTULO 3: LA REVOLUCIÓN SE LLAMA ASTERISK 67
Al igual que en Zaptel, se ejecuta make config, para meter a Asterisk en el
arranque, y automatizar así el proceso de arranque del servidor Asterisk. Además,
si queremos que se generen los ficheros de ejemplo en /etc/asteriskl ejecutamos
make samples, y obtendremos una configuración por defecto muy limitada, pero
funcional, de Asterisk.
Compilar Asterisk-Addons
El paquete Asterisk-Addons contiene diversas utilidades que no han podido
ser incluidas en el paquete principal por temas relacionados con el licenciamiento
de aplicaciones. Entre ellas está la aplicación que maneja el formato mp3, el
módulo que escribe el CDR en MySQL y más. Su compilación es muy similar a la
de Asterisk:
t (ld l:¡¡ar! ere/.ast;e:l'i.a:t'lal'lt eri
'#
'#
1+ make install
Instalar voces para Asterisk en castellano
Al hacer make menuselect del paquete Asterisk, podréis comprobar que es
posible instalar el juego oficial de sonidos de Asterisk en español. Este conjunto de
sonidos tiene bastante acento inglés, y por tanto, utilizaremos otro conjunto de
sonidos creado por Alberto Sagredo.
1tcq lust:! sr.lZl/astet';tl'lk
'# wget
t,4J@r,g¡: .
#WSet
1.4.tar.g¡: . . .
# pkg inyoipncl'vatos*. ta;t' fgz; do ta:r -zxvf$pkg -C
/var/libjasterisk/sounds¡ done
Tras ejecutar todos los pasos anteriores, obtendremos una instalación muy
básica pero funcional de Asterisk, que podemos modificar y con la que podemos
empezar a aprender.
4
68 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-M....
Estructura de directorios
Al compilar e instalar Asterisk, se crean muchos directorios, y cada uno
contiene una parte de Asterisk. A continuación se muestran todos los directorios
relacionados con Asterisk, así como su función:
• /etc/asterisk/. El directorio más importante para A sterisk, contiene los
ficheros de configuración, así como el fichero asterisk.conf, donde se
indica la ubicación de los demás directorios.
• /usr/lib/asterisk/modules/. Contiene los ficheros binarios de los módulos de
Asterisk que han sido compilados.
• /var/lib/asterisk/. Contiene diversos ficheros importantes para Asterisk en
distintos subdirectorios, además del astdb, la Base de Datos de Asterisk
(Berkeley DB2), donde se guarda la información de registro de usuarios,
etc.
o /var/lib/asterisk/agi-binl. Directorio que contiene los scripts AGI que
pueden ser ejecutados desde el dialplan con las aplicaciones AGI,
EAGI, FastAGI o DeadAGI.
o /var/lib/asterisk/jirmwarel. Contiene ficheros de firmware necesarios
para la comunicación de Asterisk con otros dispositivos como el
IAXy.
o /var/lib/asterisk/imagesl. Contiene lmagenes, que pueden ser
transmitidas por canales que lo soporten.
o /var/lib/asterisk/keysl. Asterisk soporta autenticación mediante RSA
en IAX2. En caso de configurar enlaces IAX2 con este tipo de
autenticación, las claves pública y privada se almacenarán aquí.
o /var/lib/asterisk/mohl. Este directorio contiene los ficheros que serán
utilizados como música en espera.
o /var/lib/asterisk/soundsl. Este directorio contiene los distintos
sonidos que Asterisk es capaz de reproducir. Al utilizar aplicaciones
como Playback o Background, si no se indica la ruta absoluta al
fichero, se busca en este directorio.
o /var/lib/asterisk/static-httpl. En caso de haberlo instalado, contiene
los ficheros del Asterisk-GUI, además de un ejemplo de uso de
AJAM(Asynchronous Javascript Asterisk Manager).
© RA-MA CAPÍTULO 3: LA REVOLUCIÓN SE LLAMA ASTERISK 69
• Ivarlspoollasteriskl. El directorio de spool de Asterisk contiene diversos
subdirectorios, relacionados con la entrada/salida de ficheros:
o Ivar/spool/asteriskldictate/. En este directorio se sitúan los ficheros
generados por la aplicación Dictate.
o Ivar/spoollasterisklmeetmel. Contiene los ficheros de audio de las
conferencias MeetMe que hayan sido grabadas.
o Ivarlspoollasterisklmonitorl. Contiene los ficheros de audio con las
grabaciones realizadas con las aplicaciones Monitor y MixMonitor.
o /varlspoollasteriskloutgoing/. Asterisk lee periódicamente este
directorio en busca de callfiles, ficheros que permiten generar
llamadas automáticamente.
o Ivarlspool/asterisklsysteml. Si utilizamos la aplicación System,
Asterisk guarda los posibles ficheros temporales generados en esta
carpeta.
o Ivarlspoollasteriskltmpl. Contiene ficheros temporales que Asterisk
puede necesitar antes de mover un fichero de un sitio a otro.
o Ivarlspoollasterisklvoicemaill. Asterisk utiliza este directorio para
almacenar todos los ficheros con los mensajes de los buzones de voz.
• Ivar/runl. Este directorio del Sistema Operativo contiene los ficheros con
el identificador de proceso (PID) de los procesos activos, incluido el de
Asterisk, tal y como se indica en el fichero asterisk.conf
• Ivarlloglasterisk/. Contiene los ficheros de log, así como el CDR en
formato CSV (valores separados por comas).
5 Puesta en marcha de Asterisk
Como se ha visto en el punto anterior, al hacer un make config en el
directorio de fuentes de Asterisk, se instalará el script de inicio en letclinit.dl de
manera que Asterisk arranque automáticamente al iniciar el sistema operativo.
Ahora vamos a ver cómo arrancar manualmente Asterisk, y cómo conectamos a
una instancia de Asterisk que ya se encuentra en ejecuci9n .
•••••li111iII
70 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
Arrancar Asterisk
Para arrancar Asterisk basta con ejecutar 10 siguiente como root:
"
De esta manera, Asterisk arrancará en segundo plano, es decir, no se
mostrará ningún mensaje al usuario, y éste podrá seguir trabajando tranquilamente,
mientras Asterisk está funcionando.
Si, por el contrario, queremos arrancar Asterisk en primer plano,
utilizaremos el modificador -c y se nos mostrará el CLI (Command Line
Interpreter):
-o
CL!'> .
Si hemos arrancado Asterisk en primer plano, la única manera de salir del
CLI es parando Asterisk, ejecutando stop now desde el CL!.
Conectarse a una instancia arrancada
Como se ha visto arriba, si se arranca con -c, Asterisk arrancará en segundo
plano. Para conectarse al CL! de esa instancia de Asterisk, utilice el modificador -r:
Connected 1.4.1B cU:r;':J:'ently runnirig
(pid = 3231)

Para salir del CL! si nos hemos conectado con -r, no es necesario ejecutar
stop now, basta con hacer exit, y saldremos del CL!, pero sin parar el servicio
Asterisk
Si nos intentamos conectar a una instancia arrancada de Asterisk, pero no
habíamos arrancado Asterisk previamente, se mostrará el siguiente mensaje:
Un<:lble to connect to remate asterisk (doea
Ivar/run/asterisk.ctl exist?)
Añadir información de verbose y debug
Tanto cuando arrancamos Asterisk como si nos conectamos a una instancia
con -r, podemos hacerlo con las opciones de verbose y debug, para que se nos
muestre más información. El verbo ose aporta información detallada del
©RA-MA CAPÍTULO 3: LA REVOLUCIÓN SE LLAMA ASTERISK 71
funcionamiento de Asterisk, mientras que el debug muestra información a más bajo
nivel, que puede resultar de utilidad al diagnosticar fallos en Asterisk.
Para añadir verbose sólo hay que arrancar Asterisk con -v y para añadir
debug con -d. Cuantas más uves y des se añadan más información se mostrará, por
ejemplo:
6 Consola de comandos (CLI)
Al arrancar Asterisk en primer plano (-c) nos encontraremos con su
intérprete de comandos o CL! (Command Line Interpreter). A través de esta línea
de comandos es posible obtener ayuda, habilitar información de debug, originar
llamadas, etc.
A continuación se muestran los usos más frecuentes del CL!, aunque
también se irán comentando más opciones en capítulos posteriores.
Mostrar información sobre las aplicaciones:
eore showapplications
CLI>core show applieation <nombre de
Mostrar información sobre las funciones:
CLI>shOW functions
CLI> eore show funetion <nombre de la funei6n>
Cargar, descargar y mostrar los módulos de Asterisk:
CLI> module snow
eLI> module load <nombre del módulo>
eLI> module unload <nombre del módulo>
Mostrar los usuarios SIP/IAX:
CLI> sip show peers
eLI> iax2 show peers
Mostrar los canales activos:
eLI> eore show ehannels
eLI> show channels
eLI> iax2 show ehannels
eLI> zap show channels
Parar y reiniciar Asterisk:
eLI> stop now
eLI> stop when convenient
72 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA

eLI> restart naw
eLI> restar:t when convenient
eL!> gracefully
7 Configuración básica
A continuación se van a mostrar ejemplos de configuración de los distintos
tipos de canales que Asterisk es capaz de gestionar. En concreto, se examinará la
configuración de los dispositivos SIP, IAX y ZAP, así como un dialplan básico.
Todos estos conceptos, serán ampliados más tarde en el Capítulo 4. Lógica
de marcado o dial plan. Pero al finalizar este capítulo el lector ya será capaz de
realizar llamadas simples entre extensiones de distintas tecnologías.
7.1 CANALES SIP
7.1.1 Protocolo SIP
El protocolo SIP (Session lnitiation Protocof) puede ser considerado el
estándar de facto para la VoIP. La actual versión, SIP v2, fue publicada como el
RFC3261 en 1996. Desde entonces, su crecimiento ha sido inmenso, dado que el
protocolo se diseñó de manera que fuera extensible y modular, manteniendo un
núcleo funcional pequeño.
SIP es un protocolo basado en texto, fuertemente inspirado en HTML y el
paradigma IP. Al estar basado en texto y ser similar a HTML, es legible por el ser
humano, y es más fácil de diagnosticar.
Como su nombre indica (Session Initiation Protocol) SIP sólo sirve para
gestionar la sesión del usuario. SIP es un protocolo de nivel de aplicación, que
transporta únicamente señalización, y sólo sirve para el establecimiento,
mantenimiento y cierre de sesión, en este caso de comunicaciones de audio. Es
importante tener claro que SIP no transporta audio.
Bajo estas líneas se muestra 10 que se conoce como el "SIP trapezoid",
indicando que SIP sólo transporta señalización, y que el flujo multimedia es
transportado usando RTP (Realtime Transport Protocof) no teniendo que coincidir
necesariamente con el camino seguido por la señalización.
Gracias al protocolo SIP, los terminales se registran en el servidor,
indicándole su IP, para que el servidor sea capaz de enviarles llamadas.
© RA-MA CAPÍTULO 3: LA REVOLUCIÓN SE LLAMA ASTERISK 73
Dominio Dominio
ual.es uS.es
121@ual.es
Figura 3-2. SIP trapezoide
7.1.2 Configuración de canales SIP
La configuración de dispositivos SIP se realiza en el fichero sip.conf, y al
igual que en casi todos los ficheros de configuración, existe una sección que se
aplica a todos los dispositivos definidos, la sección [general]:
{general]
parametrol..valorl

[bob]
parametr03=valor3
[alica]
parametro4=valor4
Como se puede observar en el ejemplo, todos los dispositivos tendrán
fijados los parámetros 1 y 2, el usuario Bob tendrá fijado el parámetro 3, y Alice el
parámetro 4.
A la hora de definir usuarios SIP, lo más importante es definir el tipo de
usuario. Asterisk define 3 tipos de usuarios:
• peer. Los peers son los usuarios a los que Asterisk manda llamadas, es
decir, Asterisk llama A un peer.
• user. Los users son los usuarios de los que Asterisk recibe llamadas, es
decir, Asterisk recibe llamadas DE un user.
• friendo Los friends son la agrupación de los 2 conceptos anteriores, es
decir, un friend, es un peer y un user a la vez.
74 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
Realmente, el concepto de user no tiene demasiado sentido, ya que lo más
habitual es utilizar Asterisk para realizar llamadas, por lo que utilizaremos el tipo
friendpara los teléfonos y el tipo peer para los proveedores de VoIP.
Veamos un ejemplo más completo de configuración de un usuario SIP:
.(;09,b1

Como se puede apreciar en el ejemplo, hemos definido a Bob como un
friend, pero hemos añadido varios parámetros más:
• secreto Indica la contraseña que se utilizará para la autenticación.
• contexto Indica el contexto que se aplicará a este usuario. El concepto de
contexto será explicado más detalladamente en el siguiente capítulo.
• caUerid. Fija el identificador del llamante para el usuario definido, es
decir, cuando bob llame a alguien, este verá "Bob <2100>" en la pantalla
de su terminal.
• host. Indica la IP del usuario. Lo habitual es poner 'dynamic', ya que así
requerimos que el usuario se registre, obteniendo así su IP.
Cuando realizamos un cambio en el fichero sip.conf, es necesario recargar
la configuración SIP de Asterisk, para que los cambios tengan efecto. Para ello,
ejecutamos sip reload en CLI:
PJ;lX*Cr,b l1ip reload
Reloading$lP>
=.:. ParliJing '/etc/asterísk/si¡hCOnf': Found
== Parsing '/etc/asterísk/sip notify.conf') Found
PBX'*Cr,l:>
Para' consultar los usuarios presentes en el sistema, así como su estado,
podemos ejecutar sip show peers y sip show users desde el CLI:
PBX*Cr,b sip show peera
Name/username Hoat Dyn NatACL Port StatuEi
aH.ce/alice 192 .16B .1.48 D S060
Unmoni tored,
bob/bob 192.168.1.31 D 5060
Unmonitored
laura/laura 192.168.1.48 D 5060
Unmonitored
©RA-MA CAPÍTULO 3: LA REvOLucrÓN SE LLAMA ASTERISK 75
;3 tMonit,o):'ed:.
o OffIi,ne}


<lÚee
Rll'C3S8:l
1;»b ..
RFC358.1
laura 1234
RFC3S.al
PBX*CLI>
Para probar el funcionamiento de la configuración anterior, crearemos un
pequeño dialplan de ejemplo:


eltten.· ",;;'; (filI'P/áJ:l.ce:)
"-' '/;'
!bob).
eltte.n ""::>
Con este dialplan, podremos llamar a Atice marcando el 2000, a Bob
marcando el 2001 Y a Laura marcando el 2002.
Para probar lo anterior, podemos configurar un teléfono SIP o un
softphone. En los siguientes ejemplos, se utiliza Zoiper, un softphone gratuito con
soporte para SIP e IAX.
7.2 PROTOCOLO IAX
Además de soportar los protocolos más extendidos de VoIP (SIP, H.323 ... ),
Asterisk introdujo un protocolo propio, orientado inicialmente a la interconexión
de centralitas Asterisk. Este protocolo se denominó IAX (Inter-Asterisk eXchange
protocol)o Actualmente se utiliza la versión 2 del protocolo (IAX2), estando la
primera versión ya en desuso, por lo que al hablar de IAX, estaremos normalmente
refiriéndonos a IAX2.
Las principales características de IAX son:
• Todo el tráfico de datos se realiza a través de un único puerto UDP. Esto
incluye tanto la señalización como el tráfico de voz. En otros protocolos se
usa un puerto distinto para la señalización y otro, negociado
dinámicamente, para el tráfico de voz. Esto introduce problemas con los
cortafuegos y con el NAT que, aunque se pueden resolver con distintos
76 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
mecanismos, no dejan de ser complicados. En IAX no nos encontramos
con estos problemas.
• Un mismo flujo de datos puede contener información de varias
conversaciones al mismo tiempo (trunking). Esto se consigue enviando en
un solo paquete UDP información de señalización y de voz de una o más
llamadas. Gracias a esto se minimiza el ancho de banda "desperdiciado"
por las cabeceras de los paquetes UDP.
• Es un protocolo binario, a diferencia de SIP, por ejemplo, que es un
protocolo basado en texto. De esta manera se consigue minimizar el tráfico
de datos de señalización.
Pero no todo son ventajas:
• El tráfico siempre pasa por el servidor. Al ir señalización y voz por el
mismo canal, forzosamente hay que pasar por el servidor. Con otros
protocolos, como SIP, dos teléfonos pueden comunicarse enviando la
señalización a través del servidor, pero el tráfico de voz puede ir directo de
un teléfono al otro sin pasar por el servidor, lo que en determinados
escenarios puede suponer un enorme ahorro de ancho de banda.
• No está muy extendido. Actualmente sólo Asterisk y unos pocos productos
más soportan IAX2. Tampoco es normal que proveedores de telefonía IP
nos permitan conectar con ellos a través de este protocolo.
Por otra parte, es interesante comentar que aunque el protocolo se diseñó
inicialmente para interconectar dos centralitas Asterisk, también existen teléfonos
IP y softphones que pueden conectar con un servidor Asterisk a través de este
protocolo.
7.2.1 Configuración de Canales IAX
El fichero de configuración en el que definiremos los parámetros de los
canales IAX2 en nuestro servidor Asterisk es iax. con!
Este fichero tiene una estructura similar a la que hemos visto anteriormente
en el sip.conf, para los canales SIP, con una sección [general] con la información
de configuración que afectará a todos los canales y parámetros por defecto, y
después distintas secciones para cada uno de los dispositivos con los que nuestro
Asterisk se va a comunicar mediante IAX2.
©RA-MA CAPÍTULO 3: LA REVOLUCIÓN SE LLAMA ASTERISK 77
Aquí también diferenciaremos entre equipos que van a realizar llamadas a
través de Asterisk (users), equipos que van a recibir llamadas procedentes de
Asterisk (peers) y equipos que van a hacer y recibir llamadas (friends).
7.2.2 Definición de extensiones IAX2
Para los más impacientes, aquí tenemos nuestro primer ¡ax.con! con una
configuración mínima para conectar dos extensiones. En la sección [general]
definiremos el idioma en el que deseamos que se reproduzcan los mensajes del
sistema para los usuarios IAX2. Seguidamente definimos dos usuarios (Juan y
María).
[general]
language es
[juanl
type = friend
host dyn,amic =o
secret '" passwordDeJuan
context desde-usuarios
callerid .. Juan <2003>
[mariaJ
type '" friend
= dynami9 .
secret
context
. .
=desde-uauarios
.
callerid '" I'4ari¡¡t <2004>
Dentro del CL! de Asterisk forzamos la carga del módulo chan _iax2.so
para que se lea de nuevo esta configuración:
PBX*CLI:> module reload Chan_iiiX2.so
Podemos comprobar que en Asterisk ya se han definido los dos usuarios,
ejecutando iax2 show peers e iax2 show users en el CL!:
PEl(:*CLI'l> iax2 show users
Username Secret· Authen
DeÍ.context A/C; codsc Pref
maria desde­
uauax:ios No Host
juan p.¡al;lt>wordDeJu<;in desde-
US1,l<;idos No Hos't
Ilax*CLI>
PBX*CLI'> ia.x2. slJ:ow peers
NamelUsername Rost
Status
78 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
Para probar estas cuentas podemos usar un softphone que soporte el
protocolo IAX2. Zoiper (http://www.zoiper.com) es una buena opción para esto, ya
que además de IAX2 soporta SIP, por lo que será el softphone que utilizaremos
como ejemplo.
La configuración de una cuenta IAX2 en Zoiper es bastante simple. Basta
con introducir el nombre/dirección IP del servidor Asterisk y nuestro usuario y
contraseña. Después de esto ya podemos conectar con el servidor.
v .ijj eUH'ltala dt $V'
it nueva d.e 'S1P
.....­
-

v D OpchiUlf de A.\IdkJ
uAUdia
v ",OPJ¡61"1••',;;t..

--:J d.
Figura 3-3. Configuración de ZoIPer
Para que nuestros usuarios Juan y Maria puedan llamarse, necesitaremos
un pequeño dial plan. En el siguiente capítulo se profundizará sobre este tema, pero
podemos empezar a hacer alguna prueba ampliando un poco el extensíons.conf que
habíamos generado para probar las extensiones SIP:
,iES,i;:¡¡;,!I@!Ji 'Ir ",",-,­
©RA-MA CAPÍTULO 3: LA REVOLUCIÓN SE LLAMA ASTERISK 79
Hemos añadido las extensiones 2003 y 2004. Al marcar la extensión 2003,
llamaremos al usuario Juan, que usa el protocolo IAX2. Con la extensión 2004
llamaremos a María, que usa también IAX2.
Ahora que tenemos usuarios que usan terminales SIP y usuarios que usan
terminales IAX2 podemos probar una de las capacidades más interesantes de
Asterisk, y es que Bob puede llamar a Juan simplemente marcando su número de
extensión. Bob, que usa un teléfono SIP, no sabe qué tecnología estará usando
Juan, y no tiene que hacer nada especial para poder hablar con él, aunque el
teléfono de Bob sólo soporte SIP y el teléfono de Juan solamente funcione con
IAX2. Asterisk "hace magia" con los canales y realiza la traducción de protocolos
de forma transparente. En la figura 3-4 se muestra un esquema básico de
comunicación entre un usuario SIP y un usuario IAX2.
SIP
IAX2 ~ - - - - - ~ • rrt.
Teléfono SIP
de "usuariol"
de "luan"
Figura 3-4. Llamada entre un usuario SIP y un usuario fAX2
7.2.3 Interconexión de dos Asterisk mediante IAX2
Acabamos de comprobar lo sencillo que es definir extensiones IAX2 para
usar con Asterisk. Sin embargo, donde de verdad podemos obtener más ventajas
usando el protocolo IAX2 es en la interconexión de dos centralitas Asterisk, de
forma que los usuarios de una y otra instalación puedan hablar entre ellos, o que
podamos rutar las llamadas al exterior a través de la instalación por la que resulten
más económicas.
Imaginemos el siguiente escenario: una empresa tiene su sede central en
Madrid y una sucursal en Caracas. En ambas sucursales disponen de un servidor
Asterisk.
Enlazar estas dos centralitas a través de IP nos va a dar la posibilidad de
que los usuarios de las dos sucursales puedan llamarse entre ellos y que estas
llamadas no pasen a través de la red telefónica, lo que supone un gran ahorro para
la empresa. También va a permitir que las llamadas que se realicen desde Caracas a
clientes o proveedores de España sean enviadas a través de IP hasta la centralita de
80 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
Madrid, y desde allí salgan a la red telefónica, con lo que la llamada no sería
facturada como una llamada internacional.
Madrid
Caracas
Figura 3-5. Interconexión de dos Asterisk mediante IAX2
Pero además de los beneficios económicos, la interconexión de centralitas
ofrece grandes beneficios operativos: un usuario de Madrid que quiera hablar con
un usuario de Caracas podría hacerlo simplemente marcando su número de
extensión, sin tener que pasar por la operadora. Los usuarios que viajan entre las
dos sucursales pueden recibir llamadas o acceder a servicios como su buzón de voz
desde cualquier terminal de las dos instalaciones, etc.
esquema que vamos a seguir va a ser la creación de un "user" y un
"peer" en cada servidor Asterisk, para gestionar las llamadas entrantes (del "user")
y salientes (hacia el "peer") a la otra sucursal. Vamos a suponer que el servidor de
Madrid dispone de una dirección IP fija, mientras que la conexión a Internet de la
oficina de Caracas tiene dirección IP dinámica.
También vamos a suponer que en Madrid las extensiones tienen una
numeración del tipo: lxxx (cuatro cifras y empiezan por 1), mientras que en
Caracas las extensiones son de tres cifras y empiezan por 2 (2xx).
Configuración del servidor "Madrid":
iax.conf:
1anguage es
{caracas]
type peer
host dynamic
eecret = passwordSecreta
trunk yes
disa110w = a11
©RA-MA CAPÍTULO 3: LA REVOLUCIÓN SE LLAMA ASTERISK 81
[caracas]
t)IPe=
seq!ret = pasalill'PrdSeQreta
Cor).:text = ,deede-cara,cas
trunk .. yefi
di sa11o'W'
allow", glilnt
Como comentábamos, hemos defmido un user y un peer para la sucursal
de Caracas. En ambos hemos incluido el parámetro host=dynamic para indicar que
la dirección IP de Caracas no es conocida.
También se ha definido el parámetro trunk = yes, para aprovechar la
posibilidad de agregar información de varias llamadas en un mismo paquete UDP,
lo que conllevará un ahorro de ancho de banda cuando haya varias llamadas
1
concurrentes •
También para mmlmlzar el ancho de banda consumido por las
conversaciones hemos deshabilitado el uso de cualquier otro codec de audio
(disallow=all) y habilitado únicamente el codec "GSM" (allow=gsm).
En la configuración del "user" Caracas, hemos indicado que el contexto en
el que entrarán las llamadas provenientes de esta sucursal será "desde-caracas". En
la configuración del dialplan ("extensions.conj') de Madrid debemos crear un
contexto llamado "desde-caracas" para gestionar estas llamadas:
extensions.conf:
[general]
[desde-caracas] ; Llamadas provenientes de la sucursal de
Caracas
include => a-extensiones ; pueden llamar a extensiones locales
[a-caracas] ; Llamadas con destino a extensiones de Caracas
Para activar el "trunking" en IAX2 necesitarnos disponer de una
fuente de tiempo proporcionada por el driver de Zaptel. Si no disponernos de
tarjetas de telefonía que usen este driver, será necesario cargar al menos
el módulo "ztdummy" , que proporcionará esta fuente de tiempo.
82 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
Configuración del servidor "Caracas":
iax:.;
t:'ype",
bos\:";.i:;..
...,..
oontext:. ""
trw¡k "'. yes
.. all
dlow .gsm
La primera diferencia que encontramos con respecto a la configuración del
servidor de Madrid es la línea:
:r:egi$ter .,;> caracas .
La finalidad de esta línea es que el servidor de Caracas se registre en el
servidor de Madrid, identificándose como usuario "caracas" y la contraseña
"passwordSecreta". De esta manera el servidor de Madrid podrá conocer la
dirección IP que tenga asignada en ese momento y así podrá enviarle llamadas.
En este caso hemos optado por definir al servidor de Madrid como
"frien"', en vez de separar la configuración de "user" y "peer El resultado es el n.
mismo.
extelll!lions ..COOf;
©RA-MA CAPÍTULO 3: LA REVOLUCIÓN SE LLAMA ASTERlSK 83
Una vez configurados los dos servidores, los usuarios de ambas sucursales
podrán hablar entre sí, marcando simplemente el número de extensión de la otra
persona.
7.2.4 Aumentando la seguridad
En el ejemplo anterior hemos utilizado contraseñas para que un servidor se
identifique ante el otro. Para aumentar la seguridad, Asterisk admite el uso de
claves RSA para identificar a los sistemas.
Para usar este mecanismo de identificación, debemos crear un par de claves
(clave pública y clave privada) mediante el comando ast-genkey. Imaginemos que
el servidor "Caracas" va a usar un par de claves RSA para identificarse ante el
servidor "Madrid":
cáraCilS# astgenkey. " n a ~ r a c a á
Este comando va a generar un par de claves (caracas.key y caracas.pub)
que debemos mover al directorio de claves de Asterisk (normalmente
Ivar/lib/asterisklkeys). Las claves no estarán protegidas por contraseña (para que el
servidor pueda cargarlas al reiniciarse). La clave privada (.key) debe permanecer
secreta, mientras que la clave pública (.pub) debemos copiarla a todos aquellos
equipos con los que queramos usar esta identificación. En nuestro caso, copiaremos
el archivo caracas.pub al directorio de claves del servidor "Madrid",
p
84 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
Ahora es necesario hacer algunos cambios en el iax.conf de ambos
servidores. En primer lugar, el servidor "Caracas" debe usar estas claves tanto para
registrarse ante el servidor Madrid como para identificarse al enviarle las llamadas:
iax. del se:rvi4or
Igene;r'alJ
[\ilaqdd]
tyPe "" friend·
host '" 192.168.15.143
""passwqrdSecretá
=dasde-'mad:riél
disallow", .
allow '" gsm
cara.c:as nombre d'e]'¡il c1¡;¡.vea .\lsar y;¡ara E;!nviar
llamapae
a maorid
y por su parte, el servidor «Madrid" debe reconocer que este par de claves
pertenece al servidor Caracas:
servidor "Ma4ricl:",
[caraca¡s]
type >;; pe€lr
host ""dyna'lllic
aecret pas¡;;wordSecreta
trunk '" yes
disallow ,., .all
al10w gsm
[caracas}
type user
host = dynamic
a.uth· '" rsa
inkE:!)'s. ",caracas indicamose1nomb:I'e del.fichero·que
contiene
la clave publica del se:rvidpr remOto
contexto. de:;¡de-Carai:as
trunk "" yes
© RA-MA CAPÍTULO 3: LA REVOLUCIÓN SE LLAMA ASTERJSK 85
di sallo)! all
allow '" gsm
Es importante aclarar que este par de claves RSA sólo se utiliza para
identificar a los servidores. El tráfico de voz no circulará cifrado aunque se usen
claves RSA para la identificación.
7.3 CANALES ZAP
Aunque Asterisk sea un software capaz de actuar como centralita IP, no
podemos olvidamos de que la telefonía tradicional sigue existiendo y tenemos que
interactuar con ella.
Es muy probable que Asterisk no hubiera llegado donde ha llegado de no
haberse aliado con Jim Dixon y su proyecto Zapata Telephony, más conocido
como Zaptel. Este proyecto benefició a ambos, ya que Asterisk no disponía de
conectividad con las líneas analógicas/digitales, y Zaptel carecía del software
necesario para funcionar.
7.3.1 Canales analógicos
En el Capitulo l. La telefonía tradicional, se ha hecho una pequeña
introducción al funcionamiento de la telefonía analógica, aunque queda fuera del
alcance de este libro, pero para poder configurar las tarjetas Zaptel correctamente
con Asterisk hay ciertos conceptos básicos que hay que tener en cuenta.
Recordemos:
• Puerto FXO (Foreign eXchange Office): se trata del puerto que recibe el
tono, es decir, se conecta a central (la línea telefónica). Utiliza señalización
FXS.
• Puerto FXS (Foreign eXchange Station): este puerto es el que genera el
tono de marcado, el que se conecta al terminal (teléfono). Utiliza
señalización FXS.

queombQS ext;"eWlQS getumln'Voltaje;
Tal y como muestra la figura 3-6, a nivel fisico los módulos FXS se pueden
identificar por su color verde, y los módulos FXO son rojos.
86 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
Figura 3-6. Tarjeta Zaptel
Configuración de un canal FXO
La configuración de los dispositivos Zaptel se realiza en dos pasos, por un
lado se configura el subsistema Zaptel, y por otro lado Zapata, el canal de Asterisk
para ZapteL
Configuración del hardware Zaptel
Para configurar Zaptel es necesario editar el fichero /etc/zaptel.conf e
indicar el tipo de señalización y la zona geográfica.
A continuación se muestra un ejemplo de configuración para un FXO:
La primera línea indica el tipo de señalización que será utilizada, en este
caso para el canal 2.
Señalización analógica
En la telefonía analógica, existen tres tipos de señalización, que se utiliza
para solicitar tono de marcado y así poder establecer llamadas:
© RAoMA CAPÍTULO 3: LA REVOLUCIÓN SE LLAMA ASTERISK 87
• GroundStart (gs). En este tipo de señalización el tono se solicita
conectando a una toma de tierra uno de los polos. Se empezó a utilizar para
evitar la situación en que ambos extremos intentan establecer una llamada
casi al mismo tiempo, aunque actualmente no se utiliza mucho.
• LoopStart (ls). El tono de marcado se obtiene cerrando el circuito De, y
esto continuará así hasta que se cuelgue la línea. Este tipo de señalización
es el más utilizado en Norte América.
• KewlStart (ks). Es el sistema más utilizado actualmente y es
prácticamente igual que el LoopStart, pero con supervisión de desconexión
remota. En un circuito no supervisado, normalmente la detección de
desconexión no es un problema, pero en aplicaciones como el buzón de
voz, si el circuito no es supervisado, no es posible detectar nada, podría
grabarse silencio.
El parámetro loadzone permite configurar el canal para que utilice las
indicaciones de tonos como el de marcado, ocupado, etc. para el país indicado. En
caso de no indicar elloadzone para algún canal, se aplicará el valor del parámetro
loadzone=us.
Configuración de Zapata
La configuración del canal de Asterisk para manejar el hardware Zaptel se
realiza en el fichero zapata. con/, que, por defecto, se encuentra situado en
/etc/asterisk. En el fichero zapata. con/, además, se configuran diversos parámetros
como el cancelador de eco, la llamada en espera, etc.
A continuación se muestra un ejemplo de configuración del fichero
zapata. con!
[trunkgroupsJ
r

h:taécalleri;<l=:1'+o

tb.ree$iayehllrt$=iye,á

'.
context",entrálites:'analogicas
signalling"fxs, ltS
cnatinél. "'> 2
88 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
La configuración de los canales Zaptel se realiza dentro de la sección
[channels]. El fichero zapata.conjes ligeramente diferente a los demás, ya que la
configuración se aplica hasta que se encuentra la opción channel=>, luego es
posible variarla para la configuración de otro canal. Veámoslo con un ejemplo:
opcionl..valorl
cAannel =>3

channel => 4
opcion2=valor3
channel = > 5
Para el canal 3, estará definida la opción 1, con el valor 1. Para el canal 4,
estará definida la opción 1, pero esta vez con el valor 2. Y para finalizar, el canal 5
tendrá definidas las opciones 1 y 2, con los valores 2 y 3 respectivamente.
Analicemos los parámetros del ejemplo anterior:
• Usecallerid. Indica si se utilizará o no el identificador de llamada.
• Hidecallerid. Indica si debe ocultarse el identificador de llamadas.
• Callwaiting. Habilita o deshabilita la llamada en espera.
• Threewaycaling. Permite habilitar/deshabilitar el servicio de llamada a
tres.
• Transfer. Habilita o deshabilita la posibilidad de realizar transferencias.
• EchocanceJ. Permite habilitar la cancelación de eco.
• Contexto Indica el contexto donde se enviarán las llamadas entrantes por el
canal configurado.
• Signalling. Indica el tipo de señalización. En este caso es fxs_ks, ya que al
ser una FXO, utiliza señalización FXS, y de tipo KewlStart (ks) que es el
más común y el utilizado en España.
• Channel. Indica los canales a los que afectará la configuración anterior, en
este caso el 2.
©RA-MA CAPÍTULO 3: LA REVOLUCIÓN SE LLAMA ASTERISK 89
Configuración de un canal FXS
Como se ha comentado anteriormente, los canales FXS nos van a permitir
conectar teléfonos analógicos, para poder usarlos con Asterisk. La configuración es
muy similar a la de las interfaces FXO, como se podrá apreciar por los ejemplos
mostrados.
Partiendo de la configuración anterior, vamos a añadir lo necesario para
que el módulo FXS funcione con Asterisk.
Configuración del hardware Zaptel:
fxok&==:I.
fxsks=2
lo.adzone .. e·s
def¡¡l.ultzon,e...es
El único cambio introducido es la primera línea, indicando que el canal 1
será configurado con señalización FXO de tipo KewlStart, recordemos que la
señalización FXO se debe a que la interfaz es una FXS.
Configuración de Zapata
Para poner en funcionamiento la FXS tendremos que añadir lo siguiente en
el fichero zapata.confque ya teníamos en el ejemplo anterior:
immediate=po
context=aesde-usuariol>
signalling",fxo ks
channel => 1
Las FXS tienen dos modos de funcionamiento: por un lado está el modo
habitual, en el que el usuario descuelga y espera escuchar un tono de invitación a
marcar, tras lo cual se cursará la llamada. El otro modo de funcionamiento es
conocido como 'el teléfono rojo', y consiste en la marcación automática de un
número, o la realización de diversas acciones justo al descolgar el teléfono, sin que
el usuario tenga que marcar nada.
El modo de funcionamiento se configura mediante la opción immediate. Si
está a 'no', el funcionamiento es el habitual de un teléfono, mientras que si lo
ponemos a 'yes', nada más descolgar se ejecutará la extensión 's' del contexto
definido, posibilitando así la creación de funcionalidades como el teléfono rojo.
El resto de opciones mostradas tienen el mismo significado que en la
configuración de la interfaz FXO:
90 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
• Contexto Indica el contexto desde el que se realizarán las llamadas.
• Signalling. Indica el tipo de señalización de la interfaz, en este caso, por
ser una FXS le corresponde la señalización FXO.
• Channel. Indica el canal que se está configurando.
Dialplan para probar la configuración de Zaptel
Aunque se realiza un análisis más exhaustivo del diaplan en el Capítulo 4.
Lógica de marcado o dial plan, se comenta en detalle en el siguiente capítulo, a
continuación se muestra un ejemplo funcional para probar que la configuración ha
sido la correcta:
[entrantes-analogicas]
exten => s,l,Noop(Llamada entrante por la línea analógica}
exten·=> s,n,Dial(SIP!alice}
[desde-usuarios]
exten => 2000,1,Dial(SIP/alice}
exten => 2001,l,Dial{SIP/bob)
exten => 2002,l,Dial{SIP/laura)
exten => 2003,1,Dial{ZAP/l}
Con el dialplan del ejemplo, al recibir una llamada por la línea analógica,
esta será enviada a la extensión de Alice, y será posible llamar al terminal
analógico marcando el número 2003.
7.3.2 Canales digitales
Los detalles del funcionamiento de la telefonía digital quedan fuera del
alcance del libro, pero, al igual que en la telefonía analógica, es necesario tener
claros algunos conceptos (consulte el Capítulo 1. La telefonía tradicional para más
información).
Actualmente Zaptel sólo soporta accesos primarios (ISDN PRI), por lo que
en este apartado trataremos exclusivamente con conexiones TllEl.
Las diferencias entre los canales TI y El son las siguientes:
• TI tiene un ancho de banda de 1544Mbps, frente a los 2048Mbps de El.
• TI dispone de 24 canales, y El de 32.
© RA-MA CAPÍTULO 3: LA REVOLUCIÓN SE LLAMA ASTERlSK 91
• Utilizando señalización ISDN, TI tiene 23 canales de voz, y El 30.
• TI puede tener muchos tipos de señalización ISDN, mientras que en El se
utiliza EuroISDN únicamente.
• TI se utiliza sobre todo en los EEUU, Canadá y Japón (JI), mientras que
El se utiliza a nivel mundial.
Sincronización
Los circuitos TlIEI necesitan una fuente de reloj, para poder mantener la
sincronización. Este es un factor a tener en cuenta a la hora de configurar nuestra
tarjeta Zaptel, ya que en función de a dónde conectemos el enlace T llEl tendremos
que configurar la sincronización de diferente manera:
• Si enlazamos con un proveedor de telefonía, el proveedor nos dará la señal
de reloj.
• Si enlazamos con otra PBX mediante un cable cruzado, tendremos que
generar nosotros la señal de reloj.
Segmentación
En enlaces TlIEl, el ancho de banda total disponible se divide en distintos
time-slots (canales) que serán utilizados para transmitir voz o datos. Dependiendo
del tipo de enlace (TI o El) disponemos de distintas formas de segmentación:
• TI
o 04
o ESF (Extended Super Frame)
• El
oCAS (Channel Associated Signalling)
o CCS (Common Channel Signalling)
El tipo de señalización a utilizar lo determina el operador. En España, los
enlaces primarios son de tipo El, con señalización CCS.
92 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
Codificación
La codificación indica cómo se envían los datos a través del enlace y
también se utiliza para mantener la sincronía cuando los canales no se encuentran
en uso. Tenemos 3 tipos de codificación disponibles:
• High Density Bipolar 3 (HDB3)
• Altemate Mark Inversion (AMI)
• Bipolar with 8 Zeros Substitution (B8ZS)
Al igual que la señalización, la codificación a utilizar en el enlace vendrá
determinada por el operador. En España, la codificación utilizada es hdb3.
Configuración de Zaptel
Para configurar una tarjeta Zaptel de primarios, es necesario definir un
"span" por cada uno de los primarios en el fichero zaptel.conf, de la siguiente
manera:
LBO/señalización, codificación
A la hora de configurar el timing, indiCaremos un 1 si Asterisk va a recibir
el timing del proveedor, o un O si Asterisk va a PROVEER el timing en el span
definido.
El último parámetro que no se ha comentado hasta ahora es el LBO (Line
Build Out), que sirve para compensar la longitud del cable de conexión del enlace.
Lo habitual es fijar este valor a O, aunque si la distancia es elevada, podemos ir
aumentando su valor.
Teniendo en cuenta lo anterior, la configuración típica de una línea de
primario en España seria:
span=l,l,O,ccs,hdb3,crc4
Nótese que hemos añadido la opción crc4 al final. Esto indica que se
realizarán comprobaciones CRC, y para saber si debemos incluirlo o no tendremos
que hablar con el operador.
Una vez hemos configurado el span tenemos que configurar los canales del
enlace, que para un El serán 30 canales de voz (canales B) y un canal de datos
(canal D). Una vez añadido esto tendremos esta configuración para el primario en
el fichero zaptel.conf
©RA-MA CAPÍTULO 3: LA REVOLUCIÓN SE LLAMA ASTERISK 93

bChan=1 17·<51 I
dohan=16
Como se puede apreciar, se han definidos los canales B del 1 al 15 Y del 17
al 31, dejando el canal 16 como canal D, que suele ser lo habitual.
Configuración de Zapata
Una vez tenemos configurada la tarjeta a nivel de Zaptel, tenemos que
configurar el fichero zapata. con! (situado en /etc/asterisk), para configurar cómo
interactuará Asterisk con la tarjeta.
[trunkgroupsl
[channelsl
usecallerid=yes
hideeallerid=no
callwaiting=yes
threewaycalling=yes
tranafer=yes
echoeancel=yes
group=1

switchtype=euroisdn
signalling=pri cpe
channel =>
Como se puede observar, la configuración no varía demasiado con respecto
a la de las tarjetas analógicas, aunque hay algunas cosas que cambian:
• switchtype. Indica el protocolo ISDN utilizado. En España se utiliza el
EuroISDN.
• signalling. En primarios, la señalización puede ser pri_cpe o
pri_net, dependiendo del rol que esté tomando Asterisk:
o pri_cpe. Asterisk se conecta con la red del proveedor, Asterisk es
un cliente (cpe = customer premise equipment).
o pri_net. Asterisk actúa como si fuera un operador (network).
Utilizaremos este tipo de señalización cuando nos conectemos con
otra PBX mediante un cable cruzado.
Dialplan para probar la configuración Zaptel:
94 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
lentrantes-priJ
exten => 9XXXXXXXX,1,Noop(Llamada entrante al DID: ${EXTEN}}
exten => 9XXXXXXXX,n,Dial(SIP!alice)
[desde-usuarios]
exten => 2000,1,Dial(SIP!alice)
exten => 2001,l,Dial(SIP!b6b)
exten => 2002,1,Dial(SIP!laura)
exten => _9XXXXXXXX,l,Dial(ZAP!gl!${EXTEN})
El dialplan para probar las conexiones de primario es muy similar al de las
conexiones analógicas, pero tiene algunas diferencias significativas ya que las
llamadas entrantes no entran a la extensión 's' del contexto indicado. En lugar de
esto, entran con el DID completo, de manera que en dialplan de prueba planteado
recogeríamos todos los DIDs y mandaríamos la llamada a Alice.
7.3.3 Grupos de canales en Zaptel
En Zaptel es posible definir grupos de canales, y así llamar a un grupo, en
lugar de a un canal en concreto, y Zaptel se encargará de llamar a un canal concreto
dentro del grupo, siguiendo una de las estrategias definidas. Esto es particularmente
útil en la configuración de primarios, ya que es posible que se pretenda que dos
primarios sean enviados a un contexto, y un tercer primario sea enviado a otro ­
contexto diferente.
Para definir un grupo basta con añadir group=X en el fichero zapata.confa
la hora de definir los canales. Si ponemos group=1, todos los canales definidos a
partir de ese momento pertenecerán al grupo 1, hasta que introduzcamos otra
directiva group. Veamos un ejemplo:
group=l
channel => 1-15,17-31
En este caso, tanto los canales del 1 al 15 como los del 17 al 31 pertenecen
al grupo 1.
group=l
channel => 1-15
group=2
channel => 17-31
En este segundo ejemplo, por el contrario, los canales del 1 al 15
pertenecen al grupo 1, pero los del 17 al 31 pertenecen al grupo 2.
©RA-MA CAPÍTULO 3: LA REVOLUCIÓN SE LLAMA ASTERISK 95
Para llamar a un grupo en lugar de hacer un Dial a ZAP/1, lo haríamos a
ZAP/gll indicando que es el grupo 1, aunque hay varias opciones:
• g. Utiliza el canal de menor número disponible del grupo especificado.
• G. Utiliza el canal de mayor número disponible del grupo especificado.
• r. Sigue una estrategia Round-Robin
2
de menor a mayor, selecciona el
primer canal disponible, haciéndolo de manera ascendente.
• R. Sigue una estrategia Round-Robin de mayor a menor, selecciona el
primer canal disponible, haciéndolo de manera descendente.
7.3.4 Aplicando la configuración de Zaptel
Anteriormente, hemos visto cómo configurar las tarjetas Zaptel, editando el
fichero zaptel.conf Una vez editado el fichero es necesario aplicar la configuración
que este contiene, y para ello utilizaremos el comando ztcfg de la siguiente manera:
ztcfg. ~ i r , r v ..
Tras ejecutarlo, el sistema indicará que la configuración de los canales se
ha realizado, o error en caso de que algo sea incorrecto.
7.4 BUZONES DE VOZ
El buzón de voz es una de las funcionalidades que Asterisk incluye "de
serie". El módulo de buzón de voz permite definir distintos buzones para cada
usuario, así como buzones compartidos por varios usuarios (un buzón general para
toda la empresa, o para cada departamento). Este módulo permite también cierto
grado de personalización, pudiendo el usuario configurar los mensajes que se
reproducirán cuando alguien desee dejar un mensaje en "mi buzón". Otra
característica interesante es que el servidor nos enviará un correo electrónico
avisándonos de que tenemos un mensaje nuevo. Además, en este mismo correo
electrónico puede enviarse el mensaje como archivo adjunto.
Round-Robin. Estrategia de marcado consistente en realizar el marcado de
forma rotatoria en los canales ocupados.
96 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
La configuración de los buzones se realiza en el fichero voicemail.conf,
que siguiendo con la estructura habitual de los ficheros de configuración de
Asterisk contiene una sección [general] y distintas secciones para distintos
contextos
3

En la sección [general] podremos definir parámetros como el formato en el
que se van a grabar los mensajes (wav, gsm ...) o el formato de los correos
electrónicos de aviso de nuevos mensajes. Para defmir el formato de los correos,
disponemos de las siguientes variables que serán sustituidas en el momento de
generar el mensaje:
• VM_NAME. Nombre del propietario del buzón.
• VM_DUR Duración del mensaje.
• VM_MSGNUM. Número de orden de este mensaje.
• VM MAILBOX. Buzón de voz.
• VM_CALLERID. Nombre y número de la persona que ha llamado.
• VM_CIDNUM. Número de la persona que ha llamado.
• VM_ CIDNAME. Nombre de la persona que ha llamado.
• VM_DATE. Fecha y hora del mensaje.
[:general]
em{i;i:lsUbjeGt""Ipaxl: T:Lenes un ;nUe'\/;O .• el'l
$ fVM. ..
NAM,g} ${VJ.i DAT,Ji;J
recibido ;,¡na ll¡;tmada de $(VM CALLERID}, guien te ha dejado
mensájE;:.de.. $.fVM l)j;J]t} duraci15n(es.e1n;íimE;:.ro ${VM MSG:NQM} )\n:
el buzón ni:iínero $ {VM_MAILBOX}. \n que puedes oír loS
El uso de distintos contextos de buzón de voz puede resultar
interesante en algunos casos, pero generalmente es suficiente con ten.er un
único contexto "default" con todos los buzones.
©RA-MA CAPÍTULO 3: LA REVOLUCIÓN SE LLAMA ASTERISK 97
mensajes de tu buzón de voz llamando al número *98.
Gracias!\n
emaildateformat=%A, %d-%m-%Y a las %H:%M:%S
attach=yes
Los buzones de voz se definirán dentro de un contexto. Estos contextos no
tienen relación con los contextos definidos en el fichero extensions. con/, sino que
son una forma de separar buzones.
El formato que usaremos para definir cada buzón será:
extension => contraseña, nombre usuario, email usuario,
busca_usuario, opciones
Normalmente definiremos solamente los tres pnmeros parámetros para
cada buzón (contraseña, nombre y e-mail), pudiendo definir también para cada
usuario una dirección de un "buscapersonas" a la que se le enviarían los mensajes y
también opciones particulares para cada buzón que modificarían las opciones por
defecto (número máximo de mensajes en el buzón, si se debe o no enviar el fichero
adjunto con el mensaje, etc.).
[default}
1001 => 3342,Juan
perez,;uanperez@miempresa.com"attach=yeslmaxmsg=100
1002 => 8745,Maria,mariaperez®miempres.com
[departamentos}
1 => 111,Ventas,ventas®miempresa.com
2 => 222,Compras,compras®miempresa.com
En la definición de las cuentas de usuario en sip.confy en iax.confse puede
hacer referencia a estos buzones, de manera que los usuarios recibirán también en
su terminal una notificación de los mensajes que tienen en su buzón:
sip.conf:
[juan]
type<=friend
mailbox=1001@default
[maria}
type=friend
mailbox=1002@default
I
98 VOIP y ASTERISK: REDESCUBRIENDO LA TELEf'ONíA ©RA-MA
Para poder probar la funcionalidad del buzón de voz, vamos a ampliar el
dialplan que definimos anteriormente:
Aunque estos ejemplos se verán con detalle en el Capítulo 4. Lógica de
marcado o dialplan, lo que hemos conseguido con estos cambios es que all1amar a
una extensión 2xxx, si no contesta o está ocupada o no conectada, nos saltará su
buzón de voz para que podamos dejarle un mensaje. Por otra parte, los usuarios
podrán llamar al número *98 para escuchar sus mensajes.
CAPÍTULO 4
LÓGICA DE MARCADO O DIALPLAN
Saúllbarra Corretgé y David Pñeto Carrellán
1 Introducción
Asterisk es una "caja de herramientas" con la que podemos construir
nuestros sistemas de telefonía. En realidad Asterisk es sólo eso, un conjunto de
herramientas, ya que las funcionalidades que el sistema final tenga dependen de lo
bien que se utilicen esas herramientas.
El dialplan es el corazón de Asterisk. Cada dígito que se marque en un
terminal recorrerá el dialplan, buscando "qué hacer", por lo que de una manera
básica, podríamos comparar el dialplan con una tabla de enrutado: el usuario marca
un número, y el dialplan contiene las acciones a realizar para ese número que se ha
marcado.
100 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
2 Contextos, extensiones y prioridades
El dialplan de Asterisk se encuentra en el fichero extensions.conf (aunque
es posible dividirlo en varios ficheros, como se verá más adelante) y está
compuesto por contextos, extensiones y prioridades.
Las extensiones son números (o caracteres alfanuméricos) que el usuario es
capaz de marcar, y es importante no confundir esto con los terminales en sÍ, ya que
esta asociación puede conducir a errores. Estas extensiones contienen acciones
asociadas, que son ejecutadas de manera secuencial, por orden de prioridad.
Los contextos son agrupaciones lógicas de extensiones, y se utilizan para
dividir el dialplan en diversos entes lógicos. Esta división es necesaria para
disponer de un dialplan mantenible, escalable y con posibilidades de ofrecer
diversos entornos de marcado aislados.
Al definir un usuario en el sip.conf o iax.con/, le asociamos un contexto,
por lo que ese usuario sólo podrá marcar las extensiones incluidas en su contexto.
[prueba]
exten => 1234,1,Noop(Esto es una prueba)
exten => 1234,n,Noop(Esto es otra prueba)
En el ejemplo de arriba se muestra un sencillo contexto con una extensión
con 2 prioridades. Siempre es necesaria la prioridad 1, pero para las siguientes
prioridades se puede usar la 'n', que hará que se incremente automáticamente en
una unidad, evitando así tener que hacerlo manualmente.
3 Sintaxis
La sintaxis para las extensiones de un contexto es la siguiente:
exten => numero de extensión, prioridad,
aplicación (argumentos)
Seguido de la palabra clave exten=> se expresa el número de extensión o
el patrón de la misma. Las extensiones pueden ser expresadas como patrones, ya
que resultaria demasiado engorroso escribir los número del 2000 al 2999, 2XXX es
mucho más elegante.
A la hora de definir nuestras extensiones podemos hacerlo de una manera
numérica o alfanumérica, como en los ejemplos vistos hasta el momento:
exten => 2000,1,Dial(SIP/bob)
exten => prueba, 1,Dial (SIP/alice)
©RA-MA CAPÍTIJL04: LÓGICA DE MARCADO O DIALPLAN 101
En lugar de expresar siempre las extensiones, podemos utilizar patrones y
variables, para disponer de un dialplan más claro y mantenible. Los patrones
comienzan con un guión bajo U y utilizan los siguientes caracteres especiales:
• X. Cualquier dígito del O al 9.
• Z. Cualquier dígito del 1 al 9.
• N. Cualquier dígito del 2 al 9.
• []. Cualquier dígíto que se encuentre entre los corchetes, por ejemplo [123]
implica el ], el2 o el 3.
• . (punto). Cualquier cosa, por ejemplo _9. implica cualquier número que
empiece por 9, sin tener en cuenta el 9 en sí mismo.
• !. Carácter de desambigüación. Indica que el procesamiento ha de ser
detenido tan pronto como se haya encontrado un patrón adecuado.
Utilizando los patrones es posible simplificar el dialplan y en la práctica se
emplean patrones como los siguientes:
• _[789]XXXXXXXX. Números fijos nacionales (empiezan por 7, 8 ó 9 y
tienen 9 dígitos).
• _6XXXXXXXX. Números de móvil (empiezan por 6 y tienen 9 dígitos).

4 Aplicaciones y funciones
Mientras la llamada va "caminando" por el dialplan, se van ejecutando
diversas aplicaciones y funciones.
Se denominan aplicaciones aquellos módulos que realizan algún tipo de
aCClOn sobre algún canal, y funciones aquellos que realizan otro tipo de
procesamiento que no afecte directamente a un canal.
Al marcar una extensión se ejecuta la aplicación asociada a la prioridad
correspondiente, mientras que las funciones sólo pueden ser utilizadas dentro de las
aplicaciones. Veamos un ejemplo:
exten => 2000,1,Dial(SIP/bob)
102 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
Al marcar la extensión 2000 se ejecutará la aplicación Dial, a la que
indicamos que llame al usuario Bob, que es un usuario SIPo Indicamos primero la
tecnología (SIPI) y después el nombre del usuario que hemos definido en el fichero
correspondiente, en este caso el síp.conf.
Las funciones, en cambio, se ejecutan dentro las aplicaciones, por ejemplo:

:(numJVf ......•........ '" '.
En este caso se ejecuta la aplicación Noop, que únicamente imprime el
mensaje que se le pasa como argumento por pantalla, y en su interior se ejecuta la
función CALLERID, que devuelve el número delllamante.
5 Prioridades y etiquetas (Iabels)
Como hemos visto, al marcar una extensión se van ejecutando las
aplicaciones correspondientes de manera secuencial, de acuerdo a su prioridad:
El uso de prioridades numencas puede dificultar la modificación del
dialplan a futuro, ya que si se desea insertar una acción en medio, seria necesario
modificar la prioridad de todas las siguientes.
Para evitar esto podemos utilizar la prioridad "n", que simplemente indican
la siguiente prioridad:
Como se puede observar, de esta manera es mucho más sencillo insertar
nuevas aplicaciones en medio, sin necesidad de preocuparnos de cambiar los
números de prioridad.
Un problema que nos puede surgir a la hora de sustituir las prioridades
numéricas por la prioridad "n" es la imposibilidad de realizar saltos a zonas
concretas de dialplan con aplicaciones como Goto:

exten,
I
f
©RA-MA CAPÍTIJLO 4: LÓGICA DE MARCADO O DIALPLAN 103
Al prescindir de las prioridades numéricas, no sabríamos a dónde queremos
realizar el salto. Para solucionar esto, es necesario utilizar etiquetas. Las etiquetas
nos sirven para marcar o etiquetar una prioridad de una extensión, y posteriormente
referirnos a ella de una manera sencilla:
En el ejemplo se ha utilizado la etiqueta "empezar", de manera que puede
estar situada en cualquier punto de la extensión, y el salto seguirá funcionando.
6 Un dialplan sencillo
Cuando se ha comentado la configuración de dispositivos SIP e IAX2, se
ha utilizado un pequeño dialplan de ejemplo del que no hemos hablado hasta ahora.
A continuación se muestra un dialplan básico, para que el lector tenga una visión
más global de lo que un dialplan representa, antes de comenzar a añadir más
servicios que aumentarán su complejidad:
En el ejemplo hemos definido tres contextos: el contexto a-extensiones
incluye las extensiones 2000 y 2001, que hacen uso de la aplicación dial para
llamar a Bob y a Alice respectivamente. El contexto a-servicios contiene 2
servicios: 1234, que reproduce una locución de ejemplo (el sonido de unos monos)
y 1235, que realiza una llamada a Digium a través de IAX2.
El contexto desde-usuarios incluye los otros 2 contextos, y es el que
asignaremos a las extensiones en el sip.conf, de manera que sean capaces de marcar
todas las extensiones incluidas por este contexto. Podría haberse realizado todo en
un solo contexto, pero eso derivaría en un dialplan muy poco mantenible, como se
explica más adelante en este capítulo.
7
104 VOIP y ASIERISK: REDESCUBRIENDO LA TELEFONÍA -©RA-MA
Buzón de voz
Hasta ahora hemos visto cómo un usuario puede llamar a otro, pero si la
llamada no llega a establecerse porque la otra persona está ocupada o no contesta,
no queda otro remedio que llamarle más tarde.
Para poder dejar un mensaje en un buzón de voz disponemos de la
aplicación Voicemail, que ya nombramos en el Capítulo 3. La revolución se llama
Asterisk, al explicar la configuración de los buzones de voz. Adaptemos nuestro
dialplan para que la llamada salte al buzón de voz en caso de que no se llegue a
establecer la comunicación:
[a-extensiones]
exten;.l¡o 2000,1,Dial(SIPjalice)
exten e> 2000, n' Voicemail (2000)
exten => 20Ql,1,Dial(SIPjbob}
ext,en => 20Ql,n,Voicemail{.20JJ1)
extelil 'P:;' 2002,1, (SIPjlau:fa)
exten => 2002,n,Voiqemai1(2002)
=:;. 2003,l,Dial tIA1(..2/jU/ilil,3Q}
extelil '*:;.
exten "':;' 2d04.1 UAX2/mal1ia,30)
exten => 2004/n,Voicemail(2(104)
Con este dialplan, cuando llamemos a la extensión 2001, el sistema
intentará llamar al usuario Bob mediante SIP durante 20 segundos, y si no es
posible la comunicación, avanzará al siguiente paso del dialplan para la extensión
2001, en el que ejecutará la aplicación Voicemail, pasando como parámetro el
número de la extensión como número del buzón (2001).
La aplicación Voicemail acepta una serie de parámetros, además del
número del buzón en el que deseamos dejar el mensaje:
• u. Reproduce el mensaje de "no disponible".
• b. Reproduce el mensaje de "ocupado".
• s. Comienza la grabación del mensaje sm reproducir antes las
instrucciones.
©RA-MA CAPÍTULO 4: LÓGICA DE MARCADO O DIALPLAN 105
Para aplicar estos parámetros podemos hacer uso del valor de la variable
${DIALSTATUS}, que nos indica la razón por la que falló la aplicación Dial:
[a- ex;t.l:lp.s
exten :;;> 2009, 1, Dial
;WOO,n,Gptp (.2 000-${DIA¡,ST1\.TUSj ,li
9cupado, se mensaje (iorrespop.diente
exten =>
exten. => 21JOO -BUSY , n, l:Iangup
; lOi está no contesta, .rep;¡::oduce el mel:l.s?;j.e de "no
dispop.ible" ..
exten =>
extem =>
; en cu¡;¡,lquierotro caS91 hacemos 10 miS\lt9 que si no contesta.
exten ;:> 20QO-.,1,Goto{2000-NQANSWERl
Ahora, para que nuestros usuarios puedan escuchar los mensajes que
reciben en su buzón de voz desde cualquier terminal, vamos a añadir una extensión
especial al contexto de servicios. La aplicación que nos permite escuchar los
mensajes de voz es VoiceMailMain, y recibe como parámetro el número del buzón
al que queremos acceder.
Si no pasamos el número del buzón como parámetro, la aplicación nos
pedirá que lo tecleemos. Esto puede ser interesante para que un usuario pueda
consultar su buzón de voz desde cualquier terminal, y no sólo desde el suyo.
Por otra parte, si añadimos el parámetro "s" no se nos pedirá la contraseña
para poder oir los mensajes. En el siguiente ejemplo vamos a configurar la
extensión *98 para que los usuarios puedan escuchar sus mensajes desde cualquier
terminal (el sistema les pedirá que marquen su número de extensión y su
contraseña), y la extensión *97 para escuchar los mensajes del buzón de la
extensión desde la que estamos llamando, sin necesidad de introducir contraseñas.
[servidos]
; Marcando *98 ljiesde cualquieI:" termina,J. aCCedemos al buzól:l. de
voz
; nos pedira el número del buzón y la contra¡;;eña
exten => *98,1,VoiceMailMainO
exten => *98,n,Hangup
¡Marcando *97 escucho "mis" mensajes sin poner contraseña.
exten => *97,l,VoiceMailMain(${CALLERID{num)},s)
exten => *97,n,Hangup
8
106 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
Macros
En muchas ocasiones nos encontraremos con fragmentos del dialplan que
son idénticos, y en los que solamente cambia un pequeño detalle. En el dialplan
anterior, el siguiente código tendríamos que copiarlo para la extensión 2001, 2002,
2003, modificando en cada fragmento el protocolo a usar (SIP o IAX), nombre del
usuario y el número de extensión. Esto, además de ser bastante trabajoso,
complicará el día de mañana cualquier modificación.
Para solucionar este problema, podemos definir Macros, que son el
equivalente a "funciones" o "subrutinas" de los lenguajes de programación. Al
igual que las funciones, una macro recibirá unos parámetros que podremos utilizar
dentro de su definición.
Las macros se definen en el fichero extensions.corif, como un contexto
más, teniendo en cuenta una serie de condiciones:
• El nombre del "contexto" empezará por "macro-" para identificar que se
trata de una Macro, y no de un contexto normal.
• Las macros siempre empezarán por la extensión "s". No podemos hacer un
"goto" desde otra parte del Dialplan a un punto concreto de la macro, que
no sea a su inicio.
• Dentro de la definición de la Macro, los parámetros recibidos son
accesibles mediante ${ARG1}, ${ARG2} ... Y la extensión desde la que se
ha llamado a la macro la podemos obtener en ${MACRO_EXIEN}.
Para ejecutar una macro, en el dialplan tenemos disponible la aplicación
"Macro":
©RA-MA CAPÍTULO 4: LÓGICA DE MARCADO O DIALPLAN 107
Como la mejor forma de entender las cosas es mediante un ejemplo, vamos
a convertir a una macro el código que teníamos para llamar a la extensión 2000,
saltando al buzón de voz si está ocupado, etc. A esta macro la llamaremos
"extension VM":
y adaptamos el contexto {a-extensiones] para que use esta macro para
llamar a los usuarios:
Como podemos ver, esto facilita muchísimo el mantenimiento del dialplan,
y lo hace al mismo tiempo mucho más legible.
9
108 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
Guardando la información en la base de datos
Asterisk mantiene determinada información sobre su estado actual en una
base de datos, conocida como AstDB
l
. La información que se almacena en esta
base de datos incluye los datos de registro de los usuarios, estado de las colas, etc.
Esto permite que el sistema pueda recuperar esta información en caso de tener que
reiniciarse.
La información en la AstDB se organiza en familias y se identifican
mediante una clave que será única dentro de la familia. Para cada familia y clave se
puede almacenar un valor.
Desde el eL! disponemos de distintos comandos con los que podemos
acceder a la información de la AstDB, pudiendo tanto leer como escribir en ella:
• database sbow <familia> <clave>. Muestra el contenido de la base de
datos, pudiendo filtrar por familia y clave:




194.-:(68 _.15.2: 4570 61'l
/SIJiI!);egist:ry/bqb. . . . .. . :
l.92 _168 .1$.4: 5060: 36D&:boh lffip:bob®192,16.a.1S. 2 .
Jilax*er..b s:j:¡,ow
IIAX/Rf#li.(i!,t:ryj cara9as
192.168.1.5.209:4569: 60
/IAX/Regist:ry/juan
192.168.15.2:4570:60
PBX*CLl> databasesllow iail<
jl,j.an
1911l.168.15.2)4570;oD
PBX*CLI:> dat@ase.s;howkey
/:tAX/Regietr::y,lju.an
1.92.168.15.2 :4570:60
• database del <familia> <clave>. Permite borrar un valor de la base de
datos.
Internamente esta base de datos tiene el formato de Berkeley DB y se
encuentra por defecto en el archivo Ivar/lib/asterisk/astdb.
© RA-MA CAPÍTULO 4: LÓGICA DE MARCADO O DIALPLAN 109
• database deltree <familia> <arbol-de-claves>. Borra todo un árbol de
claves de la base de datos (por ejemplo, puede borrar todo el árbol
"Registry" de la familia "IAX").
• database put <familia> <clave> <valor>. Permite introducir información
en la base de datos.
PEX*CLI:> database clave valqr
Updated ciatabase sucC{i!ssf:¡,¡..lly
PBX*CLI> database show


flAX/Regiatry/juan
192.168.15.2:4570:60
;
192.1.68.15.2: S050: 3·600
/familia/clave va.loJ;
Leer la información que Asterisk guarda en la base de datos puede resultar
interesante para determinadas aplicaciones, pero lo verdaderamente interesante de
esta base de datos es que nosotros podemos también guardar y leer información
propia, para utilizarla desde el día/plan. Para esto disponemos de una serie de
funciones:
• Guardar un valor en la base de datos:
ext.en =:> s, 1, Set ( DB(familia/clave) =i valor)
• Leer un valor de la base de datos:
exten "'> sfl,set( var '"" ${OB(famil;ia/clave) p
• Comprobar si existe un valor para una familia y clave:
exten =:> s, l t Gptolf ($ I $ {D13E;KI S;ES{fámil:ial<lla'll'eH
O] ?s, llamar} . , .
En caso de existir un valor para la familia/clave, DB_EXISTS guarda este
valor en la variable ${DB _RESULT}.
Para ver un ejemplo de uso de estas funciones, vamos a añadir a nuestro
dialplan la posibilidad de que los usuarios activen un "no-molestar" en sus
extensiones cuando no quieran recibir llamadas:
; Marcandq*78 activamos
; guardamo.¡!!1;ln valor en
pNO/num extendo/i'l ..
*18,.l,NoOpíMtivando.
$ { (num) }) . ". . '. . .
e:x;ten",> *78, n, Set (Da fDNP/${bALLERlt1(nUlt\)})=l)
110 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
Podemos probar a llamar al número *78 y después ejecutar database show
en el eL!. Veremos que se ha guardado un registro en la base de datos, de la forma:
DND/num extension.
Ahora actualizaremos nuestra macro extension VM para que tenga en
cuenta si el usuario tiene activado el "no-molestar":
©RA-MA CAPÍTULO 4: LÓGICA DE MARCADO O DIALPLAN 111
; en cualquier otro caso, hacemos lo mismo que si no contesta.
exten ;> s-.,l,Goto(s-NOANSWER,l)
Otro de los usos más comunes de la AstDB es guardar la información sobre
desvío de llamadas. Al activar esta funcionalidad, todas las llamadas recibidas en la
extensión del usuario serán desviadas a otro número (que podrá ser otra extensión o
un número externo).
Adaptemos nuestro dialplan para añadir esta funcionalidad:
[servicios]
i *72xxx... desvio mis llamadas al xxx...
exten => *72X.,1,NoOp(activando desvio para $ {CALLERID (num) }
al $(EXTEN: 3})
exten => *72X.,n,Set(DB(CF/${CALLERID(num)}};${EXTEN:3})
exten => *72X.,n,Playback{beep)
exten => *72X.,n,Hangup
; *73: desactiva el desvío
exten => *73,1,NoOp{desactivando desvio para ${CALLERID(num)})
exten => *73,n,DBDel(CF/${CALLERID(num)})
exten => *73,n, Playback (beep)
exten => *73,n,Hangup
Nuestra macro extension VM la adaptamos también para que haga efectivo
este desvÍ0
2
:
(macro-extensionVM]
esta macro recibirá dos parámetros
; el primero indica el dispositivo que hay que llamar
; el segundo es el número del buzón de voz al que desviar la
llamada
exten => s,l,NoOp(llamada para ${ARG1})
; si NO tiene activado el no-molestar, saltamos a flcheck­
desvio"
exten => s,n,GotoIf($(${DB EXISTS(DND/${MACRO EXTEN})}
Ol?s,check-desvio)
exten => s,n(DND),Playback(vrn-extension)
exten => s,n,Playback.(vrn-isunavail)
En esta macro no estamos comprobando que no se produzcan bucles: que
el usuario 2001 no desvíe su teléfono a sí mismo, o que Bob desvíe su
extensión a Laura y Laura desvíe la suya a Bob.
112 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
i si está no
disponible"
exten ",';JO s:"NONiSWER,l,V:piceMail
ext,en "';> s ,. n.,Hangup
ext.en",,>
exten "'> n¡Pláybaqk
exten ."'> s-NOlilOt;..ESTAA,n¡Han9tlP
¡ en cn.¡.alqul,,er otro caso, bl!l,cE!mos 10 que no contesta..
e:l\:t.en =:> ..l!l-., l,Goto(s-NOJ\.NSWER
J
.l)
10 Colas y agentes
,
Las colas permiten manejar de manera eficiente las llamadas entrantes.
Cuando se envía una llamada a una cola a través del dialplan, esta llamada se queda
,
en espera hasta el momento en el que pueda ser atendida por un operador. Mientras
esta persona está en espera, estará oyendo una música, y se pueden reproducir
determinados mensajes periódicamente ("todos nuestros agentes están ocupados,
su llamada será atendida en breves momentos ... ") para evitar que desista si la
espera dura más de la cuenta.
Las llamadas que entran en una cola serán distribuidas por orden de llegada
entre los miembros de esta cola. Para decidir a qué usuario se envía cada llamada,
el sistema usará una de las distintas estrategias de distribución de que dispone:
• ringall. Esta es la estrategia por defecto y envía la llamada a todos los
miembros de la cola (aquellos que estén disponibles).
t
© RAoMA CAPÍTULO 4: LÓGICA DE MARCADO O DIAL PLAN 113
• roundrobin. Esta opción está obsoleta en Asterisk 1.4, y va enviando la
llamada por orden a los miembros de la cola. Siempre en el mismo orden, y
empezando por el primero.
• leastrecent. Envía la llamada al usuario que lleva más tiempo sin recibir
llamadas.
• fewestcaBs. Envía la llamada al usuario que ha atendido menos llamadas
de esta cola.
• random. Selecciona el destino de forma aleatoria.
• rrmemory. Igual que roundrobin, pero "con memoria": intentará enviar la
llamada uno a uno a todos los miembros de la cola, hasta que alguno la
atienda. Pero la siguiente llamada no volverá a empezar con el primer
usuario, sino que continuará el turno por donde paró en la anterior llamada.
Cada cola tendrá uno o varios miembros, que son los usuarios que van a
atender las llamadas. Estos miembros pueden ser estáticos (SfP/laura, fAX/juan,
ZAP/2, ZAP/gl/912345678, Local/2001@a-extensiones), o pueden añadirse y
eliminarse de forma dinámica a la cola mediante las aplicaciones
AddQueueMember y RemoveQueueMember del dialplan.
También tenemos en Asterisk el concepto de Agentes. Los agentes son
usuarios que se conectan al sistema para atender llamadas. Para empezar a recibir
llamadas, el agente debe identificarse en el sistema mediante su número de agente
y contraseña. A partir de ese momento, el agente permanecerá conectado,
escuchando una música hasta que haya alguna llamada para atender
3

Los agentes se definen en el fichero agents.conf En este fichero se indican
los parámetros globales para todos los agentes (categoría de música en espera, si se
grabarán las llamadas, etc.), y por último, se definen los agentes:
agentl;l.copf
[agentsl
'Iambién existe la posibilidad de que el agente se identifique en el
sistema y , y que después el sistema le envie las llamadas a aquella
extensión en que se encuentra. Para esto disponemos de la aplicación
AgentCallbackLogin. Esta opción, aunque es muy útil, está obsoleta, pero se
puede simular mediante las aplicaciones AddQueueMember y RemoveQueueMember.
114 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA·MA
a,utQ1ogoff¡,,:r!'i¡Si: la lla,ltlada en 15segw;:tdo$,
descorn:!,ct.amos a este agell\:e
wrapuptime=O ; tiempo pe..ra volver a,·:J":J,,alllar1e
musiconholq=default

agene "-'> 101, 1
agent => 10<?,.5678,Agente 2
agent => l03,9090,Agente :3
Las colas se definen en el fichero queues.conf. Este fichero también tiene
una sección [general] en el que se definen los parámetros globales para el sistema
de colas, seguida de la definición de cada una de las colas.
(gene.ral]
language '" es
persi.scentmemberf¡=y.es ; los miembros coneetadoa dinámicamente
se guardan·en la AseDB
illutofill=yes ; nqecSpera a que algilnageIlte atienda la p:cime.ra
llamada de la cola para empezar a intente.rconectar 1a.s.
siguientes.
[vencas]
strategy.=ringall ; llamaremos a todos los miembros a la vez·
timeout=15 durante 15 segw;:tdos
retry=S ; es.peramos 5 segundos antes de reintentar
maxlen=O
periodic-announce"'queue-periodic-ann.ounCe
periodic-announce-frequency.=20
member=>SIP/bob
member=>SIP/alice
member=>Ag.ent/1 O 1
{contabilidad]
strategy.=ringall ; llamaremos a todos los m;i:embros a la vez
timeouc;o1S durante 15 segundos
retry=5 ¡esperamos 5 segundos ances de reintentar
maxl en= O
periodic-announce que1,le-periodic-announce
periodic-announce-frequency.=20
member=>SIP/bob
member=>IAX2/juan
En este ejemplo se han definido dos colas: ventas y contabilidad. Las dos
colas seguirán la estrategia ringall. Es decir: cada llamada que entre en la cola se
enviará a todos los miembros de la misma. En ambas colas se han definido qué
mensaje se reproducirá periódicamente (cada 20 segundos) a la persona que está en
©RA-MA CAPÍTULO 4: LÓGICA DE MARCADO O DIALPLAN 115
espera. Y por último, se indican los miembros estáticos que atenderán las llamadas
de cada una de las colas.
Vamos a añadir un par de extensiones en el contexto [servicios] para
añadir/eliminar miembros dinámicamente de las colas:
[eer;viciosJ
¡ 100* Para añé!.di.r <iil l,lsuario que a la list.a de miembros
de la cola "ven\;.a.li!"
exteD '!"> 100*,l,AddQueueMember(ventas)
exten => 100*,n,l?laYl:Jack;ebeep)
exten => 100*,n,Hangup
; 10·0** Para eliminar a este usuario de la lista de miembroe
de la cola "ventas"
exten => 100**,l,RemaveQueueMember{venté!.s)
exte.n => 100** ,ni Playbaok (beep)
exten => 100**,n,Hangup
Hemos utilizado las aplicaciones AddQueueMember y
RemoveQueueMember. Como se comentó anteriormente, estas aplicaciones añaden
y eliminan miembros a una cola dinámicamente. Podemos comprobar desde el CL!
el efecto de estas aplicaciones:
PBX*CLI> queue show ventas
ventas has O (ma;>t unliIl\Íted, in 'ring.all! s\;.rategy
(Os holdtime), w:O, :0, A:1, SL:O.Ó!jÍ within Os
Meml::¡ers:
SIP/alice (Invalid) has taken no oalls yat
Agent/i001 (UnavailableJ has taken no calls yet
No Callers
PBX*CLI>
Ahora realice una llamada desde el terminal de Bob al número 100*.
Seguidamente comprobamos de nuevo el estado de la cola "ventas":
PBX*CLI> queue show ventas
ventaS has O calls (max unlimited) in'ringall strategy
'
(Os holdtime), W:O, C:Q, A:1, SL:O.O\within Os
Members:
SIP/bob (dynamicJ (Not in use} has taken na c.alls ye\;.
SIP/alice (Invalid) has taken no calls. ye\;.
Agent/2001 (Unavailable) has taken no calla yet
No Callers
)s
le PBX*CLI>

:n
l16 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
Como puede comprobar, SIP/bob ha sido añadido como miembro de esta
cola, y desde este momento recibirá también las llamadas que entren en la cola
"ventas" .
Hasta ahora ya se encuentran definidas las colas, y cada una tiene uno o
más miembros dispuestos a atender llamadas, pero ... ¿Cómo entran las llamadas en
la cola? Para esto tenemos la aplicación "Queue" del dialplan.
La aplicación Queue es parecida a la aplicación Dial, con la diferencia de
que en vez de enviar la llamada directamente al canal (o canales) que se indique en
el primer parámetro, la llamada es enviada a una cola.
Podemos definir una extensión para hacer una llamada a una cola:
Sin embargo, donde vamos a ver realmente el potencial de las colas es al
usarlas junto a un IVR.
11 Interactive Voice Response (IVR)
Con IVR nos referimos a los menús con los que el usuario puede
interactuar mediante pulsaciones DTMF
4
• Las empresas suelen usar estos menús,
reproduciendo un mensaje de bienvenida cuando reciben una llamada, y
ofreciéndonos después las típicas opciones de "pulse 1 para hablar con el
departamento de ventas; 2 para hablar con contabilidad .. ". Esta sería la forma
más simple de IVR, conocido también como Operadora Automática.
Pero también habremos usado alguna vez IVRs más complejos, como
algunos de banca telefónica, en los que llamamos a un número de teléfono del
banco, nos identificamos pulsando nuestro número de DNI y contraseña y podemos
realizar operaciones como activar una tarjeta, o escuchar el saldo de nuestra cuenta .
• DMTF: tonos de diferente frecuencia que son generados por un teléfono al
pulsar una tecla del mismo.
©RA-MA CAPÍTULO 4: LÓGICA DE MARCADO O DIALPLAN 117
Asterisk nos ofrece todas las herramientas necesarias para crear desde el
IVR más simple hasta los sistemas más complejos.
Lo primero que necesitaremos para crear un IVR son los sonidos que se
van a reproducir. Estos sonidos deben encontrarse en el directorio de sonidos de
Asterisk (normalmente /var/lib/asterisk/soundsl) y tener un formato reconocido por
éste. Junto con Asterisk se distribuye un juego de sonidos estándar en inglés. Como
vimos en el capítulo sobre la instalación de Asterisk, existen juegos de voces de
gran calidad en castellano, pero normalmente necesitaremos algunos sonidos
personalizados ('gracias por llamar a la empresa xxxxx', 'pulse 1 para hablar con
el departamento de ventas... J. Aunque es posible usar la aplicación Record de
asterisk para grabar los mensajes, para obtener la mejor calidad se aconseja
grabarlos con una aplicación especializada (Audacity, por ejemplo). En este caso,
debemos grabar los archivos a 8KHz 16 bits.
Para grabar los mensajes desde el dialplan se utiliza la aplicación Record.
I La sintaxis de la aplicación es:
R,E!!cord(nombt'e.fo.rmat;.ofsUenciolma:xDuJ:7(lcion]OJiíe1ones)
Si dentro del nombre del fichero añadimos los caracteres %d, éstos serán
sustituidos por un número secuencial, para evitar que sobrescribamos una
grabación existente. En este caso, la variable ${RECORDED _FILE} contendrá el
nombre final del fichero. La aplicación Record grabará el mensaje hasta que el
usuario pulse la tecla #, o bien hasta que se llegue a la duración máxima indicada
como parámetro o se detecten tantos segundos de silencio como se hayan indicado.
Para programar nuestros IVRs disponemos de algunas aplicaciones
interesantes para el dialplan:
• Playback(sonido). Reproduce un sonido.
• WaitExten(tiempo). Espera a que el usuario teclee una opción (o un
número de extensión).
• Background(sonido). Reproduce un sonido, pero ~ l usuario puede
interrumpir la reproducción, tecleando un número de opción. Seria
equivalente a utilizar las aplicaciones Playback y WaitExten de forma
simultánea.
118 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
• GotolITime(horaldias _semanaldias _ meslaño ?si_ cierto : si_ falso ).Realiza
un salto a otro punto del dialplan dependiendo de la fecha y hora. Resulta
muy útil para actuar de manera distinta si estamos en horario de oficina o
no.
Para que no se entre en un bucle infinito, se suelen fijar dos tipos de
retardo: tiempo ínter-dígito y el tiempo de respuesta:
Set(TIMEOUT(digitl"'3)
Set(TIMEOU'l' (response) =9)
Una vez que el usuario empieza a teclear una opción, el tiempo máximo
permitido entre dígitos será TIMEOUT(digit). Si pasa este tiempo desde el último
dígito tecleado, el sistema considera que el usuario ha terminado de teclear el
número de la opción y saltará a esa extensión (u opción). Si no existe, se saltará a
la extensión 'i'.
Por otra parte, si el usuario no empieza a teclear una opción en el tiempo
indicado por TlMEOUT(response) , el IVR saltará a la extensión 't'.
; IVR al que llegarán las llamadas
; El mensaje de Bienvenida dice "Gracias po:¡:-. llama:¡:- a nuestra
empresa. Para con el departamento de Ven,tas p\llse 1,
para hablar con Contabilidad pulse 2. Si conoce la extensi6n
de la persona con la que desea hablar, márquela ahora"
(entrada]
exten'9'> s,1,Set:('rlMEOUT(digit)=.3)
exten =>
; ComprObamos si estamos en horario de oficina
exten, ",,>8, n, GotoI f'rime (O9 : J. 9!.3 01 mc;m­
fril*I*?dentro horario)
exten => s.Ii,Playback(estamos-cerrados-deje-mensaje)
exten => s, n, VoiceMail (999 ,s.)
ext.en => s,n,Hangup
ex,ten "'> s,n(dentro horariol,Background(bienvenida)
exten => s,n,WaitExten(10)
exten => s,n,Goto(operadora)
; Si .elige la opción 1, mandamos al usuario a la cola de
Ventas
exten => l,l,Queue(ventas¡t,6Pl
exten => 1,n,Hangup
; SieHge la opción 2, mandamos al usuado a la cola de
Contabilidad
exten "'> 2,l,Queue{Gon,tabilidad,t,6p)
exten s> 2,n,Hangup
,
©RA-MA CAPÍTULO 4: LÓGICA DE MARCADO O DIAL PLAN 119
; si elige una opción inCorrect¡a, volvemos a d¡¡¡,;rle las
instrucciqnes
exten",):Io i,l,Goto(s,l}
; Si no selecciona ninguna opción, lo mandamos a la co.l¡¡¡, de
operado.res
exten =:> t,l,Queue{operadora)
; Al incluir el contexto a-extensiones, permitimos que el
usuario teclee un número de extensión directamente
include ",):lo a-extensiones
12 Salas de conferencias
Las salas de conferencia permiten que varios usuarios mantengan una
conversación entre ellos, como si estuvieran reunidos en una salaS. Astedsk ofrece
muchas posibilidades para la creación de salas de conferencias, como por ejemplo
crear salas en las que una persona puede hablar mientras todos los demás escuchan,
o bien que todos puedan intervenir al mismo tiempo; enmudecer o expulsar a un
usuario de una sala durante la conferencia, bloquearla para que no entren más
usuarios, grabarla, etc.
Podemos definir una serie de salas de forma estática, en el fichero
meetme.con! Este fichero contiene una sección [general] con un único parámetro
audiobuffers para indicar la cantidad de buffers que usará la aplicación para
amortiguar el jitter. Después de la sección [general] hay una sección [rooms] con
la definición de las distintas salas de conferencias:
meetme.conf:
[general]
audiobuffers.=5
[roo.ms]
; Sala de co.nferencias n° lOO, sin FIN
co.nf "'> 100
n
Q
; Sala de conferencias 101 con PIN 1234
conf =:> 101,1234
Asterisk necesita una fuente de tiempo externa para mezclar
correctamente los canales en la sala de conferencias. El driver Zaptel
provee esta fuente de tiempo, por lo que si no disponemos de hardware de
Digium o compatible gestionado por Zaptel, tendremos que cargar el módulo
ztdummy.
120 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
Aunque también es posible crear las salas dinámicamente, por parte de los
mismos usuarios.
La aplicación que usaremos en el dialplan para acceder a las salas de
conferencias es Meetme:
=> . (nuJllero....:de__ [!ppc:f,óll.!i$[
Las opciones que podemos especificar son las siguientes:
• a. Entrar en modo Administrador. El administrador puede bloquear la
conferencia para que no entren más participantes. (Ver opción 's').
• A. Entrar en modo "marcado". Cuando este usuario salga de la
conferencia, ésta finaliza.
• b. Ejecuta el script AGI indicado en
${MEETME_AGI_BACKGROUND}. Por defecto: conf-background.agi
sólo funciona si todos los canales de la conferencia son ZAPo
• c. Se reproduce un aviso indicando cuántos usuarios hay en la conferencia.
• d. Crea la conferencia dinámicamente.
• D. Crea la conferencia dinámicamente, y le asigna un PIN.
• e. Selecciona una conferencia vacía, de las que están definidas en
meetme.conf
• E. Selecciona una conferencia vacía de las que están definidas CON PIN
en meetme.conf
• F. Reenvía los tonos DTMF en la conferencia.
• i. Reproduce un aviso cada vez que un nuevo usuario entra o abandona la
conferencia.
• l. Reproduce un aviso cada vez que un nuevo usuario entra o abandona la
conferencia (sin review').
• 1. Entrar en modo "sólo escucha" en la conferencia.
© RA-MA CAPÍTULO 4: LÓGICA DE MARCADO O DIALPLAN 121
• m. Entrar en modo "silencio". Posteriormente el usuario podrá pulsar '*'
para des-enmudecerse.
• M. Activa la música en espera cuando sólo hay un usuario en la
conferencia.
• o. Sólo se mezcla el sonido de los usuarios que están hablando. (Reduce el
ruido de fondo y la carga de CPU).
• p. El usuario puede abandonar la conferencia pulsando #.
• P. Pide el PIN de la conferencia, aunque éste se haya indicado en la
llamada a Meetme.
• q. Modo "silencioso" (no se reproducen aVISOS cuando un usuario
entra/sale de la conferencia).
• r. Grabar la conferencia. La grabación se realizará sobre el fichero definido
en ${MEETME_RECORDINGFILE} usando el formato
${MEETME_RECORDINGFORMAT}. El nombre por defecto es meetme­
conf-rec-${CONFNO}-${UNIQUEID} y el formato por defecto wav.
• s. El usuario puede pulsar '*' durante la conferencia para activar un menú,
en el que dispone de las siguientes opciones:
o 1. Enmudecerse/desenmudecerse (activar/desactivar mute propio).
o 4/6. Baja/sube el volumen del audio que le llega.
o 7/9. Baja/sube el volumen de su propia voz.
o Además, si el usuario es administrador de esta conferencia, tiene la
opción de bloquearla para no permitir que entre nadie más en ella,
pulsando "3".
• t. Modo "talk-only": sólo puede hablar, sin oir nada.
• T. Asterisk enviará notificaciones a través del "manager" indicando qué
usuario es el que está hablando en cada momento. También desde el CLI,
mediante "meetme Usf' podemos conocer esta información.
• w[«secs»]. Espera a que el "marcado" entre en la conferencia.
• x. Cierra la conferencia cuando salga el último usuario 'marcado'.
122 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
• X. Permite al usuario salir de la conferencia marcando una extensión válida
de un solo dígito durante la conferencia. La extensión debe pertenecer al
contexto ${MEETME_EXIT_CONTEXT} o al contexto actual, si dicha
variable no está definida.
• 1. No reproduce el mensaje cuando entra la primera persona en la
conferencia.
Ampliemos nuestro contexto {<;ervicios}, con una extensión para crear y
unirse a una conferencia:
[s@rvicios]
exten => aOO,l,Meetmef,Dt>Usx)
exten "'> 800,n,hangu,p
Cuando un usuario llame a la extensión 800, el sistema le pedirá que
introduzca un número de conferencia, terminando con #. El usuario puede asignar
el número que desee (con cualquier cantidad de dígitos). Seguidamente tendrá que
asignar un PIN a esta conferencia, y decir su propio nombre. De esta forma se crea
una nueva conferencia dinámicamente, con el número asignado por el usuario
(parámetro D).
El usuario que ha creado la conferencia se quedará conectado, escuchando
una música en espera hasta que se conecte un segundo usuario (parámetro M).
Para que los demás usuarios se puedan unir a la conferencia solamente
tienen que marcar la extensión 800, teclear el número de conferencia que creó el
primer usuario y el mismo PIN.
Cada usuario que se una a la conferencia deberá decir su nombre. Asterisk
usará este nombre para reproducir un aviso a los demás usuarios, indicando el
nombre de quien se une a la conferencia y de quien sale de la misma. (Parámetro 1).
Durante la conferencia, cada usuario puede marcar la tecla * para
enmudecer su terminal o adaptar los niveles de volumen del audio que envía/recibe
(parámetro s).
y por último, la conferencia se grabará en un archivo con el nombre
meetme-conf-rec-<n° conferencia>-<ID unico>.wav en el directorio
/varllib/asterisk/sounds/ (parámetro r).
También existe una aplicación para administrar salas de conferencias desde
el mismo Dialplan. Esta aplicación es "MeetmeAdmín" y su sintaxis es:
exten "'> ~ , n , MeetmeAdmin (n •_conferencia Icomando [1 usuario} )
u
©RA-MA CAPÍTULO 4: LÓGICA DE MARCADO O DIALPLAN 123
Esta aplicación, junto con la opción "X" de Meetme, que pennite que el
usuario pueda salir de la conferencia tecleando un número de extensión de un solo
dígito, nos será muy útil para dar al administrador de la conferencia el poder de
expulsar o silenciar a aquellos usuarios molestos en la conferencia:
La aplicación MeetmeAdmin admite las siguientes opciones:
• e. Expulsar al último usuario que ha entrado en la conferencia.
• k. Expulsar a un usuario (indicado en el tercer parámetro).
• K. Expulsar a todos los usuarios.
• I. Desbloquear la conferencia.
• L. Bloquear la conferencia - no podrá unirse nadie más.
• M. Silenciar a un usuario.
• m. Desactivar silenciar a un usuario.
• N. Silenciar a TODOS los usuarios no administradores.
• n. Desactiva silenciar a todos los usuarios no administradores.
• r. Resetear los niveles de volumen de un usuario.
• R. Resetear los niveles de volumen de todos los usuarios.
• s. Bajar el volumen de la voz de toda la conferencia.
• S. Subir el volumen de la voz de toda la conferencia.
• t. Bajar el volumen de la voz de un usuario.
• T. Subir el volumen de la voz de un usuario.
• u. Bajar el volumen del audio que llega a un usuario.
• U. Subir el volumen del audio que llega a un usuario.
• v. Bajar el volumen del audio que llega a todos los usuarios.
• V. Subir el volumen del audio que llega a todos los usuarios.
-
- - - - - - _ . ~ " ¡
124 VOlP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA

Esta es una de esas aplicaciones que si no se pone un ejemplo, no se ve
cómo usarlas, así que vamos manos a la obra. Crearemos una extensión (899) para
administrar salas de conferencias. Cuando el administrador entre en la extensión
899 se le pedirá una contraseña; porque no desea que cualquier usuario pueda
administrar las salas de conferencias, ¿verdad? Seguidamente, el número de la sala
que desea administrar. Después de esto, le pedimos el número de la conferencia
que desea administrar y saltaremos a un contexto especial
(admin-conferencias) en el que defmimos las opciones que podrá usar.

899 ¡»ra admi.nistt:ar
Autbenticate ..... ;
introducir la. contraseña .
exten => !l99,n,Read{CONFNO,conf-getconfno); y el ní;ímero de
conferencia 9'Ue voy a
exten .,> B99,n,G6to(admin-c;:onferenc;::ias,s,11
[a.dmin - conferenoialilJ
¡ Entr.amos en la conferencia en modoadministtador {a? y
activando
¡ 1.;\ posibilidad de teclear una opci6n (x)
exten "'> s,t,Meetme(${COm'NO},aX)
..
exten => s,n,Hangup
.......­
-
¡ pulsando t silen<!iamos a todos los usuarios -no
administradores­
exten .. > t, 1,MeetmeAdmin(${CONFNO} IN)
; y volvemos a la cqnf.erencia.
exten => 1,n,Goto(s,1)
; pulsando :2 devolvemos la voz a todos los usuarios
eX.ten => :2, 1, MeetmeAdmin ($ {COm'NO} In)
exten =:> 2,n,Goto{s,ll
; pulsandó 8 expulsamos al último usuario que entró en la
conferencia
exten "'>
exten B,n,Goto(s,l)
pulsaooo 9 expulsamos a un usuari.o
deberemos introducir el númerou/ilUario
que es el número de ord,en en el que entró en la conferencia
e.xten "'> 9,1, Read (NUM, vm-extension)
exten => 9, n, MeetmeAdmin ($ {CONFNO} Ik I${NUM}l
exten "'> 9,n,Goto(s,l}
©RA-MA CAPÍTULO 4: LÓGICA DE MARCADO O DIALPLAN 125
Aunque como vemos, es posible realizar determinadas operaciones sobre
una sala de conferencias desde el dialplan, 10 cierto es que esto no es muy práctico,
ya que el administrador debe conocer el número de orden en el que han ido
entrando los usuarios para poder operar sobre ellos. Para gestionar las salas de
forma más operativa existen aplicaciones como WebMeetMe que se conectan con
Asterisk a través del AMI y ofrecen bastante más facilidad al administrador.
13 Haciendo un dialplan mantenible
En este capítulo, se ha ido completando la instalación de una típica PBX
con los servicios elementales, añadiendo las extensiones correspondientes. Estas
extensiones han sido añadidas en diversos contextos, y no precisamente de manera
arbitraria.
Es importante que un contexto represente un único concepto, es decir, el
contexto a-extensiones define la forma de llamar a los terminales, no a teléfonos
fijos nacionales. Esta forma de dividir el dialplan en contextos posibilita que luego
estos sean combinados como se quiera mediante la sentencia indude. Así, podemos
crear contextos como desde-usuarios y desde-usuarios-vip, donde el segundo
contexto permita realizar llamadas a destinos que desde-usuarios no puede:
[desde-usuarios]
include => a-extensiones
include => a-moviles
include => a-fijos
[desde-usuarios-vip]
include => a-extensiones
include => a-moviles
include => a-fijos
include => a-internacionales
Si hubiéramos incluido todo en el mismo contexto sería necesario repetir
mucho código, y cada vez que quisiéramos cambiar algo habría que hacerlo en
varios sitios, por lo que no resultaría fácilmente mantenible.
$'
CAPÍTULO 5
,
GESTION DE ASTERISK MEDIANTE
INTERFAZ WEB
Juan Antonio García Moreno
1 Introducción
Con la creación de los Departamentos de Sistemas de la Información en las
empresas, y la incorporación de técnicos informáticos cualificados, se empieza a
demandar la posibilidad de gestionar las centralitas telefónicas sin acudir a
personal externo.
A pesar de la cualificación de dicho personal, los sistemas tradicionales
han limitado la adquisición de los conocimientos mínimos de administración de las
PBXs. Por tanto, esta desventaja se traduce en que el personal no esté preparado
para programar a nivel de código los nuevos dispositivos de VoIP como Asterisk.
Tampoco es objetivo formar expertos en Asterisk para realizar una administración
básica como crear Extensiones, Ring Group, etc., esporádicamente.
Es aquí donde surge la necesidad de un software de administración para
Asterisk con el que el personal técnico de la empresa sea capaz de realizar esta
"Administración Básica" de Asterisk.
128 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
2 Gestores web
En este capítulo hablaremos de varios de los "Gestores WEB" que existen
para la Administración de Asterisk, principalmente basados en software libre, y nos
centraremos de manera especial en FreePBX, el más extendido, tanto por
instalaciones independientes junto a Asterisk como por las distintas distribuciones
precompiladas que lo incorporan y utilizan.
2.1 FREEPBX
Es uno de los interfaces de gestión Web para Asterisk con mayor difusión
en el mundo de la VoIP y Asterisk.
FreePBX es un desarrollo Open Source que se encuentra bajo licencia
GNU GPL Y ha sido desarrollado principalmente en Perl y PHP por Phillipe
Lindheimer.
IBIírii-_ FreePBX System Status
Figura 5-1. Página principal de FreePBX
Detrás de FreePBX existe una importante comunidad desarrollando y
dando soporte a este proyecto (http://www.freepbx.org).
FreePBX utiliza Apache como servidor Web y MySQL como servidor de
base de datos. A groso modo, FreePBX es una interfaz Web que guarda la
I
t
t
©RA-MA CAPÍTULO 5: GESTIÓN DE ASTERISK MEDIANTE INTERFAZ WEB 129
configuración de Asterisk en la bases de datos, reescribe los archivos de
configuración de Asterisk con dicha infonnación.
Cada vez que creamos una configuración o la cambiamos con FreePBX,
los datos se guardan en la base de datos, y a la hora de actualizar, se vuelven a
crear automáticamente algunos de los ficheros de texto de la configuración de
Asterisk.
La filosofia de trabajo de FreePBX implica que no se debe modificar
manualmente los ficheros de configuración de Asterisk, ya que serán reescritos por
FreeBX cada vez que se realice algún cambio en la interfaz Web.
Hay que tener muy en cuenta este tema en el caso de que tengamos un
servidor Asterisk en explotación y decidamos posterionnente montar FreePBX. Lo
más probable es que perdamos toda nuestra configuración.
Para evitar estas situaciones, FreePBX cuenta con unos ficheros en los que
el usuario puede añadir sus propias configuraciones interactuando estas con las que
introduzcamos mediante este software de gestión sin ser modificados.
A parte del propio gestor de administración FreePBX también instala otros
tres paquetes que ayudan a la gestión de la centralita:
• CaD Detall Record (CDR). Proporciona un detalle de las llamadas
entrantes y salientes en Asterisk.
• Asterisk Flash Operator Panel (FOP). Software que visualiza estados y
con el que se pueden gestionar las llamadas, extensiones, colas, salas de
conferencia, etc.
Este software puede ser instalado independientemente de FreePBX y toda
la infonnación y soporte puede ser encontrado en la web
"www.Gsternic.org".
• Asterisk Recording Interface (ARI). Este software gestiona, entre otras
funcionalidades, los buzones de voz y grabaciones de los usuarios desde un
entorno gráfico.
Fue desarrollado por Dan Littlejohn de Littlejohn Consulting.
130 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
2.2 ASTERISKGUI
AsteriskGUI es el gestor oficial de DIGIUM para Asterisk (véase la figura
5-2).
Figura 5-2. AsteriskGUI
Aun siendo el gestor oficial de Digium, no tiene la potencia que tienen
otros gestores existentes actnalmente, aunque siguen trabajando en él, mejorándolo
día a día.
Figura 5-3. AsteriskGUJ -lfconfig
2.3 OTROS
Existen multitnd de interfaces que permiten gestionar Asterisk, aunque no
gozan de tanta popularidad como los anteriores. Entre ellos, VoiceOne está
3
©RA-MA CAPÍTULO 5: GESTIÓN DE ASTERISK MEDIANTE INTERFAZ WEB 131
teniendo un gran auge últimamente. En las figuras 5-4 y 5-5 se puede ver un detalle
del gestor VoiceOne .
...

Figura 5-4. VoiceOne



,...,JI;.... O .. _"-".."-I1'#' .....
lI!lIfoo¡ ú" ...
Figura 5-5. VoiceOne (Extensions)
Instalación de FreePBX
Antes de iniciar la instalación de FreePBX, es preciso que el servicio
Asterisk esté instalado y configurado correctamente tal y como se ha visto en
capítulos anteriores.
Dos de las distribuciones más utilizadas son Fedora y Debian, por lo que a
lo largo del capítulo se irán comentando las diferencias que existen en la
instalación de las mismas.
132 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
En primer lugar, y para comenzar con la instalación de FreePBX, hay que
descargar la última versión de este software en el directorio lusrlsrc/:
t
A continuación lo descomprimimos:
# ,freebJ::¡;t;":l.
3.1 DEPENDENCIAS
Para el correcto ftmcionamiento de FreePBX, necesitamos instalar una
serie de paquetes, entre ellos, el servidor Apache, servidor de correo Sendmail,
PHP, MySQL y otras tantas librerías.
Para instalar las dependencias en CentOS 5.1, ejecutamos el siguiente
comando:
# yum ... -y i,nstill:lL
<:1evel:liQpg9 l.i.bselinv.x..,de;vel
libtiff-devel. gmp .
l:Ll::>ogg-devel o:penssl-devel ;;;:1ib-devel
cf .
#yu;m -y install pb.p-pear php-pdo
mysqlmysql- devel mysql-se:rverhttp<:1
Otro de los paquetes a instalar y compilar en CentOS 5.1 es Lame, y lo
haremos de la siguiente forma:
# cd tlJSr!src
# wge t ,.
http ; I/eas:ynews . . net I
3.97.tar .
# tarl'xvf lame-3.97.tar.gz
# cd lame-3.9.7
# ./configure
# make
# make install
Nota.: debe tener instalado el compilador "gcc y sus aeJ?enafll1cll'JS antes de
realizar esta tarea.
Para instalar las dependencias en Debían, ejecute el siguiente comando:
# install -y apache2 php5 phpS-cli mysql-server-5.0
php-pear phps-rnysql php-d,b libapache2-mod-phpSphp5 php5­
curl
© RA-MA CAPÍTULO 5: GESTIÓN DE ASTERISK MEDIANTE INTERFAZ WEB 133
3.2 INSTALACIÓN Y CONFIGURACIÓN DE MySQL
Tal y como se vio al principio del capítulo, FreePBX utiliza MySQL para
almacenar el "dialplan", usuarios, etc., y posteriormente generar los ficheros de
configuración que usará Asterisk para operar.
Una vez instalado, a continuación se va a crear y configurar la base de
datos.
En Debían, los servicios instalados se inician automáticamente, pero en
CentOS 5.1 se debe iniciar y configurar manualmente el sistema para que
arranquen automáticamente cada vez que se inicie el sistema.
Para ello, en CentOS debe realizar la siguiente tarea antes de seguir
configurando. Para configurar que se inicien los servicios al iniciar el sistema:
Esta tarea también podemos realizarla utilizando la utilidad ntsysv.
Figura 5-6. ntsysv
134 VOlP y ASTERlSK: REDESCUBRlENDO LA TELEFONÍA ©RA-MA
Para arrancar los servicios en CentOS debe ejecutar:
# service httpd start
# Seviche mysqld start
Una vez arrancado el servidor MySQL, procederemos a la creación de las
bases de datos necesarias:
• 8sterisk. Almacena la configuración que se usará para generar los ficheros
que utilizará Asterisk para funcionar.
• .8steriskcdrdb. Almacena los datos de las llamadas realizadas, tiempos,
canales por los que han salido, en definitiva, lo que se conoce corno CDR
(Call Detail Record).
Acceda al shell de MySQL:
#.mysql root
Cree las bases de datos:
mysql:> create database asterLskcqrdb·,
Query OK, 1 rowaffected (Q.OQ Il!ecl
myll!ql> create database asterisk¡
Query OK, 1 rowaffected (0.01 aeo)
Las acciones anteriores también puede realizarlas sin entrar en MySQL,
simplemente ejecutando desde la consola los siguientes comandos:
#
# rnysqladml.nlisterisk
Ahora compruebe que se han creado correctamente las bases de datos:
Salga de MySQL ejecutando el comando quit:
mysql> quit;
#
©RA-MA CAPÍTULO 5: GESTIÓN DE ASTERlSK MEDIANTE INTERFAZ WEB 135
A continuación cargue la estructura de ambas bases de datos desde los
ficheros descargados para FreePBX. Realicemos las tareas que se detallan a
continuación:
# ed
# <'
# <:sQ:t:./edr_my;tlql....:.table.sql
Entre en MySQL para comprobar que se han creado bien las estructuras de
ambas bases de datos:
=#
t admin
1
I cronmanagel;"
I devices
I extensiQns
¡ iax
1
j module xml
I mqd1J.les
I notifi<,::ations
I sip
I users
I zap
I
I
1
I
mysgl> use aeteriskcdrdb;
mysql> Show tables;

I Tables in asteriskedr I
I edr
1 row in set (0.01 sec)
136 VOIP y ASTERISK: REDESCUBRIñ"NDO LA TELEFONÍA ©RA-MA
A continuación se establecen los permisos sobre las tablas creadas. El
usuario y contraseña que configure a continuación debe configurarlos
posteriormente en FreePBX para garantizar el acceso a estas bases de datos.
Ejecute los siguientes comandos sin salir de la consola de MySQL:
'l'G
tMíPll1lJ'¡> .
mysql:¡- asterisk.'" '1;0
'ampl09';
Q rówata., 00
mysql:> quit;
Por último, establezca la contraseña de acceso a las bases de datos para el
"root":
#mysqladm:i:n rÓQt
3.3 INSTALACIÓN Y CONFIGURACIÓN DE APACHE
En el apartado Dependencias se instaló el servidor Apache, por lo que sólo
queda configurarlo aquí.
Para ello, hay que asegurarse que tenemos creado el usuario asterisk y el
grupo asterisk.
Si no están creados, los creamos de la siguiente forma:
# groupadd asterisk
#/o useradd -o "asterisk PBX" -o !var!liblasterisk -g asterisk
asterisk
A continuación cambie el usuario y grupo por defecto de ejecución del
Apache por el asterisk ejecutando:
DEBIAN:
• Edite el fichero "/etc/apache2/apache2.conf'.
• Busque las siguientes líneas:
User www-data
Group www:"data
© RA·MA CAPÍTULO 5: GESTIÓN DE ASTERISK MEDIANTE INTERFAZ WEB 137
• y se modifican por:
• Crea el directorio y asigne los permisos al usuario asterisk:
'# 1v:a;J':J
'# asterisk Nar./
• Para establecer el directorio de origen de los documentos, edite el fichero
/etclapache2/sites-available/dejault y lo modifica de la siguiente manera:
.. lvar/wwfli/ntlRl/
.;Oirecto:ry/va,r/wWiffhttulf? ..
• Reinicie el servidor Apache:
'# I e.tcl init. dIapa.che2 resta:rt
CentOS:
• Edite el fichero /etclhttpd/conflhttpd.conf.
• Busque las siguientes líneas:

Group apache
• y se modifican por:
alSteds,k
group asterilt
• Asigne los permisos al usuario asterisk:
# chown asterisk Ivar/lib/phplsessJ,on
• Reinicie el Servidor Apache:
'# /etc/init.d/httpd restart
En estos momentos lo único que queda es la instalación de FreePBX.
3.4 INSTALACIÓN DE FREEPBX (AMPORTAL)
Para realizar la instalación de FreePBX, es necesario que Asterisk se esté
ejecutando. Para ello, y si no lo está ya, puede ejecutar:
'# asterisk
138 VOIP y ASTERJSK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
En CentOS es necesario tener deshabilitado SELINUX, al objeto de evitar
incompatibilidades y errores inesperados. Puede comprobar si SELINUX se está
ejecutando con el siguiente comando:
# $?
y pararlo sobre la marcha ejecutando:
#$ecenfQrce Cl
Para hacer esto, en CentOS, edite el fichero /etclselinuxlconfig y lo
modifica de la siguiente forma:
SELINDX=;disabled
SEt::rN'(:1r1;YPE=ta:rg.li!ted
Una vez hecho lo anterior, debe reiniciar el equipo para que tome los
cambios anteriores para poder instalar el gestor.
Otro de los temas a tener en cuenta para eVItar interferencias en la
instalación es deshabilitar el firewall ¡ptables, para lo que debe ejecutar:
#:tptables -<li'
#< iptables-.r¡¡ave >letc/sysconf:i.gfiptabl.es (Para guardar la
configuración en CentOS)
#; :> (}¡lara guardar la
conf iguración en DSBIAN)
Configure el directorio de trabajo de Asterisk editando el fichero
/etclasterisklasterisk.conj y cambiando astrundir /var/run por astrundir =>
/var/run/asterisk.
A continuación instale el gestor WEB:
'# cd /usrfsrc/freepbx-2.4.0
# .finstallamp --use.rname"'rQQt --Pétssword;='La (Sin
las comillas)· .
El sistema realiza una serie de preguntas relacionadas con los datos que ha
ido introduciendo hasta ahora. Conteste con los datos que se han ido planteando
(usuarios, passwords, etc.).
Al finalizar la instalación debe aparecer un texto como el que se presenta a
continuación sin haber mostrado errores:
Please up{iate yQur modules and raload Aster.isk by visiting
http://xx.xx.xx.xx/admin
©RA-MA CAPÍTULO 5: GESTIÓN DE ASTERlSK MEDIANTE INTERFAZ WEB 139
'" '" *"'* *'" '" **,** **** '" ***;, '* ** ***"'* 1<*.**1<**..1' ****"'ft**tt**ll>: l' ,..*1< *
'"
3.5 MODIFICACIONES PREVIAS AL INICIO DE FREEPBX
Antes de iniciar FreePBX, debe realizar una serie de modificaciones tanto
de permisos de usuarios, como de passwords y algún que otro cambio de rutas de
acceso.
3.5.1 Permisos en directorios
En este momento, tiene que cambiar los permisos al contenido de algunos
directorios:
# c;:'hown asterisk ; ..... 1\:..\:0'... ' ... ; ..... '
dhmod 775
# ehmod 770 - Rletc}amportal. corlf
3.5.2 Rutas del FOP y permisos para la IP de Administración
Debemos realizar unas modificaciones en el fichero de configuración del
Flash Operator Panel (FOP) , para ello, edite el fichero
/var/www/html/admin/views/panelphp y elimine "..1" que hay delante de la palabra
"panef' de la siguiente línea:
,.;
width.. "97%"heiight="600" ...'!:l'.'+­
,. !panel,JindEjl!x. , .•
» t •
y debe quedar de la siguiente forma:
'.:iframe width="97%" height","EiOO" framelxl7rdet"?".O"align="top"
are"," .. !panel!index,-al'llP . .• 1,!J.><lif't'.ame> I •
y a continuación modifique la configuración de los equipos que se podrán
conectar al FOP para la administración. En este caso, edite el fichero
/etc/amportal.conf y modifique la variable AMPWEBADDRESS de la siguiente
forma para no limitarlo a ningúnPC concreto:
AM.PWEBADDRElSS",
4
140 VOIP y ASTERlSK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
Si en vez de dejar en blanco escribe una IP, sólo se pennitirá la gestión
desde ese equipo.
3.5.3 Permisos y cambio Password al módulo Manager
Por seguridad, también debe cambiar la password por defecto del Manager
de Asterisk.
Para ello, edite el fichero /etc/amportal.conf y modifique la variable
AMPMGRPASS, por ejemplo, con la siguiente password:
~ ~ R P A S S "'. p@liWQrd
A continuación, edite el fichero /etc/asterisk/manager.confy modifique la
variable secret de la sección [adminJ con la misma password:
En este momento, con la configuración actual, se pennite la conexión al
Manager a procesos originados por el equipo en el que se está ejecutando:
Si desea que se conecten al Manager desde procesos iniciados en otro
equipo, por ejemplo el 192.168.0.200, tendíamos que añadir la línea
correspondiente permit o comentar la línea actual deny:
Por último, y para que surtan efecto todos los cambios anteriores, debe
reiniciar FreePBX:
Utilización de FreePBX
FreePBX está fonnado por multitud de módulos que pueden ser cargados
según las necesidades de la instalación, muy en la línea de modularidad de
Asterisk.
©RA-MA CAPÍTULO 5: GESTIÓN DE ASTERISK MEDIANTE INTERFAZ WEB 141
Parte de estos módulos pueden encontrarse en modo local y pueden ser
instalados sin la necesidad de que se descarguen a través de Internet, y otros
muchos se descargarán desde Internet previamente a su instalación.
4.1 INICIO DE FREEPBX
Para iniciar FreePBX por primera vez, debe ejecutar el siguiente comando:
#amportal atad
Para que FreePBX se inicie automáticamente, debe incluir en rc.local el
comando anterior, para ello, ejecute:
1/;
Una vez iniciado FreePBX, debe conectarse al mismo iniciando un
navegador y poniendo la siguiente dirección:
b,ttp:ll (iel Set;ri(ic:tr>la&nin
Lo primero que debe hacer al conectarse a FreePBX es aplicar los cambios
realizados. Para ello, al conectarse aparecerá una barra naranja en la parte superior
izquierda de la ventana del navegador (véase la figura 5-7).
Figura 5-7. FreePBX (System Status)
Esta barra aparece cada vez que se realiza un cambio en FreePBX, y debe
pulsar sobre ella para aplicar los cambios en la configuración. Al pulsar en Apply
Configuration Changes el sistema solicita confirmación (véase la figura 5-8).
142 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
Figura 5-8. FreePBX (Aplicar configuración)
Una vez confirmados los cambios, se vuelve a la misma pantalla inicial,
pero habrá desaparecido la barra naranja (véase la figura 5-9).
Figura 5-9. FreePBX (Con la configuración aplícada)
En estos momentos ya puede empezar a configurar la centralita.
4.2 ADMINISTRACIÓN DE FREEPBX
Como se ha comentado anteriormente, FreePBX consta de una serie de
módulos base instalados para realizar la configuración de la PBX (extensiones,
rutas de entrada y de salida, etc.), con los cuales, se podría montar una
configuración básica para el funcionamiento de esta.
Adicionalmente, existen una serie de módulos, propios y de terceros, que
puede añadir para administrar otras funcionalidades de Asterisk.
Estos módulos pueden estar instalados en local, es decir, vienen en el
paquete de FreePBX que ha instalado, o se pueden descargar de Internet.
Los que están en local, están en el servidor pero no se han instalado en
FreePBX aún, por lo que puede hacerlo sin necesidad de tener acceso a Internet, al
contrario que los otros, para lo que necesita acceso a Internet.
En este apartado FreePBX Notices aparece si existen actualizaciones de los
módulos instalados en FreePBX.
©RA-MA CAPÍTULO 5: GESTIÓN DE ASTERlSK MEDIANTE INTERFAZ WEB 143
La mejor forma de ver la administración de la PBX, es plantear una
situación real, de una implantación de una PBX en una empresa con unas
necesidades reales.
De esta forma, el escenario a diseñar y configurar seria el siguiente:
Una empresa con 8 extensiones repartidas de la siguiente forma:
• 1 x Secretaria
• 1 x Dirección
• 2 x Departamento Técnico (Técnico + Responsable Departamento)
• 2 x Departamento Comercial (2 Técnicos)
• 2 x Departamento Atención al Cliente (2 Técnicos)
Cada Extensión tendrá su Buzón de Voz correspondiente.
Disponen de 2 líneas de entrada desde la PSTN y 2 Enlaces GSM o FCT
(Fixed Cellular Terminal) para móviles. Todo se montará en una tarjeta Analógica
de 4 puertos. Los 2 primeros canales serán las líneas directas de la RTB y los 2
últimos los de los enlaces GSM.
El horario de oficina es de 08:00 a 14:00 y de 16:00 a 18:00, de Lunes a
Viernes.
• El flujo de las llamadas entrantes será el siguiente:
1. Las llamadas entrantes fuera del horario de oficina serán atendidas
por una locución que proporcionará el horario de atención al público
y serán enviadas al buzón de voz de la secretaria.
2. Las llamadas entrantes en horario de oficina serán atendidas por una
locución, dependiendo si es mañana o tarde, y enviadas a un IVR
(Interactive Voice Response), o menú interactivo de voz, que le
permitirá al llamante ponerse en contacto con uno de los
departamentos en cuestión, pulsando una opción, o esperar y que la
llamada sea atendida por la secretaria. Si no es atendida por la
secretaria, saltará el buzón de voz de ésta.
3. El IVR constará de tres opciones, una para ponerse en contacto con
cada uno de los departamentos.
144 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
Si pulsa la opción 1, se pasará la llamada a la extensión del
técnico del departamento técnico. Si no es atendida, pasará al Buzón
de Voz de éste.
Si pulsa la opción 2, se pasará la llamada a las 2 extensiones
del departamento comercial. Si no es atendida la llamada, será
transferida a la secretaria. Si tampoco fuese atendida por esta, pasaría
a su buzón de voz.
Si pulsa la opción 3, se pasará la llamada a las 2 extensiones
del departamento de atención al cliente. Si no es atendida por
ninguna de las extensiones, pasará la llamada al buzón de voz de la
primera de las extensiones de este departamento.
• El flujo de las llamadas salientes será el siguiente:
1. Las llamadas nacionales saldrán por los canales 1 y 2 de nuestra
tarjeta analógica, los canales están conectados directamente a las 2
líneas de la PSTN.
2. Las llamadas a móviles serán enviadas a través de los puertos 3 y 4
de nuestra tarjeta analógica, los canales están conectados a los
FCT o enlaces GSM.
3. Las llamadas internacionales serán enviadas a través de una
conexión ADSL hacia un proveedor de voz sobre IP, debido a lo
económico de sus precios.
Asignaremos la numeración de las extensiones con 4 dígitos, dejando
extensiones libres entre las asignadas, para futuras ampliaciones. Las extensiones
quedarían de la siguiente forma:
• Secretaria (2010)
• Dirección (2000)
• Departamento técnico (técnico 01 (2020) + responsable departamento
(2029))
• Departamento comercial (técnico 01 (2030) + técnico 02 (2031))
• Departamento atención al cliente (técnico 01 (2040) + técnico 02 (2041))
©RA-MA CAPÍTULO 5: GESTIÓN DE ASTERISK MEDIANTE INTERFAZ WEB 145
lfDta:no se empieza a numerar a partir de la JO:OfJpor existir coincidencia con
dlgunos númerós de teltifonos existentes en f?l plan denumeraciónrJe algunos
proveedores, como el J()1)4, ..
Nota: se el uso de una tarjeta analógica en sistema ptJrque suele
ser el caso más habitual, pero igualmente podría haber sido una RDSI con 4
BRl's.oPrimario. A, efectos de FreePBX sólo 14forma de crear los
enlaces con el exterior.o Trunk, que cambiaría
4.2.1 Instalación de módulos
Los módulos que vienen instalados por defecto en FreePBX son los
siguientes:
• Administrators. Usado para la creación y administración de pennisos de
usuarios de FreePBX.
• Extensions. Utilizado para la creación de extensiones y su administración.
• Feature Codeso Utilizado para la administración de algunas de las
características/aplicaciones de Asterisk que por defecto vienen
configuradas en FreePBX.
• General Settings. Se utiliza para la administración de parámetros
generales a toda la centralita, como a quién enviar un correo en caso de que
exista una actualización, tiempo máximo que van a estar sonando las
extensiones antes de pasar al buzón o colgar la llamada, etc.
• Outbound Routes. Utilizado para configurar las rutas que tomarán las
llamadas salientes según ciertos patrones.
• Trunks. Se utiliza para la administración de los distintos caminos/enlaces
existentes con el exterior (canales RDSJ, canales analógicos, canales IP ... ).
• Inbound Routes. Utilizado para la administración de las llamadas
entrantes, es decir, qué hará una llamada entrante dependiendo de una serie
de parámetros establecidos en este apartado.
• Zap Channel DIDs. En lma llamada analógica entrante, no podemos
disponer del número al que han llamado (DID - Direct Inward Dialing),
simplemente podemos ver por qué canal de nuestra tarjeta analógica ha
146 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
entrado, dato que sí tenemos en RDSI. Pues con este módulo, podremos
asignar un número de teléfono (DID) según el puerto por el que entre la
llamada, y después podrá ser administrada esa llamada desde el módulo
"Inbound Routes" según ese número. Esto sólo se usa para el entorno de
administración de FreePBX y sólo tiene sentido para facilitar la gestión de
llamadas entrantes si queremos tener controlada la línea por la que está
entrando la llamada.
• Music 00 Hold. Esto se utiliza para administrar nuestra propia Música en
Espera, o la que viene preinstalada.
• System Recordiogs. Desde aquí podremos crear nuestras propias
grabaciones, bien desde una extensión, bien haciendo una descarga de
alguna grabación que hayamos creado previamente por otros medios y
queramos utilizarla en nuestra PBX.
Como se ha podido apreciar, con los módulos precargados, perfectamente
se puede poner en funcionamiento una centralita con las funcionalidades más
básicas, pero no cubriría los requerimientos del supuesto.
Para disponer de todas las funcionalidades necesarias en nuestro escenario,
se tienen que instalar una serie de módulos antes de empezar a configurar la
centralita.
Toda la parte de administración/configuración de centralita se realizará
dentro de la pestaña Admin de FreePBX.
Para añadir los módulos necesarios, dentro del apartado "Admin", pulse en
Module Admin (véase la figura 5-10).
Module Admlnlstration
Check lor updates onlme IUpload module
Basic
Cusrom ExtensíarlS
~ - ~ " - ' - - - ~ - ' - - - - - - ", ,',' , _ # ••,-,."
Figura 5-JO. FreePBX (Administración de módulos)
©RA-MA CAPÍTULO 5: GESTIÓN DE ASTERISK MEDIANTE INTERFAZ WEB 147
Pulse en Check for updates online para que muestre los módulos
instalados, pendientes por instalar y actualizaciones. A continuación pulse sobre los
siguientes módulos y seleccionamos Download and Install:
• Announcements. Para poder administrar las locuciones de entrada de
nuestra PBX (Saludos, Horarios de Trabajo, etc.).
Inbound Cal! Control
Oescripbon
Chen¡¡eIo!;¡
oNoActíon
® DownIoad anó lnstaU
Figura 5-11. FreePBX (Inbound Call Control)
• IVR. Para administrar el menú de entrada de nuestra PBX.
• Ring Groups. Para administrar los grupos de extensiones.
• Time Conditions. Para administrar los horarios de entrada de las llamadas.
• CaD Forward. Para administrar los desvíos de llamadas desde la PBX.
• CaD Waiting. Para administrar las llamadas en espera desde la PBX.
• Do-Not-Disturb (DND). Para administrar el "No Molesten" desde la PBX.
• Parking Lot. Para administrar el "aparcamiento" de llamadas desde la
PBX.
Para temas de gestión y administración del sistema, instalaremos los
siguientes módulos:
• Asterisk Logfiles. Para la visualización de los Logs de Asterisk.
• Asterisk CLI. Para la ejecución de comandos de Asterisk en el CLI.
• Asterisk Info. Para ver el estado e información de la PBX (Extensiones,
Canales Activos, etc.).
148 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
• Bachup & Restore. Para realizar copias de seguridad programadas de la
configuración de la PBX.
• Java SSH. Para conectarse mediante un Cliente SSH al Servidor de
Asterisk.
Por último, vaya al final de la página y pulse sobre el botón Process
situado a la derecha para comenzar con la instalación de los módulos. Aparecerá
una pantalla (véase la figura 5-12) con la lista de módulos que ha seleccionado para
instalar, y pulse Confirmo
Module Administratíon
Please conllrm!he following actlons;
• Announcemenrs 2AO 1l'iiIJ be downloaded and installed
• Call Forward 2 4 O l'iill be inslalled and enabled
• Call Wamng 24 Ov.111 be downloaded and installed
• Do-Nol-Disturb (DND) 240 v.111 be downloaded and installed
• IVR 2 5 162 WlII be downloaded and installed
• Astensk Logfiles 2AO WlII be downloaded and installed
• Parking Lot 24 05 will be downloaded and installed
• Rlllg Groups 2 4.0 1 l'iill be downloaded and inSlallad
• Time Condltions 2 44.2 W111 be downloaded and inSlallad
Confirm Ctmcsl
FreePBX'Freect0rnto c o ~ n e ~ ~ ~ o
Figura 5-12. FreePBX (Instalación de módulos)
En estos momentos, y tal como muestra la figura 5-13, aparece una nueva
ventana con la información de los procesos que se están realizando para la
instalación de los módulos y si su resultado ha sido correcto o no.
Si todo ha ido bien, pulse sobre Return.
En la siguiente pantalla aparece la barra naranja, que comentamos al
principio de este punto, informándonos de que debe aplicar los cambios realizados.
Realizamos el proceso ya comentado para aplicar los cambios.
En este momento ya tiene todos los módulos necesarios para configurar la
PBX según el escenario expuesto.
©RA-MA CAPÍTULO 5: GESnÓN DE ASTERfSK MEDiANTE INTERFAZ WEB 149
Figura 5-13. FreePBX (Información del proceso de la instalación)
Es importante tener en cuenta el orden en que se deben configurar los
módulos, ya que unos hacen uso de otros.
Según los módulos que hay que configurar, el orden de configuración será
el siguiente:
1. Trunks.
2. Extensions.
3. System Recordings.
4. Ring Groups.
5. IVR.
6. Announcements.
7. Time Conditions.
8. Zap Channe1 DIDs.
9. Inbound Routes.
10. Outbound Routes.
11. General Settings.
150 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
Para realizar la configuración del sistema, se mostrarán los cambios en
cada uno de los módulos, teniendo otras muchas opciones que no se comentarán,
ya que no son necesarias y se dejan por defecto.
El usuario interesado en todas estas opciones cuenta con una herramienta
potentísima de ayuda. Al situarnos sobre cualquiera de las descripciones de las
distintas opciones, nos muestra una ayuda en la que nos informa de para qué se
utiliza esa opción y, en algunos casos, hasta nos muestra un ejemplo (véase la
figura 5-14).

'--'" - .i f'"P:

.
i

L._., .. meI'BX"r.fJdOm to COllnl!ct®
\
Figura 5-14. FreePBX (Ayuda emergente)
4.2.2 Configuración de Trunks
Las. configuraciones de algunos tipos de trunks dependerán de la
configuración establecida previamente en Asterisk, como por ejemplo los Trunks
Zap, que depende de la configuración que establecimos en el fichero Zaptel.confy
el Zapata.con!
En este ejemplo, se va a suponer que ha configurado en el fichero
Zapata.con,jlos canales 1 y 2 asociados al grupo 0, y los canales 3 y 4 al grupo 1.
Es decir, en nuestro zapata. con!debe tener algo como:
gl:QIlP o
qhannel =:> 1,2
Sfl70UP 1
ohannel => 3,4
A continuación se defmen dos Trunks Zap, uno para las 2 líneas analógicC}S
y otro para las 2 líneas que están conectadas a los FCT GSM.
192
©RA-MA CAPÍTULO 5: GESTIÓN DE ASTERISK MEDIANTE INTERFAZ WEB 151
Como ya se comentó, las líneas analógicas están conectadas a los canales 1
y 2 de la tarjeta, por lo que se corresponderá con el grupo O, y los enlaces GSM en
los canales 3 y 4, asociados al grupo l.
En el menú del lateral izquierdo, pulse sobre la opción Trunks, y puede ver
que, por defecto, FreePBX crea el Trunk ZAPlgO, donde "gO" se corresponde con
grupo O, que en el ejemplo será necesario para las 2 líneas analógicas, por lo que
sólo hay que crear el trunk de los enlaces GSM.
Para ello, pulse sobre Add ZAP Trunk y nos desplazamos hasta Zap
Identifier (trunk name):, donde escriba "gl", para que se corresponda con el "grupo
1" definido en nuestro Zapata.con! A continuación pulse sobre Submit Changes
para aceptar los cambios en esta pantalla y nos retornará a la pantalla anterior,
donde ahora nos muestra los dos Trunks Zap definidos.
Estos son los dos Trunks que se utilizarán para las llamadas nacionales y
las llamadas a móviles. Ahora queda por crear el Trunk para las llamadas
internacionales.
Como ya se comentó, las llamadas internacionales saldrán a través de un
enlace que crearemos contra un Operador de VoIP (Voz sobre IP). Este enlace se
realizará con el protocolo SIP, que es una condición que pone el operador, por lo
que el trunk que se creará será un Trunk SIPo
Previamente a la creación de este trunk, debe hacer algunos cambios en el
sistema para que nuestra PBX sea visible al proveedor desde Internet
Modifique el fichero sip JJeneral_ custom. conf y añada las siguientes
líneas:
..•
..
lo.cal!,1et",
de. Asterisk.
A parte, debemos abrir y direccionar los siguientes puertos UDP en el
router hacia nuestro Asterisk:
152 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
Rango UDP: 10000 al 20000 Audio RTP
Estos puertos son los definidos por defecto y pueden ser modificados,
según necesidades, mediante los ficheros rtp. con!y sip---.1teneral_custom. con!
Teniendo hecho todo lo anterior, se va a crear el Trunk SIP, por lo que se
tiene que pulsar sobre Add SIP Trunk y crear el trunk de la siguiente forma:
Outgoing Settings
Trunk Narne: Proveedor-SIP ; {Podemos darle cualquier
nombre)
PEER Details;
disallow '" all
allow = gsrn&ulaw&alaw
canreirtvite ",no
context =
dtmfmode = rfc2S33
fromdornain =123.123.123.123 T' ! I P6. Dominio de1 Proveedor
VoIP)
fromuser = USUARIO ¡ (El usuario creado por el
Proveedor VoIP)
host '" 123.123.1;;13.123
¡(11) del ProVeedor Vol!?)
inseciure'",ver'Y
nat; =·.yes ,.
qua1ify = yes.
rtptirneout = 30
secret = PASSWORD ¡(password del USUARIO creado por El1
Proveedor VolP)
type "" peer
1,lSernarne .. USUARIO ¡(El usuario creado por proveed,or
VoIP)
Registration
Regist;er "''-''''.1 I1'U USUARIO:PASSWORD®123.l2l.123:123
NtJtll: Pl1l'41tIfitrQ9
capítulos aiJterigr{i$ pl1l'a
Finalmente pulse en Submit Changes para aceptar los cambios que hemos
añadido.
Es interesante resaltar que en este módulo hay opciones muy interesantes y
que nos pueden ayudar en muchas situaciones que se nos pueden plantear. Por
ejemplo, podemos configurar que sólo puedan salir por el Trunk en cuestión
llamadas que vayan dirigidas a números que cumplan un determinado patrón, o
quitarle dígitos al número destino antes de sacarlo por este enlace, o añadirle
©RA-MA CAPÍTULO 5: GESTIÓN DE ASTERlSK MEDIANTE INTERFAZ WEB 153
prefijos, etc. Las 2 primeras opciones las podremos hacer mediante la opción "Dial
Rules" y la última mediante "Outbound Dial Prefix".
En la pantalla principal de Trunks que se muestra en la figura 5-15
aparecen los tres enlaces que se han creado.
Add a Trunk
I\dd ZAP Trunk
I\dd 1A-'\2 Trunk
TrunkZAPlgO
Trunk ZAPlg 1
Add SIP Trunk
Trunk SIPlProlieMor-S
,I\dd ENUM Tmnk
Add Custom Trunk
Add DUNDI Trunk
FreePBX' F r e e d ~ ~ to Connect®
Figura 5-15. FreePBX (Trunks)
En este momento se ha tenninado de añadir los enlaces con el mundo
exterior, tan sólo queda aplicar los cambios en la configuración pulsando sobre la
barra naranja Apply Corifiguration Changes y seguir los pasos de siempre.
Por ejemplo, ahora puede ver si se nos ha registrado el enlace SIP con el
proveedor. Para ello, pulse en Tools ya continuación en el módulo Asterisk CLI en
el apartado System Administration.
En la ventana que aparece, escriba en el campo Command: el comando de
Asterisk sip show peers y pulse Execute. Si todo ha ido bien, nos debe aparecer
algo similar a lo que aparece a continuación:
Name/username Host Dyn Nat ACL Port Status
Esto significa que nuestro enlace SIP (Proveedor-SIP) se ha registrado con
el usuario (USUARIO) correctamente (OK (58 ms)) en el puerto 5060 con el host
123.123.123,123.
4.2.3 Configuración de Extensions
La creación y configuración de extensiones se realiza mediante el módulo
Extensions de FreePBX. Para configurar las extensiones del sistema pulse sobre el
154 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
módulo Extensions, en la pestaña Setup, y que se encuentra dentro del apartado
Basic de FreePBX, para añadir cada una de las 8 Extensiones de nuestro escenario.
Las extensiones que puede crear son de varios tipos: SfP, fAX2 y Zap; pero
en el ejemplo serán todas SIP.
En Device seleccione Generíc SfP Device y pulse Submit.
Para crear la primera extensión debe escribir los siguientes campos:
200.0
Add
ht;E!J:'Wion: 200Q
OisplayName:Direc.cion
DeviceOptions
0000
Voicemail· .Password: 0000
Add:r:ess.: <émail@émail.cotn:>
Play
Pulse Submit para guardar los cambios en esta Extensión.
A continuación debe realizar el mismo proceso con las siete extensiones
restantes. Utilice los mismos valores de la primera extensión, a excepción de los
dos primeros, que serán sustituidos por los siguientes:
Usar
Displa'fNatn:e: ...,.i"' ..
EtAail Address; <ernq,ilf!ilernq,iJ,. COtA:> ; Correo al que ,!¡le
;mensaje.
EmaU
¡lOOil$Eije •.

Add E:Ktension
Ad'" ExteIl{ild;on
Uaer Extension.:
©RA-MA CAPÍnJLO 5: GESTIÓN DE ASTERISK MEDIANTE INTERFAZ WEB 155
20:!(}
Display Name: Comercial 01
Ema,il Agql;'ess:
;mens¡¡je.
Ext'Ms:l,Ón 2031
Add Extenaion
User Extenaion: 2.0::n
Display Name: Comercial 02
Email1\¡ddress: ,Correo al gue
¡mensaje.
se el
ExtE!:nsi6n 2040
Add Extenaion
Usar Extension,: 2040
Display Atencion Cliep.te (}1
Email Address: <email®l:!mail.com> ;Correo al que
¡mensaje.
se enviará el
2041
Add Extension
User Extension: 2041
Display Name: Atencion Cliente 02
Eroail Addresa: <email@email.com> ¡Correo al que
;mensaje.
se el
Nota: para que el sistema envíe el mensaje de voz al correo electrónico,
previamente debe instalar un servidor de correo, C01l10 puede ser $endmail o
PostflX.
El fonnato del correo, la dirección de origen, el cuerpo del mensaje, etc. se
configuran en los ficheros:
/etc/asterisk/vm email.inc
/etc/asterísk/vm_general.inc
156 VOIP y ASTERlSK: REDESCUBRlENDO LA TELEFONÍA ©RA-MA
Finalmente aplique los cambios de configuración pulsando en la barra
naranja.
Si a continuación intenta modificar cualquiera de las extensiones que se
han creado, observará que aparece una gran cantidad de opciones, en el apartado
Device Options, que no aparecían en la ventana cuando estaba creando esta
extensión. De esta manera, puede cambiar opciones de Asterisk, comentadas en
capítulos anteriores, como port, callgroup, pickupgroup, codees permitidos, etc.
Esta es la parte más tediosa, ya que dependiendo del número de
extensiones a añadir, debido a 10 monótono que es, se hace interminable.
DirsIXIOO <2000>
S<i1C(eraria < 2 0 1 0 ~
T<i1cmco 01 <2020'
Responsable T "cnieo <2029>
Comercial 01 <1031»
Comercial 02 <2031"
"
Arenci on Chen!e O,
, Manelon Clien!e 02
Figura 5-16. FreePBX (Extensiones)
Ahora ya puede configurar los diferentes dispositivos y registrarlos en la
PBX.
Al igual que cuando se crea los Trunks, se accede al módulo Asferisk eL! y
ejecute el comando de Asterisk sip show peers. Ahora debe aparecer, además, cada
una de las extensiones que ha creado y los dispositivos que ha configurado deben
aparecer registrados:
Name/ueername Host Dyn Nat ACL port Statue
Proveedor-SIP/USUJ\RIO 123.12.3.123.123 N qOGO OK (90 mal
2041 (Unspecifíed) D N o UNICNOWN
4.2.4 Configuración de System Recordings
Hay que crear cuatro locuciones para el escenario planteado:
• Horario. Locución que se reproducirá cuando entre una llamada fuera de
horario habitual de oficina.
© RA-MA CAPÍTULO 5: GESTIÓN DE ASTERISK MEDIANTE INTERFAZ WEB 157
• Mañana. Locución que reproduciremos cuando nos entre una llamada en
horario de mafiana. Lo denominaremos Manana para omitir la "ñ" y que
no nos dé error en el nombre al grabar la locución.
• Tarde. Locución que se reproducirá cuando entre una llamada en horario
de tarde.
• Meou. La locución que nos dirá las distintas opciones que hay que marcar
para ponerse en contacto con cada departamento.
Lo primero que hay que hacer es grabar las locuciones para después
utilizarla desde los módulos correspondientes.
La grabación la puede realizar desde el mismo módulo System Recordings
o bien con medios externos y posteriormente pasar las grabaciones a la PBX
mediante este módulo.
A continuación se va a realizar primero una grabación de una locución
desde el sistema. Esto se realiza grabando la locución desde una de las extensiones
que hay creadas y registradas ya en la centralita.
Acceda al módulo System Recordings e indique que va a realizar la
grabación desde la extensión, por ejemplo, 2030 y pulse Go.
Desde la extensión 2030 marque *77 para grabar la primera de las
locuciones. Una vez terminada la grabación, cuelgue la llamada.
Si desea escuchar la grabación, desde la misma extensión de grabación,
pulse *99 y se nos reproducirá lo que ha grabado.
A continuación puede colgar y repetir el proceso SI no ha quedado la
grabación bien o colgar y seguir adelante.
Para finalizar con el proceso de la grabación de la primera locución, en el
campo Name this Recording escriba el nombre de la grabación Horario y pulse en
Save para finalizar con la grabación de la primera locución.
Para grabar la siguiente locución (Mañana), hay que indicar desde qué
extensión se va a realizar la grabación. Si la va a realizar desde la misma extensión
que la anterior, sólo habrá que marcar el *77, realizar la grabación, colgar y
continuar con el proceso, poniendo el nombre Manana pulsando Save para que
quede en nuestra PBX.
__
158 VOlP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
Para la locución Tarde debe realizar la misma tarea descrita en el párrafo
anterior, evidentemente, cambiaremos el nombre.
Por último, grabe la locución Menu, pero esta vez, se realizará con otro
método, es decir, se realiza la grabación con medios externos y después se guarda
en la PBX.
Si se realiza esta grabación con medios externos, lo puede hacer, por
ejemplo, en formato WAV PCM Encoded, 16 Bits, at 8000Hz.
A continuación, desde el módulo System Recordings pulse en Examinar, en
la ventana que aparece, seleccione el fichero que acabamos de guardar, pulse Abrir
y finalmente, pulse Upload para transferir el fichero a nuestra PBX.
Tras haber pulsado Aceptar en la ventana informativa que aparece,
escribimos Menu como nombre a la locución y pulse Save para terminar con el
proceso.
Tal y como puede ver en la figura 5-17, ya tiene todas las locuciones que
va a necesitar grabadas en nuestra centralita. Si pulsa sobre alguna de ellas, puede
añadirle algún comentario, eliminar la locución, añadirle más ficheros a la misma
locución, etc.
System Recordings
Edlt Recording
Add R¡¡cording
8ulH.in Recordings
Horario
Manana
Cnange Neme Menano
r.l$OU
Descriptive Name Tarde
t.
Fíles


• .t •
Figura 5-17. FreePBX (System Recordings)
Nota: hasta aquí, el orden de los módulos configurados no tendría que haber sido
este, ya que ninguno depende de otro de ellos para configurarse, pero los que
vienen a continuación sí que dependen de los anteriores para ser configurados.
N\1mber: 203
GrlP\1p 1Jt9 ..
,a030
© RA-MA CAPÍTULO 5: GESTIÓN DE ASTERISK MEDIANTE INTERFAZ WEB 159
4.2.5 Configuración de Ring Groups
A continuación, se van a configurar las agrupaciones de extensiones
necesarias para realizar el comportamiento en el escenario planteado para algunas
situaciones.
Las situaciones en cuestión son las siguientes:
1. Si se pulsa la opción 2, se pasará la llamada a las 2 extensiones del
departamento comercial. Si no es atendida la llamada, será pasada la
llamada a la secretaria.
2. Si se pulsa la opción 3, se pasará la llamada a las 2 extensiones del
departamento de atención al cliente. Si no es atendida por ninguna de las
extensiones, pasará la llamada al buzón de voz de la primera de las
extensiones de este departamento.
Para ambas situaciones, hay que crear dos grupos de extensiones, uno para
cada situación. El módulo Ring Groups de FreePBX se utiliza para realizar estas
tareas.
A continuación, para la Situación 1, modifique los siguientes campos:
G;;9ufjI
Se ha creado el grupo de extensiones 203 que lo forman las extensiones 2030
y 2031 del departamento comercial, y cuando entre una llamada, si no se contesta
se envía a la extensión de la secretaria.
Hay otras tantas opciones que se dejan por defecto, y con las que el usuario
puede jugar, como pueden ser Ring Strategy, con el que se puede configurar en la
forma y orden que sonarán las extensiones, o puede hacer que salte una locución
cuando la llamada llegue a este grupo, con la opción Announcement, locución que
debe haber sido grabada con anterioridad según el método ya comentado en la
configuración del módulo System Recordings. Todas las opciones disponen de una
ayuda bastante cIara al situarse el ratón sobre las etiquetas.
160 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
Hay que comentar que el orden en la Lista de la Extensiones interviene en
el caso que se escoja otra estrategia a la elegida por nosotros, "que suenen todas a
la vez".
A continuación, para la Situación 2, modifique los siguientes campos:
Aq,d Ring Grgup
Ring-Group Number: 204
Group Description: D):,o Atencion Cliente
Elttension List: 2040
2041
n9 answer:
V'oicema:U: <2040> Atencion clienté 01 (busy)
En este caso hemos creado el grupo de extensiones 204 que lo forman las
extensiones 2040 y 2041 del departamento atención al cliente, y cuando entre una
llamada, si no se contesta, se envía al buzón de la primera extensión (2040).
Como se acaba de ver, en estos módulos se han utilizado configuraciones
previas de otros módulos. Por ejemplo, no se puede configurar los grupos de
llamadas si antes no se hubieran creado las extensiones.
4.2.6 Configuración de IVR
En este punto se va a configurar el IVR o Menú Vocal, también llamada
Recepcionista Digital, con las distintas opciones que se plantean en el escenario.
Acceda al módulo IVR y pulse en Add IVR y realice los siguientes cambios:
Change Name: Menu-OO
Enable
(Con Opci6n se que se puéda acoeder
si lo hubiese, de la compañia)
Enable Direct Dial: MARCADA
(Con e¡;¡ta opción se permite que se pueda teclear directamente
la si se conoce)
Announcement. Menu
A continuación se van a crear las distintas opciones planteadas para el
menú del escenario:
1. Si se pulsa la opción 1, se pasará la llamada a la extensión del técnico del
departamento técnico.
©RA-MA CAPÍTULO S: GESTIÓN DE ASTERISK MEDIANTE INTERFAZ WEB 161
2. Si se pulsa la opción 2, se pasará la llamada a las 2 extensiones del
departamento comercial.
3. Si se pulsa la opción 3, se pasará la llamada a las 2 extensiones del
departamento de atención al cliente.
4. Esperar y que la llamada sea atendida por la secretaria.
Por defecto, el sistema permite la posibilidad de introducir tres opciones en
nuestro IVR, pero puede añadir más o eliminar según sus necesidades:
Flatum lo IVR o
Figura 5-18. FreePBX - IVR
Tal y como muestra la figura 5-18, en el recuadro que vemos debajo de la
opción Refurn fo IVR es donde introducimos el número que hay que pulsar para
que se ejecute la acción que seleccionemos de la derecha.
Comentado esto, las tres primeras opciones las realizamos con los
siguientes datos:
Número a pulsar: 1
Acción: Extensions: <2020> 'reenico 01
QPeión 2
Número a pulsar: 2
Aoción; Ring Groups: oto Comercial <'203>
QPci6n ;3
Número a pulsar; 3
Acción: Ring Groups: Oto Atencion cliente <204>
Para crear la cuarta opción, pulse en Increase Options y aparecerá una nueva
opción en blanco al final. La realizamos con los siguientes datos:
OJ2cíqn 4
Número a pulear: t
Acci6n: Extensions: <2010> Secretaria
162 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
Con la opción "f' está indicando que si se pulsa la "t" pasará la llamada a
la secretaria, sino que si expira el tiempo establecido en Timeout, que por defecto
se ha dejado en 10 segundos, pase la llamada a la secretaria. Como ya sabe, por
capítulos anteriores, "f' es una de las extensiones especiales usadas por Asterisk.
También puede utilizar la extensión "i" en el IVR si quiere realizar alguna
acción en concreto si la pulsación que se produce es incorrecta.
y por último, para guardar el IVR que ha creando, pulse en Save y
posteriormente aplique la configuración a Asterisk, como siempre, hay que
actualizar los cambios en FreePBX.
4.2.7 Configuración de Announcements
Los anuncios o Announcements reproducen una locución y a continuación
ejecutan una acción. Esto 10 usaremos para varios casos en el supuesto, por
ejemplo, para que las llamadas que se realizan fuera del horario se les reproduzca
la locución y a continuación pase la llamada al buzón de voz de la secretaria, y para
dar la bienvenida por la mañana o por la tarde, dependiendo de la hora de la
llamada, y que después pase al Menú Voca!.
Para ello, acceda al módulo Announcements de FreePBX.
Para el caso de que la llamada entre fuera de horario de oficina, introduzca
los siguientes datos en los distintos campos:
y a continuación pulse Submit Changes para grabar este Anuncio.
Con esto, se reproduce la grabación Horario, que ya se grabó desde el
módulo System Recordings, y posteriormente, pasa la llamada al buzón de voz de
la secretaria, dando la locución de que no está disponible y que se deje un mensaje.
Ahora sólo queda grabar el Anuncio para las llamadas que entren por la
mañana y por la tarde.
Los datos a cumplimentar para ambos anuncios son los siguientes:
© RA-MA CAPíTULO 5: GESTIÓN DE ASTERISK MEDIANTE INTERFAZ WEB 163
• Llamadas en Horario de Mañana.­
• Llamadas en Horario de Tarde.­
Aplicamos los cambios y hemos terminado con la configuración de los
"Anuncios" .
ACId Announcement
Horario de Manana
Horario de OfiCIna
Horarro de Tarde
Figura 5-19. FreePBX- Anuncios
Como puede ver, el orden de configuración de los módulos tiene su
importancia, ya que, por ejemplo, si no ha definido ningún IVR, no llegaría ni a
aparecer la opción de enviar la llamada al IVR después de reproducir la locución.
164 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
4.2.8 Configuración de Time Conditions
Definidos ya los anuncios, se van a definir ahora los horarios de atención
de llamadas según nuestro caso particular.
El horario que se ha planteado es el siguiente:
• Mañana: 08:00 a 14:00
• Tarde: 16:00 a 18:00
• Días: Lunes a Viernes
En la figura 5-20 se puede ver un diagrama del orden o secuencia de
comprobación del supuesto.
Figura 5-20. Secuencia de comprobación de anuncios
Es decir, cuando entra una llamada se comprueba si se encuentra en horario
de mañana y se reproduce el anuncio de mañana. Si no se encuentra en horario de
mañana comprueba si es el horario de tarde y si es el horario de tarde, pasa la
llamada el anuncio de la tarde; sino, quiere decir que está fuera de horario de
oficina, ya que no está ni en el horario de mañana ni en el de tarde, por lo tanto,
pasa a la llamada al anuncio Horario de Oficina.
Para realizar la configuración de las condiciones, se empieza por la última
condición, ya que desde la pnmera la tendremos que mandar a la segunda
condición, tal y como se muestra en el diagrama de la figura 5-20.
©RA-MA CAPÍTULO 5: GESTIÓN DE ASTERlSK MEDIANTE INTERFAZ WEB 165
Acceda al módulo Time Conditions de FreePBX, pulse en Add Time
Condition y rellene los campos de la segunda condición con los siguientes datos:
Add Time .Condition
Time Condition name: Rorarío T a r ~
Time to ¡:;tart:16:0Ó
Time to fini¡:;h: 18:00
Week oay StaJ;t.: Mondqy
Week Day p<riday
Month Day I!!tart: 1
Month Di'iY finif,;h:
Month start: January
Month finish: Decem;be.r
D§sti!Jation if timematqpe.líi!;
Annpuncements: Horario de Tarde
Desti!JatiQ!J if time does not matohfts i.
Announcements: Horario de Oficina
Subrni t Changas
Para añadir la primera condición, rellene los campos con los siguientes
datos:
Adg, ¡imes:.;ondition·
Time Condition name: Rorario Manana
Time to start: 08:00
Time to finish: 14:00
Week Day Start: Monday
Week Day finish: Fríday
Month Day start: 1
Month Day finish: 31
Month start: January
Month finish: .December
pestinatio!J ti time matqpes:
Announcements: Horario de Manana
De¡:;tination if time does !Jot matches:
Time Conditions: Horario Tarde
Subrnit Changes
Por último aplique la configuración a Asterisk pulsando en Apply
Configuration Changes y ya tendrá las condiciones creadas tal y como muestra la
figura 5-21.
166 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
Add Time Coodltion

..
Figura 5-21. FreePBX- Aplicar corifiguración de anuncios
4.2.9 Configuración de Zap Channel DIDs
Tal y como se expuso en la descripción del supuesto, se dispone de los
siguientes elementos hardware: una tarjeta analógica con 4 puertos FXO, dos de
ellos conectados directamente a dos líneas telefónicas, con dos números distintos, y
los otros dos FXO estarán conectados a dos enlaces FeT GSM.
Supongamos los números:
• Línea 1 -----> 954xxxxO 1
• Línea 2 -----> 954xxxx02
En las llamadas analógicas entrantes no se dispone de la información del
número llamado (010), es decir, si nos entra una llamada en nuestra PBX, no es
posible conocer el número, 954xxxxOl Ó 954xxxx02, al que el remoto llamó; como
mucho, puede averiguar por qué puerto FXO de nuestra trujeta entró la llamada.
Por lo tanto, resulta imposible discriminar las llamadas entrantes según el
número DIO al que han llamado. Lo que sí se puede hacer es distinguir por qué
puerto entra la llamada. Para ello se asocia un valor al DIO según el puerto FXO
por el que entra la llamada, y posteriormente se discrimina por este número 010.
Es decir, si la llamada entra por el puerto FXO 01, la Línea 1, el DIO que se asigne
para esa llamada será 954xxxxOl y si entra por el FXO 02, la Línea 2, el OIO será
954xxxx02. A partir de aquí, podria gestionar las llamadas según el 010.
Estas tareas las puede realizar mediante el módulo Zap Channel DIDs de
FreePBX.
Para configurar estos detalles, acceda al módulo y rellene los campos según
los datos que se detallan a continuación:
Add Channel
Channel: 1
©RA-MA CAPÍTULO 5: GESTIÓN DE ASTERISK MEDIANTE INTERFAZ WEB 167
Description: Linea 1
DID: 954xxxxOl
Suhmit· Changes
Add Channel
Channel: 2
Description:Linea 2
DIO: 954xxxx02
Suhmit Changes
Los enlaces GSM se asignan de la fonna:
Add channel
Channel: 3
Description: GSM 1
DIO: 6xxxxxxOl
Suhmit Changes
Add Channel
Channel: 4
Description: GSM 2
DID: 6xxxxxx02
Suhmit Changes
El último paso, como siempre, es aplicar la configuración a Asterisk y, tal
como muestra la figura 5-22, podrá ver los canales creados en el sistema.
Add Zap Channel
Zap Channel DIOs allow you to assign a DIO 10 spocific Zap Channels. You can s u p p ~ Ihe same AddChannel
DIO 10 multipla channals. Thls would be a common scenano if you have multiple POTS línes Ihal
1 Linea 1
are on a hunt group from your providar You MUST assign lhe channel's context to frorn-zaptel for
Ihese setlings to have effee! tt will be a hne Iha! look. Ilke
2. Linea 2
3:GSM1
context '" from-zaptel
4 GSM2
in yourzapata conf configuraoon effecting Ihe spsClfied channel(s). Once you have assignad DIDsyou can use
standard Inbound Routes wilh Ihe specified DIOs lO route your calls.
Figura 5-22. FreePBX- Canelez Zap
168 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
Sólo nos queda un detalle para poder utilizar esta configuración, y es que,
en el fichero zapata. con!o zapata-channels.conf, los canales deben estar asignados
al contexto from-zaptel, es decir, debe aparecer algo similar a lo siguiente:
conte;ltt",frPtll-zaptel
channel => 1.,4
En estos momentos ya podemos hacer discriminaciones según el número al
que está llamando la gente.
4.2.10 Configuración de Inbound Routes
Ahora únicamente queda configurar el nexo entre las líneas externas y toda
la configuración, para que siga el proceso de actuación que hemos venido
definiendo.
Esta tarea se realizará a través del módulo lnbound Routes. Acceda a este
módulo y configure el sistema con los siguientes datos:
&l!;i
DE!-scription: Lipea 1
DIO Numbre; 954:lOOQC{l1
aorario Manana
Submit
Oescription: Linea 2
DrO Numbre: 9S4xxxx02
Set Destination
Time Conditions: Horario Manana
Submit Chapges
Add Incoming Route
Description: GSM l.
DID Numbre; 6xxx.xxxOl
Time Conditiops: Horario Manana
Submi t Changes
· '
©RA-MA CAPÍTULO 5: GESTIÓN DE ASTERISK MEDIANTE INTERFAZ WEB 169
Ada Incoming RQute
Desc:dptic:>IHGSM 2
DID Numbre: 6xxxxxx02
Time Conditions: Horario Manana
Submit Changas
Como puede observar, todas las llamadas siguen el mismo camino, cuando
entran van a parar al módulo Time (.:onditions Horario Manana, y desde aquí
comienza toda la secuencia.
En esta fase, el usuario puede, por ejemplo, realizar alguna discriminación
según la )ínea por la que entra una llamada, mandarla directamente a dirección o al
departamento técnico, etc.
Si no ha pensado realizar estas discriminaciones, puede añadir una única
lnbound Route y que todo lo que llegue sea enviado al módulo Time Conditions
Horario Manana, sin tener que añadir las cuatro anteriores.
Si lo desea así, los datos para la única "Inbound Route" que habría que
añadir son los siguientes:
A9d Incoming
Description: TODO
Set De-sÜnati
on
Time Conditiona: Mánana
Submit Changes
En este caso, al realizar el Submit Changes nos avisa de que esta ruta
afectará a todas las llamadas entrantes.
Un campo que puede ser interesante es Caller ID Number, que es el
número del lIamante. Puede definir alguna ruta de entrada que compruebe el
número desde el que se está llamando, y si coincide con el dado, pasarlo
directamente a dirección, o al departamento técnico, etc.
Finalmente aplique la configuración a Asterisk.
170 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONlA ©RA-MA
GSM1

< GSM2

Línea 1
954xloo:Dl I any CID
Unea2
< 954mx021 any CID
Figura 5-23. FreePBX- Incomming Route
Este es el momento la centralita está totalmente operativa para recibir
llamadas desde el exterior y que sigan la operatoria que se ha definido.
No se pueden realizar llamadas salientes aún, ya que no están aún
configurados los caminos de salida para estas llamadas.
4.2.11 Configuración de Outbound Routes
En este punto se va a configurar el flujo de las llamadas salientes. Las
llamadas nacionales deben salir por los dos primeros canales FXO de la tarjeta, las
llamadas a móviles salen por los dos últimos FXO que es donde están conectados
los 2 FCT GSM, y las llamadas internacionales, por el proveedor de VoIP.
Por defecto, FreePBX crea una ruta de salida O llamada 9 _ outside. Acceda
al módulo Outbound Routes y eliminémosla pinchando sobre ella y a continuación
pulse en De/ete Route 9_outside". Aplique la configuración para que sea
reconocida por Asterisk.
Por 10 tanto, ahora hay que añadir las tres rutas de salida. Acceda de nuevo
al módulo Outbound Routes y cumplimente los campos de la siguiente forma:
Ruta Nacionales
Raute Mame: Nacionalee
Dial Patterns:
010
012
061
083
-
G!il;
092
11.2
118XX
¡XXX
©RA-MA CAPÍTULO 5: GESTIÓN DE ASTERISK MEDIANTE INTERFAZ WEB 171
'rnxk 'ZMIigQ
submit Changea
IJ,l.ta Méviles
.Rou.te Name; MoviJ,es
pial.

lO eualquiertíCro qu.e nos venga
Tnxk Sequ.ence: ZAP/gl
Submi t Changes
B\!t;;a €
Rou.te Name: Moviles
Dlal Patterns:
oo.
(O·Cu.al(;Diierotroque nos venga
Sequ,enee; .sIplProvee!iior-SIP
Submit .Changes
Tal y como muestra la figura 5-24, puede ver los códigos que puede utilizar
en el Dial Pattern; puede verlos situándose sobre la etiqueta Dial Patterns.
Dial Patterns
.......
'
......,
'-;X 1'I\.IIdI• .eydigilYfontA
Z mlllcM5 '1'Jy ittlt1lom t.o
; H MY dljIt-froa 24
1ft.tkM$.., __ or hrlkr m-tt,.
ch....,...
'-;1 SfJHP- » 4i.!iftG fI'UI ...
l'NlOb ....,.
... lVfwovkt on'Y , .....,2M' .. __
,... ____ __ ___ __ _____
Figura 5-24. FreePBX- Códigos de Dial Patterns
172 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
Por último, aplique los cambios para que sean reconocidos por Asterisk.
oNacionaj¡¡¡s
Figura 5-25. FreePBX - Routes
Ahora sí tiene totalmente configurada la centralita PBX en cuanto a
llamadas entrantes y salientes. Ya puede ponerla en pruebas e ir afinando
configuraciones según sus necesidades.
4.2.12 Configuración de General Settings
Por último, existe un módulo en FreePBX que ayuda a configurar
parámetros generales de la PBX denominado General Settings.
Con la configuración de este módulo, puede configurar parámetros como:
• Tiempo que suena una extensión antes de ser enviada la llamada al buzón.
• Si se permite o no la transferencia de la llamada al que llama.
• Si se permite o no la transferencia de la llamada al que es llamado.
• Si se permiten llamadas SIP entrantes anónimas.
• Configuración regional.
• Formato de hora.
• Etc.
Para el ejemplo, sólo tiene que cambiar un par de parámetros. Para ello
acceda al módulo General Settings y cambie los siguientes campos:
h !Ir!
©RA-MA CAPÍTULO 5: GESTIÓN DE ASTERISK MEDIANTE INTERFAZ WEB 173
Asterisk Outbound Dial command options! T
Count.ry Indicationsz Spain
Onlipe Upd¡il.te§
Update Email: <Nuestro Eroail>
La anterior configuración permite que las llamadas salientes se puedan
transferir, además de establecer las indicaciones para España y configurar una
cuenta de correo a la que mandar la información de actualizaciones disponibles
para ser instaladas.
Hasta aquí ha llegado la configuración de nuestra PBX mediante el
interface gráfico FreePBX, quedando totalmente operativa y en producción.
4.2.13 Otros módulos interesantes
Se puede encontrar en la situación de que el cliente quiera tener la opción
de modificar la secuencia de entrada de llamadas, es decir, si un día se queda
alguien en la oficina fuera del horario habitual, tenga la posibilidad de que entren
las llamadas a la extensión 2010 de la secretaria en vez de saltar el buzón, y
retomarlo a su situación normal cuando se marchen.
Bien, FreePBX dispone para estas situaciones de un módulo, que no se
instala por defecto, llamado Day/Night Control y que se utiliza para permitir estas
situaciones. Este módulo es una especie de "interruptor" para activar la
configuración especial o dejar la habitual simplemente con realizar una pulsación
desde el teléfono.
Da}' I Nigl;¡t Mode Control
Day/Night Feature Code: O
Description: Activa Secretaria
CUrrent Mode: Day
Day
Time Conditions: Horario Manana
~
Extensions: <2010> Secretaria
Save
174 VOIP y ASTERlSK: REDESCUBRlENDO LA TELEFONÍA ©RA-MA
donde Day/Night F eature Code es el índice y puede tener hasta 10 índices o
interruptores.
A continuación hay que cambiar las Inbound Routes y direccionar las
llamadas a:
Dayl
en vez de "Time Conditions" al que se dirigía la llamada entrante.
Para activar o desactivar la Modalidad Día / Noche hay que pulsar
"*28<indice>" en cualquier extensión. De esta forma, si ha creado el índice O
(Day/Night Feature Code: O), hay que pulsar "*280" para Activar I Desactivar esta
configuración, y se reproduce una locución indicando si la hemos activado o
desactivado.
Habrá que acordarse siempre de retornar el "interruptor" a su estado de
operatoria habitual cuando nos marchemos de la oficina.
Day I Night Mode Control
Delete DaylN,ghl Feature Code '::tso
Used as Destinatíon by 1 Object
Use faature code "2SO lo toggle DAYINIGHT moda
Deyll'.J¡ght Feature Code
Index:
Curran! Moda:
üptlooal Password
Figura 5-26. FreePBX- DayNight Code
Otra de las situaciones que nos podemos encontrar es que en un momento
dado se necesite agregar una extensión, por ejemplo, o cambiar algún dato de las
existentes, o cosas triviales que podria hacer un usuario avanzado sin la necesidad
de que tenga que intervenir el administrador.
".
©RA-MA CAPÍTULO 5: GESTIÓN DE ASTERlSK MEDIANTE INTERFAZ WEB 175
Si se permite el acceso a la configuración de FreePBX a cualquier usuario
se corre el riesgo de que la PBX deje de funcionar por una manipulación indebida.
FreePBX cuenta con el módulo Admin istrators, el cual permite agregar
usuarios y otorgar los permisos sobre las acciones que pueden realizarse en
FreePBX.
En primer lugar, y antes de configurar este módulo, hay que permitir esta
opClon editando el fichero letc/amportal.conf y cambiando la variable
AUTHTYPE=none por AUTHTYPE=database, como se indica al entrar en el
módulo Administrators.
A continuación, y después de reiniciar FreePBX, verá que el sistema ahora
le pide un nombre de usuario y contraseña. Por defecto, FreePBX crea un usuario
admin con la contraseña admin y que tiene todos los permisos.
Al entrar en el sistema acceda al módulo Administrators y cambie la
contraseña por defecto.
A continuación puede crear los usuarios que desea y establezca los
permisos que estimemos oportunos, por ejemplo, para añadir un usuario en Admin
Access seleccione la opción Extensíons, y manteniendo la tecla Control pulsada,
pulse también el Apply Changes Bar, y aplique la configuración. Con esto, ha
creado un usuario que puede cambiar la configuración de las extensiones, pero
nada más. Por lo que la configuración del Díalplan estará a salvo.
A continuación se detallan otros paquetes también instalados con FreePBX.
4.3REPORTS
Uno de los paquetes que incorpora la instalación de FreePBX se puede
encontrar en la pestaña Reports y permite ver toda la información de las llamadas
recibidas y enviadas.
Esta aplicación ha sido desarrollada por Coalescent Systems Inc bajo
licencia GPL.
176 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
Figura 5-27. FreePBX - Reports
Este paquete es de gran utilidad si desea realizar informes de llamadas con
gráficos, por meses, entre fechas, etc.
Figura 5-28. FreePBX- Reports (Traffic)
Además, puede obtener los listados en formato .PDF o .CSV y tratarlos
posteriormente.
© RA-MA CAPÍTULO 5: GESTIÓN DE ASTERISK MEDIANTE INTERFAZ WEB 177
9. ---- - - - ---,­
l(i
"11 :ze111
1:<
11 lOO84\M& 10 11n

lOOR-!J6.-1151OZ1-s.


100(1.1)$. \& lítll.t3t

;mo:)4.!)6.-rr;¡!i"9'S1)
Figura 5-29. FreePBX - Reports (I'ipos de listados)
4.4 VOICEMAIL & RECORDINGS (ARI)
Otra de los paquetes interesantes que se instalan junto con FreePBX es el
que se sitúa bajo la pestaña Recordings de FreePBX.
Este paquete es conocido como ARJ, y está desarrollado por Dan Littlejohn
de Littlejohn Consulting, bajo licencia GPL. Con él, el usuario puede administrar
su buzón de voz y alguna que otra prestación interesante sobre su extensión en
particular.
login
o P f'm!tmber P aS:Jword
Use 'tour VolcemaU MaRbo)t and Pass""Ol"d
Th!:s 15 the same pas5wQrd uo;;ed for the- phonE:?
Figura 5-30. Voicemail Mailbox
Una vez dentro de la aplicación, se puede ver un listado con los mensajes
de voz, antiguos (carpeta Old) y nuevos (carpeta INBOX). Si pulsa sobre una
determinada carpeta puede ver los mensajes que contiene (véase la figura 5-31).
178 VOIP y ASTERlSK: REDESCUBRlENDO LA TELEFONÍA ©RA-MA
fur 01 (2030)

Figura 5-31. Ejemplo de buzón de voz de un usuario
Para reproducir un mensaje hay que pulsar sobre el enlace play que aparece
en la columna Message en la línea del mensaje que deseamos oir.
Desde esta misma pantalla, puede marcar un mensaje, o varios, y borrarlos
o moverlos a otra carpeta.
Volcemafl for Comercial 01 (2030)
Figura 5-32. Voicemail (Mover mensajes)
Por otra parte, también puede seleccionar uno o varios mensajes y
reenviárselos a otra extensión.
Volcemail for Comercial 01 (20)0)
Figura 5-33. VoiceMail (Reenvío de mensajes)
Desde la opción Cal! Monitor se puede ver el reporte de toda la actividad
de su extensión, buscar llamadas, ordenarlas, etc.
©RA-MA CAPÍTULO 5: GESTIÓN DE ASTERlSK MEDIANTE INTERFAZ WEB 179
tall MonItor ror Comercial 01 (2030)
-""'"
l rs;¡""" J
Figura 5-34. VoiceMail (Monitor de llamadas)
En la opción Phone Features el usuario puede configurar algunas opciones
de su extensión, como pueden ser desvíos, llamada en espera, DND, etc.
Phone Felltures for Coméretal 01 (2030)
Ga e.U W.¡t,hQ
OÚClN;>tCo¡thlrb
-
e.u FOIWil'dillll
iJncond¡t¡ona[: DE.... .ab-lfl
oEntt.bkt
Figura 5-35. VoiceMail (Configuración de la extensión)
Si pulsa en la opción Feature Codes le aparece al usuario una lista con los
Códigos de Servicio disponibles para esa extensión.
Finalmente, en la opción Settings podrá configurar opciones del buzón de
voz, la contraseña, la dirección de correo de las notificaciones, el formato del
fichero de audio, además de opciones de monitorización como la grabaciones de
llamadas entrantes y salientes.
180 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
Settlngs for Comercial 01 (2030)
Vole_U Sett¡ngs
Password'
Enter agalf1 to confirrn'
P-lIu,",crd,. murt b ...11 nurnbert- ..t ! • .a:i"t;: :} jl9ltJ
Email Notlficatlon D
Enl.,l VOlcemail Te .-,---------..,.­
Pag.r Eme" Not,ficat,on To, l'
Audio F
Calt Monitor Settlngs
Record INCOMiNG' O A!wavs O Never ® On-Demaf"ld
Record OIJTGOING O Always O Nevar ® On-Oernand
Figura 5-36. VoiceMail (Settings)
4.5 FLASH OPERATOR PANEL (FOP)
Otra de las aplicaciones que se comentará y que se instala por defecto junto
con FreePBX es el Flash Operator Panel (FOP).
i;i" ",'
E ¡t.';tit '" i ", '
__ ',;, '0' r_
----. --'­
Figura 5-37. Flash Operator Panel
©RA-MA CAPÍTULO 5: GESTIÓN DE ASTERISK MEDIANTE rNTERFAZ WEB 181
El FOP es un panel de operadora en el que podemos visualizar el estado de
las extensiones, trunk:s, colas, etc.
Esta aplicación se enlaza con Asterisk a través del puerto 5038 del
manager, siendo esto configurable en /etclasterisk/manager.conf, como se detalla
en la instalación de FreePBX, y en /var/www/html/panel/op _server.conf
En la figura 5-37, se puede apreciar que aparecen dos extensiones que
resaltan sobre el resto. Esto indica que esas extensiones, la 2010 y la 2030, están
registradas y el resto no.
En dicha figura, también se puede apreciar, abajo a la derecha, el listado de
los Trunks que hay definidos en la centralita PBX.
Cuando entra una llamada a una extensión, el icono del teléfono, que
aparece a su derecha, comienza a vibrar.
En el caso de que alguna extensión, o trunk, esté ocupado FOP mostrará el
icono que haya su izquierda en rojo.
Figura 5-38. Flash Operator Panel gestionando llamadas
Por ejemplo, en la imagen de la figura 5-38, puede ver que la extensión
2030 está hablando con la extensión 2010 y que esta última tiene "aparcada" una
llamada en la posición 71.
Además de visualizar los estados, podremos realizar distintas tareas propias
de una operadora.
Para poder interactuar con la PBX desde el FOP, debe tener acceso
introduciendo la clave configurada.
182 VOIP y ASTERlSK.: REDESCUBRlli'NDO LA TELEFONÍA ©RA-MA
Si observa en la figura 5-38, en la parte superior izquierda, nos aparece el
icono de un candado cerrado. Esto implica que el FOP está protegido y no puede
realizar en él ninguna tarea sin introducir la clave.
Figura 5-39. Flash Operator Panel (Protegido)
Para desbloquearlo, pulse sobre el icono y le pide el código de seguridad.
Por defecto, este código es passwOrd, teniendo en cuenta que la "O" es un CERO.
Una vez introducido el código y refrescada la pantalla, nos aparecerá el
icono de un candado abierto. Esto implica que ya podemos interactuar con nuestra
PBX desde el FOP. Esta tarea se realiza tanto para desbloquear como para bloquear
el FOP.
Es muy recomendable cambiar el código de seguridad editando el fichero
/etc!amportal.conf y cambie la contras efta en la variable
FOPPASSWORD=passwOrd.
Como podemos apreciar, a la izquierda del icono del teléfono de la
extensión 2030, nos aparece un "sobre". Esto indica que esa extensión tiene
mensajes pendientes de leer.
Si se sitúa encima del sobre y pulsa dos veces en él, la extensión
correspondiente comenzará a sonar, y en el momento que descuelgue, entrará en el
proceso para reproducir los mensajes de voz pendientes en su buzón.
También puede, por ejemplo, establecer la comunicación entre dos
extensiones. Para ello, pulse y arrastre el icono del teléfono de una extensión hasta
el icono del teléfono de otra extensión. En ese momento, empezará a sonar la
primera extensión, y una vez descuelgue ésta, comenzará a sonar la segunda
extensión, estableciéndose así la comunicación.
©RA-MA CAPÍTULO 5: GESTIÓN DE ASTERISK MEDIANTE INTERFAZ WEB 183
La configuración de parámetros corno la centralita o centralitas, a
monitorizar, usuario con permisos, puertos, tiempos de refresco, etc., son
configurables en el fichero /var/www/html/panel/op _server.conf
Toda la documentación de instalación y configuración de esta aplicación la
puede encontrar en http://www.asternic.org/documentation.html.
5 Varios
5.1 AUTENTIFICACIÓN SERVIDOR WEB
Independientemente de los usuarios que puede crear para la administración
de FreePBX en el módulo Administrators, puede forzar que sólo ciertos usuarios se
puedan conectar al servidor web, creando así una doble barrera de seguridad.
Para realizar esto, hay que crear el fichero de usuarios y los usuarios que
tendrán permiso a acceder al servidor Web. Los pasos que debe realizar son los
siguientes:
• Creación del fichero de usuarios:
# htpaeswd !var!www/ueuaripsusuaripl
(nospedi:iá. que introduzcamos la password para el
"usuarioi")
De esta forma, nos crea el fichero usuarios en /varlwww, que
contendrá los usuarios permitidos, y hemos añadido nuestro primer usuario
usuariol.
• Para crear los demás usuarios debe ejecutar el siguiente comando:
# htpa:¡¡s",d !va,rjwww/usuarios.
(nos pedirá que int;roduzcamos la pasaword para el "uSuario.a"')
De esta forma añade el usuario2 al fichero /var/www/usuarios.
Repita esta tarea para todos los usuarios que desee añadir.
• A continuación configure Apache para darle a los usuarios permisos sobre
los directorios en concreto a los que podrán acceder.
Edite el fichero de configuración /etc/apache2/httpd.conf, en Debían, o
/etc/httpd/conf/httpd.conf, en el caso de estar usando CentOS, y añada las
siguientes líneas:


1iuehNamé
184 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
IV1:r,;:I:wwwi13,fI,'WJ.;:ios
........•..... •.
..
Esto implica que al directorio /var/www/html sólo podrán acceder
los usuarios definidos en el fichero de usuarios /var/www/usuarios.
Si desea que sólo algunos de los usuarios definidos en ese fichero
tengan acceso a este directorio, tiene que cambiar la línea Require valid­
user por Require user usuario1 usuario2 .. , .... De esta forma, sólo los
usuarios listados en esta línea podrán acceder al directorio, y por ende, a la
aplicación.
• Por último, hay que reiniciar el servidor Apache para que surtan cfecto los
cambios:
En Debian;
'#lat.cl init·
En CantOs:
#·¡service httpd :¡;estart
Es recomendable que si utiliza los mismos usuarios que los creados en el
módulo Administrators de FreePBX, los cree con las mismas passwords y así
evitar confusiones.
Si crea el mismo usuario y password que el definido en este módulo, sólo
se le pedirá una vez, y validará tanto el Area Restringida como el acceso a la
Administración de FreePBX. En caso contrario, le pedirá validación para ambas
áreas..
5.2 AJUSTES EN ASTERISK MANAGER
Los programas de terceros pueden tener acceso a la operativa de Asterisk
como obtener información de eventos, iniciar llamadas, cambiar la operativa del
dialplan, etc. Esto se hace estableciendo la comunicación a través del Manager de
Asterisk, tal y como hace FOP.
Para definir el puerto de comunicación, el usuario, la password, los hosts
que tienen permisos, etc., hay que modificar el fichero de configuración
/etc/asterisk/manager.conf
..'i'
©RA·MA CAPÍTULO 5: GESTIÓN DE ASTERISK MEDIANTE INTERFAZ WEB 185
EadminJ
Como puede ver, el fichero tiene parte de configuración general y después
la definición de cada usuario y sus permisos.
5.3 AJUSTES EN FOP
Este paquete utiliza la tecnología Flash de Adobe para trabajar. Si tiene
instalada la última versión de Flash Player puede encontrarse con que FOP no se
refresca correctamente, sino que nos muestra los Botones de Estado conmutando
entre verde y rojo.
Con FreePBX se instala FOP versión 0.28. Para solucionar este problema,
debe actualizar algunos ficheros a la versión 0.29 del FOP y realizar algún cambio
en la configuración.
Las tareas a realizar son las siguientes:
• Descargue FOP v.O.29 desde http://www.asternic.org y lo descomprime
ejecutando:
# cd fusrlsre ..
#wgE!tnttp:IIW\llW,a:ste:rnic.o1!:'s/fQe¡¡¡/op
#: tar xfpvz op-'panel-O.29.tar.gz
• Reemplace los ficheros op _server.pl y operatoryanel.swfde la instalación
por los de la versión 0.29:
# ..c4 op-'pap,el- o . 49
186 VQIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
# cp I;Ípserve:¡;:.pl /var/WW1of/html/paI+{!;l
i cp flash/opéz;-atoryanel. swf /var!wwwlhtml/panel
• Edite el fichero /var/www/html/panel/op_server.conf de la instalación
actual y añada, justamente al principio de la sección [general}, la siguiente
línea:

• Reinicie Amportal para que se tomen todos los cambios:
#: ampo:r:tal resta:r:t
Ahora si se conecta al FOP se deben de haber solucionado estos
problemas.
Si
APÉNDICE 1
HERRAMIENTAS Y URLS
REFERENCIADAS
Consolación Gil Montoya yMaría Dolores Gil Montoya
A continuación se muestran las herramientas y las páginas web
referenciadas a lo largo del libro.
Nombre Descripción URL
Centralita para http://www .asterisk.org
comunicaciones de código
libre

Platafonna de tarificación para http://www.asterisk2billing.org
Asterisk realizada en php
Distribución precompilada de http://www.askozia.com
Asterisk basada en FreeBSD y
derivada de monowall _' -_" __________________
Enrutador
SIP
188 VOIP y ASTERlSK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
Nombre Descripción URL
Distribución precompilada con http://www.astlinux.orgl
Asterisk, específica para
dispositivos de recursos
limitados
Paquete de software que http://www.avantfax.com
permite gestionar mediante
interfaz web los faxes que
envía y recibe un sistema
Asterisk
Distribución GNUlLinux http://www.centos.org
basada en RedHA T
Distribución GNUlLinux htt ://www.debian.or
Distribución precompilada de http://www.elastix.org
Asterisk basada en CentOS y
con un interfaz web basado en
FreePBX
Distribución GNUlLinux
Interfaz flash para el manejo
de extensiones vía web
h
Interfaz web para la gestión de http://www.freepbx.org
las tareas más habituales de un
sistema Asterisk (Código
abierto)
Gestor de faxes mediante http://www.hylafax.com
software
Software que emula un http://sourceforge.netlprojects/iaxmodem
módem telefónico
Enrutador para el protocolo http://www.kamalio.org
SIP
Herramienta paga gestión de http://www.mysqLcoml
bases de datos de código
abierto
Distribución precompilada de http://pbxinaflash.net
AsterÍsk basada en CentOS y http://pbxinaflash.com
con un interfaz web basado en
FreePBX
··qiMsIfS Enrutador para el protocolo http://www.opensips.org
SIP
Cancelador de eco GPL htt ://www.roweteLcom
para el protocolo http://www.ipteLorglser
Teléfono software con soporte http://www.sjlabs.com
©RA-MA APÉNDICE 1: HERRAMIENTAS Y URLS REFERENCIA DAS 189
Nombre Descripción URL
Plataforma CRM para la
gestión de recursos y relación
con los clientes de una
empresa, que se integra con
http://www.sugarcrm.com
Asterisk basada en CentOS y
con un interfaz web basado en
http://www.trixbox.org
.. para virtualización
de sistemas operativos
http://www.virtualbox.org

VTi¡erCRM
Distribución que incluye
Asterisk y un gestor web del
mismo
.
Wiki sobre Asterisk
CRM de código abierto
http://www.voiceone.it
http://www.voip-info.org
http://www.vtiger.coml
Teléfono software con soporte http://www.counterpath.com
SIP
Zoiper Teléfono software con soporte http://www.zoiper.com
URL Descripción
IETF. Asociación de ingenieros, diseñadores, operadores,
vendedores e investigadores, orientada al correcto diseño
de la arquitectura de Internet así como su operación
BIog sobre VozIP y Asterisk
Página web dedicada a la Administración de Sistemas
Operativos y en la que puede encontrar material
relacionado con la obra
Comunidad de usuario de Linux en Ecuador
GNU. Sistema operativo basado en UNIX
Web que contiene numerosos tutoriales para
configuración de diferente software (en inglés)
Blog sobre VozlP y Asterisk
http;!/www.sure!eg.com Web especializada en soporte técnico en redes y
administración
http://www.voipnovatos.es Web donde se alojan sonidos en español para Asterisk
bttp:llwww.wikipedia.es Biblioteca on-line
--
SI·
1
APÉNDICE II
ADMINISTRACIÓN BÁSICA DE LINUX
Consolación Gil Montoya yMaría Dolores Gil Montoya
Introducción
Linux fue concebido por el finlandés Linus T orvalds, estudiante de la
Universidad de Helsinki, quien comenzó trabajando sobre el código fuente de
Minix (un pequeño UNIX desarrollado por Andy Tanembaum) para lograr un Unix
mínimo, capaz de ejecutar al menos un shell y un compilador. Primero fue la
versión 0.02 ya que la 0.01 nunca llegó a ser compilada con éxito. Luego Linus
anunció en Internet su proyecto de la siguiente manera:
"Si suspiras al recordar aquellos días cuando lo hombres
eran hombres y escribían sus propios manejadores (drivers). Si te
sientes sin ningún proyecto interesante y te gustaría tener un
verdadero sistema operativo que pudieras modificar a placer. Si te
resulta frustrante tener sólo Minix. Entonces este artículo es para ti"
De esa forma Linux fue liberado en Internet y la respuesta de los
programadores y usuarios de UNIX fue contundente. Pronto todos querían aportar
sus conocimientos para que Linux se convirtiera en un sistema operativo estable,
robusto y potente. Finalmente llegó la primera versión estable del Kernel, la
192 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
versión 1.0. De allí en adelante Linux fue evolucionando a un ritmo vertiginoso
hasta convertirse en un fuerte rival de los actuales sistemas operativos.
La estructura básica del S.O. Unix podemos verla en la figura 11-1. El
kernel, capa más interna en la figura, es el núcleo del sistema operativo Unix. Se
encarga de secuenciar los procesos, reservar espacio de memoria y de disco,
supervisar la transmisión de datos entre memoria principal y periféricos, y
satisfacer las peticiones de servicios de los procesos existentes.
El kernel nunca trabaja directamente para los usuarios. Todos los servicios
los proporciona el shell o los programas de utilidades (ambos actúan de interfaz
entre los usuarios y el Kernel).
Figura JJ-J. Estructura del Unix
Para requerir un servicio del sistema operativo se utiliza lo que se
denomina l/amadas al sistema (system cal/s). Las llamadas al sistema lo que hacen
es conmutar la máquina de modo usuario al modo kernel (también llamado modo
núcleo o supervisor) y transfieren el control al sistema operativo. Se puede ver la
existencia de estos modos como un esquema de protección ya que en modo núcleo
se pueden ejecutar todas las instrucciones, mientras que en modo usuario las
instrucciones de E/S, por ejemplo, y otras no están permitidas. Sólo se permiten
algunas instrucciones como las relacionadas con las operaciones aritméticas, de
acceso a memoria principal, etc. Por ello, los programas de usuario se ejecutan en
modo usuario y el sistema opetativo se ejecuta en modo núcleo.
El shell es el intérprete de órdenes y se encuentra por encima del kernel. Se
encarga de interpretar las órdenes y convertirlas en peticiones al kernel.
Normalmente se incluyen con cualquier sistema operativo Unix distintos tipos de
shell, lo que permite poder elegir el que más se adapte a nuestras necesidades .
...
©RA-MA APÉNDICE n. ADMINISTRACIÓN BÁSICA DE LINUX 193
La capa más externa está formada por utilidades para la manipulación de
ficheros, lenguajes de programación, utilidades de depuración de código,
aplicaciones de usuarios, etc.
Son muchas las características que podemos encontrar en el sistema
operativo UNIX, pero entre ellas destacamos las siguientes:
• Interactivo. Se escribe órdenes y el sistema operativo obedece presentarIdo
las respuestas apropiadas. Además incluye la posibilidad de ejecutar
órdenes o programas que se ejecuten de forma no interactiva.
• Multitarea. Puede realizar varias tareas (llamados procesos) al mismo
tiempo.
• Multiusuario. Más de una persona puede usar el sistema al mismo tiempo
e incluso con el mismo nombre de usuario.
• Independencia respecto de los dispositivos. El acceso a la información es
el mismo sin importar donde se encuentre el fichero o dispositivo. Esto
permite dar un tratamiento uniforme a todos los dispositivos.
• Portabilidad. Al estar escrito en C permite transportarlo a otros sistemas.
• Facilidad de trabajo en red. Al disponer de un sistema de ficheros flexible
permite trabajar con sistemas de ficheros en red como NFS y RFS.
2 Sistema de ficheros
Linux, al igual que UNIX, organiza la información del sistema en una
estructura de árbol jerárquico de directorios compuesta de ficheros. Esta estructura
se forma mediante un sistema de ficheros raíz (file system root) y un conjunto de
sistemas de ficheros montables.
Un Sistema de ficheros, o File System, es una estructura de directorios
completa. Para poder utilizar un Sistema de ficheros hay que montarlo; o sea,
enlazarlo a la estructura de directorios ya existente. Los Sistemas de ficheros se
montan automáticamente cada vez que se inicia el sistema operativo. Cuando un
usuario se conecta al sistema, se encuentra un único árbol de directorios formado
por los distintos Sistemas de ficheros que se encuentran montados en ese instarIte.
La estructura que aparece al usuario será similar a la que se muestra, de forma
abreviada, en la figura 11-2.
194 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
dev
horne
prof
alumn
hin
etc
Olih
Figura JI-2. Estructura de directorios del Unix
Analicemos los directorios más importantes que tiene un sistema operativo
Linux:
• El directorio letc está reservado para ficheros de configuración de la
máquina local.
• El directorio llib contiene normalmente las bibliotecas necesarias para
ejecutar los programas residentes en Ibin y Isbin.
• El directorio Isbin contiene los programas de uso exclusivo por el
administrador del sistema (root), y sólo contiene los necesarios para
arrancar y montar el directorio lusr y ejecutar operaciones de
restablecimiento del sistema. Algunos de los programas que aparecen son:
clock, getty, ¡nit, update, mkswap, swapon, swapojf, halt, reboot,
shutdown,fdisk, lilo, arp, ifconfig, route.
• El directorio ¡usr contiene los ficheros que pueden ser utilizados por
cualquier usuario del sistema. Normalmente este directorio se encuentra en
su propia partición por motivos de seguridad. Algunos de los
subdirectorios que contiene son los siguientes. El directorio X11 R6 se
utiliza para el sistema X-Windows (XFree86 en Linux), bin es para
ejecutables, doc para documentación diversa (no incluye páginas de
manual), etc. para los ficheros de configuración del sistema, include para
ficheros cabecera de e, in/o para ficheros info de GNU, lib para
..
-
©RA-MA APÉNDICE II. ADMINISTRACIÓN BÁSICA DE LINUX 195
bibliotecas, man para las páginas del manual, sbin para binarios de
administración del sistema (los que no pertenecen a /sbin), y src es para
código fuente. El directorio /usr/local tiene una estructura similar a la del
directorio /usr. Contiene los siguientes subdirectorios, con propósito
similar a los de /usr.
• En el directorio /var se guardan los ficheros de datos variables. Esto
incluye los directorios y ficheros de spool y datos de administración y
registro, así como ficheros transitorios y temporales. Los ficheros de
registro del sistema como wtmp y lastlog habitan en /var/log. El directorio
/var/lib contiene también las bases de datos del sistema RPM. Las páginas
del manual formateadas se encuentran en /var/catman', y los ficheros de
bloqueo en /var/lock. El directorio /var/spool contiene subdirectorios para
los diversos sistemas que necesitan almacenar ficheros de datos.
• Cada usuario dispone de un directorio de trabajo. Normalmente este
directorio se encuentra dentro del directorio /home.
2.1 REGLAS PARA NOMBRAR FICHEROS
Los nombres de los ficheros pueden constar de hasta 255 caracteres y, al
menos en teoría, pueden contener cualquier carácter. En la práctica, sin embargo,
muchos de los caracteres ASCII pueden significar algo especial para el intérprete
de órdenes, por lo que deberían evitarse los caracteres especiales al nombrar
ficheros y directorios.
Al elegir los nombres de ficheros, como regla general es mejor limitarse a
utilizar nombres que contengan sólo letras, números, el carácter de subrayado y el
punto (si está al principio, se considera el fichero como oculto). Recuerde que en
Linux las letras mayúsculas y minúsculas son significativas en los nombres de
ficheros, es decir, no es lo mismo decir 'Dato' que 'dato', serían nombres distintos.
2.2 NOMBRES DE CAMINOS ABSOLUTO Y RELATIVO
Linux permite que los directorios y ficheros puedan especificarse de dos
formas distintas. Una es mediante un camino o direccionamiento absoluto y la otra
mediante un direccionamiento relativo.
En un direccionamiento absoluto se toma como origen el directorio raíz
seguido del resto del camino que hay que seguir para llegar al nombre del
directorio o fichero; como por ejemplo:
196 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
En un direccionamiento relativo, se toma como origen el directorio actual
seguido del resto del camino que hay que seguir para llegar al directorio o fichero
especificado. Veamos dos ejemplos:

..I .. cshrc
2.3 ÓRDENES DE MANIPULACIÓN DE DIRECTORIOS
Para cambiar el directorio donde se encuentra actualmente se utiliza la
orden cd (Change Directory). Su sintaxis es la siguiente:
cd [<directorio:;.]
Por ejemplo, si queremos Irnos al directorio /home/alumnos/moises,
podemos escribir lo siguiente:
cd IhOlÍ\elalumnosfmoises
El directorio también se puede escribir de fonna relativa partiendo del
directorio actual, como se ha indicado anterionnente. Existen algunos casos
especiales cuando se usa esta orden:
ca ..
cd$H0ME <> cd $home
El primer caso nos pennite situamos en el directorio padre del directorio
actual. Los otros dos casos penniten situamos automáticamente en el directorio de
trabajo (home directory).
Si lo que desea es mostrar el directorio actual, la orden que se utiliza para
esta operación es pwd (Path Work Directory). El nombre del directorio aparece
expresado de fonna absoluta. Veamos un ejemplo:
$ p'wo.
lhome/alumnQs/mc;:¡ises
Para crear un directorio se utiliza la orden mkdir (MaKe DIRectory). Su
sintaxis es la siguiente:
mkdir <directorio>
donde <directorio> identifica el directorio que queremos crear. Si estando en el
directorio Ihome/alumnos/moises queremos crear un subdirectorio llamado
ejemplos, podemos hacerlo así:
mkdir Ihome/alumnos/moises/ejemplos
©RA-MA APÉNDICE II. ADMINISTRACIÓN BÁSICA DE LINUX 197
o indicando un direccionamiento relativo, el ejemplo anterior quedará de la forma:
~ d i r ··.ejetnpJ.$s
Es importante recordar que siempre podemos usar cualquiera de los dos
modos de direccionamiento. El empleo de uno u otro dependerá del caso.
Si lo que queremos es borrar un directorio, se utiliza la orden rmdir
(ReMove DIRectory). Su sintaxis es:
rmd.;i:t': <diree't::.oris.>\
donde <directorio> identifica el directorio que deseamos borrar. Por ejemplo, para
borrar el directorio Ihomelalumnoslmoiseslejemplos, debemos estar fuera de ese
directorio y ejecutar la orden siguiente:
:rmd.ir·· ¡home! alumnos ltn6:ieres/e'jetnplps
Si deseamos renombrar un directorio, la orden que nos permite realizar esta
operación es mv (MoVe). Su sintaxis es la siguiente:
t!IV<:dir...:.ant; iguo> <dir"puevo>
<dir _antiguo> identifica el nombre del directorio que queremos renombrar y
<dir nuevo> identifica el nuevo nombre. Esta orden no cambia el contenido del
directorio; sólo su nombre.
También se puede usar mv para mover el directorio de un lugar a otro; o
sea, cambiar el directorio padre del que depende ese directorio.
Por ejemplo, si queremos cambiar el nombre del directorio
Ihomelmoiseslejem (suponiendo que éste exista), por el nombre Ihomelmoiseslejer,
se puede realizar utilizando la siguiente orden:
mv /home/moise$/ejem/home/lllQiJ3es/ejé.r
La copia de directorios se realiza mediante cp (CoPy). La forma de
utilizarla es la siguiente:
cp.,.r <:dir_origen:> <dir_destino>
<dir _origen> identifica el directorio que queremos copiar y <dir _destino> el
directorio donde será copiado toda la información. Si el directorio a copiar incluye
subdirectorios, se debe usar la opción -r o -R (indistintamente) para poder realizar
una copia recursiva.
Para mostrar el contenido de un directorio se puede utilizar la orden ls
(LiSt). Su sintaxis es:
113 [<ditectQriQ;>]
198 VOIP y ASTERlSK: REDESCUBRlENDO LA TELEFONÍA ©RA-MA
donde <directorio> identifica el directorio que queremos visualizar. Si no se
especifica ninguno, se mostrará el contenido del directorio actual. La opción -1
(Large) de Is es la que muestra infonnación más detallada. Veamos un ejemplo:
$ ls*l·j·
drwx:r-xr-x 5 rOQt 512 Mar 15 1$.:45 hQme
drW;ll:r."xr-x 27 root 1024 No" 1118:05 usr
El primer campo indica el modo del fichero (-) o si es un directorio (d). El
resto del campo nos indica los pennisos del fichero para el propietario (en nuestro
ejemplo es rwx para ambos directorios), grupo al que pertenece el propietario y
para el resto de los usuarios (en el ejemplo, en ambos estos pennisos son r-x).
siguiente campo es el número de enlaces. Para ficheros es nonnalmente
1. Si es mayor de 1 indica que existen entradas en otros directorios apuntando a ese
fichero. Para directorios, indica el número de entradas de subdirectorios que
contiene.
Los campos que van a continuación son el nombre del propietario del
fichero; tamaño del fichero, en bytes; fecha y hora de la última modificación; y por
último, el nombre del fichero.
2.4 ÓRDENES DE MANIPULACIÓN DE FICHEROS
Las órdenes de manipulación de ficheros penniten realizar detenninadas
operaciones sobre ficheros ordinarios. Algunas de estas operaciones pennitirán
mostrar el tipo de un fichero, ver su contenido, crearlos, copiarlos, etc.
Linux incluye una orden que nos pennite crear un fichero de O bytes si éste
no existía. En cuyo caso, lo que hace es actualizar las fechas del fichero. La orden
es touch y su sintaxis es:
touch <fichero>
donde <fichero> identifica el fichero que queremos crear o actualizar.
Son diversas las órdenes que existen para visualizar el contenido de un
fichero. Algunas de estas órdenes son more, cat, taíl, head. Estudiemos cada una de
estas órdenes.
La orden more visualiza un fichero de texto pantalla a pantalla. Su sintaxis
es la siguiente:
...
©RA-MA APÉNDICE II. ADMINISTRACIÓN BÁSICA DE LINUX 199
moxe [<fichero>]
donde <fichero> identifica el fichero que queremos visualizar.
Por ejemplo, si deseamos ver todas las cuentas que hay en el sistema,
podemos hacer lo siguiente:
$ more /etc/passwd
La orden cat permite visualizar el contenido de uno o más ficheros, sin
paradas, a través del dispositivo de salida por defecto, la pantalla. En algunos
sistemas se puede detener la imagen pulsando <CTRL> <S>, y continuar pulsando
<CTRL> <Q>. Veamos la sintaxis de esta orden:
cat [<fichero> ... J
donde <fichero> identifica el fichero a visualizar. Si deseamos ver el contenido de
varios ficheros, éstos deberán separarse por espacios en blanco. Veamos un
ejemplo:
$ cat .profile .exrc
La orden pg permite paginar la salida. Si el fichero que vamos a visualizar
tiene más de 24 líneas, pg visualizará las 23 primeras y presentará en la línea 24 un
carácter: para solicitar una orden. Dos posibles órdenes son:
• pulsar <retomo> para ver la siguiente página.
• abandonar la ejecución de pg, pulsando "q".
La orden tail permite examinar el final de un fichero. Su sintaxis es:
tail [+1 <número>] <fichero:>
Por defecto visualizará las diez últimas líneas del fichero <fichero>, pero
es posible modificar dicho número usando la opción <número>. Si le antecede un
+, la cuenta comenzará por la primera línea mientras que si le antecede un -, la
cuenta comenzará por la última línea. Veamos unos ejemplos:
$ tail -3 /etc/passwd
$ tail +10 /etc/group
En el primer ejemplo se visualizan las tres últimas líneas del fichero
passwd; mientras que el segundo ejemplo visualiza el fichero group a partir de la
línea 10. Si se utiliza la opción +<número>, y el fichero no tiene tantas líneas, no
se visualizará nada.
La orden head nos permite visualizar las diez primeras líneas de un fichero,
aunque como en el caso de la orden fail, podemos modificar ese valor. Su sintaxis
es la siguiente:
head [-<número:>} <fichero>
200 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
La opción -<número> indica la cantidad de líneas a visualizar del fichero
<fichero>. Como ejemplo, veamos cómo se pueden visualizar las primeras 20
líneas de un fichero:
!etcltell\P.cap
Si lo que queremos es mover o renombrar un fichero, la orden que nos
permite realizar esta operación es mv (Mo Ve). Dependiendo de lo que queramos
hacer, su sintaxis será:
. '::.ftc.her02:>
o
El primer caso se utilizará para renombrar el fichero <ficherol> por el
nombre de fichero especificado en <fichero2>. En el segundo caso, mv se utiliza
para mover el 'fichero <fichero> al directorio <directorio>. Se puede mover más
de un fichero a la vez. Veamos unos ejemplos:
$ mesj .01
$···mV..
La primera orden nos permite cambiar el nombre del fichero mensaje_O1; Y
en el caso de que existiese mesj.Ol éste cambiaría su contenido por el de
mensaje_O1. Con la segunda orden, movemos el fichero mbox del directorio
moises al directorio erik.
El sisteIl)a operativo incluye la orden cp (CoPy) para copiar ficheros. La
copia se puede realizar en el mismo directorio, en cuyo caso no puede tener el
mismo nombre, o copiarlo en un directorio distinto. La sintaxis para esta orden es
la siguiente:
cp.::fJehexol.$< <fi<:her02:>
o
cp .<fiéhe17o;> .. , .::directoriQ.>
El primer caso se utiliza para copiar el fichero <fichero1> en el mismo
directorio donde se encuentra éste. Unix no permite tener dos ficheros con el
mismo nombre en el mismo directorio, por lo que se necesita indicarle un nombre
distinto. Por tanto necesitamos utilizar <fichero2> para indicar otro nombre al
fichero. Si la copia se realiza a otro directorio, se utiliza la segunda forma. El
argumento <directorio> indicará el directorio destino de la copia. cp permite
copiar varios ficheros a otro directorio. Por ejemplo, si deseamos copiar en el
directorio actual el fichero motd y renombra el fichero llamándole mensaje,
escribiríamos lo siguiente.
$ cp /etclmotdmens.aje
©RA-MA APÉNDICE IL ADMINISTRACIÓN BÁSICA DE LINUX 201
Estamos suponiendo que en el directorio actual no existía un subdirectorio
llamado mensaje, en cuyo caso, esta orden hubiera copiado el fichero motd en
dicho subdirectorio. De cualquier forma, después de realizar la copia, el modo del
fichero es el mismo que tenía el fichero original.
Para borrar uno o más ficheros de un directorio se utiliza la orden rm
(ReMove). En el caso de que uno de los ficheros a suprimir estuviese protegido
contra escritura, rm le informaría del modo real del fichero, y esperaría una
respuesta: si pulsa y procede a borrarlo y si pulsa cualquier otra tecla no lo borrará.
Su sintaxis es:
rm [ifr} <ficherQ>..•.
La opción -i (Interactiva) lo utiliza rm para pedir confirmación de cada uno
de ficheros que va a borrar, independientemente de que esté o no protegido. La
opción -f se puede utilizar si se quiere forzar la supresión de ficheros aunque estén
protegidos. La opción -r permite borrar el contenido del directorio actual, y de Jos
posibles subdirectorios que existan a partir de él (de forma recursiva).
Unix permite que un fichero o directorio pueda ser referenciado desde el
mismo o desde distinto directorio más de una vez. Esto permite no tener dupllcados
ficheros o directorios y se puede emplear, por ejemplo, para compartir información
entre grupos de usuarios. La forma de conseguirlo es mediante la orden In. Su
sintaxis es:
In .(:':sl <ifi.all$ró:i
Hay dos tipos de enlaces a un determinado fichero especificado con
<fichero>, los enlaces fijos y los simbólicos. Los enlaces fijos sólo se hacen a
ficheros existentes y dentro del Sistema de ficheros (file system) al que pertenezca
el fichero. Para eliminar un fichero, se tienen que eliminar todos los enlaces fijos
(incluyendo el primer nombre que se le dio al fichero).
Los enlaces simbólicos se realizan con la opción -s. Es una entrada de
directorio especial que apunta a otro fichero existente. El fichero puede estar en
otro sistema de ficheros. Si se elimina el fichero al que apunta, no afecta ni altera al
propio enlace simbólico.
2.5. ACCESO A LOS FICHEROS
Desde el punto de vista del acceso a un fichero, existen tres tipos de
usuarios a los que se les pueden dar o denegar permisos sobre un fichero:
• (u) user propietario del fichero
202 VOIP y ASTERlSK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
group usuarios pertenecientes a su grupo
• (g)
other resto de usuarios que no pertenecen a su grupo
• (o)
La capacidad de un usuario para trabajar con ficheros depende del tipo de
acceso que tenga a dicho fichero. Los accesos disponibles son:
Para un fichero:
• Penniso de lectura (r): pennite ver el contenido del fichero.
• Penniso de escritura (w): pennite cambiar el contenido del fichero.
• Penniso de ejecución (x): pennite ejecutar un fichero (como cualquier
orden del Unix.
Para un directorio:
• Penniso de lectura (r): pennite ver los nombres de los ficheros de un
directorio. Si se quiere infonnación detallada sobre dichos ficheros
(mediante la opción -1 de ls), el directorio tiene que tener el penniso de
ejecución para dicho usuario. .
• Penniso de escritura (w): pennite cambiar el contenido de dicho directorio;
crear nuevos ficheros y suprimir los existentes (este último caso depende
de los pennisos de escritura de los propios ficheros).
• Penniso de búsqueda (x): se debe hablar más bien de penniso de búsqueda
ya que pennite situarse en dicho directorio y según el resto de los
pennisos, pennitirá crear, borrar, modificar o copiar ficheros.
Para definir los pennisos de creación de un fichero o directorio se emplea
el comando chmod. Su sintaxis es:
chmod <modo> fichero
donde <modo> indica los pennisos que le queremos dar al fichero. Por ejemplo, si
queremos darle los pennisos de rw- para el propietario y r-- para el resto, el
comando que se debe utilizar es:
$chmod 644 fichero
2.6 MODIFICACIÓN DE PERMISOS Y PROPIETARIOS
El propietario de un fichero es aquel usuario que creó dicho fichero. Unix
pennite cambiar al propietario de cualquier fichero o directorio. Opcionalmente se
3
©RA-MA APÉNDICE 11. ADMINISTRACIÓN BÁSICA DE LINUX 203
puede cambiar también al grupo al que pertenece dicho fichero o directorio. Para
ello se utiliza la orden chown. Veamos su sintaxis:
chown [. <:NQmbI'eGI'UPO> 1 <:f ichero> •.•
<Nombre Usuario> identifica el nuevo propietario de fichero o directorio.
<NombreGrupo> el nuevo grupo y <fichero> identifica el fichero o directorio
sobre el que se va a actuar.
La limitación que tiene esta orden es que sólo el súper usuario puede
utilizarlo.
Por otro lado, para cambiar el grupo al que pertenece un directorio se
utiliza chgrp. Su sintaxis es:
chgrp <:NombreGrupo> <:fichero> ••.
<NombreGrupo> identifica el nuevo nombre de grupo que se le va a asignar al
fichero o directorio <fichero>. Se puede actuar sobre varios ficheros a la vez.
Comandos más importantes
A modo de reswnen en la tabla II-l puede ver los comandos más
importantes de Linux.
Categoría Comando Descripción
Sistema de ficheros
cp <origen> <destino>
mv <actual> <nuevo>
rm <fichero>
cd <directorio>
pwd
mkdir <directorio>
less <fichero>
cat <fichero>
Is
Copia ficheros
Mueve o cambia el nombre de un fichero o
directorio
Borra un fichero o directorio
Cambia de directorio
Muestra el directorio actual de trabajo
Crea W1 directorio
Muestra el contenido de W1 fichero
Muestra el contenido de un directorio
204 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
Particiooamiento
{disk
fsck
mkfs
df
du
mouot
umouot
Comandos generales
startx
halt
Reboot
Date
clear
mao
Procesos
Permite administrar las particiones del sistema
Permite comprobar el estado de un sistema de
ficheros
Permite formatear un sistema de ficheros
Indica el espacio libre de un sistema de ficheros
Indica el espacio utilizado por un usuario en el
sistema de ficheros
Permite montar sistemas de ficheros
Permite desmontar sistemas de ficheros
Inicia el modo gráfico
Apaga el equipo
Reinicia el equipo
Muestra y permite cambiar la fecha del sistema
Borra la pantalla
Permite obtener ayuda del sistema
- - - - - - - - - ~ - - - - - - - - - - - - - - - - _ ....__...­
ps
top
kilI
Cuotas de usuario
Muestra los procesos activos del sistema
Muestra los procesos del sistema y su
rendimiento
Permite matar un proceso
edquota <usuario>
edquota -g <grupo>
quota <usuario>
quota -g <grupo>
repquota <directorio>
checkquota -cug
<directorio>
quotaoff -aug
quotaoo -aug
~ p ~ - .....",,--­
Permite modificar la cuota de un usuario o grupo
Muestra la cuota de un usuario o grupo
Muestra las cuotas de usuario de un sistema de
un directorio
Crea las cuotas de usuario de un directorio
Desactiva las cuotas de usuario
Activa las cuotas de usuario
©RA-MA APÉNDICE II. ADMINISTRACIÓN BÁSICA DE LINUX 205
Permisos
"--"--"---­
chmod <permisos>
<fichero/directorio>
Establece los permisos de un fichero o directorio
chown <usuario>
<fichero/directorio>
Cambia el usuario propietario de un fichero
directorio
o
chgrp <grupo>
<fichero/directorio>
Cambia el
directorio
grupo propietario de un fichero o
Redes
Usuarios
ifconfig
iwconfig
ping <host>
route
iptables
service
adduser <usuario>
userdel <usuario>
usermod
passwd
addgroup
su
id
Permite obtener información y configurar los
adaptadores de red
Permite obtener información y configurar los
adaptadores de red inalámbrica
Permite realizar un ping para comprobar la
comunicación con un equipo
Muestra y configura la tabla de enrutado del
sistema
Muestra y configura el cortafuegos del sistema
Permite administrar los servil;ios del sistema
Da de alta un usuario
Borra un usuario
Permite modificar las propiedades de un usuario
Cambia la contraseña de un usuario
Permite dar de alta un usuario dentro de un grupo
Permite cambiar de usuario
Muestra el usuario que se está utilizando
groups Muestra los grupos a los que pertenece el usuario
groupadd Permite dar de alta a un grupo
groupdel Permite borrar un grupo de usuarios
1
,
APENDICE III
ASPECTOS BÁSICOS DE REDES
Consolación Gil Montoya y María Dolores Gil Montoya
Introducción
Podría decirse que Internet se ha convertido en la entidad virtual más
variada que ha desarrollado el hombre. El número de usuarios crece
periódicamente en cientos de miles por todo el mundo, sin que parezca que vaya a
dejar de aumentar. Internet es un lugar virtual donde todo el mundo es bienvenido
para hacer negocios, comunicarse, buscar información o, simplemente, divertirse
navegando por la red.
En este capítulo vamos a ver todos los pasos que son necesarios para la
puesta en marcha de una red:
• Creación de la red a nivel f'ISico: se crea la infraestructura necesaria para
poner la red en funcionamiento. Para ello se instala el cableado de la red y
luego se ponen en marcha los dispositivos de interconexión (hub, switch,
routers ... ).
• Creación de la red a nivel lógico: se crean las diferentes redes lógicas y
se asignan las direcciones IP a los diferentes equipos de la red.
2
208 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
• Configuración de los routers: se configuran los routers para permitir
aceptar o denegar la comunicación que se realizan a través de él.
Tipos de cable
Los diferentes tipos de cables ofrecen distintas características de
funcionamiento. La variedad de velocidad de transmisión que un sistema de
cableado puede soportar se conoce como el ancho de banda utilizable. La
capacidad del ancho de banda está condicionada por las características fisicas que
tienen los componentes del sistema de cableado.
El funcionamiento del sistema de cableado deberá ser considerado no sólo
cuando se está cubriendo las necesidades actuales sino también con las necesidades
del mañana. Conseguir esto permitirá la migración a aplicaciones de redes más
rápidas sin necesidad de incurrir en costosas actualizaciones del sistema de
cableado.
A continuación veremos los medios de comunicación más utilizados en la
actualidad.
• Coaxial. Este tipo de cable está compuesto de un hilo conductor central de
cobre rodeado por una malla de hilos de cobre. El espacio entre el hilo y la
malla lo ocupa un conducto de plástico que separa los dos conductores y
mantiene las propiedades eléctricas. Todo el cable está cubierto por un
aislamiento de protección para reducir las emisiones eléctricas. El ejemplo
más común de este tipo de cables es el cable coaxial de televisión.
Originalmente fue el cable más utilizado en las redes locales debido a su
alta capacidad y resistencia a las interferencias, pero en la actualidad su uso
está en declive. Presenta dos grandes limitaciones, como es la seguridad y
la velocidad de transmisión.
En la tabla IlI-l y IlI-2 se puede ver la estructura del cable así como sus
datos técnicos.
• Par trenzado. Es el tipo de cable más común y se originó como solución
para conectar teléfonos, terminales y ordenadores sobre el mismo
cableado.
Cada cable de este tipo está compuesto por una serie de pares de cables
trenzados. Los pares se trenzan para reducir la interferencia entre pares
adyacentes. Normalmente una serie de pares se agrupan en una única funda
©RA-MA APÉNDICE II1: ASPECTOS BÁSICOS DE REDES 209
de color codificado para reducir el número de cables físicos que se
introducen en un conducto.
Este cable es el más utilizado en la actualidad y permite velocidades de
hasta 1 Gb/s. En la tabla I11-1 y 111-2 puede ver la estructura del cable,
conectores, así como sus características físicas.
• Fibra óptica. Este cable está constituido por uno o más hilos de fibra de
vidrio. Tal y como muestra la tabla JIl-I, cada fibra de vidrio consta de: un
núcleo central de fibra con un alto índice de refracción; una cubierta que
rodea al núcleo, de material similar, con un índice de refracción
ligeramente menor; y una envoltura que aísla las fibras y evita que se
produzcan interferencias entre fibras adyacentes, a la vez que proporciona
protección al núcleo. Cada una de ellas está rodeada por un revestimiento y
reforzada para proteger a la fibra.
La fibra óptica es un medio excelente para la transmisión de información
debido a sus excelentes características: gran ancho de banda, baja
atenuación de la señal, integridad, inmunidad a interferencias
electromagnéticas, alta seguridad y larga duración. Su mayor desventaja es
su coste de producción superior al resto de los tipos de cable, debido a las
necesidades de empleo de vidrio de alta calidad y la fragilidad de su
manejo en producción.
Dependiendo del número de haces de luz que se transmiten a la vez, se
distinguen dos tipos de fibra óptica:
o Monomodo. En las fibras monomodo tan sólo se envía un único
haz de luz a través del cable. Por lo tanto, su velocidad es menor
pero la distancia máxima del segmento es mucho mayor.
o Multimodo. Se transmiten varios haces de luz a la vez por lo que
su velocidad es mayor pero la distancia de segmento es menor ya
que a mayor distancia, es posible que un haz "adelante" a otro haz
produciéndose un error en la transmisión.
En la tabla 111-1 y III-2 puede ver la estructura de la fibra óptica y
sus características.
210 VOIP y ASTERISK: REDESCUBRIb'NDO LA TELEFONÍA ©RA-MA
Coaxial Par trenzado Fibra óptica
Estructura
interna del
Cable
Conectores
Coaxial Par trenzado Fibra óptica
Velocidad 10 Mb/s
10 Mb/s (10 Base- TX)
100 Mb/s (100 Base-TX)
1000 Mb/s
Hasta 10 Tb/s
Distancia
máxima de
segmento
185 metros 100 metros
Monomodo: 100 Km
Multimodo: 2,4 Km
3 Dispositivos de interconexión
Los dispositivos de interconexión permiten conectar segmentos de una
misma red, o redes diferentes. Los dispositivos que se utilizan en una red son:
• Repetidores. Tal y como hemos visto en el apartado anterior, cualquier
medio físico tiene una longitud máxima de segmento. Por ejemplo, la
longitud máxima de un cable UTP Cat 5 es de 100 metros. Esto quiere
decir que si utilizamos un cable con una longitud mayor, en la señal
eléctrica existe demasiada atenuación o interferencias que hacen que la
comunicación tenga muchos errores o que incluso sea impracticable.
Tal y como puede ver en la figura III-1, el repetidor es un dispositivo que
regenera la señal transmitida evitando su atenuación; de esta forma se
puede ampliar la longitud del cable que soporta la red. Por ejemplo, si
©RA-MA APÉNDICE III: ASPECTOS BÁSICOS DE REDES 211
queremos conectar dos equipos que se encuentran a una distancia de 150
metros, necesitaremos un repetidor que divida el cable en dos partes; de
fonna que ninguna exceda la longitud máxima del segmento del cable
(100m).
Entrada de la

Figura IlI-I. Esquema dé un repetidor
• Hub. Un Hub es un dispositivo de interconexión que pennite conectar
varios host o varios segmentos de una misma red. El tamaño de un hub
viene detenninado por el número de entradas que tiene (puertos). Existen
Hub desde 4 puertos a 128 puertos. En la figura III.2 podemos ver un Hub
de la familia 3Com.
El funcionamiento interno del Hub es como el de un "enchufe
ladrón". El Hub recibe una señal por un puerto y lo que hace es enviar la
señal recibida por todos los demás puertos. Por lo tanto, una restricción que
tiene un Hub es evitar que se produzcan colisiones cuando recibe una señal
por varios puertos.
Un hub tiene dos grandes desventajas: es un dispositivos lento e
inseguro ya que toda la infonnación de un puerto se envía a los demás
puertos.
Figura IlI-2. HUB
• Switch. Al igual que un Hub, un Switch es un dispositivo de interconexión
que pennite conectar varios host o varios segmentos de una misma red. La
diferencia entre un Hub y un Switch es que un Switch tiene una pequeña
memoria asociativa en la que guarda la dirección fisica (MAC) del equipo
que está conectado a cada uno de sus puertos. De esta fonna, al recibir un
mensaje el switch mira la dirección de destino y lo envía sólo a su
destinatario.
212 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
El switch resuelve los problemas de rendimiento y de seguridad de la red
que tienen los hubs. El switch puede agregar mayor ancho de banda,
acelerar la salida de paquetes, reducir el tiempo de espera y bajar el coste
por puerto.
En la figura IlI-3, se puede ver un ejemplo de un switch Catalyst de Cisco
System.
Figura lJI-3. Switch Cisco Catalyst 2950
• Bridges. Los Bridges o puentes son dispositivos que ayudan a resolver el
problema de limitación de distancias, junto con el problema de limitación
del número de nodos de una red. Trabajan al nivel de enlace del modelo
OSI, por lo que pueden interconectar redes que cumplan las normas del
modelo 802 (3, 4 y 5). Si los protocolos por encima de estos niveles son
diferentes en ambas redes, el bridge no es consciente, y por tanto no puede
resolver los problemas que puedan presentarse.
Los Bridges se utilizan para ampliar la extensión de la red, para reducir la
carga de una red o para unir redes de diferente topología.
• Gateways. Se trata de un ordenador u otro dispositivo que interconecta
redes radicalmente distintas. Son capaces de traducir información de una
red a otra, como por ejemplo las pasarelas de correo electrónico. Un
gateway trabaja en la capa de aplicación ya que necesita conocer el tipo de
información que tiene que traducir de una red a otra.
• Routers. Un router es un dispositivo de propósito general diseñado para
segmentar la red, con la idea de limitar el tráfico de broadcast y
proporcionar seguridad, control y redundancia entre dominios broadcast.
También puede dar servicio de firewall.
En la figura I1I-4, podemos encontrar un ejemplo de utilización de un
router para conectar una red interna con Internet.
"'JJf!''''''
©RA-MA APÉNDICE III: ASPECTOS BÁSICOS DE REDES 213
Un router opera en la capa de red del modelo TCP/IP y tiene más
prestaciones que un switch. El router distingue entre los diferentes
protocolos de red tales como IP, IPX, AppleTalk, etc. Para poder trabajar
un router en la capa de red es necesario que tenga una dirección IP por
cada interfaz del router.
El router tiene dos funciones básicas:
• Enrutamiento. El router es responsable de crear y mantener las
tablas de enmtamiento para cada capa de protocolo de red. Estas
tablas son creadas estáticamente o dinámicamente. De esta manera,
el router extrae del paquete IP la dirección de destino y selecciona
el mejor camino basándose en diversos factores. Estos factores
pueden incluir el número de saltos hacia el destino, la velocidad de
línea, el coste de la transmisión, las condiciones del tráfico, etc.
• Filtrado de paquetes. El router al comunicar varias redes es el
encargado ideal para decidir qué información tiene que pasar o qué
información tiene que ser bloqueada. A partir de las tablas de
enrntado (o tablas de filtrado de paquetes) el router toma la
decisión de qué acción tiene que realizar con cada paquete. Por lo
tanto un router es un dispositivo que nos puede ayudar a mantener
la seguridad de una red.
Figura 1//-4. Ejemplo de utilización de un router
En la figura III-S, podemos ver un ejemplo de un router hardware.
4
214 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
Figura JJI-5. Router Cisco 2821
El protocolo TCPIIP
En 1969 la agencia ARPA (Advanced Researeh Projeets Agency) del
Departamento de Defensa de los Estados Unidos inició un proyecto de
interconexión de ordenadores mediante redes telefónicas. Al ser un proyecto
. desarrollado por militares en plena Guerra Fría, un principio básico de disefio era
que la red debía poder resistir la destrucción de parte de su infraestructura (por
ejemplo a causa de un ataque nuclear), de fonna que dos nodos cualesquiera
pudieran seguir comunicados siempre que hubiera alguna ruta que los uniera. Esto
se consiguió en 1972 creando una red de conmutación de paquetes denominada
ARPAnet, la primera de este tipo que operó en el mundo. La conmutación de
paquetes unida al uso de topologías malladas mediante múltiples líneas punto a
punto dio como resultado una red altamente fiable y robusta.
ARPAnet fue creciendo paulatinamente, y pronto se hicieron experimentos
utilizando otros medios de transmisión de datos, en particular enlaces por radio y
vía satélite; los protocolos existentes tuvieron problemas para interoperar con estas
redes, por lo que se diseñó un nuevo conjunto o pila de protocolos. y con ellos una
arquitectura. Este nuevo conjunto se denominó TCP/IP (Transmission Control
Protoeolllnternet Protoeol). nombre que provenía de los dos protocolos más
importantes que componían la pila; la nueva arquitectura se llamó sencillamente
modelo TCPIIP, los nuevos protocolos fueron especificados por vez primera por
Cerfy Kahn en un artículo publicado en 1974. A la nueva red, que se creó como
consecuencia de la fusión de ARPAnet con las r e d ~ s basadas en otras tecnologías
de transmisión, se la denominó Internet.
La aproximación adoptada por los disefiadores del TCPIIP fue mucho más
pragmática que la de los autores del modelo OSI. Mientras que en el caso de OSI
se emplearon varios años en definir con sumo cuidado una arquitectura de capas
donde la función y servicios de cada una estaban perfectamente definidas, y sólo
después se planteó desarrollar los protocolos para cada una de ellas, en el caso de
TCPIIP la operación fue a la inversa; primero se especificaron los protocolos, y
luego se defmió el modelo como una simple descripción de los protocolos ya
existentes. Por este motivo el modelo TCPIIP es mucho más simple que el OSI.
©RA·MA APÉNDICE IIl: ASPECTOS BÁSICOS DE REDES 215
También por este motivo el modelo OSI se utiliza a menudo para describir otras
arquitecturas, como por ejemplo TCP/IP, mientras que el modelo TCP/IP nunca
suele emplearse para describir otras arquitecturas que no sean la suya propia.
Tal y como se muestra en la figura IU.6, el modelo TCPIIP tiene sólo
cuatro capas:
1. La capa host-red. Esta capa permite enviar la información a través del
medio fisÍco y nos permite el direccionamiento fisico. Para enviar la
información a través del medio fisico es necesario conocer las
características fisicas del medio. Por ejemplo, es totalmente diferente el
envío de información a través de un cable coaxial que a través de una fibra
óptica.
El direccionamiento fisÍco permite que los equipos puedan comunicarse.
Cuando se encuentra en un medio broadcast, por ejemplo un cable ethemet,
el origen y destino de un paquete se obtiene a través de la dirección MAC
del adaptador de red. La dirección MAC es un número serie único que
tiene cada adaptador de red.
2. La capa de red. El objetivo de esta capa es permitir que los nodos
introduzcan paquetes en cualquier red y lo hagan viajar de forma
independiente a su destino (que podría estar en una red diferente). Los
paquetes pueden llegar incluso en un orden diferente a aquel en que se
enviaron, en cuyo caso corresponde a las capas superiores reordenándolos,
si se desea la entrega ordenada.
La capa de red define un formato de paquete y protocolo oficial llamado IP
(Internet Protocol). El objetivo de la capa de red es entregar paquetes IP
donde se supone que deben ir. Aquí la consideración más importante es
decidir el camino que tienen que seguir los paquetes (encaminamiento), y
también evitar la congestión.
3. La capa de transporte. La capa de transporte se diseñó para permitir que
las entidades pares en los nodos de origen y destino lleven a cabo una
conversación. Aquí se definieron dos protocolos punto a punto. El primero,
TCP (Transmission Control Protocol), es un protocolo orientado a la
conexión que permite que un flujo de bytes originado en una máquina se
entregue sin errores en cualquier máquina destino. Este protocolo
fragmenta el flujo entrante de bytes en mensajes y pasa cada uno a la capa
de interred. En el diseño, el proceso TCP receptor reensambla los mensajes
recibidos para formar el flujo de salida. TCP también se encarga del
control de flujo para asegurar que un emisor rápido no pueda saturar a un
receptor lento con más mensajes de los que pueda gestionar.
5
216 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
El segundo protocolo de esta capa, UDP (User Datagram Protocol), es un
protocolo sin conexión, para aplicaciones que no necesitan la asignación de
secuencia ni el control de flujo TCP y que desean utilizar los suyos
propios.
En esta capa además se realiza el direccionamiento por puertos. Gracias a
la capa anterior, la de interred, los paquetes viajan de un ordenador origen
a un ordenador destino. La capa de transporte se encarga de que, dentro del
ordenador, la información se envíe a la aplicación adecuada (mediante un
determinado puerto).
4. La capa de aplicación. Por encima de la capa de transporte está la capa de
aplicación, que contiene todos los protocolos de alto niveL El protocolo de
terminal virtual (TELNET), el de transferencia de ficheros (FTP), el de
correo electrónico (SMTP), etc. Con los años se han añadido muchos otros
protocolos, como el servicio de nombres de dominio (DNS) para relacionar
los nombres de los nodos con sus direcciones de red; NNTP, el protocolo
que se utiliza para transferir noticias; HTTP, el protocolo que se usa para
ver páginas Web, y muchos más.
Figura Ill-6. Modelo TePIlP
Direccionamiento IP
Cada interfaz de red de cada nodo (host o router) en una red IP se identifica
mediante una dirección única de 32 bits. Las direcciones IP se suelen representar
por cuatro números decimales separados por puntos, que equivalen al valor de cada
uno de los cuatro bytes que componen la dirección. Por ejemplo una dirección IP
válida seria 147.156.23.208.
· ©RA-MA APÉNDICE III: ASPECTOS BÁSICOS DE REDES 217
Si un nodo dispone de varias interfaces fisicas (cosa habitual en los routers)
cada una de ellas deberá tener necesariamente una dirección IP distinta. Es posible
además, y en algunas situaciones resulta útil, definir varias direcciones IP
asociadas a una misma interfaz fisica.
5.1 CLASES DE DIRECCIONES
Las direcciones IP tienen una estructura jerárquica. Tal y como muestra la
figura I1I-7, una parte de la dirección corresponde a la red (netid), y la otra al host
dentro de la red (hostid). Cuando un router recibe un datagrama (mensaje) por una
de sus interfaces, compara la parte de red de la dirección con las entradas
contenidas en sus tablas (que normalmente sólo contienen direcciones de red, no de
host) y envía el datagrama por la interfaz correspondiente.
Netid
Figura IJI-l. Partes de una dirección IP
En el diseño inicial de Internet se reservaron los ocho primeros bits para la
red, dejando los 24 restantes para el host; se creía que con 254 redes habría
suficiente para una red experimental que era fruto de un proyecto de investigación
del Departamento de Defensa americano. Ya en 1980 se vio que esto resultaba
insuficiente, por lo que se reorganizó el espacio de direcciones reservando una
parte para poder definir redes más pequeñas. Para dar mayor flexibilidad y permitir
diferentes tamaños se optó por dividir el rango de direcciones en tres partes
adecuadas para redes grandes, medianas y pequeñas, conocidas como redes de
clase A, B Y C, respectivamente:
• Una red de clase A (que corresponde a las redes originalmente diseñadas)
se caracteriza por tener a O el primer bit de dirección; el campo red ocupa
los 7 bits siguientes y el campo host los últimos 24 bits. Puede haber hasta
126 redes de clase A con 16 millones de hosts cada una.
• Una red de clase B tiene el primer bit a 1 y el segundo a O; el campo red
ocupa los 14 bits siguientes, y el campo host los 16 últimos bits. Puede
haber 16382 redes clase B con 65534 hosts cada una.
• Una red clase C tiene los primeros tres bits a 110; el campo red ocupa los
siguientes 21 bits, y el campo host los 8 últimos. Puede haber hasta dos
millones de redes de clase C con 254 hosts cada una.
218 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
Para indicar qué parte de la dirección corresponde a la red y qué parte al
host, se suele utilizar una notación denominada "máscara de red", consistente en
poner a 1 los bits que corresponden a la parte de red y a O los que corresponden a la
parte host. Así, por ejemplo, diremos que una red clase A tiene una máscara
255.0.0.0, lo cual equivale a decir que los ocho primeros bits especifican la red y
los 24 restantes el host. Análogamente decimos que una red clase B tiene una
máscara 255.255.0;0 y una clase e una máscara 255.255.255.0. Otra notación
utilizada en muchos sistemas es expresar de forma conjunta con la dirección IP el
número de bits de la máscara de red. Así por ejemplo, para expresar una dirección
de clase A sería 12.15.19.1/8, 12.15.19.1/16 de clase B y 12.15.19.1124 de clase C.

Además existen direcciones de clase D (no redes) cuyos primeros cuatro
bits valen 1110, que se utilizan para definir grupos multicast (el grupo viene
definido por los 28 bits siguientes).
Por último, la clase E, que corresponde al valor 11110 en los primeros
cinco bits, está reservada para usos futuros.
A partir de los valores de los primeros bits de cada una de las clases
mencionadas anteriormente, se puede deducir el rango de direcciones que
corresponde a cada una de ellas. Así pues, en la práctica es inmediato saber a qué
clase pertenece una dirección determinada sin más que leer el primer byte de su
dirección. La siguiente tabla resume toda la información esencial sobre los tipos de
direcciones de Internet.
A modo de resumen, en la figura III-8 puede ver un esquema de las
diferentes clases de direcciones y en la tabla 1Il-9 puede ver las características
principales de las clases de direcciones.
ClassA
Class B
ClassC 1
110
Netid Hostid
Class D I
1110
Multicast address
Class E
Figura ///-8. Clases de direcciones
©RA-MA APÉNDICE III: ASPECTOS BÁSICOS DE REDES 219
Bits Bits Número de Número de
10--
110-
1110
Clase Reservados red/host redes ordenadores Rango
1.0.0.0
7/24 126 16777214
127.255.255.255
128.0.0.0
14/16 16384 65334
191.255.255.255
192.0.0.0
21/8 2097152
223.255.255.255
224.0.0.0
239.255.255.255
iiE!
1111
240.0.0.0
"
255.255.255.255
La asignación de direcciones válidas de Internet la realizan los NICs (NIC
Network Information Center). Al principio había un NIC para toda Internet pero
luego se crearon NICs regionales (por continentes). Actualmente muchos países
tienen un NIC propio, así ocurre en España donde el NIC es administrado por
RedIRIS.
5.2 DIRECCIONES ESPECÍFICAS
Existen unas reglas y convenios en cuanto a determinadas direcciones IP
que es importante conocer:
l. La dirección 255.255.255.255 se utiliza para indicar broadcast en la propia
red, cualquiera que sea (y sea del tipo que sea).
2. La dirección 0.0.0.0 identifica al host actual.
3. La dirección con el campo host todo a ceros se utiliza para indicar la red
misma, y por tanto no se utiliza para ningún host Por ejemplo la dirección
193.147.7.0 identifica la red clase B que pertenece a la Universidad de
Valencia.
4. La dirección con el campo host todo a unos se utiliza como la dirección
broadcast de la red indicada, y por tanto no se utiliza para ningún host. Por
ejemplo para enviar un mensaje broadcast en la red anterior, utilizaríamos
la dirección 193.147.7.255.
5. La dirección con el campo red todo a ceros identifica a un kost en la
propia red, cualquiera que sea; por ejemplo si queremos enViar un
220 VOlP y ASlliRISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
datagrama al primer host (1) de una red clase B podemos utilizar la
dirección 0.0.0.1. Esto permite enviar datagramas sin saber en qué red nos
encontramos, aunque es preciso conocer si es clase A, B o C para saber qué
parte de la dirección es red y qué parte es host.
6. La dirección 127.0.0.1 se utiliza para pruebas loopback; todas las
implementaciones de IP devuelven a la dirección de origen los datagramas
enviados a esta dirección sin intentar enviarlos a ninguna parte.
Como consecuencia de las reglas 3 y 4 siempre hay dos direcciones no
asignables a hosts en una red. Por ejemplo, si tenemos la red 200.200.200.0 (clase
C) tendremos que reservar la dirección 200.200.200.0 para denotar la red misma, y
la dirección 200.200.200.255 para envíos broadcast a toda la red; dispondremos
pues de 254 direcciones para hosts, no de 256.
A modo de resumen, en la tabla I1I-4 puede ver un ejemplo de las
diferentes direcciones específicas.
Ejemplo
Dirección especial Netid Hostid (193.147.7.32/24)
Específica
Específica
Todo al
Todo aO
Todo aO
127.
Todo a O 193.147.7.0
Todo al 193.147.7.255
Todo al 255.255.255.255
Todo aO 0.0.0.0
Específica 0.0.0.32
Cualquiera. 127.0.0.1
5.3 DIRECCIONES PRIVADAS
La tabla I1I-5 nos muestra que las direcciones de red 10.0.0.0, 172.16.0.0 a
172.31.0.0, y 192.168.0.0 a 192.168.255.0 están reservadas para redes privadas
(intranets) por el RFC 1918. Estos números no se asignan a ninguna dirección
válida en Internet y por tanto pueden utilizarse para construir redes privadas. Por
ejemplo detrás de un cortafuegos, sin riesgo de entrar en conflicto de acceso a
redes válidas de Internet.
©RA-MA APÉNDICE III: ASPECTOS BÁSICOS DE REDES 221
Clase Rango Número de redes
16
De 192.168.x.x
172.31.x.x
e 256
a 192.168.255.x
6 Configuración de routers
Como hemos visto anterionnente, un router es un dispositivo de
interconexión que pennite regular el tráfico que pasa entre varias redes. Un router
es muy útil a la hora de defendemos de posibles intrusiones o ataques externos.
Pero la desventaja es que un router no se configura por sí solo. Mientras que un
router bien configurado puede ser muy útil, un router mal configurado no nos
proporciona ningún tipo de protección o, simplemente, no llega a comunicar dos
redes.
6.1 TABLAS DE ENRUTADO
Para configurar un router debemos crear lo que se denomina "tabla de
enrotado". En ella se guardan las acciones que hay que realizar sobre los mensajes
que recibe el router para redirigirlos a su destino. Existen dos tipos de
encaminamiento: "encaminamiento clásico" y "encaminamiento regulado".
6.1.1 Encaminamiento clásico
Con el "encaminamiento clásico", las reglas utilizadas para encaminar los
paquetes se basan, exclusivamente, en la dirección destino que aparece en la
cabecera del paquete. Así se distinguen las siguientes reglas:
• Permitir un equipo de nuestra red.
• Pennitir cualquier equipo de nuestra red.
• Pennitir un equipo de otra red.
• Pennitir cualquier equipo de otra red.
222 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
La última regla (por defecto) se aplica en el caso de que no se cumpla
ninguna de las anteriores y se suele utilizar para poder enviar los mensajes a la
puerta de enláce de la red.
6.1.2 Encaminamiento regulado
Sin embargo, en la actualidad, con la explosión del uso de Internet y la
llegada del concepto de calidad de servicio (QoS) y la seguridad, los routers
utilizan el llamado "encaminamiento regulado", con el que, a la hora de escribir la
tabla de enrutado, se pueden utilizar los siguientes elementos:
A la hora de escribir una tabla de enrutado se pueden utilizar los siguientes
elementos:
• Interfaz: interfaz de red por donde se recibe la información.
• Origen / Destino: origen y destino del mensaje. Normalmente el origen y
el destino de un mensaje es una dirección IP, pero algunos routers permiten
utilizar como dirección origen y destino usuarios o grupos de usuarios.
• Protocolo: permitir o denegar el acceso a los puertos es importante porque
las aplicaciones servidoras (que aceptan conexiones originadas en otro
ordenador) deben 'escuchar' en un puerto para que un cliente (que inicia la
conexión) pueda conectarse. Por ejemplo un servidor web trabaja en el
puerto 80, un servidor de FTP en el puerto 21, etc.
• Seguimiento: indica si el router debe realizar un seguimiento de los
lugares por los que pasa un mensaje.
• Tiempo: espacio temporal en el que es válida la regla.
• Autentificación de usuarios: indica si el usuario debe estar autentificado
para utilizar la regla.
• Acciól}.: especifica la acción que debe realizar el router. Un router puede
realizar las siguientes acciones:
o Aceptar: dejar pasar la información.
o Denegar: no deja pasar la información.
o Reenviar: envía el paquete a ~ r e c c i ó n IP.
~
©RA-MA APÉNDICE IlI: ASPECTOS BÁSICOS DE REDES 223
Existen diferentes tipos de routers por lo que en un principio podemos caer
en la tentación de pensar que el proceso de configuración para cada router es
totalmente diferente a los demás. Los router más utilizados son:
• FireWalli de CheckPoint
• Privale internet Exchange (PIX) de Cisco System
• lOS Firewall Feature Set de Cisco System
• Firewall del núcleo de Linux, Iptables
• Enterprise Firewall de Symantec
• Internet Security and Acelerador (ISA Server) de Microsoft
Si comparamos los elementos que utilizan los diferentes routers (ver tabla
III-6) podemos ver cómo los más utilizados a la hora de realizar una tabla de
enrutado son la interfaz, la dirección origen y destino, el puerto y la acción que
debe realizar el router.
:2 fI:i
2 á: .Si
Q
..Si .1
.::
" ..
..
.!! "
11.1;:
8-
:
.. " " 2"
o
e
.!P :¡ " "
..!:!
E .S!
..!:!
='0
"
...
Modelo
Il..
r
"
oe VJ '<
"
-<
-
""
* Distingue entre puerto de origen y destino
** Permiten especificar corno origen o destino direcciones IPs o usuarios.
A la hora de indicar la dirección de origen o la dirección de destino es
importante utilizar la máscara de red para indicar un mayor o menor número de
ordenadores. Así por ejemplo, si en la dirección destino utiliza la dirección de clase
B 142.165.2.0/16 se hace referencia a todas las direcciones IP del tipo 142.165.x.x.
Si utiliza la dirección de clase C 192.165.2.0/24, hace referencia a las direcciones
del tipo 192.1 65.2.x. Por 10 tanto, si aumentamos la máscara de red, estamos
disminuyendo el número de direcciones IP hace referencia y si

224 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
disminuimos la máscara de red, entonces se hace referencia a un mayor número de
direcciones IP. En la tabla IJI-7, puede ver algunas de las posibilidades más
habituales.
Ejemplo Comentario
Re resenta a un único ordenador (por ejemplo, servidor web)
Re resenta a todas las direcciones IP del ti o 192.165.2.X
Re a todas las direcciones IP del tipo _____
Representa a todas las direcciones IP 4el tipo 192.X.X.X
Representa a todas las direcciones IP del tipo X.X.X.X
Durante el filtrado de paquetes se aplica la regla de "coincidencia total".
Todos los criterios de la regla tienen que coincidir con el paquete entrante; en caso
contrario, no se aplica la regla. Esto no significa que se rechace el paquete o que se
elimine, sino que la regla no entra en vigor. Normalmente, las reglas se aplican en
orden secuencial, de arriba hacia abajo. Aunque hay varias estrategias para
implementar filtros de paquetes, las dos que se describen a continuación son las
más utilizadas por los especialistas de seguridad:
• Construir reglas desde la más específica a la más general. Esto se hace
así para que una regla general no "omita" a otra más específica, pero
conflictiva, que entra dentro del ámbito de la regla general.
• Las reglas deberían ordenarse de tal forma que las que más se utilizan
estén en la parte superior de la lista. Esto se hace por cuestiones de
rendimiento. Normalmente un router detiene el procesamiento de una lista
cuando encuentra una coincidencia total.
6.2 EJEMPLO DE CREACIÓN DE UNA TABLA DE ENRUTADO
La figura IJI-9 muestra un router conectado a tres redes diferentes.
Debemos crear el conjunto de reglas para permitir que: la red pública se conecte a
Internet y que los servidores sean accesibles desde Internet; el servidor web se
encuentra en la dirección 195.20.74.5 y el servidor de correo se encuentra en la
dirección 195.20.74.5.
La tabla de enrotado renresenta el conjunto de reglas que actúan como
medida de seguridad para deterrÍÍinar si s?Petmite que un paquete pase o no.
"
"
",

.....'..
©RA-MA APÉNDICE JII: ASPECTOS BÁSICOS DE REDES 225
El conjunto de reglas está formado por seis reglas sencillas. La
complejidad de las reglas tiene propósitos educativos para mostrar los conceptos
del procesamiento de reglas (directiva) del filtrado de paquetes. Las notas acerca de
la implementación se incluyen siguiendo la descripción de cada línea del conjunto
de reglas.
Las reglas están agrupadas en tres grandes grupos: las primeras tres reglas
se aplican al tráfico que tiene como origen Internet y como destino la red de
servidores. Las reglas 4 y 5 permiten la comunicación entre Internet y la red
pública. y la última regla se utiliza siempre para indicar que el tráfico que no
cumpla las reglas anteriores debe ser denegado.
Interfaz Dir. origen Dir. destino Puerto Acción
Ethl 0.0.0.0/0 195.20.74.5/32 80 Aceptar
2 Ethl 0.0.0.0/0 195.20.74.7/32 25, 110 Aceptar
3 0.0.0.0/0 195.20.74.0/24 Denegar
4 0.0.0.0/0 125.89.7.0/24 Aceptar
5 Eth2 125.89.7.0/24 0.0.0.0/0 Aceptar
Denegar
Figura lJI-9. Ejemplo de red y de tabla de enrotado
• Regla 1. Esta regla permite el acceso entrante en el puerto 80, que
normalmente se utiliza para el tráfico http. El host que está en 195.20.74.5
es el servidor web. La organización no puede predecir quién va a tener
acceso a su sitio Web, por lo que no hay restricción en las direcciones IP
de origen.
226 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA
• Regla 2. Esta regla permite el acceso entrante a los puertos 25 y 110, que
normalmente se utiliza para correo electrónico (el puerto 25 es el servidor
smtp o correo saliente y el puerto 110 es el servidor pop3 o correo
entrante). El servidor de correo está en la dirección 195.20.74.7. Al igual
que en la regla anterior, como no se puede predecir quién va a tener acceso
al servidor de correo no se restringen las direcciones IP de origen.
• Regla 3. Esta regla elimina todos los paquetes que tienen como destino la
red donde se encuentran los servidores. Como la regla 1 y 2, si se ejecuta
antes, se permite el tráfico que va dirigido a los servidores web y correo
electrónico. Si se pone esta regla al principio de la tabla de emutado, no se
podrá acceder a ningún servidor.
• Reglas 4 y 5. La cuarta regla deja pasar el tráfico que va desde Internet a la
red pública. y la quinta regla deja pasar el tráfico que va desde la red
pública a la red de Internet.
• Regla 6. Esta regla bloquea explícitamente todos los paquetes que no han
coincidido con ningún criterio de las reglas anteriores. La mayoría de los
dispositivos de análisis realizan este paso de forma predeterminada, pero es
útil incluir esta última regla de limpieza. Incluirla aclara la aplicación de la
directiva predeterminada y, en la mayoría de los casos, permite registrar
los paquetes que coinciden con ella. Esto es útil por motivos jurídicos y
administrativos.
APÉNDICE IV
CLIENTES DE VOIP
Francisco Gil Montoya yJulio Gómez López
1. Introducción
Para que se pueda mantener una conversaClOn telefónica se necesitan
terminales que puedan procesar la voz humana, transformándola en impulsos
eléctricos que son enviados por la red RTC. O al menos, esto era así hasta la
llegada de la telefonía IP. Bajo este nuevo enfoque, las conversaciones ya no son
codificadas en impulsos eléctricos analógicos, es decir, en señales cuyo nivel de
tensión y/o corriente es proporcional a la presión sonora recogida por los mÍcros o
emitida por los altavoces. Ahora, la voz es codificada/decodificada mediante
conversores analógico/digitales y posteriormente (ya digital) paquetizada y lista
para ser enviada por redes Ethernet (u otro tipo de redes IP) mediante TCPIIP.
Esta labor se puede realizar de diversas formas hoy en día, siendo las más
utilizadas, las siguientes:
• Softphones o Teléfonos software.
• Hardphones o Teléfonos IP.
• Webphones o Teléfonos web.
228 VOlP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA
©RA-MA
Aun a pesar de la mejora tecnológica que implica el uso de la VozIP, hay
que destacar que todavía se sigue manteniendo el componente analógico a la hora
de transfonnar la voz en señales eléctricas. Esta fase sigue la técnica tradicional del
muestreo de señales tal y como se aprecia en la figura IV-l.
¡¡ j i T\\
CODlFUCIÓN 000011101111111111110 101 l0001000C
(código binorio) yc..r'Y'-r'YY''''';Y' ,Y',··J
035"1., •• 4<0
Figura IV-l. Esquema del proceso de conversión analógico-digital de una se¡"ial de voz
(Fuente:
2. Teléfono software o softphone
Los softphones son programas informáticos que simulan las
funcionalidades de un teléfono convencional, pero ayudados de dos periféricos
habituales: micrófono y auriculares o altavoces. Estos últimos dispositivos,
conectados al ordenador, permiten que la voz pueda ser tratada por el softphone y
así, ser transformada en paquetes IP.
Además de las típicas características de up teléfono, los softphones
incorporan diversas funcionalidades avanzadas, muy presentes en el ámbito de la
VozIP, como son videoconferencia, chat, grabación, etc.
\
Existe una larga lista de ellos, ya sea de pago o uso libre, con un sinfin
de características interesantes. Quizá entre los más usados dos muy
conocidos: X-lite y SJphone. ".
©RA-MA APÉNDICE IV: CLIENTES DE VOIP 229
En este apéndice se darán unas instrucciones acerca de cómo se deben
configurar para que puedan funcionar con un proxy SIP cualquiera, inclusive con
Asterisk.
2.1. X-LITE
El siguiente desarrollo se detalla para un sistema Windows, aunque es muy
similar para cualquier otro sistema operativo.
Para instalar X-Lite debe realizar los siguientes pasos:
• Descargue el ejecutable de la página web del fabricante Counterpath
(http://www.counterpath.com).
• Ejecute el proceso de instalación (véase la figura IV-2).
• En la pantalla que aparece a continuación, acepte la licencia y pulse Next.
• A continuación especifique el directorio de instalación y pulse Next.
• En la pantalla que aparece en la figura IV-3 indique los accesos directos
que desea crear y si quiere que x-lite se ejecute automáticamente al iniciar
el programa. Pulse Next para continuar.
• Se inicia el proceso de instalación y una vez finalizado, pulse Finish.
• Por último, reinicie el ordenador para completar la instalación.
Welcome to the X-Lite SelUp
Wizard,
\
n .. wilorn1a1Xu.lOJ.("""""""..

\
CickNe!d !OCOfÚllJe-, C'iI "
""""",
Figura IV-2. X-Lite. Inicio del proceso de instalación
230 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
StIItt!hoao:ldlionella$b,...""'*I..s......IDPI"f<m.... .......
cldttleol
AdIiIioIwII irlonot

Cl Uouno:h.,.",

!!1J l,..m.1he...........\\Ihdowo_
Figura Ill-3. X-Lite. Tareas adicionales
Seguidamente, se abrirá automáticamente el programa para realizar la
configuración de la cuenta de acceso (si esto no es así, pulse con el botón derecho y
seleccione SIP Account Settings) y aparecerá la pantalla que aparece en la figura
IV -6. Pulse Add
SIP ActQuot, X
Figura lV-4. X-Lite - SIP Accounts
Introduzca los datos de configuración de la cuenta SIP tal y como muestra
la figura IV -7.
©RA-MA APÉNDrCE IV: CLIENTES DE VOIP 231
Número de la extensión asignada
Dirección del setVidorde YolP
Figura IV-5. X-Lite - Configuración de una cuenta SIP
Introduzca los datos de la cuenta SIP, pulse Aceptar y seguidamente Close.
Una vez configurada la cuenta SIP, X-Lite ya está listo para realizar
llamadas.
Figura IV-6. X-Lite
••••••••••••••••••••••••••••••••••••
232 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
2.2. SJPHONE
Al igual que el detalle de X-lite, la configuración para el SJphone se
presenta en entorno Windows, aunque como se dijo, es muy similar para otro
sistema operativo.
Para realizar el proceso de instalación debe realizar los siguientes pasos:
• Lo primero es descargar el archivo ejecutable desde la web del fabricante
SJLabs (http://www.sjlabs.com) y ejecútelo.
• En la ventana que aparece en la figura IV -7, pulse Next para iniciar el
asistente de instalación.
• A continuación acepte la licencia del software, pulse Next y
automáticamente se inicia el proceso de instalación.
• Una vez finalizado el proceso pulse Finish (véase la figura IV-8).
Welcome to the
SJphone 1.65
Installatlon Wlzard
It slJOO!ÍIltC(lRIIIlIlIldedlhalJIQU eIt lIQ9ams
bebe IImiIIIIIIIs teI\4I
Ckk Cancel 10 teI\4I Pf\'IPII.Ihen dote lII'6' PIOIIIams
JIOU hIp;e fImÍ'I!I, Ckk Neli lo
WARNING: Tm I'JIOO'IIIItÍ$protedIId Iw Iaw eI1d

IM!lIOIJaII\ Cf lII'6'
podi:lnol lJI1daímínal

Figura IV-7. SJphone - Inicio del proceso de instalación
©RA-MA APÉNDICE IV: CLIENTES DE VOlP 233
SJphone 1.65 has been
successfUlly Installed.
1& .. 1
Figura IV-8. SJphone - Proceso de instalación finalizado
Si por casualidad tiene instalado algún tipo de Firewall (Panda, Norton,
etc.), cuando ejecute por primera vez SJphone debe permite las comunicaciones del
softphone (véase la figura IV-9).
,- Alerta de seguridad de WlOdo\'ls Z
>"1Ít
\ " Para ayudar a proteger su equIpo. Fllewall de Wlndows
\JI bloqueó algunas características de este programa

,.bj.'.

Figura IV-9. SJphone - Permitir tráfico
Seguidamente, se abrirá automáticamente el asistente para realizar una
configuración automática del audio. Pulse Next y realice los ajustes necesarios para
comprobar que el micro y el altavoz (o auriculares) funcionan correctamente.
Una vez instalado el sistema, debe configurarlo para ser utilizado con el
servicio de VoIP escogido. .
234 VOIP y ASTERlSK: REDESCUBRlENDO LA TELEFONÍA ©RA-MA
La vista inicial del software se muestra una pantalla como la de la figura
IV-lO. Inmediatamente utilice el interfaz en modo avanzado. Para ello ejecute la
opción To Advanced Mode que se encuentra dentro de Menu.
Figura lV-lO. Xlite en modo inicial (izquierda) y modo avanzado (derecha)
Seguidamente configure la cuenta de su proveedor. Para ello pulse en
Options dentro de Menú y seleccione Profiles. Debe añadir un nuevo perfil
pulsando en New (pantalla izquierda de la figura IV -11).
lmage ,houId be • 32><32
bmp, png 0' jpeg I ~ e ~ "
!han 10 Kb.
Figura IV-I J. Xlite en modo inicial (izquierda) y modo avanzado (derecha)
©RA-MA APÉNDICE IV: CLIENTES DE VOIP 235
Tal y como muestra la figura IV-12, introduzca el nombre del nuevo perfil
y pulse OK.

"'* SlPPtoxy: PI'cIIIe fQra cel fIfOlCr.'
SIP t.I1e ""die.
caIer WcrmatIoncen be eedI/ r.Mnged
Figura IV-12. Xlite en modo inicial (izquierda)
Seguidamente configure los parámetros de conexión al servidor SIPo

Cl u. Oúbound PlOIIj>
....
...rnod!t,
oUM MPOIb OIAbourd F'l0IIj> loo NAT
Figura IV-13. Xlíte en modo l !¿ial (izquierda)
Una vez introducidos los datos de la figura IV-13, pulse OK y el sistema
nos pedirá el nombre de usuario y la contrasefia de acceso (véase la figura IV-14).
236 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
r Service: UAL X
Please enter thís Infurmaoon to i n i t i a ~ t l the ser'o/il:e profíle
Account:
Password: ••••
¡jI2.a'le servíce informatlon permanently
Figura IV-l4. Xlile en modo inicial (izquierda) y modo avanzado (derecha)
Introducimos nuestros datos de usuario, pulsamos OK y ya estamos listos
para hacer y recibir llamadas.
Figura IV-15. Jphone
3. Teléfono web o webphone
Un teléfono web no es más que un cliente de VozIP pero que está
desarrollado completamente para funcionar en una página web. Su gran ventaja es
que no requiere, generalmente, de la descarga de ningún tipo de software. Esta
característica puede ser muy importante en ciertos entornos donde las políticas de
©RA-MA APÉNDICE IV: CLIENTES DE VOIP 237
seguridad que aplican los administradores en los equipos impiden la instalación de
programas no autorizados.
Otra punto fuerte es la escasez de problemas relacionados con los
cortafuegos, NAT y, en general, toda aquella técnica que tenga que ver con el
trasiego de paquetes desde algún software instalado en el ordenador. Esto se debe a
que el navegador web utiliza el puerto 80 para comunicarse con el exterior y
habitualmente este puerto suele estar libre y abierto.
El uso de teléfonos web no está tan extendido como el de los softphones,
aunque cada vez se pueden encontrar con más frecuéncia.
La tecnología empleada puede ser muy variada, aunque los que gozan de
mayor popularidad son los basados en la tecnología Java de Sun Microsystems.
Últimamente, están apareciendo otros sistemas que usan la tecnología Flash de
Adobe Systems.
La configuración de estas utilidades es muy similar a la de Jos softphones,
por lo que no se ahondará en los mismos, dejando al lector que pueda investigar
por su cuenta.
A modo de ejemplo se pueden apreciar algunos modelos de webphones en
las figuras IV-16 y IV-l7.
Figura IV-16. Teléfono web con tecnología Flash (www.flashphone.ru)
__
238 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA

___ __ __



[j Mute



CodecG.1t111
Internet
EJ



ComtmtN!Ue
O
Figura IV-17. Teléfono web con tecnología JA VA
4. Teléfono IP o

El teléfono IP es el en las redes de VozIP. Está
compuesto por la unión de un ATA, un micro con auricular, pantalla LeD y
botones. Por tanto, podemos considerar que un teléfono IP es el resultado en la
evolución de los teléfonos tradicionales, y al cual se le ha aftadido una pantalla
LeD más o menos avanzada junto al adaptador analógico-IP. Es más, hoy en día
incluso es posible que dentro de un teléfono IP encontremos una placa base con un
microprocesador (más o menos potente) corriendo como sistema operativo, Linux.
Por tanto, y teniendo en cuenta la potencia de dicho sistema, un teléfono IP puede
llegar a hacer prácticamente cualquier cosa que el fabricante desee incorporar.
Valga a modo de ejemplo, que ciertos teléfonos IP contienen navegadores web,
pueden trabajar con código XML e incluso permiten configurarse ellos solos para
recibir instrucciones específicas de algún servidor local o externo.
Debido al gran auge de la V ozIP, hoy en día existen numerosos fabricantes
que ponen al alcance del usuario una gama extensa donde elegir. En el capítulo 2,
©RA-MA APÉNDICE IV: CLIENTES DE VOlP 239
ya se habló de las diversas categorías que se han creado en función del precio final
y de las características que ofrecen
Figura IV-l8. Teléfono IP modelo Linksys SPA962, con funciones avanzadas y pantalla a
color
Figura IV-l9. Teléfono IP marca CISCO de altas prestaciones y precio
La configuración de los teléfonos IP es exactamente igual que la de los
adaptadores analógicos (muchos de ellos suelen ser un ATA de la marca más
pantalla y teclado, como se ha dicho anteriormente), siguiendo un patrón parecido
al de la figura IV-20.
__________,NI '1111111111/1111111111111""'"''
240 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
Figura IV-20. Página de configuración de un teléfono IP de Linksys
•••••••••••__111"'1'1"
1
APÉNDICE V
DISTRIBUCIONES PRECOMPILADAS
DE ASTERISK
Francisco Gil Montoya yJulio Gómez López

Gran parte del auge que ha tenido Asterisk, y la V ozIP en general, se ha
basado en hacer accesible su instalación y configuración. Hay que recordar que la
gran mayoría de usuarios que se acercan a Asterisk por primera vez suelen estar
familiarizados, habitualmente, sólo con entornos Windows, por lo que el hecho de
trabajar con Linux (o cualquier otro sistema operativo que no sea Windows, como
FreeBSD, Solaris, etc.) supone una barrera inicial muy fuerte. Además de no
conocer el sistema operativo sobre el cual se asienta Asterisk, muchos de los
usuarios novatos tampoco presentan destrezas en el uso de sistemas informáticos o
en el manejo de dispositivos de red. Por si fuera poco, es dificil conseguir, en un
tiempo razonable, las nociones técnicas mínimas que serían deseables para dicho
usuario inexperto, con lo que esto supone un factor en contra, por ejemplo, a nivel
empresarial. Si hay algo que no sobra en una empresa es tiempo.
Realmente, existe una necesidad de poder trabajar con Asterisk de una
forma más accesible e inmediata, de manera que sea posible poder "echar a andar"
242 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
un sistema, más o menos completo, de forma automatizada. Desde una perspectiva
económica, una empresa que no dispone de servicio informático propio o, si lo
posee, es escaso, no se puede permitir el lujo de emplear el valioso tiempo de sus
técnicos en entender la idiosincrasia de cientos de sistemas novedosos que afloran
en el mercado y que prometen "revolucionar" la manera de trabajar, relacionarse,
etc. Pero a 10 mejor sí pueden dedicar una pequeña fracción de tiempo en probar un
sistema que está listo en 30 minutos, y que, efectivamente, ayuda a ahorrar costes y
a optimizar muchas de las rutinas de la propia empresa. Si ese sistema
precompilado existe, sería cuanto menos interesante verlo en funcionamiento. De la
experiencia obtenida al "juguetear" con el sistema, se podrían inferir conclusiones
que desembocasen (o no) en una mayor profundización en sus características y
posibilidades.
Pues bien, esta funcionalidad la aportan los sistemas precompilados para
Asterisk, de entre lo cuales se puede citar al archiconocido Trixbox, o los más
novedosos como Elastix, PiaF o Voicebunfu.
Mucho se ha escrito acerca de la conveniencia en el uso de distribuciones
precompiladas frente a la utilización de Asterisk "a pelo" (en cualquier Linux), de
cara al aprendizaje del usuari() no iniciado. Existen muchos detractores del uso de
sistemas automatizados, los que desnaturaliza
y enmascara el uso y aprendizaje de la filOsofia de Asterisk, así como que se acaba
desconociendo la potencia real del sistema en su conjunto. Por otro lado, los
entusiastas de estas distribuciones defienden la facilidad de instalación y manejo, la
sencillez de configuración y el elevado grado de automatización de tareas que
conlleva. Además, ciertas distribuciones (como Trixbox o Elastix) suelen
incorporar, de serie, otras herramientas adicionales al propio servidor Asterisk
(corno Apache, MySQL, etc.) y que permiten añadir nuevas funcionalidades en el
manejo diario del sistema.
Es el usuario final el que debe entender las bondades del uso de estos
sistemas precompilados, y decidir dónde le es más conveniente su Jltilización (si es
que realmente le interesa). Así mismo, el usuario debe ser consciente de que no
puede descuidar la investigación y el aprendizaje sobre Asterisk, por más que
pueda ayudarse de un front-end
1
o GU¡2 para determinadas labores concretas. No
conocer la filosofia de trabajo de Asterisk es un grave error en el que no debe
incurrir aquel usuario que pretenda mantener o instalar servidores de telefonía
basados en Asterisk.
1 El front-end es la parte de un software que interactúa con el usuario.
2 GUI: Graphical User Interface o Interfaz Gráfica de Usuario.
© RA-MA APÉNDICE V: DISTRIBUCIONES PRECOMPILADAS DE ASTERISK 243
2 Sistemas para servidor
Seguidamente se pasará a describir las distribuciones que incluyen Asterisk
y que tienen más aceptación en el mercado. Cabe destacar que casi todas ellas son
de código abierto (OpenSource) y, por tanto, el usuario tiene cierta libertad para
usar, modificar y/o distribuir el código con las personalizaciones que estime
oportunas.
Para dar una idea de la potencia y facilidad de uso de las mismas, se
detallará de manera particular y más específica el uso de Elastix, el cual ha
irrumpido fuertemente en el mercado gracias al apoyo inicial de un grupo de
usuarios latinoamericanos. Puesto que este libro está dirigido especialmente al
mercado hispanohablante, se ha considerado oportuno hacer esta mención por su
relevancia.
2.1 ELASTIX
Tal y como lo describen sus propios autores, Elastix es:
" ... un software que integra las mejores herramientas
disponibles para PBx'l basadas en Asterisk pero con una
interfaz simple y fácil de usar. Además añade su propio
conjunto de utilidades y permite la creación de módulos de
terceros para hacer de este el mejor paquete de software
disponible para la telefonía de código abierto.
La meta de Elastix son la con fiabilidad, modularidad
y fácil uso. Estas características, añadidas a la robustez para
reportar, hacen de él la mejor opción para implementar un
PBXbasada en Asterisk".
La idea que subyace tras Elastix (igual que en las otras distribuciones) es
poder tener una centralita telefónica avanzada en menos de 30 minutos. Para ello,
se hace uso de una imagen .iso que incluye todo lo necesario para ser instalado en
un servidor (o PC convencional) de forma que tras el reinicio del mismo, podamos
estar en condiciones de efectuar llamadas y usar servicios.
, Centralita telefónica. Ver http://es.wikipedia.org/wiki/PBX
5
244 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
Elastix está basado en Centos 5 e incluye una larga lista de módulos
incorporados que, a modo de resumen, se enumeran a continuación:
• Soporte de video para realizar video llamadas (gracias al soporte de video
en Asterisk 1.4).
• Soporte para virtualización que pennite múltiples máquinas virtuales
Elastix sobre el mismo servidor.
• Interfaz Web para el usuario realmente amigable.
• "Fax a email" para faxes entrantes. También se pueden enviar documentos
para fax a través de una impresora virtual.
• Interfaz Web con sistema de tarificación incluido.
• Configuración gráfica de ¡XI.rámetrosde red.
" ~ " - ~
• Reportes de uso de recursos.
• Opciones para reiniciar/apagar remotamente.
• Detalle de llamadas entrantes/salientes y uso de canales (Call Detail
Recording o CDR en inglés).
• Módulo de correo de voz integrado (buzón de voz).
• Interfaz Web para correo de voz.
• Módulo de panel operador integrado (Flash Operador Panel FOr).
• Módulos extras: aplicación para CRM SugarCRM
5
y aplicación para
gestión de ta1:jetas de llamadas "Calling Carcf,6 .
• Sección de descargas con software de uso común.
, http://www .'asterinic . org
http://www.sugarcrrn.com/crrn/
http://www.asterisk2billing.org
7
© RA-MA APÉNDICE V: DISTRIBUCIONES PRECOMPILADAS DE ASTERISK 245
• Interfaz de ayuda empotrado.
• Servidor de mensajería instantáneo Openfire
7
integrado.
• Soporte multi-Ienguaje: inglés, español, ruso, coreano, griego, chino,
polaco, alemán, francés, rumano, esloveno, portugués, danés, italiano,
húngaro, búlgaro, serbio, croata y persa.
• Servidor de correo integrado que incluye soporte multi-dominio.
• Interfaz web para correo electrónico.
• Módulo para Call Center o Centro de Atención Telefónica.
2.1.1 Instalación
" ___
Lo primero que debe-rea1i:Zares descargar la versión ISO disponible en
http://www.elastix.org. Una vez descargada, grábela en un CD mediante algún
software específico. Existen multitud de ellos en versión libre tanto para Windows
(Express Bum, MagicISO, etc.) como para Linux (K3B, GnomeMaker, etc.).
Finalmente, inserte el CD en el servidor donde desea instalar el sistema, e inicie el
ordenador. El proceso de instalación debe ser como el que seguidamente se detalla
en la figura V -1, teniendo en cuenta las instrucciones que se proporCionan en las
esquinas inferiores derechas.
http://www.igníterealtime.org/projects/openfire/index.jsp
246 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
Figura V-l. Proceso de instalación de Elastix
Como se ha podido apreciar, el proceso de instalación no tiene mayor
. misterio que presionar la tecla Intro o Enter alguna que otra vez, e introducir
contrasefias. Si ocurriese algún error, se deberá empezar desde el principio, ya que
lo más probable es que haya algún conflicto con el hardware del equipo, por lo que
deberá examinarse el mismo para verificarlo.
©RA-MA APÉNDICE V: DISTRIBUCIONES PRECOMPILADAS DE ASTERISK 247
Una vez que tiene el sistema completamente instalado, ya puede acceder a
la interfaz web de administración.
Es importante resaltar, para los no iniciados, que el servidor Elastix está
montado sin la funcionalidad de escritorio, por lo que sólo dispone de la consola de
comandos. Para acceder a la interfaz web necesita otro PC que esté en la misma red
del servidor o bien, si desea acceder desde fuera de nuestra red, hay de configurar
el router para que redirija las peticiones del puerto 80 (http) hacia la IP del
servidor.
Habiendo realizado lo anterior, inicie el navegador (una buena elección
puede ser Mozilla Firefox), escriba la dirección IP asignada al servidor Elastix y
aparecerán las pantallas que puede ver en la figura V-2.
Pulsa' "Enter" para aC<>Ptar el

Figura V-2. Elastix - Inicio
Ya tiene acceso a la interfaz web, por lo que puede configurar el sistema.
2.1.2 Configuración
A continuación se va a describir cada una de las funcionalidades que
incorpora Elastix, deteniéndonos a explicar en detalle qué se puede conseguir con
las mismas.
Sistema - Información de sistema
Se presenta información sobre el estado de los recursos del sistema.
Permite monitorizar la carga de la CPU, el uso de memoria, el tiempo que lleva el
sistema encendido y el estado de uso de los discos duros. Además, también muestra
información gráfica que relaciona el número de llamadas simultáneas con el uso de
CPU y memoria.
248 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA

"­ ----------.------.- .. _---------------­ :
,.. I ........
Figura V-3. Elastix - Información del sistema
Sistema - Red
Muestra información sobre las interfaces de red y los parámetros
configurados durante la instalación. Por defecto, el sistema se configura para
obtener una IP automáticamente (DHCP), pero se puede modificar a conveniencia
pulsando en Editar Parámetros de Red. Si no se dispone de servidor DHCP en la
red, Elastix incorpora uno propio que puede configurar pulsando en Servidor
DHCP.
Figura V-4. E/astix - Configuración de la red
Sistema - Administrar Usuarios
En esta pestaña se configuran los usuarios del sistema. Se pueden definir
grupos de usuarios que a su vez tendrán acceso a ciertas partes del sistema,
previamente definidas en Permisos de Grupo. Desde esta pestaña puede controlar
qué puede y qué no puede hacer cada usuario en particular (ya sea una extensión
telefónica o un usuario externo).
©RA-MA APÉNDICE V: DISTRIBUCIONES PRECOMPILADAS DE ASTERISK 249
Figura V-5. Elastix - Administración de usuarios
Elastix incorpora la posibilidad de añadir módulos personalizados que haya
a disposición de la comunidad. También puede desarrollar un módulo
personalizado (que cumpla con los estándares definidos por ellos) para añadir más
funcionalidades al sistema.
Figura V-6. Elastix - Módulos del sistema
Sistema - Gestión de apagado
Desde esta pestaña se puede apagar el sistema o reiniciarlo.

""""" d " "d
Figura V-7. Elastix - Gestión de apagado del sistema
250 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
Sistema - Detección automática de hardware
Una funcionalidad muy importante, sobre todo para los no iniciados, es la
posibilidad de configurar hardware zaptel de manera automática. Uno de los
principales quebraderos de cabeza para los usuarios que comienzan con Asterisk
está en configurar, de manera adecuada, las interfaces de acceso a la red pública
(tipo Digium TDM400, TE121, etc.). Elastix puede ayudamos en esta tarea, de
manera que puede configurar el sistema en cuestión de segundos (se recomienda
analizar el resultado de esta configuración, editando los ficheros /etc!zaptel.confy
/etc! asterisk/zapata. con./).
Figura V-8. Elastix - Detección automática de Hardware
Sistema - Actualizaciones
Al igual que otros sistemas de escritorio, Elastix incorpora la posibilidad de
actualizar los diferentes módulos que componen el sistema base Linux, así como
los propios módulos del sistema Elastix. Algo muy útil para solventar fallos o
mejorar las funcionalidades del sistema. Además, también podemos instalar
aquellos paquetes que nos puedan interesar (todo ello de manera visual), o incluso
puede añadir o quitar repositorios según sus intereses.
Figura V-9. Elastix Actualizaciones
©RA-MA APÉNDICE V: DISTRIBUCIONES PRECOMPILADAS DE ASTERISK 251
Sistema - Copias de seguridad
Se incorpora la posibilidad de realizar copias de seguridad del sistema. Es
posible realizar copias personalizadas que incluyen: base de datos, sonidos,
archivos de configuración de Asterisk, fax, buzón de voz, cuentas de correo y
monitorizaciones. Las copias se almacenan en el disco local, por lo que deben
moverse manualmente si desea guardarlas en un lugar más seguro.
Figura V-lO. Elastix - Gestión de copias de seguridad
Sistema - Preferencias
Es posible configurar el idioma de la interfaz, la fecha y la hora, así como
el aspecto visual.
Figura V- ¡ l. Elastix - Preferencias
PBX- Configuración de PBX
En la pestaña correspondiente a PBX, se puede encontrar la interfaz de
gestión de Asterisk, FreePBX, pero embebida en la hoja de estilo del propio
Elastix. Sólo aparecen las funcionalidades típicas o de más uso, aunque si se pulsa
en unembedded FreePBX, es posible abrir una nueva ventana con la versión
completa de dicha interfaz, donde se tienen todas las funcionalidades disponibles.
252 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
Puesto que en el Capítulo 5. Gestión de Asterisk mediante interface Web,
se hace una revisión a fondo de FreePBX, se remite al lector a su análisis para un
mejor entendimiento.
Figura V-J2. Elastix Configuración de PBX
PBX- Flash Operator Panel (FOP)
Elastisk incorpora el módulo Flash Operation Panel (FOP) para poder ver
en tiempo real la actividad del sistema.
",,,.-"._-,,,..,
Y""";". "" ••
0'';':-.... ..
o fl'l5 ';"'_·4-..;_
" " __ __
Figura V-J 3. Elastix - Flash Operator Panel
©RA-MA APÉNDICE V: DISTRIBUCIONES PRECOMPILADAS DE ASTERISK 253
PBX - Buzón de voz
Elastix dispone de una interfaz para el manejo de los buzones de voz de los
usuarios. Cada vez que entra un mensaje en el buzón de algún usuario, se puede
consultar inmediatamente en esta ventana. Para poder acceder a esta funcionalidad,
se debe haber dado de alta al usuario en cuestión en la interfaz de administración.
Es posible escuchar el mensaje directamente o descargarlo al PC.
Figura V-l4. Elastix - Buzón de voz
PBX - Monitorización
En la ventana de monitorización se pueden listar todas las grabaciones que
se han realizado a las extensiones a las cuales se les tiene habilitado tal
funcionalidad. Aparece detallada toda la información de cuándo se realizó la
llamada, a quién se hizo, la duración, etc. y además puede escuchar "online" o
bajársela al Pe.
Figura V-l5. Elastix - Monitorización
~ , ; ...,."'"
"
254 VOIP y ASTERlSK: REDESCUBRlENDO LA TELEFONÍA ©RA-MA
PBX- Cancelador de eco
Elastix incorpora de serie una cancelador de eco para su uso en los canales
tipo Zapo En esta ventana se habilita o deshabilita su uso.
El cancelador usado es OSLEC
8
, el cual ha sido desarrollado por David
Rowe, y ha sido liberado bajo licencia GPL. OSLEC se acerca (sin llegar a
cumplirlo del todo) al estándar G 168, aunque proporciona unos resultados
excelentes en aquellos entornos en los que hay presencia de eco.
Fi}ura V-16. Elastix - Cancelador de eco
PBX- Configuración de Endpoints
A través de esta pestaña puede autoprovisionar dispositivos presentes en
nuestra red. Elastix soporta actualmente algunos modelos de Linksys, Grandstream,
etc.
Si el dispositivo tiene habilitado la funcionalidad de autoprovisionamiento,
Elastix lo detectará y podrá asignarle un perfil de extensión, previamente creado en
FreePBX.
f .....' _ ~ ......... '.,......
,...... -- - ...... ­
Figura V- ¡ 7. Elastix - Configuración de Endpoints
s http://www.rowetel.com/ucasterisk/oslec.htrnl
©RA-MA APÉNDICE V: DISTRIBUCIONES PRECOMPILADAS DE ASTERlSK 255
PBX - Conferencias
Elastix incorpora un gestor propio de conferencias que ayuda al
administrador en el manejo de las mismas. Una vez que se ha creado la conferencia
en FreePBX, se pulsa en Nueva conferencia y se introducen los datos requeridos, y
de esta forma tendrá un gestor que permite realizar diversas acciones sobre los
usuarios de dicha conferencia: quitar la voz, expulsar de la conferencia, etc.
Figura V- /8. Elastix - Conforencias
PBX - Importar Extensiones
Se pueden importar lotes de extensiones hacia el sistema. Muy útil cuando
hay que migrar de forma masiva a usuarios de un sistema a otro o hay que
introducirlos por primera vez. También es posible descargar los datos de los
usuarios existentes.
El formato de trabajo es un archivo de texto separado por comas (.csv) con
los campos adecuados.
Figura V-/9. Elastix- Lotes de extensiones
256 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONíA ©RA-MA
PBX - Herramientas
A través de esta ventana es posible realizar dos tareas: ejecutar comandos
en Asterisk desde el CLI (Command Line Interface) y editar los archivos de
configuración (.conf).
Figura V-20. Elastix - Herramientas del sistema
Fax Listado de laxes
Elastix incorpora una funcionalidad muy destacada en cualquier centralita
telefónica comercial: la posibilidad de manejar faxes. Pero no sólo los maneja, es
que también permite actuar como un fax, pudiendo recibir y enviar faxes a
cualquier destino. Para poder desplegar esta característica se apoya en dos
módulos: IAXmodem e Hylafax. El primero es un software que emula un módem
de datos y que se comunica con Asterisk mediante el protocolo IAX, mientras que
el segundo es un software para gestión de faxes.
En la pestaña de Listado de Faxes puede ver las unidades de fax que hay
definidas en el sistema, así como su estado y otros datos relevantes.
©RA-MA APÉNDICE V: DIS'IRIBUCIONES PRECOMPILADAS DE ASTERlSK 257
Figura V-21. Elastix Listado de Faxes
Fax"":'Aij.adir fax virtual
"
'''\,
En apartado se introducen los datos necesarios para configurar una
unidad de fax. \para gestionar cada línea de fax, habrá que definir una extensión
tipo IAX que, su vez, se comunicará con IAXmodem. Se puede configurar un
correo de destino para recibir notificaciones de envío y recepción.
I
Figura V-22. Elastix - Fax virtual
Fax - Fax master
Pestaña para introducir el correo electrónico del administrador del servidor de fax.
Figura V-23. Elastix - Fax Master
258 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
Fax - Clientes de fax
Permite definir qué máquinas pueden enviar faxes usando software al
efecto (por ejemplo, Winprint Hylafax). Debe introducir la IP de aquellas máquinas
que pueden enviar faxes al sistema para ser procesados.
V-24. E/as/ix - Clientes de Fax
Fax - Visor de faxes
Elastix incorpora un visor donde pueden verse todos los faxes enviados o
recibidos en formato PDP. Sólo es necesario hacer clic en el enlace adecuado y se
nos abrirá el documento de fax correspondiente.
Figura V-25. E/astil: - Visor de laxes
©RA-MA APÉNDrCE V: DrSTRIBUCIONES PRECOMPILADAS DE ASTERISK 259
Fax - Plantilla de correo electrónico
En esta pestaña se configuran los parámetros relativos al envío por correo
electrónico de los faxes recibidos. Nonnalmente, cuando un fax entre en el sistema,
será enviado a la cuenta de correo electrónico correspondiente, usando los datos de
envío de la plantilla.
Figura V-26. Elastix - Plantilla de correo electrónico
Correo Electrónico - Dominios
Además de la centralita telefónica y del servidor de faxes, Elastix incorpora
un servidor de correo electrónico.
En la pestaña se crean los dominios disponibles y que desee gestionar con
Elastix para el correo electrónico.
Figura V-27. Elastix - Dominios del correo electrónico
Correo Electrónico - Cuentas
Iremos creando cuentas de correo electrónico asociadas a dominios.
Introduzca el nombre de usuario, la contraseña y la cuota de espacio en disco
asignada.
________l1li1011;'''','
260 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
Figura V-28. ElastLy Cuentas de correo electrónico
Correo Electrónico - Relay
- _ ~ Sólo se pueden enviar correos electrónicos desde redes habilitadas. Por
defect(\'.glastix no permite enviar correos a cualquiera (para evitar ataques con
correos . ), por lo que deben darse de alta aquel1as redes que estén
autorizadas.
Figura V-29. Elastix - Correo electrónico - Relay
Correo Electrónico - Correo web
Como servicio para el usuario, se dispone de una interfaz para el correo
electrónico vía web. Se usa la plataforma RoundCube.
Figura V-30. Elastix - Correo web
©RA-MA APÉNDICE V: DISTRIBUCIONES PRECOMPILADAS DE ASTERISK 261
Mensajería Instantánea
Otra de las funcionalidades estrella de Elastix es la integración de la
mensajería instantánea con Asterisk. Se utiliza para ello el servidor de mensajería
Openfire, el cual nos va a permitir tener tanto mensajería instantánea entre clientes
corno indicación de presencia, usando el protocolo Jabber/XMPP.
Mediante el módulo adicional Asferisk 1M y el uso de un cliente de
mensajería (corno Spark) se puede interactuar entre los usuarios de nuestro
Asterisk consiguiendo:

Mensajería instantánea entre usuarios de la red corporativa e incluso,
usuarios de fuera de la red corporativa.
Mensajería instantánea con usuarios de otras redes de mensajería como
1CQ, MSN, Yahoo, A1M, etc .
• \ Indicación de presencia. Mediante el uso de módulos adicionales, se puede
\publicar el estado de un determinado usuario (está al teléfono, está
¡desconectado... ), no sólo entre clientes de mensajería, sino en páginas
web.
,:;oro'<lP.t,.""'''d.
..&t
A COOI.I'III'c,,", 'It!1n 1f e>le ,.,..,.00, p,...",,,,,.r"¡ M\M PrOjl<'&""3· pafi! ... M:¡¡¡ ¡¡ro""''''etl dil , ..... ,,,.. CQ""!/'.I,¡¡t-<lIl6$ n>



F pwn *'illtU:Ia' !I!.!I',aeo p>re ... "¡ ('Me,,,,"es O\tl'
Pu.d<> "',¡éftM!<J. ;;.,.Xc-" pMiI _r.o
E' rlf¡ .. jj _¡j;:¡- fl <li,o mAtM $¡ SR L11l4l:da j, '-,0
Ul.nd3f, tM'. ,*,"",,;';1: M al M"rt> Faerlé .. los ,-'$t«:
;!s
Tooa,
of.!<><""""""",_<!o
n<otM

"".CCIO,,,,,
Figura V-3i. Elastix - Mensajería instantánea
262 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
Reportes - CDR
Se puede mostrar un detalle de llamadas bastante completo, con indicación
de diferentes parámetros de la llamada como fecha, número destino, duración de
llamada, etc.
La interfaz permite una búsqueda de cualquier llamada efectuada en base a
diferentes campos de la misma, proporcionando una gran flexibilidad a la hora de
obtener información relevante.
Figura V-32. Elastíx - CDR
Reportes - Uso de canales
En el reporte de uso de canales se muestra de manera gráfica el uso de los
diferentes canales a lo largo del tiempo. Es útil para observar de un vistazo la carga
en llamadas que tiene nuestro sistema.
Figura V-33. Elastíx - Estadísticas de uso de canales
&
©RA-MA APÉNDICE V: DISTRIBUCIONES PRECOMPlLADAS DE ASTERISK 263
Reportes - Facturación
Otra funcionalidad interesante que aporta Elastix es la posibilidad de
tarificar las llamadas de una manera simple y rápida. Se definen las tarifas por cada
destino mediante el nombre, el precio por minuto y el establecimiento de llamada.
Además, se tiene un reporte tanto gráfico como en texto de las llamadas
facturadas de nuestro sistema. Por último, puede indicarle al sistema qué canales de
salida serán tarificados en el apartado Configurar facturación.
Figura V-34. Elastix - Facturación
Extras - vTigerCRM
En la pestaña Extras, se incluyen diferentes aplicaciones realizadas por
terceros y que aportan diferentes funcionalidades.
El caso de vTigerCRM es una solución CRM de código abierto y gratuita
que se integra con Asterisk. Para más información sobre el uso de esta aplicación
se puede consultar http://www.vtiger.coml
. ~ ~
.. t , _ ~ " , _
~ ~ ~
Figura V-35. Elastix vTigerCRM
264 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
Extras A2Billing
Otra aplicación de terceros muy utilizada e interesante es A2Billing.
Mediante esta interfaz, tenemos un completo sistema de manejo de tatjetas
telefónicas y de usuarios SIP e IAX, a los que podemos tarificar y ofrecer una gran
cantidad de servicios personalizados.
Esta aplicación será objeto de un detalle más pormenorizado en el Anexo
VI - Software de terceros para Asterisk.
Figura V-36. Elastix - A2Billing
Extras - Descargas
Elastix tiene información y enlaces sobre utilidades varias que serán
necesarias en el uso de la centralita. Entre estas utilidades están clientes software
de telefonía, clientes de fax y clientes de mensajería instantánea.
Figura V-37. Elastix Descargas de softphones
YiP:
© RA-MA APÉNDICE V: DISTRIBUCIONES PRECOMPILADAS DE ASTERISK 265
Extras SugarCRM
SugarCRM es otro módulo de terceros parecido a vTigerCRM, es decir, se
usa como aplicación CRM y se integra con Asterisk para ofrecer a los agentes
información de los clientes que llaman al sistema mediante el uso del identificador
de llamada .
.~ ,
Figura V-38. Elastix - SugarCRM
2.1.3 Conclusióu e impresiones
Como se ha podido apreciar, Elastix es una buena solución para aquellos
usuarios que desean realizar un despliegue rápido y seguro de una centralita
telefónica. No sólo eso, Elastix permite tener mucho más que un sistema
telefónico, permite tener un sistema de mensajería, un sistema completo de fax, un
sistema de tarificación para telefonía, un sistema de gestión CRM, y todo lo
anterior sin que el usuario necesite emplear excesivo tiempo en descargas,
configuraciones e instalaciones.
Esta solución también permite que usuarios inexpertos en el mundo de las
comunicaciones, Linux y redes informáticas, puedan hacer sus primeros pinitos, sin
acabar desmoralizados o irritados con las complejas configuraciones en un entorno
"hostil" para el no iniciado.
La potencia del sistema instalado, su interfaz sencillo e intuitivo, y el
apoyo de una gran comunidad de usuarios y empresas del sector, hacen de Elastix
un gran candidato para convertirse en el sistema telefónico ideal para las pequeñas
y medianas empresas que buscan la sencillez y la facilidad de uso.
266 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
2.2 PBX IN A FLASH
2.2.1 Instalación y configuración
Si lo que se persigue es una instalación más sencilla y limpia, sin depender
excesivamente de personalizaciones externas, entonces el candidato perfecto es
PBX in a Flash (PIAF).
Esta distribución está basada fundamentalmente en la web de gestión
FreePBX. A diferencia de Elastix, PIAF intenta introducir los mínimos cambios
posibles en el sistema original Asterisk. Para ello hace uso de scripts
9
que permiten
descargar el código fuente de Asterisk desde su ubicación en Internet, para su
posterior instalación sin que el usuario intervenga en absoluto en dicho proceso.
El resultado final es un sistema dedicado Asterisk instalado en la
distribución Centos 5 y que permite ser configurado a través de FreePBX.
Adicionalmente, los creadores de PIAF han puesto a disposición de la comunidad
de usuarios diferentes scripts mediante los cuales es posible habilitar nuevas
funcionalidades a conveniencia. Todo lo anterior, siguiendo una metodología
automatizada, pensada para el usuario con conocimientos limitados o básicos.
Entre los scripts más importantes están:
• Instalación de Gtalk y speex
• Instalación de codees (en versión educacional) g.729 y g.723
• Copias de seguridad de disco completas
• Aplicación para conocer el tiempo en determinados lugares o aeropuertos
• Recordatorios telefónicos
El conjunto final acaba siendo un sistema Asterisk al que el usuario puede
ir añadiendo a conveniencia aquellas funcionalidades que le parecen de interés, aun
sin tener unos conocimientos avanzados de Linux o VozIP.
Una característica importante de PIAF es que no parchea, ni modifica, ni
retoca el código fuente original de Asterisk, Zaptel o Libpri, por lo que, de alguna
forma, no se enmascaran la potencia y funCionalidad original de Asterisk.
, http://www.alegsa.com.ar/Dic/script.php
©RA-MA APÉNDICE V: DISTRIBUCIONES PRECOMPILADAS DE ASTERISK 267
A modo de ejemplo, se adjlUltan alglUlas capturas de la interfaz web que
gestiona el sistema.
E
¡
---,...... ,- ..
é ......
.do'__ . ••-'-­
Figura V-39. Interfaz de usuario PIAF
¡
OL"".. Q ¡j (:t p...,. :.7;,. 2i
. ___-_: ________ __ ____ g,U; ,',-4'•
.'cJ8X"m.':.tl;,fiJalb
Figura V-40. Menu de configuración para el usuario final
Como se puede apreciar en las figuras V-39 y V-41, el sistema tiene
habilitados lUlOS accesos directos a funcionalidades típicas de la central como
pueden ser buzones de voz, grabaciones, panel de operador e incluso, interfaz de
usuario para software de tarificación (A2Billing). En la interfaz de administrador se
puede acceder a otros sitios como Webmin
lO
(véase la figura V-42) o FreePBX.
10 http://es.wikipedia.org/wiki/Webmin
268 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
--
fl ..
­

.. ..
._­
'-.
rll
Figura V-4I. Interfaz de administración de PIAF
"",*,"'"_ttI<'_1If\fIo
0-' o ;-.-- "j,\"- e :,,)...q..i.if,a,
i mOl p",IO".1
: Op.. OII'og.,....
: ¡;¡¡ ..
i "'So"","
,1lIN_,n!l

A.... ....00• ., o.oIEI "'0'. ¡¡.t:Jl o.oIEI .,0<1
i .."O
: ¡¡CIII,...
I
Figura V-42. Interfaz Webmin
........
0-' o
Figura V-43. Flash Operator Panel
© RA-MA APÉNDICE V: DISTRIBUCIONES PRECOMPILADAS DE ASTERISK 269
2.2.2 Conclusión e impresiones
Al igual que Elastix, PIAF permite tener operativo un sistema completo
telefónico en pocos minutos, y además, sin conocimientos avanzados de Linux o
telefonía. Su posterior configuración recae en la correcta utilización del entorno
FreePBX para poder poner en marcha todo lo necesario, como son extensiones,
troncales de salida, proveedores, etc.
PIAF no introduce mucha variedad en cuanto a aplicaciones de terceros, a
diferencia de Elastix, limitándose exclusivamente a Asterisk y algunas pequeñas
utilidades adicionales. Esto redunda en un sistema más limpio y mejor controlado
por el administrador.
Desde este punto de vista, PIAF parece más recomendable para aquellos
usuarios iniciados que sólo desean disponer del sistema Asterisk, pero a través de
un manejo más o menos automatizado, y añadiendo la posibilidad de actualización
mediante el uso de scripts confeccionados al efecto por terceros.
2.3 ASTERISKNOW
Otra distribución que está cosechando gran popularidad debido a su
sencillez de instalación y configuración es la desarrollada por Digium bajo el
nombre de AsteriskNow. A pesar de haber sido el primer desarrollo de este tipo,
Digium adquirió en 2007 la plataforma SwitchBox, por lo que pasó a centrarse
comercialmente en la misma. El proyecto original no ha sido abandonado y
actualmente, siguen ofreciéndose versiones y mejoras, aunque todo apunta a que
AsteriskNow no alcanzará el nivel profesional de otras soluciones de Código
Abierto o Comerciales.
Digium la califica como "Asterisk en pocos minutos". En realidad es una
distribución de Linux (Rpath) que incluye de manera nativa Asterisk 1.4 más el
interfaz web de gestión AsteriskGUI Además posee todo el software necesario
para el pleno funcionamiento de Asterisk.
Su interfaz web usa la tecnología AJAM (Aynchronous Javascript Asterisk
Manager), la cual permite a los navegadores web u otros aplicaciones que usen http
acceder directamente al Asterisk Manager Interface (AMI).l1 De esta forma se
l! http://www.voip-info.org/wiki-Asterisk+manager+API
270 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
pueden leer eventos y ejecutar comandos en el sistema de manera apropiada y vía
web.
A continuación se muestran algunas capturas que dan idea del proceso de
configuración de una central telefónica usando el interfaz AsteriskGUI.
Figura V-44. Autentificación del sistema Figura V-45. Pantalla de inicio
- ~ - ~ - _ . ~
""".... _..­ ~
,"-­
Figura V-46. Creación de usuarios Figura V-47. Manejo de salas de
conferencias
©RA-MA APÉNDICE V: DISTRIBUCIONES PRECOMPILADAS DE ASTERISK 271
Figura V-48. Buzón de voz Figura V-49. Creación y configuración
de colas
..,..-"'-­
8P1?e t:-'¿'
Figura V-50. Creación de proveedores
telefónicos
-""",,,,-....-_­
c: ?: '.

....... _.._,...r_._
Figura V-52. Detección de sistemas RDSI
Figura V-51. Detección de hardware
telefónico
Figura V-53. Creación de rutas de salida
272 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
Figura V-54. Creación de rutas de entrada Figura V-55. Configuración de menús
vocales IVR
Figura V-56. Parking de llamadas Figura V-57. Creación de grupos de salio
Figura V-58. Grabación de menús vocales Figura V-59. Pantalla de llamadas activas
0,- o - '"
:.4........... "-""._... __
11
©RA-MA APÉNDICE V: DISTRIBUCIONES PRECOMPILADAS DE ASTERISK 273
-,-""-....,.,---­
Figura V-60. Información del sistema
"'.... ''''M ,.. - __ _ ,_
G,' e - ".,,",,.,,,,,,", ..
M.,..¡
...-._,, ''''''-'''''''''"'-'­
Figura V-62. Editor de ficheros de
configuración
"'.... ...-._._- ---­
,"',.. """' .... ,

Figura V-64. Realización de copias de
seguridad

(IV' e " "" .;",,',,', ..
,...... _.,_._f«t __
Figura V-61. Log del sistema
... ..-..,.
G',- e • , "-, -"m·_"'_H_
-,_'""*....,..

Figura V-63. Consola de Asterisk
¡':-,; ;--: '":-::. ::::::..::_, ....
...-----"""
Figura V-65. Opciones varias
lIIIIIIIIiíIño

274 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
3 Sistemas integrados o de capacidad limitada
Los sistemas de capacidad limitada (SCL), también llamados sistemas
integrados (a veces traducido del inglés corno empotrado o embebido), se usan
fundamentalmente en tareas muy concretas y que requieren la dedicación de pocos
recursos en comparación con sistemas tipo servidor o PC de sobremesa.
Tradicionalmente han sido sistemas con unas características limitadas en
cuanto a capacidad de procesamiento, almacenamiento, etc. forzados por sus
reducidas dimensiones y su escasa potencia eléctrica.
Tal y corno se explica en wikibooks.org,12 los sistemas SCL pueden ser
descritos más bien por lo que no son, que por lo que sí son. Desde este punto de
vista, un PC sirve para realizar múltiples tareas como leer correos, navegar por
Internet, escuchar música, etc., sin embargo, un SCL realizará, usualmente, una
única tarea o un número reducido de ellas preprogramadas de fábrica. Como
ejemplo de SCL's podernos citar reproductores de música MP3, sistemas de
. navegación GPS, alarmas, enrutadores, etc.
Muchos sistemas SCL suelen trabajar, además, en entornos donde la
computación en tiempo real es crítica. Cada resultado u operación es efectiva si se
produce en el lapso de tiempo correcto. Un piloto automático de un avión es un
claro ejemplo de sistemas integrados en tiempo real. Si el piloto automático detecta
una variación de la ruta, entonces debe seguir los pasos necesarios en cuestión de
milisegundos para corregir dicha desviación, o de lo contrario, el desastre está
asegurado.
Cada día que pasa, los fabricantes están redefiniendo el concepto que
tenernos sobre sistemas integrados, consiguiendo reducir el tamaño de los
dispositivos hardware más y más a la vez que aumentan sus prestaciones. De esta
forma vernos que en la actualidad están surgiendo infmidad de ordenadores que
tienen un tamaño muy reducido pero a la vez son muy potentes y versátiles. Este es
el caso de los nuevos equipos que emplean placas base con formato Mini-ITX,
Nano-ITX o Pico-ITX del fabricante Vía Technologíes. En la figura V-66 se
muestra la placa base Pico-ITX.
http://en.wikibooks.org/wiki/Embedded_Systems/Embedded_Systems_Introduction
©RA-MA APÉNDICE V: DISTRIBUCIONES PRECOMPILADAS DE ASTERISK 275
Figura V-66. Placa base Vía Pico-ITX
Estos ordenadores están llevando la arquitectura x86 a extremos
inimaginables hace tan sólo unos años, reduciendo al máximo el consumo de
energía así como el calor producido por estos dispositivos. Esto los hace ideales
para diseñar soluciones reducidas que realicen funciones específicas, como pueden
ser las propias de un servidor web, un reproductor multimedia o un enrutador.
Juntando la potencia de esta nueva generación de miniordenadores con
cualquiera de la amplia gama de sistemas operativos GNU/Linux podremos obtener
un rendimiento excelente para la ejecución de todo este tipo de tareas. Esto se debe
a que los sistemas GNU/Linux pueden aprovechar al máximo el hardware sobre el
que son empleados, algo que constituye una de sus principales ventajas. A
diferencia de otros sistemas operativos propietarios, en GNU/Linux podemos
configurar nuestro sistema para que se adapte al máximo a nuestras necesidades,
obteniendo así el mejor rendimiento sobre cualquier tipo de hardware.
Desde este punto de vista, y gracias a la perfecta adaptación de GNU/Linux
a los SeL, es posible hoy en día realizar la instalación de Asterisk en una gran
variedad de dispositivos integrados. El resultado es una mini-central telefónica que
puede gestionar una cantidad aceptable de llamadas simultáneas (del orden de una
decena o menos, habitualmente) de manera exitosa, así como diversos servicios
asociados como buzón de voz, colas, salas de conferencias, etc. Para entornos de
pequeña oficina, residencial, etc. ¡más que suficiente!
Puesto que existen numerosas distribuciones GNU/Linux con Asterisk, y
que se adaptan a casi cualquier máquina, se van a detallar las distribuciones más
extendidas para este tipo de dispositivos.
276 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
3.1 ASKOZIA PBX
El proyecto AskoziaPBX nació en junio de 2007, concretamente en el
Institut for Kommunikations systeme und Technologies (IKT), de Wolfenbüttel
(Alemania). Su principal mantenedor es Michael Iedema.
Askozia es una distribución basada en FreeBSD y está pensada para ser
empleada en sistemas pequeños y de poca potencia. Sus principales características
son:
• Sistema completo en menos de 15 MB.
• Diseñado específicamente para sistemas integrados de bajo consumo
eléctrico.
• Basado en FreeBSD 6.2, incluyendo la rama lA de Asterisk.
• Configuración de sistema archivada en un único fichero XML.
Debido a estas características, Askozia puede ser instalado prácticamente
sobre cualquier tipo de soporte (USB, MMC, SD, HDD ... ). Un detalle importante
es la posibilidad de guardar toda la configuración del sistema en un solo archivo
XML, lo cual permite una gran flexibilidad a la hora de poder trabajar con
diferentes configuraciones, realizar copias de seguridad o incluso a la hora de
recuperar sistemas en producción que han tenido algún tipo de problema: se cambia
la máquina, se graba la imagen y se carga la configuración ... todo muy sencillo.
Askozia puede ser empleado en diferentes plataformas hardware, entre
ellas:
• Sistemas de PC basados en tecnología x86 (min. 64MB RAM, 200MHz
CPU)
• PC Engines: Wrap, Alixlx, Alix2x y Alix3x
• Soekris: Net48xx, Net55xx
• Herologic: HI4xx
• VMware
Además de lo anterior, Askozia presenta unas funcionalidades bastante
interesantes:
• Configuración vía web muy sencilla para teléfonos y proveedores, ya sean
SIP, lAX, RDSI o Analógicos.
RA-MA APÉNDICE V: DISTRIBUCIONES PRECOMPILADAS DE ASTERlSK 277
• Gestión de dispositivos inalámbricos (Wi-Fi).
• Uso de conferencias, parking de llamadas, transferencias, grupos de salto,
etc.
• Buzón de Voz (incluido el reenvío como fichero adjunto vía correo
electrónico).
• Inclusión de audios pregrabados en numerosos idiomas, entre ellos el
español (versión de voces del español Alberto Sagredo
13
).
• Notificación de correo electrónico en español y varios idiomas más.
En las figuras que siguen se pueden ver varias capturas del sistema y su
configuración.
_ ...... _ .. to<-.. __ !"ft
o -)<,
Figura V-67. Página de inicio Figura V-68. Configuración general
_.... _---­
Clriz_fI {t ,,, r_'
Figura V-69. Configuración de red Figura V-70. Configuración de RDSI
" http://www.voipnovatos.es/voces
278 VOIP y ASTERISK: REDESCUBRIENOO LA TELEFONÍA ©RA-MA
Figura V-71. Configuración de teléfono SIP Figura V-72. Aplicaciones para Dialplan
Figura V-73. Configuración de proveedor SIP
©RA-MA APÉNDICE V: DISTRIBUCIONES PRECOMPILADAS DE ASTERISK 279
Figura V-74. Configuración del buzón de Figura V-75. Gráficos de ancho de banda
voz
Figura V-76. Opciones avanzadas Figura V-77. Interfaz del AMI
Figura V-79. Logs del sistema
Figura V-78. Opciones avanzadas del
interfaz web
280 VOIP y ASTERlSK: REDESCUBRlENDO LA TELEFONÍA ©RA-MA
Figura V-80. Consola de comandos
Figura V-81. Terminal de AskoziaPBX
3.2 ASTLINUX
Otro proyecto pensado para ser usado en sistemas integrados de potencia
limitada es AstLinux. Creado originalmente por Kristian Kielhofner en 2004 y la
colaboración de otros autores, está basado en Genfoo y ha sido durante mucho
tiempo (y hasta la llegada de AskoziaPBX) la mejor distribución con Asterisk
preinstalado en el mercado de los dispositivos SCL.
Su filosofIa de trabajo es un tanto peculiar y difiere de'la que comúnmente
suele hacerse en sistemas más grandes, tipo servidor. Precisamente, esas
diferencias fueron las que impulsaron a Kristian Kielhofner a diseñar l.Ul sistema
que no usase discos duros tradicionales (lOE, SATA, etc.) sino memorias flash
(Compact Flash, USB, etc.) con la consiguiente mejora en fiabilidad al no usar
partes móviles. Para evitar l.UlO de los principales limitantes de las memorias flash,
como es la cantidad de ciclos de lectura y escritura, introdujo el concepto de
keydisk. Inicialmente, todo el sistema se monta en una memoria flash, en la cual no
se puede escribir nada. De esta forma, la vida útil de la tarjeta se alarga
enormemente y se evitan ciertos fallos. Como quiera que el sistema debe tener la
posibilidad de guardar ciertos datos importantes (buzones de voz, logs, copias de
seguridad, etc.), se hace uso de una segunda memoria flash (keydisk).
Así, uno puede tener varias keydisk con diferentes configuraciones listas
para ser cargadas en el sistema, mientras que el sistema base está alojado en otra
memoria (incluso en un CD o DVD) exclusiva para el arranque (no pudiendo
escribir en ella).
Además, Kristian concibió el sistema para funcionar con los elementos
mínimos, a diferencia de las distribuciones de Linux tradicionales. De esta forma,
consiguió un sistema en menos de 100 MB.
Las principales funcionalidades y características son:
• Kernel Linux 2.6 (Gentoo)
© RA-MA APÉNDICE V: DISTRIBUCIONES PRECOMPILADAS DE ASTERISK 281
• Asterisk l.2 (lA en versiones 0.6 y siguientes) y zaptel
• mini_httpd
• openssh
• vsftpd
• busybox
• php
• PTXDist
• mOnOwall
Existen versiones para Soekris net48xx y net55xx, VIA EPIA, PCEngines
WRAP y ALIX, Gumstix y arquitectura x86. También se soporta el hardware de
los fabricantes Digium, Sangoma, Rhino y Pika (incluyendo soporte para mISDN).
En las figuras siguientes se pueden ver algunos detalles de la configuración
de Asterisk mediante el interfaz web de AstLinux.
"_\<iM""' ____ _
"'_1... "" ...... _ .. __.. ,......
B;, o x
S/TliNUX
Figura V-82. Estado del sistema AstLinux Figura V-83. Configuración del sistema
Figura V-84. Consola de comandos vía web Figura V-8S. Log de llamadas
282 VOTP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA
ITliN
e ¿ ..
Figura V-86. TFTP
-"...,"'--- ......
_,,"
81/TliNUX
,'''''_.. ,.,.....'''!''...,.......

Figura V-88. Utilidades de red

a/TliNUX
ir;¡:
-, ... , ....


-- .•
Figura V-90. Shell para comandos
GNU/Linux
©RA-MA
"'-- .. .•
TliNUX
Figura V-87. Estado del sistema
...-­.....
g¡ o: ;.., ..
TliNUX
Figura V-89. Emulación de WAN
... ­ ...­ -
CiIf' (1 tt J, Q ....... .... ,
LiNUX
Figura V-91. Utilidades polivalentes
APÉNDICE VI
SOFTWARE DE TERCEROS PARA
ASTERISK
Francisco Gil Montoya yJulio Gómez López
1 Introducción
El rápido despegue de Asterisk y de la voz IP en general ha provocado una
gran revolución en el mercado de la telefonía y las nuevas tecnologías. Como suele
suceder cuando algún producto novedoso consigue conectar con tanta gente a lo
largo y ancho del mundo, se crea una gran comunidad de trabajo que aporta mucha
creatividad y, sobre todo, nuevas aplicaciones que interactúan o basan su capacidad
en dicho producto estrella.
Este ha sido el caso de Asterisk. Numerosos desarrolladores han visto el
gran potencial que tiene la telefonía libre y de código abierto gracias a la aplicación
creada por Mark Spencer, y han apostado por la integración y desarrollo de nuevo
software, permitiendo alcanzar, en su conjunto, niveles de calidad, fiabilidad,
potencia y facilidad de uso, jamás pensados en sus inicios.
Piénsese que las posibilidades que ofrece el uso de software de código libre
o abierto sólo quedan limitadas por la imaginación o destreza del desarrollador.
284 VOIP y ASTERlSK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
Este factor inigualable hace que sea sumamente sencillo y abordable crear
múltiples líneas de desarrollo tan polifacéticas como las siguientes:
• Plataformas de tarificación (Billing and Accounting)
• Envío y recepción de faxes
• Soporte para bases de datos (MySQL, PostgreSQL)
• Centros de atención al cliente (Cal! Center o Contact Center)
• Integración con CRM
1
(por ejemplo, SugarCRM)
• Gestión hotelera y locutorios
Figura VI-l. Puesto de trabajo de un centro de atención de llamadas
En definitiva, es posible desarrollar cualquier aplicación que integre, de
manera efectiva, bases de datos con gestión telefónica, y todo en tiempo real.
Este anexo está dedicado a algunas de las más importantes aplicaciones
que se han desarrollado para interactuar con Asterisk y, por supuesto, todas están
disponibles bajo licencia GPL
2
• Concretamente, se mostrará un entorno web,
realizado mayoritariamente en PHP, para labores de tarificación de usuarios y
1 http://es,wikipedia,org/wiki/CRM
,
2
©RA-MA APÉNDICE VI: SOFTWARE DE TERCEROS PARA ASTERlSK 285
control de tarjetas telefónicas denominado A2Billing. Además, también se
presentará otra solución muy ligada a la manera tradiciOnal de comunicación en la
empresa privada y pública, como es el envío y recepción de faxes, denominado
Avantfax.
Tarificación mediante A2billing
El paquete A2Billing (A2B) es una interfaz web usada para tarificación de
sistemas basados en Asterisk. Fue diseñado e implementado por Belaid Areski y
está considerado como el mejor paquete OpenSource para tarificación en Asterisk.
Sus funcionalidades son muy amplias y profesionales, por lo que muchos
usuarios en todo el mundo se están decantando para su uso a nivel de pequeños
operadores de VozIP, locutorios y ciber-cafés.
Entre las principales funcionalidades del sistema están:
• Servicio de tarjetas telefónicas prepago. A2B puede hacer de proveedor
de las típicas tarjetas telefónicas prepago, en las que el usuario marca un
número de la Red Pública Conmutada (RIC o PSTlVen inglés), el sistema
responde y da un nuevo tono de llamada tras un proceso de autentificación
(PIN o autentificación por identificador delllamante).
• Servicio de Retorno de Llamada (Callback' en inglés). A2B permite ser
usado como servidor de callback. Se puede utilizar bien vía web o de la
forma tradicional, es decir, reconociendo el identificador de llamante.
• Proveedor de telefonía IP residenciaL A2B puede gestionar:y facturar a
usuarios asociados a un servicio telefónico mediante V ozIP, y que usan
teléfonos IP o softphones.
• Terminación mayorista para VozIP. A2B y Asterisk pueden usarse a
modo de softswitch
4
para gestionar la terminación de minutos en diferentes
redes de comunicaciones, provenientes de diversas fuentes y revendedores
o mayoristas.
, http://es.wikipedia.org/wiki/Callback
, http://es.wikipedia.org/wiki/Softswitch
286 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
• Terminación para otros equipos Asterisk. Debido al crecimiento de las
centrales IP para telefonía, así como los sistemas basados en Asterisk, A2B
puede proporcionar servicios de tarificación a otros integradores o
revendedores de sistemas Asterisk.
• Terminación y redirección de DDI-DID
5
• A2B puede redireccionar hacia
cuentas SIP, IAX o Digital/Analógica cualquier DIO entrante, así como
facturar cargos mensuales o de cualquier otro tipo.
En este anexo se detallarán los aspectos más importantes de su
configuración para poder tener operativo un sistema de tarificación profesional
usando A2B. No se incluye ninguna guía para su instalación, puesto que existen
numerosas referencias en Internet.
• En español:
o http://www.ecualug.org/?q=2006/07/19/comos/instalar_un_sistema_
de _ facturacion -para_asterisk
o http://www.ecualug.org/?q=2006/12/12/comos/configurar_a2billing_
en menos de 10 minutos
• En inglés:
o
o http://www.sureteq.comlasteriskla2bv 1.2.3install.htrn
2.1 CONFIGURACIÓN
A2B tiene dos modos de operación: administrador y usuario. En el modo
administrador se realizan la mayoría de las acciones de configuración del sistema,
como creación de usuarios, tarifas, facturas, etc., aunque hay una parte de la
configuración que reside en el archivo letclasterisk/a2billing.conf. En el modo
s DID: Direct Inward DIaling y DDI: Direct Dial-In son términos usados en
literatura inglesa para referirse a la numeraci6n asignada por el operador
de telefonía a una central telefónica de empresa. Se asignan rangos de
numeración (DID' s) que la central gestiona cuando una llamada entra en la
misma, según los patrones propios de gesti6n.
©RA-MA APÉNDICE VI: SOFTWARE DE TERCEROS PARA ASTERISK 287
usuario se pueden realizar consultas sobre detalle de llamadas, ver tarifas, realizar
web callback, etc.
A continuación se hará un recorrido por las principales pantallas de
configuración en modo administrador.
,M L, 0'1 r 9
O'""" 1_" _ ..
l!!.C"'-Li\>i't"'.
llI_..·n:.
<
.r "'............., ""'''$0_ ......u..s ... .. " ... N........... __lc...
... ,.".,.n.f'Uw"""''' ....... ••• .. , ... tc......p_.. __M",",..IU'lY
Figura VI-2. A2billing - Pantalla de inicio
Pantalla de inicio de sesión. Se muestran las opciones principales:
• Customers. Gestión de usuarios.
• Billing. Métodos de pago, cargos específicos, transacciones, pagos
realizados, etc.
• Ratecard. Creación de tarifas y planes de precios.
• Package offer. Paquetes con ofertas de minutos.
• Outbound CID. Creación de identificadores de llamadas personalizados
para los clientes.
• Trunk. Creación de proveedores y canales de salida.
• DID. Manejo de numeración entrante personalizada. Facturación de
numeración asignada al cliente.
• Call Report. Detalles de llamadas, gráficas de consumo y carga del
sistema.
288 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
• Invoiees. Manejo de facturación de los usuarios.
• Reeurring Serviees. Manejo de alannas y cargos a usuarios por
suscripción.
• Callbaek. Manejo y estadísticas del servicio de callback.
• Mise. Manejo de prefijos telefónicos y creación de plantillas para correo
electrónico.
• Administrator. Manejo de administradores, sub-administradores.
Creación de copias de seguridad y visualización de archivos de registro.
• File Manager. Gestión de archivos para música en espera y archivos de
audio.
R
____ '.' __ , ____ :." __ -__ -_-_-- _____

- ',,- " ',,- - -- ,- - - ,'-"""'­ ,- ",
_
"'"
N ., ,\ .... oc" Ji!!'!,
:<!i!f- 1!i!'CM'.'

Figura VI-3. A2billing - Listado de clientes
Customers
Se pueden crear y administrar usuarios. Para crear basta con pulsar Create
Customers y rellenar los campos necesarios. Conforme se crean usuarios,
aparecerán en la pestaña List Customers y podremos ver sus detalles. Cada usuario
del sistema puede tener asociada, o no, una cuenta SlP e lAX.
Sobre cada usuario pueden realizarse diversas labores de actualización o
mantenimiento. Para ello se hará uso de la búsqueda de usuarios Search Cards y
luego se actualizará mediante Batch Update.
©RA-MA APÉNDICE VI: SOFTWARE DE TERCEROS PARA ASTERlSK 289
Creación de usuarios
Se deben completar una serie de campos para identificar al usuario
correctamente y que pueda operar en el sistema. Los más importantes son:
• Card Number. Número de usuario, se asigna automáticamente, aunque
puede ser personalizado en /etc/asterisk/a2billing.conf
• Card Alias. Identificador para acceder a la web de usuario.
• WebUI Password. Contraseña para acceder a la web de usuario.
• Balance. Crédito inicial asignado.
• Language. Idioma del interfaz de usuario.
• Call Plan. Plan de precios asignado al usuario. Se debe crear en la sección
Ratecard.
• Currency. Moneda de uso por el usuario. Útil a efectos de tarificación.
• Card Type. Define si el usuario será de tipo prepago o postpago.
• Sip account. Define si se crea un usuario SIP en Asterlsk.
• IAX account. Define si se crea un usuario IAX en Asterlsk.
• CallerlD. Permite asociar identificadores de llamadas al usuario al objeto
de usarlos en otros servicios como el caIlback o la autentificación de
usuarios S IP o IAX.
Billing
A través de la opción de Billing, se puede administrar todo lo que tiene que
ver con movimientos monetarios, medios de pago, etc.
A2B se integra con varios sistemas on-line de pago como Paypal,
Moneybookers y Authorize. Para una correcta configuración es necesario
configurar también, a2billing.conf
290 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONíA ©RA·MA
Figura VI-4. A2billing Alta de clientes
En View Money Situation se pueden listar todos los pagos que han
realizado los usuarios (Payments) ya sea por los métodos on-line, como de forma
manual. También se listan las actualizaciones de saldo (Refill) que A2B maneja por
separado, es decir, al hacer un pago (que no sea on-line) ~ e debe usar la opción
Refill disponible en List Customers para actualizar el saldo.
Además de obtener listados acerca de los pagos y la situación financiera,
también se pueden emitir cupones preactivados (vouchers). Sólo es necesario
acceder a Creat Voucher e introducir la cantidad a recargar. El usuario fmal sólo
©RA-MA APÉNDICE VI: SOFTWARE DE TERCEROS PARA ASTERISK 291
tiene que acceder a su pagma personal e introducir el código, y será
automáticamente recargado en la cantidad correcta.
Por último, en el apartado de Currency List, se tiene un listado de paridad
monetaria entre divisas (que se actualiza a través del portal financiero de Yahoo),
muy útil si se están usando diferentes monedas en el sistema.
/JlftJl(fiT <!lliQ
Autborize.Nef



Figura VI-5. A2billing Paypal


Figura VI-6. A2billing- Listado de tarjetas
292 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
Figura VI-7. A2billing- Cupón de recarga
data are automatJc¿¡ly updoced from Yahoo
. tURRENClES U$T·
1""--
FlLTER 01\) CURREi'IlCY :
*&
,
AEQ UAE Dtmam (AU7) tU.74'l4
ALL /Jb.&ni .. n L,¡;¡k (ALL) (J,OOS21
AA" A,ntil!u -Guitd.;:;1" (A"NG)
AR$ Argentine Peso (ARS)
AUD Austratian [Jaller {AUD) 0.6(.\721)
AW'3 An;h. F!('ltln {AWGJ 0,35722
aP¡'D e..arb.&d05 (Se.ú)
.l>T Taka. (SDT) 0,00'932
S<lH &ufgari,s¡o .. (&GNJ 0.513-51
eHO IiHlt.r.aini Oln.ilr 1.
17.3 5 G T 8 !¡ 16 11 12 13 14 15 11",1 > la;;!
DISPLAY lit jj §]
Figura VI-B. A2billing Tarifas
Ratecard
En el apartado Ratecard se define todo lo que tiene que ver con prefijos,
rutas y precios de las llamadas.
En List Call Plan se encuentran los planes de precios sobre los que se
tarifica a los usuarios.
Un plan de precios puede comprender varias tarifas (Ratecard), que son
elegidas según una lógica preestablecida de enrutado, es decir, se puede hacer que
©RA-MA APÉNDICE VI: SOFTWARE DE TERCEROS PARA ASTERISK 293
un plan de precios elija una tarifa u otra del plan, según se defina una ruta de
mínimo coste (LCR en inglés) para el operador o mínimo coste para el usuario.
Dentro del plan de precios se puede elegir qué tarifas son añadidas de entre
las disponibles ya creadas.
Una vez creado el Plan de Precios, es necesario crear las distintas tarifas
que compondrán dicho plan u otros planes. Para ello es necesario situarse sobre
Create New Ratecard y podremos introducir los datos necesarios. En este caso, se
da nombre a la tarifa, se asigna un periodo de validez y se elige el proveedor a
utilizar por defecto.
Por último, sólo queda crear los destinos pertenecientes a cada tarifa, por lo
que se usará Add Rate y se irán rellenando los campos necesarios.
Ratecard. Tarifa a la que pertenece el destino.
Dial PreflX. Se introducirá el patrón de marcado para reconocer al destino.
Puede introducirse a mano o seleccionarlo de entre la base de datos que incorpora
A2B.
Destination. Nombre del destino en la tarifa.
Después de introducir los anteriores datos, aparecen una serie de campos
relativos a los precios de compra y venta del minuto telefónico, periodo de
tarificación (por segundos, por minutos, etc.). así como costes típicos de algunos
operadores como establecimiento de llamada, desconexión, etc.
Se puede establecer un periodo de validez para la tarifa, así como
personalizar el proveedor de salida para el destino en concreto. independientemente
del que tenga asignado la Tarifa en general.
El resultado final será una tabla donde aparecerán las distintas Tarifas
(Ratecard) y sus correspondientes destinos.
294 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
ti. ,-,' - "'¡.t"'Cg;'P,""",;.':4'N""' ..
Z
------""'" -,
.1III.....
Figura VI-9. A2billing Listado de Callplan
Figura VI-JO. A2billing Callplan
Figura VI-JJ. A2billing - Propiedades de una tarjeta
©RA-MA APÉNDICE VI: SOFTWARE DE TERCEROS PARA ASTERISK 295
Figura VI-12. A2billing Recarga de tarjetas
Trunk
En este apartado se definen los canales de salida o proveedores. Existen
dos opciones: trunk oprovider. Provider se usa para propósitos estadísticos y no es
imprescindible para el funcionamiento del sistema.
Add Trunk permite afíadir un proveedor de cualquier tipo de tecnología
(SIP, IAX, Zaptel, etc.) por el que sacar llamadas. Se puede afiadir o quitar prefijos
a conveniencia, así como definir otros proveedores ya creados como ruta de fallo
lfailover).
Figura VI-13. A2 billing - Listado de proveedores
296 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
ttdwo{lb).'o\'lJfOriol$' __

2'-"
"'?
DID
Figura VI-14. A2 billing - Propiedades de un proveedor
A2B puede manejar rangos de numeraclOn asignados por un operador,
pudiendo facturar su uso a cada usuario de diversas formas.
Para su manejo se deben crear grupos de DID's a los cuales asignar DID
individuales.
Se introduce el DID en cuestión y se asigna un modo de tarificación así
como un grupo de DID.
Se puede redireccionar cualquier DID a cualquier cuenta o tecnología
usando Add Destination.
El
&dMtdt... ....


",;,',)0


_ ..........I ... •.•
Figura VI-15. A2billing-Listado de DID
©RA-MA APÉNDICE VI: SOFTWARE DE TERCEROS PARA ASTERISK 297
'"*pi,,';.''''' ,
tp.c

_ v _ ...",_
1!IIIIUI!I'
El!!>!'ft:Wia'


e_
a ..






Figura VI-16. A2billing - Propiedades de un DID
--_..._­
Figura VI-l7. A2bi/ling Listados de DIDs con sus destinos
Call Reporl
A2B dispone de un potente sistema de detalle de llamadas y estadísticas
que permiten obtener precisos reportes de todo el tráfico telefónico efectuado en el
sistema Asterisk.
Es posible obtener parámetros típicos referentes a calidad y fiabilidad de
las llamadas como son:
• Average Length ofCall (ALOC). Duración media de llamada.
298 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
• Answer Seizure Ratio (ASR). Relación entre las llamadas correctamente
contestadas y las efectuadas.
• Maximum number Failed Calls Successively (MFCS). Número máximo de
llamadas fallidas sucesivamente.

lB
'.<_
.l.. ...
l"'\n ...

¡M m,'
..

* 12M J
Figura VI-18. A2billing - Reporte de llamadas
f,u.
¡¡ .1.
!Im mi
.' ,
."-!,
Figura VI-19. A2billing-Filtrado de llamadas
----------
©RA-MA APÉNDICE VI: SOFTWARE DE TERCEROS PARA ASTERISK 299
Invoices
A2B también permite llevar una contabilidad y facturación de cada uno de
los clientes del sistema. Es posible asignar pagos, facturar mensualmente, emitir
detalle de facturas, etc.
También es posible enviar toda la información de facturación mediante
correo electrónico a los clientes en formato PDP o HTML.
He*&,



T"h,\ <ir''; m",¡JE ila.d"t i!'X.'Junt, ai('!"\Q \!flth lti.. <:J.lr.-e,'\(
ti/> .,dL+t ,M ,<'->tIiI"! ilfi'o,lJI!t Di .!J;JpilOiO te: tt... Mr 'f\(iu:!ari rtre <!r'>O'_'l1f ,,,.....,,..
IllPAq,(..]Q!&
Gll'..\lCI{4.... üffll!
1
<- ... iO_



"" ..
Figura VI-20. A2billing - Facturas
i e ,p"
;::--;


8illedOetalls

CardNUl'IlbO!{
02/0(/100.6
06l1Si20QlI
J-­


.;;ji.

Figura VI-21. A2billing - Detalles de consumo de una factura
300 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
2.2 CONCLUSIÓN
Como se ha podido apreciar A2Billing es un potente paquete que rivaliza
con caros sistemas de facturación propietarios, y que se integra con Asterisk
perfectamente.
Sus funcionalidades permiten tener al alcance de la mano la posibilidad de
montar un sistema completo de gestión y facturación para un operador de telefonía
IP por una mínima fracción de dinero, y lo más importante, podremos adaptarlo
completamente a nuestros requisitos en caso de que no nos satisfaga
completamente.
Su uso es sencillo y a la vez potente, permitiendo gestionar una cantidad
aceptable de usuarios
6
en entornos reales.
3 Manejo de Faxes mediante Avantfax
Otra gran solución que trabaja con Asterisk es Avantfax, disponible en
http://www.avantfax.com. En este caso, la idea es poder manejar faxes desde un
entorno web, en formato PDF y con la posibilidad de usar el correo electrónico
para reenviar dichos fax es.
A vantFAX, como tal, es una aplicación web que hace uso de otro paquete,
denominado Hylafax
7
• Este paquete es realmente el servidor de fax implementado
mediante software. A su vez, y para completar la integración IP, se usa un tercer
paquete denominado IAXModem
8
que sirve como módem telefónico y se comunica
con Asterisk mediante el protocolo IAX. De esta forma, esta combinación de
software sustituye completamente a las tradicionales máquinas de fax, sin perder
una funcionalidad que, aunque arcaica, sigue arraigada todavía en la estructura
empresarial.
no existen datos contrastados sobre
se estima que un sistema de
gestionar algunos centenares de
, http://www.hylafax.org
, http://iaxmodem.sourceforge.net/
de trabaj o y pruebas de
núcleos y algunos gigas
"'<1""<1'-'0'''' simultáneas.
©RA-MA APÉNDICE VI: SOFTWARE DE TERCEROS PARA ASTERISK 301
Figura VI-22. Esquema de red para servidor de fax
Los usuarios de A vantfax pueden ver y gestionar los faxes sin la necesidad
de instalar o tener ningún software especial. Además, permite a los administradores
manejar usuarios, permisos, líneas de fax, categorías de fax, etc.
El interfaz web de A vantfax es accesible no sólo en la red local sino
también desde el exterior de la red.
Las características más destacadas de Avantfax son las siguientes:
• Los usuarios pueden ver los faxes en tiempo real mediante un navegador
web estándar (lE 617, Firefox, Safari y Opera).
• Se pueden descargar los faxes en formato PDF.
• Reenvío automático de faxes mediante correo electrónico y por PDF, para
número de fax preestablecidos.
• Se pueden reenviar faxes en PDF sin necesidad de ningún cliente de correo
instalado.
• Número de usuarios "casi" ilimitado (dependiente de la capacidad de
hardware del servidor).
• Número ilimitado de líneas de fax.
• Soporte para envío de faxes mediante correo electrónico.
• Soporte para reconocimiento automático de caracteres (OCR en inglés).
• Libreta de direcciones.
• Soporte para varios idiomas.
302 VOIP y ASTERlSK: REDESCUBRlENDO LA TELEFO\,!ÍA ©RA-MA
• Capacidad de archivar faxes para una posterior búsqueda por diferentes
campos.
3.1 INSTALACIÓN
Al igual que A2Billing, la instalación de A vantfax está bien documentada
en la red. Entre otros, se pueden encontrar los siguientes enlaces:
• En español:
o http://www.ecualug.orgl?q=2007/02126/comos/instalar_avantfax
o http://ualtech. wordpress.com/2008/05/04/j autu-sobre-avantfax-con­
asterisk-y-freepbxl
• En inglés:
o http://www.avantfax.com/instal1.php
o http://www.howtoforge.comlbuild-a-hylafax-server-with-avantfax­
on-debian-etch
3.2 CONFIGURACIÓN
A continuación en las siguientes figuras puede ver los elementos de
configuración más importante del sistema.
ir ···1
-
f!...""".,,,,,
., ~ \1 ...
Pantalla de inicio Bandeja de entrada del sistema
---------------------
©RA-MA APh'NDICE VI: SOFTWARE DE TERCEROS PARA ASTERISK 303
_
__ o; - :_"-_ __
"'VANTIiIII' !! .=:1.
Envío de laxes vía web Archivo de laxes entrantes y salientes
...b... .......
'". ft¡;("li",}d'l/,u --­
Bandeja de salida Libreta de contactos

..... ..
Configuración de usuario Configuración de administrador
304 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
Creación de categorías de faxes
-
Funcionalidades avanzadas
Sistema fax a correo electrónico
Configuración de módems (IAXmodem)
1-. ..,­ """-...._ __ , __ f .._ ........ _
L.......... __ f_... _...

..
--
Funcionalidades de Sistema
"'---.."--'......._;,..,'_._""".,,--»,, -¡",=-»,_.' ",...
""­ _ ..... --,,_.--..........,.".,'......,-'.. ..."'..,­
.""""""""""'",,' ....... "_ ',..... _·-.....,....._."_''''''"'''''u,,..,.,..
-""..."""'........ ,-.." ...."-" .....,.-... ,..... " .. "'.,,

Registro de actividad del sistema
Figura VI-23. Pantallas de configuración AvantFax
© RA-MA APÉNDICE VI: SOFTWARE DE TERCEROS PARA ASTERISK 305
4 Ejemplos prácticos
4.1 TARIFICACIÓN EN LOCUTORIOS
Un caso típico donde se tiene la necesidad de tarificar llamadas telefónicas
es el de los locutorios telefónicos (también conocidos como callshop o
teleboutique). Un locutorio es un establecimiento frecuentado mayoritariamente
por personas con necesidad de comunicarse con destinos internacionales a un
precio razonable. Tradicionalmente, las llamadas desde la red fija y móvil hacia
destinos internacionales han sido extremadamente caras por oscuros motivos, pero
comúnmente aceptados debido a la relación conceptual entre distancia y precio del
servicio:
" ... es lógico pensar que sí uno llama a un destino
lejano, el precio debe ser más caro que si llamo a
un teléfono de mi misma ciudad ... "
Craso error. La gran mayoría de operadores telefónicos tienen acuerdos de
interconexión con carriers
9
internacionales que les permiten terminar llamadas a
precios muy asequibles, pero que nunca son trasladados al cliente final. Sólo si se
tiene un cierto volumen de llamadas (como sucede en los locutorios) es posible
realizar una negociación directa en la que se pueda conseguir un precio mucho más
razonable y que, a su vez, el locutorio pueda trasladar el cliente final.
Lo anteríor ha sido la tónica de t r a b ~ o durante muchos años, aunque con la
llegada de la liberalización de las comunicaciones móviles, la VoIP y los
Operadores Móviles Virtuales, cualquier persona tiene acceso hoy en día a tarifas
internacionales (e incluso nacionales) del mismo orden o incluso inferior que
ciertos locutorios.
Aun así, en muchos países, no es posible acceder a estos servicios por no
estar desarrolladas las infraestructuras mínimas, y sigue siendo necesario hacer uso
de los locutorios.
, En telefonía, el término carrier hace referencia a grandes companJ.as de
telecomunicaciones especializadas en interconexiones internacionales,
manejando gran cantidad de datos y tráfico telefónico.
306 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
4.2 ESQUEMA DE TRABAJO DE UN LOCUTORIO
Los locutorios suelen tener diversos tipos de funcionamiento, aunque el
más extendido consiste en:
• El cliente entra al local y solicita una cabina para llamar.
• El operador asigna un número y cabina al cliente.
• El cliente entra en la cabina asignada y el operador desbloquea la misma
para su uso.
• El cliente puede, a partir de ese momento, realizar llamadas a cualquier
destino permitido (suele ser típico inutilizar número gratuitos como los 900
en España, teléfonos satelitales, números Premium, etc.).
• Se efectúan una o varias comunicaciones por parte del cliente.
• El cliente termina de hablar y se dirige hacia el operador.
• El operador usa software específico para tarificación de locutorios y
factura la llamada.
• El cliente obtiene un ticket por el importe total y paga el montante.
• La cabina está lista para recibir a nuevos clientes.
Como se puede apreciar en la descripción anterior, realizar una llamada
telefónica en un locutorio tradicional implica disponer de:
• Teléfonos analógicos
• Hardware para control de líneas telefónicas
• Software para tarificación en tiempo real
• Tantas líneas telefónicas como cabinas instaladas
Además, la contratación de las líneas telefónicas supone incurrir en un
coste mensual con la compañía telefónica, y sobre todo, tener que "tragar" con sus
tarifas de trabajo. Esto último supone no tener margen de maniobra puesto que
muchas veces no es posible contratar con otros proveedores telefónicos al tener la
compañía propietaria de las líneas una exclusividad total sobre las mismas. En
ciertos países (como España), es posible contratar con revendedores de minutos
©RA-MA APÉNDICE VI: SOFTWARE DE TERCEROS PARA ASTERISK 301
que proporcionan precios más asequibles que la compañía dominante, aunque aun
así, sigue siendo un escenario no óptimo. Hoy en día existen numerosas compañías
en Internet que son capaces de ofrecer unas tarifas más atractivas si se usa
tecnología de voz sobre IP.
A2Billing, Asterisk y cierto hardware para VoIP pueden ayudamos a lograr
que el locutorio pueda gestionar de fonna completamente autónoma todo lo
necesario para seguir ofreciendo el servicio de llamadas telefónicas pero con una
mayor rentabilidad y fiabilidad.
Elemento IP Elemento tradicional Funcionalidad
A2billing Software propietario tarificación Software para tarificación
ATA o Teléfono IP Teléfono Analógico Teléfonos para llamar
Asterisk Hardware para gestión de líneas Control de líneas telefónicas
Proveedor VoIP Compañía telefónica Terminación de llamadas
, Locutorio
C ... rior Vol P
TEI"minadóo RTC
/
Figura VI-24. Diagrama de un locutorio IP
308 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
4.3 PUESTA EN MARCHA Y CONFIGURACIÓN DE UN
LOCUTORIO IP
Para poder poner en marcha un locutorio completamente IP, será necesario
tener instalado y configurado un servidor con Asterisk y A2Billing. Además será
necesario usar adaptadores FXS, si dispone de teléfonos analógicos, o bien
teléfonos IP en caso contrario.
Si utiliza teléfonos analógicos, debe tener en cuenta que el cliente no
tendrá posibilidad de controlar el tiempo de la llamada así como el coste de la
misma. En el caso de teléfonos IP, es muy probable que disponga de un visor con
el tiempo transcurrido (aunque no el coste).
Si además quiere tener alguna salida hacia un proveedor analógico o GSM,
deberemos instalar un adaptador FXO o tarjeta PCI-PCle con puertos FXO.
La configuración necesaria se realizará fundamentalmente en A2billing.
Para ello, acceda al sistema con un explorador Web y autentifiques e en el sistema
(véase la figura VI-25).
1}J>el' ' r ~ "
f<t..-a,1t . ~ ; ••~ ..
Figura VI-25. A2Billing - Página de inicio
Introduzca su nombre de usuario y contraseña. A continuación, pulse
Create Call Plan para crear una lista de precios. Se le asigna un nombre y se pulsa
en Canfirmar.
.,
©RA-MA APh'NDICE VI: SOFTWARE DE TERCEROS PARA ASTERISK 309
F ,
'

StIt!ki!:t$\'!O:t
!i!lillVNfU

Figura V/-26. A2Billing - Create Call Plan
Creado el plan de precios, pasamos a crear un proveedor por el que enrutar
las llamadas hacia el exterior. Para ello pulse en Create Províder. Introduzca los
datos que nos interesan y pulse Confirm data.
En este caso, la funcionalidad de proveedor es meramente estadística, ya
que es en la opción Trunk donde realmente se define la ruta de salida.
I'i"l-,¡l -«tJ. ",""b.. ;,,-;el +<; "'H!' el

Figura V/-27. A2Billing - Configuración de un trunk
310 VQIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
Seguidamente hay que crear el canal de salida pulsando en Create Trunk.
Seleccione el proveedor, el nombre del trunk, la tecnología a usar y por último, la
dirección del Proxy SIP y pulse Confirm Data.
!!I
,
(llw..<
______________ ._.r!t:
Figura VI-2B. A2Billing Creación de un trunk
Seguidamente se va a crear una tarifa de precios. Pulse en Create Ratecard
y asigne valores: nombre de la tarifa, trunk de salida y una descripción sobre la
misma.

Qá::t­



Figura VI-29. A2Billing - Create RateCard
©RA-MA APÉNDICE VI: SOFTWARE DE TERCEROS PARA ASTERISK 311
Hay que dar de alta la tarifa y asignarle a un plan de precios.
ji"....
fH"IÜ.
..
i ¡


Figura VI-30. A2Billing - Asignación de la tarifa al plan de precios
La tarifa creada debe tener asignados destinos con sus respectivos prefijos,
por lo que iremos añadiéndolos mediante Add Rafes. Si es la primera vez que lo
hace, y tiene muchos, lo lógico será hacer una importación a escala, a través de un
archivo de texto plano (csv, txt, etc.).
Deberemos elegir la tarifa asignada, el trunk por defecto y los campos que
considere oportunos.
",' ,:-:-, ,-,"o

Nnw tal\! tltHb hay'" t» bt Importllid I'rom a csv m•..
Figura VI-3I. A2Bil/ing -Importación de tarifas
312 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
Si el proceso ha tenido éxito, se habrán importado todos los destinos con
sus correspondientes precios y forma de tarificar.




$llU_
81',,\1K_'\"'"
__ e._; __ •
RAn:S

.:1(>1.6,"';-17
-:;.lI,¡,¡,·H
GO--J)"
liI
J'f,a,l'

'1-,,«;.,4"

F

Figura VI-32. A2Billing - Tarifas importadas
Ya tiene listo toda la parte referente a las tarifas y rutas de salida. Sólo
queda dar de alta los teléfonos de las cabinas para que puedan realizar llamadas en
el sistema. Esta acción será realizada dando de alta a un único usuario que tendrá
varios usuarios SIP haciendo cargos en su cuenta.
Hay que dar de alta dicho usuario en Create Customers. Deje
prácticamente todos los valores por defecto, a excepción de Card Type que pondrá
a Postpay, y asigne un Credit Limit lo suficientemente alto como para que no tenga
que preocuparse de él durante un buen tiempo. Además, debe permitir acceso
simultáneo con Simultaneous Access.
El siguiente paso es ir creando los diferentes usuarios SIP que harán cargos
a la tarjeta anterior. Para ellos pulse en Create Sip Friend y asigne el ID Card a la
tarjeta creada previamente. En Name y en UserName escriba "cabina 1". En
Accountcode es importante que se ponga el número de la tarjeta para autentificar
las llamadas. Si no se hace así, no será posible realizar ninguna llamada (fallo en la
autentificación).
©RA-MA APÉNDICE VI: SOFTWARE DE TERCEROS PARA ASTERISK 3 \3
Figura VI-33. A2Billing- Create Customer
Figura VI-34. A2Billing - Create SIP friend
Además, se deberá tener en cuenta que la configuración del fichero
/etc/asterisk/a2bílling.conf debe ser similar a la siguiente:
314 VOlP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
©RA-MA APÉNDICE VI: SOFTWARE DE TERCEROS PARA ASTERISK 315
Tras crear tantos usuarios SIP como cabinas tenga el locutorio, deberá
haber un listado como el de la figura VI-35 .
....
l - - ¡ ~
Figura VI-35. A2Billing - Listado de usuarios SIP
En este caso, existen tres cabinas que tienen el crédito asignado a la tarjeta
64014 y, por tanto, son tarificados de la misma fonna (según lo definido en el plan
de precios asignado al usuario 64014).
A partir de este momento, los dispositivos instalados en las cabinas, ya
sean teléfonos IP, ATA's o PC's con softphones, podrán enviar llamadas al sistema
para ser tarificadas, teniendo en cuenta que por cada llamada se generará un detalle
para su posterior facturación.
Como paso final, sólo queda acceder a CDR Report y visualizar el detalle
de facturación de cada cabina. Es importante resaltar que A2Billing carece de la
opción de acumular las llamadas efectuadas por una persona en una cabina, así que
es necesario hacer una suma aparte. Tampoco es posible realizar una impresión
típica en una impresora de tickets, tal y como es costumbre en los sistemas
tradicionales.
316 VOIP y ASTERlSK: REDESCUBRlENDO LA TELEFONÍA ©RA-MA
Figura VI-36. A2Billing - CDR Report
,
APENDICE VII
ASEGURANDO LA CALIDAD DE
UN SISTEMA VOIP
Saúllbarra Corretgo
1 Introducción
La seguridad es uno de esos aspectos que se suelen dejar para el final y que
muchos ni siquiera miran, aunque pueda ser un factor crítico.
Nadie cuestiona que un servidor de correo e1ectrónico tenga que ser seguro,
ya que sino podríamos convertimos en distribuidores de spam, pero con la VoIP no
está pasando esto. Ni la VoIP ni Asterisk tienen tantos años como el correo
electrónico, y por ahora se nota un cierto vacío en lo que a seguridad se refiere.
Mucha gente no asegura correctamente sus servidores Asterisk, pero como
tampoco es la regla general tener los puertos del servidor abiertos, las
inseguridades quedan ocultas.
En este anexo se tratará de ofrecer una visión global sobre la seguridad en
un servidor Asterisk, examinando distintos tipos de ataques que pueden realizarse,
318 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
tratando de mitigar sus efectos, para tener un sistema lo más seguro posible, ya que
un sistema sólo estará 100% seguro si no está encendido.
2 Análisis inicial de la seguridad V oIP
Antes de comenzar a analizar los puntos de una instalación susceptibles de
ataques es necesario hacer una valoración inicial del estado de la seguridad en
instalaciones de VoIP.
En comparación con la telefonía tradicional, la VoIP puede resultar más
segura ya que, por ejemplo, para escuchar una conversación en telefonía tradicional
basta con irse a la habitación de al lado y descolgar el teléfono, mientras que en
VoIP esto no sucede.
La VoIP convierte la voz en datos, por lo que estos datos se pueden cifrar,
haciendo imposible su uso por parte de terceros. No obstante, es necesario tener en
cuenta que, en muchas instalaciones de VoIP, Internet se encuentra involucrado, y
en este caso Internet es un medio hostil. Todo dato que viaje en claro a través de
Internet es susceptible de ser capturado y analizado por personas con fines
dudosos, por lo que conviene tener especial cuidado en este tipo de conexiones.
Como se puede apreciar la VoIP es a priori un servicio que es posible
asegurar, pero que dispone de puntos delicados a los que es necesario prestar
atención para no abrir brechas de seguridad.
3 Elementos susceptibles de ataques
Teniendo en cuenta la accesibilidad de los elementos que componen una
instalación de VoIP, podríamos dividir en 3 capas los elementos susceptibles de ser
atacados:
• Terminales
• Red de VolP
• Servidor Asterisk (PBX)
©RA-MA APÉNDICE VI 1: ASEGURANDO LA CALIDAD DE UN SISTEMA VOIP 319
3.1. SEGURIDAD EN LOS TERMINALES
Los tenninales son el elemento más vulnerable de toda una instalación de
VoIP ya que están al alcance de los usuarios o de otras personas que podrían tratar
de manipularlos para obtener datos delicados acerca de nuestra instalación de
VoIP. Es posible atacar un tenninal de varias fonnas diferentes:
• Fuzzing
• Flooding
• Fallos de configuración
• Servicios no deshabilitados
El Fuzzing consiste en el envío masivo de paquetes malfonnados a un
dispositivo. Muchas veces, la implementación SIP de los tenninales tiene fallos, y
es posible inutilizar un tenninal mandando paquetes erróneos a propósito, ya que
podrían darse overflows y se sobrescribirían posiciones de memoria que harían que
el tenninal dejara de responder. Si un tenninal ha quedado inutilizado por este tipo
de ataque, basta con reiniciarlo para que recupere su estado habitual.
El flooding consiste en el envío masivo de paquetes hacia un tenninal. Lo
que puede suceder es que si el número de paquetes es suficientemente elevado, el
tenninal quede completamente inutilizado, al ser incapaz de diferenciar entre
peticiones "buenas" y las procedentes de un ataque. Para inutilizar un tenninal es
posible realizar flooding de paquetes UDP, peticiones INVITE de SIP o paquetes
RTP, obteniendo un resultado similar. Al cesar el ataque puede que el tenninal se
recupere aunque podría quedarse inutilizado, porque sería necesario reiniciarlo.
Otra fonna de atacar un terminal consiste en aprovechar errores en la
configuración de los mismos. No es tan difícil encontrarse con las contraseñas por
defecto, o la administración por telnet habilitada, lo que puede facilitar la labor de
hackers que desean interrumpir el servicio de ese tenninal, o conseguir
credenciales del usuario.
3.2. SEGURIDAD EN LA RED VOIP
En una red de VoIP hay muchos servicios involucrados como por ejemplo
servidores DHCP o TFTP. Esto hace que la red disponga de más puntos de fallo
por los que se puede atacar la misma, causando diversos efectos.
320 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
Se pueden realizar multitud de ataques contra una red de VoIP, pero a
diferencia de los ataques contra terminales, podría quedar expuesta información
más sensible e importante. Los tipos de ataques que pueden realizarse son los
siguientes:
• Flooding
• Man In The Middle
• Eavesdropping
• Ataques a diversos servicios
Al igual que ocurría con los terminales, es posible utilizar ataques de
flooding en una red de VoIP, con el objetivo de saturarla. Esto causaría una
interrupción del servicio ya que sería imposible descartar todos los paquetes
erróneos para quedarnos sólo con los válidos. Este tipo de ataque podría inutilizar
completamente la red de VoIP, recuperándose cuando el ataque finalice.
El Man In TheMiddle (MITM) no es un ataque per se, es un paso previo.
Consiste en infiltrarse en una red y situarse en un sitio estratégico, redirigiendo
todo el tráfico. Por ejemplo un atacante podría situarse entre los terminales y la
PBX, recibiendo todo el tráfico dirigido a la PBX y redirigiéndolo hacia ella. Al
recibir todo el tráfico, el atacante podría analizar la señalización en busca de
contraseñas, e incluso podría decodificar el flujo multimedia para escuchar las
conversaciones.
Una vez el atacante se ha infiltrado en la red objetivo y ha utilizado la
técnica del MITM puede llevar a cabo el que posiblemente sea el más temido de
los ataques: eavesdropping. El eavesdropping consiste en el análisis del flujo
multimedia de las conversaciones, para poder escuchar su contenido. Esto es
especialmente peligroso ya que conversaciones confidenciales podrían ser
vulneradas.
En las redes de VoIP están involucrados más servicios además del propio
servidor de VoIP, por ejemplo servidores de TFTP o DHCP. Estos dos servicios
también pueden ser blancos de atacantes. No es complicado consumir todas las IPs
de un servidor DHCP, de manera que los terminales no puedan conseguir una IP y
por lo tanto no puedan utilizarse. TFTP tampoco es un servicio seguro y con
conocer el fichero que se desea obtener es posible descargarlo. Normalmente los
terminales se autoprovisionan de un servidor TFTP, por lo que si un atacante
consiguiera uno de estos ficheros dispondría de datos muy sensibles como el
usuario y la contraseña.
..
©RA-MA APÉNDICE VII: ASEGURANDO LA CALIDAD DE UN SISTEMA VOIP 321
3.3. SEGURIDAD EN EL SERVIDOR ASTERISK (PBX)
Como último punto a examinar en lo que a seguridad se refiere tenemos la
PBX en sÍ. Al ser el servidor que controla todas las comunicaciones, es importante
tenerlo lo más asegurado posible, ya que los ataques contra la PBX pueden causar
problemas como la interrupción del servicio, suplantación de identidad, llamadas
fraudulentas, etc.
A continuación se muestran los ataques más comunes y que afectan a la
PBX, algunos de ellos centrados en Asterisk:

Flooding

Cracking de passwords

REGISTER hijacking

Exploits

Errores de configuración
Al igual que los terminales y la red, la PBX también resulta vulnerable a
los ataques de flooding, y por la misma razón: el servicio se ve desbordado de
peticiones erróneas, y es incapaz de atender las peticiones auténticas, quedando por
tanto el servicio interrumpido.
El mecanismo de autenticación utilizado en SIP (HTTP digest) se basa en
el intercambio de un texto de desafio y su respuesta, todo cifrado con MD5. Si un
atacante captura ambos mensajes (algo sencillo, ya que prácticamente todos los
mensajes SIP son autenticados) dispone de todo lo necesario para averiguar la
clave del usuario mediante fuerza bruta o ataques de diccionario. Si un atacante se
hace con la contraseña de un usuario del sistema, podría suplantarle, hacer
llamadas en su nombre, etc., algo nada deseable.
Si un atacante dispone del usuario y contraseña de alguna cuenta de la PBX
éste puede llevar a cabo un ataque de REGISTER hiajcking, consistente en enviar
un paquete REGISTER al servidor, y así suplantar al otro usuario. También podría
'consultar las ubicaciones (en Asterisk sólo es posible una) o des-registrar al
usuario, de manera que no pueda recibir llamadas, provocándole una interrupción
en el servicio sin que se diera cuenta.
Otro de los problemas más importantes para la seguridad de la PBX son los
exploits. Al ser software, puede contener bugs, por lo que es posible que un
paquete malformado provoque algún error en la ejecución que desemboque en la
4
322 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
caída del servicio. Por ejemplo, Asterisk 1.4.0 tenía un bug que causaba un core
dump (caída del servicio) si le llegaba un paquete SIP con la cabecera "Content­
Length" en negativo.
Por último, también es posible que haya agujeros de seguridad en nuestro
Asterisk debido a una mala configuración. Para evitarlo es importante tener en
cuenta lo siguiente:
• Configurar correctamente la opción allowguest en el fichero sip.conf, para
evitar que usuarios no autorizados utilicen nuestro sistema Asterisk para
realizar llamadas.
• Configurar los contextos de los usuarios de acuerdo a sus "privilegios". Si
un usuario no debe poder llamar al extranjero, no debe tener la posibilidad
de hacerlo desde el contexto en el que se halle definido.
• No utilizar la opción T en las llamadas entrantes, ya que permiten al
usuario que ha llamado transferir su llamada, por lo que podría transferirse
a cualquier destino sin asumir su coste.
Conclusiones
No hay un sistema 100% seguro y además Asterisk no dispone de todos los
medios necesarios para hacer nuestras comunicaciones suficientemente seguras,
por lo que se opta por poner diversas trabas al atacante (seguridad por oscuridad).
Para defendernos de los ataques arriba mencionados, se recomienda
adoptar las siguientes medidas:
• Utilizar VLANs separadas para voz y datos, de manera que resulte más
complicado (aunque no imposible) el acceso a la red de VoIP.
• No utilizar softphones en la medida de 10 posible. Dado que los softphones
son programas de escritorio, posibilitar su uso implicarla permitir el acceso
de la red de datos a la red de VoIP, perdiendo así las ventajas logradas con
la separación de redes.
• Mantener el firmware de los terminales actualizado. Es importante estar al
día de los boletines de seguridad de los fabricantes, y en caso de anunciarse
una vulnerabilidad realizar la actualización pertinente, para evitar posibles
ataques.
© RA-MA APÉNDICE VIl: ASEGURANDO LA CALIDAD DE UN SISTEMA VOIP 323
• Encriptar el audio de las llamadas mediante SRTP o ZRTP. Esto todavía
no es posible con Asterisk, pero debería estar disponible en breve.
• Utilizar VPNs cifradas al realizar enlaces a través de Internet.
Además, es posible utilizar alguna herramienta de mitigación de ataques de
denegación de servicio (DoS) como por ejemplo Snort.
PÁGINAWEB
Este libro dispone de su propia página web:
s.._o,.__ ...... ..!Ió.,.u ..........
ÚIopml.OlPfl'flC"""'......,.".!oIpron.."'.. "_........ !t.s..,,...... A.........
...
_
..
""',
..I.... It:>I..,_"'-mW.. ,w-.__hA-..iN.....,.. ..
www.adminso.es
A través, de esta página web los usuarios que se registren, podrán acceder a
un curso virtual realizado con Para poder acceder al curso, el sistema le
pedirá la contraseña:
326 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA
El curso, que complementa la obra, le pennite ampliar sus conocimientos
sobre redes inalámbricas a través de los siguientes materiales:
Software, máquinas virtuales y archivos de configuración
referenciados a lo largo de la obra.
Conjunto de presentaciones y herramientas de autoevaluación para
evaluar sus conocimientos.
Animaciones interactivas de las prácticas realizadas a lo largo de la
obra.
ÍNDICE ALFABÉTICO
Centralita tradicional, 13
chgrp, 203
A
chown, 203
A2billing, 285
Clases de direcciones., 217
Agentes, 112
CLI,71
amportal, 137
Codee, 53
Announcements, 162
Colas, 112
Arquitectura VoIP, 22
cp,197,200
Askozia PBX, 276
Asterisk, 61, 321
D
AsteriskGUI, 130
Asterisknow, 269 Day/night control, 173
Astlinux, 280 Dialplan,99
Avantfax, 300 Direccionamiento IP, 216
Direcciones específicas, 219
Distribución precompilada, 243
B
Bit rate, 57
E
Bridges, 212
Broadcast, 219 EI,6
Buzón de voz, 95, 104 Elastix, 243
Extensions, 153
e
F
Cable coaxial, 208
Cable par trenzado, 209 Fibra óptica, 209
cat, 199 Flash operator panel, 180, 185
cd, 196 FreePBX, 128, 131
328 VOIP y ASTERlSK: REDESCUBRlENDO LA TELEFONÍA ©RA-MA
FXO, 3, 86
FXS, 2, 89
G
Gateways, 26, 212
GSM, 8, 28
H
H323,47
Hardphone, 238
Head,199
Hub,211
1
IAX,75
IAX2,77
Inbound routes, 168
Interactrive Voice Response (IVR), 116
IP, Loopback, 220
IVR,160
L
Latencia, 57
In, 201
Locutorio, 305
ls, 197
M
Macros, 106
mkdir,197
more, 198
mv, 197,200
o
Outbound routes, 170
p
PBX,12
PBX in a flash, 266
Primario, 6
Protocolo de audio, 50
Protocolo de comunicación, 32
Proxy,31
R
RDSI,4
Red móvil, 8
Repetidores, 211
Reports, 175
Ring groups, 159
rrn. 201
rmdir,197
Router, 212, 221
R TB - Red teléfonica básica, 2
RTCP,50
RTP,50
s
Sala de conferencias, 119
SIP, 32,72
Sistemas integrados, 274
S-Jphone, 232
Softphone, 29, 228
Switch,211
System recordings, 156
T
Tl,6
Tabla de enrutado, 221
TCP/IP,214
Teléfono IP, 23
Time conditions, 164
touch,198
Trunks, 150
u
umask,202
UMTS, 11,28
v
V oicemail, 1 77
VoiceOne, 131
VoIP,17
©RA-MA ÍNDICE ALFABÉTICO 329
w z
Webphone,236
X-Lite, 229
x
ZAP, 85
Zap channel DID, 166
Zapata, 93
Zaptel, 86, 92, 94
Esta edición se terminó de imprimir en enero de 2009. Publicada por
por ALFAOMEGA GRUPO EDITOR, S.A. de C.V. Apartado Postal
73-267,03311, México, D.F. La impresión y encuadernación se realizaron
en IMPRESIONES EDITORIALES FT, S.A de C.V. Calle 20 Mz. 105, Lt, 11,
Col. José López Portillo, Iztapalapa, 09920, México, D.F

VoIP y Asterisk

Redescubriendo la telefonía

V oIP Y Asterisk
Redescubriendo la telefonía
Coordinadores:

Julio Gómez López
Francisco Gil Montoya

Autores de capítulo:
(por orden alfabético)

Alfredo Alcayde García Raúl Baños Navarro Jesús Camacho Rodríguez Juan Antonio García Moreno Consolación Gil Montoya Francisco Gil Montoya María Dolores Gil Montoya Julio Gómez López Saúl Ibarra Corretgé Francisco José Méndez Cirera David Prieto CarreUán

Ingeniero Infonnático Investigador de la Universidad de Almena Ingeniero Infonnático Consultor de Comunicaciones Profesora de la Universidad de Almena Profesor de la Universidad de Almena Profesora de la Universidad de Almena Profesor de la Universidad de Almería Consultor de tecnologías VoIP Ingeniero Infonnático Ingeniero Infonnático

Almería, 2008

Alfaomega ~~ Ra-Ma®

Datos catalográficos Gómez, Julio; Gil, Francisco VoIP y Asterisk. Redescubriendo la telefonía Primera Edición Alfaomega Grupo Editor, S.A. de C.V., México ISBN: 978-607-7686-08-8 Formato: 17 x 23 cm Páginas: 348

VoIP y Asterisk. Redescubriendo la telefonía Julio Gómez López, Francisco Gil Montoya
ISBN: 978-84-7897-902-8, edición original publicada por RA-MA Editorial, Madrid, España
Derechos reservados © RA-MA Editorial
Primera edición: Alfaomega Grupo Editor, México, enero 2009

© 2009 Alfaomega Grupo Editor, S.A. de C.V.
Pitágoras 1139, Col. Del Valle, 03100, México D.E

Miembro de la Cámara Nacional de la Industria Editorial Mex.icana
Registro No. 2317
Pág. Web: http://www.alfaomega.com.mx
E-mail: atencionalcliente@alfaomega.com.mx
ISBN: 978-607-7686-08-8
Derechos reservados:
Esta obra es propiedad intelectual de su autor y los derechos de publicación en lengua
española han sido legalmente transferidos al editor. Prohibida su reproducción parcial o total
por cualquier medio sin permiso por escrito del propietario de los derechos del copyright.
Nota importante:
La información contenida en esta obra tiene un fin exclusivamente didáctico y, por lo tanto, no está
previsto su aprovechamiento a nivel profesional o industriaL Las indicaciones técnicas y programas
incluidos, han sido elaborados con gran cuidado por el autor y reproducidos bajo estrictas normas
de control. ALFAOMEGA GRUPO EDITOR, S.A. de C.v. no será jurídicamente responsable
por: errores u omisiones; daños y perjuicios que se pudieran atribuir al uso de la información
comprendida en este libro, ni por la utilización indebida que pudiera dársele.
Edición autorizada para venta en México y todo el continente americano.
Impreso en México. Printed in Mexico.
Empresas del grupo:
México: Alfaomega Grupo Editor, S.A. de C.V. - Pitágoras 1139, Col. Del Valle, México, D F. - c.P. 03100.
Tel.: (52-55) 5089-7740 Fax: (52-55) 5575-2420 /2490. Sin costo: 01-800-020-4396 E-mail: atencionaJcliente@alfaomega.com.mx

Colombia: Alfaomega Colombiana S.A.

Carrera 15 No. 64 A 29 Colombia, Fax: (57-1) 6068648 - E-mail: sclienle@alfaomega.com.co

PBX (57-1) 2100122, Bogotá,

Chile: Alfaoruega Grupo Editor, S.A. - General del Canto 370-Providencia, Santiago, Chile
Te!.: (56-2) 235-4248 - Fax: (56-2) 235-5786 - E-ruail: agechile@alfaomega.c1

Argentina: Alfaomega Grupo Editor Argentino, S.A. - Paraguay 1307 P.B. "11", Buenos Aires, Argentina, C.P. 1057 - Te!.: (54-11) 4811-7183/8352, E-mail: ventas@alfaomegaeditor.com.ar

que trajo este libro bajo el brazo .Dedicado a María.

.......... 1 1 Sistemas analógicos ................ ............................2 FXO""..........2 Redes móviles... " ....................................... .... XIII CAPÍTULO l..................... ............................ "..... ..... ........ ..........."........ 8 UMTS (3G) .......LA NUEVA REVOLUCIÓN........................ ..... .. ..... .........."...........................3 4............................ ..... " ..." ......... .............. " ..... .. 6 Otros . 11 4 4.... ...... ......... . ......... ....3 2 2........." ....... """" .... " .................... ..........."" ...... .. "............................. " ............ """" ...... 1 1....." ........................1 1..................... .............." ....................... 28 Softphones ............................. " .... .. LA TELEFONÍA TRADICIONAL ................ ............2 4...... 23 Gateways y adaptadores analógicos .......................................... ...... ...........".............. 18 Ventajas ..........3 Sistemas digitales............................ 19 Arquitectura ........... ...... .... .. 17 Evolución ................... 4 RDSI" ................ ............. ............. " ............ 7 3 3. ..... . " ... ...... ............ ... . " .. 1 2 3 4 4.... .. 29 ..... ........1 3.... "" ....1 4................. 26 Dispositivos GSMlUMTS .......4 VOIP ............................................................................... 4 El/TI................................" ..ÍNDICE INTRODUCCIÓN.........................2 Centralitas tradicionales PBX ... 8 GSM (2G) .... .............12 Sistemas comerciales """ .... "" ........... 22 Teléfonos IP ......... ............. .............. .. .........."... .. " .... ...... ........................... ..................." .... "............ "' ." ...........2 FXS.... ...... " ................ ............ ....... " ....1 4.............2 2..................................... " .................................... ........... . ......... .. 13 CAPÍTULO 2......... ........... " ......................" ................. .......... . ..... ..................................... 12 Introducción.. ............... "...................." . ..1 2..................................... .......... .......... ........................ .... ""........... " ..... ". " ...................................... . " ... 17 Introducción a la VoIP.........

....................................................... 116 .. ............... 94 7............3 Algoritmos de codificación y decodificación de voz (Codees) .............................. 101 Prioridades y etiquetas (labels) ........................3.........1..................3.....QU VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA Proxys y enrutadores ............................................... 72 CanAles SIP ...................... 61 Arquitectura ................................. 79 7......................... 62 Iustalación...................... 85 7..... 112 Interactive Voice Response (IVR) .................... 76 7.....................1............... 72 7.................. 72 7.............................. 95 CAPÍTULO 4........................... 95 7................................................................................... 31 5 Señalización y audio ........... 99 Introducción ......................................................................... 85 7.............5 6 CAPÍTULO 3.........................................................................................................................2 Definición de extensiones IAX2 ................................................................................................... 75 7............................................................2 Configuración de canales SIP .................. 50 5..................................................................................... 77 7............1 Protocolos de comunicación ........ ...................................................................... 49 5....................................... ...........2......................2 H323 ................1..........................2. 32 5.................................................................................................................... 99 Contextos........2............... 53 4.......................... 104 Macros............................................................... 108 Colas y agentes .........3 Grupos de canales en Zaptel .................... 1 2 3 4 5 6 7 8 9 10 11 LÓGICA DE MARCADO O DIALPLAN........................4 Aplicando la configuración de Zaptel...... 83 7...........1................... 32 5.............................3.. 106 Guardando la información en la base de datos............................... extensiones y prioridades............................ 69 Consola de comandos (CLI) ..............4 Buzones de Voz .................1....... 100 Aplicaciones y funciones .... 71 Configuración básica ................................................. 90 7......................................................3....2.......... 68 Puesta en marcha conAsterisk ....................................3 Canales Zap ........... 100 Sintaxis .................................................2 Canales digitales .............................................................. 32 5.......................................................................................2 Protocolos de Audio.................................4 Aumentando la seguridad ............................ 73 7..........................3 Interconexión de dos Asterisk mediante IAX2 ...... 61 Introducción ............ 47 5.............1 Protocolo SIP ...... 1 2 3 4 5 6 7 7...... 102 UD dialplan sencillo ..................1 Session Initiation Protocool (SIP) ................... ............ 59 LA REVOLUCIÓN SE LLAMA ASTERISK.........................1 Canales analógicos ...................................................................................................1 Conclusiones .....................................................................2 Protocolo IAX....... 64 Estructura de directorios ............................................................................3 Otros ..... 103 Buzón de voz ........................1 Configuración de Canales IAX ..................

................................. 119 Haciendo un dialplan mantenible ...........................2..................................... 132 3............................................................4 Configuración de System Recordíngs ..2........ 170 4...... 127 1 2 2.................................................................7 Configuración de Announcements ...................... 128 AsteriskGUI ............ 183 Ajustes en Asterisk Manager .............. 184 Ajustes en FOP .......................2..... 128 FreePBX ......5......................8 Configuración de Time Conditíons ............© RA-MA ÍNDICE IX 12 13 Salas de conferencias........................12 Configuración de General Settings ..............5 Configuración de Ríng Groups ..................................2 2...............2....................................................4 Voicemail & Recordings (ARI) . ................................................................................... 156 4....................... 153 4.............1 5................................3 Permisos y cambio Password al módulo Manager ....................................... 131 3..............................5 Modificaciones previas al inicio de FreePBX ..................................... 142 4..................... 168 4......................1 Permisos en directorios ....2.................. 139 3............3 Configuración de Extensions .................3 Introducción ... 140 4 4................. 139 3.......2 Utilización de FreePBX......................13 Otros módulos interesantes .............................9 Configuración de Zap Channel DIDs ..2................... 130 Otros .................... 185 APÉNDICE l...............2.....................................................................6 Configuración de IVR .....................................................................................................5............... HERRAMIENTAS Y URLS REFERENCIADAS .................. 139 3.......1 4...............2 5............... 159 4.................................................... 150 4................ 183 5........... 177 4..5.............. 187 .......3 Autentificación servidor Web ..................................................................................................................3 Instalación y configuración de Apache . 166 4... 162 4. 160 4............................. 125 CAPÍTULO 5.......................2.................... 145 4........................1 Dependencias..........................................5 Flash Operator Panel (FOP) .......................................................2................. 137 3.....................10 Configuración de Inbound Routes .......3 Reports ................................ GESTIÓN DE ASTERlSK MEDIANTE INTERFAZ WEB............. 127 Gestores web .............................. 141 Administración de FreePBX............................................... 140 Inicio de FreePBX............... 180 5 Varios ..........................4 Instalación de FreePBX (amportal) ......................2 Instalación y configuración de MySQL ...2................... 136 3........1 2....2 Rutas del FOP y permisos para la IP de Administración.............................. 175 4.........................................................................2......................................2 Configuración de Trunks ......2........ 133 3.. 173 4................................. 130 3 Instalación de FreePBX ................... ...11 Configuración de Outbound Routes ........2.........1 Instalación de módulos ......................................................... 172 4............................ 164 4.............

1 Encaminamiento clásico .. CLIENTES DE VOIP........................... 228 2.............................3 AsteriskNow .................. 202 3 Comandos más importantes .....................x VOlP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA APÉNDICE ll............................. 219 Direcciones privadas ......... 269 2.... Introducción ...2........................................................................1 .........1 Instalación y configuración ................... ............................ 217 Direcciones especificas ..........................1.................2 Configuración.... 224 APÉNDICE IV.................2.......................3 2................................................................................................2....................................................................... 195 Nombres de caminos absoluto y relativo.......1 Instalación ............................................... 229 2................................. 195 Órdenes de manipulación de directorios.........................2 Conclusión e impresiones ...........1.........3 Conclusión e impresiones ....... 241 1 Introducción ...............................1......................................................... 241 2 Sistemas para servidor ......................................3 Clases de direcciones~.............2 2...... :.... 207 1 Introducción .... 4.............2 Encaminamiento regulado ............................................................... 196 Órdenes de manipulación de ficheros ........................... 191 2 Sistema de ficheros ........ 201 Modificación de permisos y propietarios .....2 5................ 203 APÉNDICE llL ASPECTOS BÁSICOS DE REDES ...6 Reglas para nombrar ficheros ................ 193 2.................................................................................................2 Ejemplo de creación de una tabla de enrulado ............ 214 5 Direccionamiento IP....................................1............................................................... 266 2......................................................... 207 2 Tipos de cable .................................................... X-Lite ........... 247 2....................................................... 220 6 6........... 210 4 El protocolo TCPIlP ..............................2 PBX in a Flash ............................ 208 3 Dispositivos de interconexión ........................................................................................................ 191 1 Introducción ........... 221 6...................................................................... ADMINISTRACIÓN BÁSICA DE LINUX.............. ...1...................................... 227 2...................... 245 2.................................. 236 Teléfono IP o bardpbone .................................................................... 243 Elastú: ..................................... 269 2.......................................................................4 2.............. Teléfono software o softpbone .............................................................. 221 Tablas de enrutado .............................................. ...........5 2.................................................................................................................................... 238 APÉNDICE V.............. 265 2................ 221 6..... 222 6................................ 243 2........................ 227 1................................ Teléfono web o webpbone ................................................... 232 3................1. SJphone.. 216 5..................1 5....................1 2.......1 Configuración de routers .................................................. 266 2.................. 198 Acceso a los ficheros ..................................... DISTRIBUCIONES PRECOMPILADAS DE ASTERISK .....................

.......... :... 276 AstLinux ............... 308 APÉNDICE VII.............................................•............. 322 PAGINA WEB .................. ........................................... 286 Conclusión ......................................... 300 3 3............................ 300 Instalación .. 283 1 Introducción ...........2 Conjiguración ..................1 3...............................................................2...............1 2.........................© RA·MA ÍNDICE XI 3 3.................. 305 Tarificación en locutorios ............................................................................. Seguridad en la red VolP ...........................1 3...............3. SOFTWARE DE TERCEROS PARA ASTERISK••. 280 APÉNDICE VI.. 325 ÍNDICE ALFABÉTICO.......... 318 3 Elementos susceptibles de ataques ................................................................2 Sistemas integrados o de capacidad limitada ....... Seguridad en los terminales ...........................................................3 Ejemplos prácticos ..................... 305 Esquema de trabajo de un locutorio....................................................................•...................................................................................................................... 318 3.....1 4........................... 319 3.................................. ........... 317 2 Análisis inicial de la seguridad VoIP ..1.. Conclusiones .................... 327 ....................................... 306 Puesta en marcha y configuración de un locutorio IP .............................. 274 Askozia PBX ....................................................................................... 321 4 ........................................................................................................................... 302 4 4..................... 319 3...............................2 4......... Seguridad en el servidor Asterisk (PBX) .......................................... 283 2 Tarificación mediante A2billing.........2 Manejo de Faxes mediante Avantfax•........... 317 1 Introducción ........................................................... 302 Configuración .... ASEGURANDO LA CALIDAD DE UN SISTEMA VOIP...................... 285 2.....................................................

se han venido produciendo cambios y mejoras en los sistemas de telefonía que han permitido su expansión por todo el mundo. toca a su fin.. con el consiguiente despilfarro de recursos. No obstante. Desde que Antonio Menucci 1 inventara el primer teléfono (existe cierta polémica acerca de quién inventó realmente el primer teléfono) allá por el año 1860. en el uso que se hace de la línea telefónica cuando se establece una comunicación: desde un extremo hasta el otro.wikipedia. . tal y como la hemos conocido siempre.org/wiki/Antonio_Meucci . a día de hoy. La era de las nuevas tecnologías. obsoletas y que no son óptimas en muchos sentidos. llegando a prácticamente todos los hogares y rincones. http://es. se necesita que exista una canal (habitualmente un par de cobre) constantemente abierto o dedicado. i]lflIll!III:" ._ _ _ _ _ -..INTRODUCCIÓN Francisco Gil Montoya yJulio Gómez lópez La telefonía de hoy en día. estos sistemas siguen basándose en tecnologías de hace varias décadas. con Internet a la cabeza. por ejemplo. El mundo de las comunicaciones por voz es uno de ellos. está poniendo patas arriba bastantes nichos tecnológicos que han permanecido invariables e intocables durante mucho tiempo.. Piénsese.

se pu~de ofrecer ya una gran cantidad de servicios al usuario fmal. La voz y los datos viajan por la misma red.asterisk. es posible que una conversación telefónica se pueda mantener entre cualesquiera dos puntos. Yana será necesario una "línea telefónica" y sí una línea de datos. disponen de ventaja en su uso y disfrute. http://www.).org/wiki/Session_Initiation_Protoc01 . Sin redes fiables que dispongan de un buen caudal en cuanto al ancho de banda. Internet y por supuesto. Desde este punto de vista. la unificación. la voz sobre IP está teniendo un auge vertiginoso. Si la voz ya no viaja por un circuito dedicado y exclusivo.wikipedia. voz. FTTH. Dentro de este contexto. conseguimos otro de los grandes beneficios de las nuevas tecnologías. Este escenario permite un uso óptimo de los recursos. aquellos países que disponen y/o se están dotando de redes de última generación y aquellos que realmente están invirtiendo en ello. La voz sobre IP está teniendo un gran auge actualmente. La voz se convierte en paquetes y pasa a denominarse Voz sobre IP (VoIP2 en inglés).org/wiki/GPL . Todo lo anterior implica que. los países o comunidades que no tengan claro este concepto perderán el tren digital y aumentarán aún más su déficit tecnológico (la famosa brecha digital). además son tratados y gestionados de forma conjunta y coordinada. http://es. Las grandes compañías ya lo saben y se están preparando para ello.org/wiki/Voip http://es. En la era de Internet.wikipedia. etc.org . con una calidad óptima y además de manera centralizada: televisión. apoyada en dos pilares fundamentales: el protocolo SIp3 y las aplicaciones GPL 4 (OpenSource) tipo Asterisk5 • . a partir de ahora. Fundamentalmente.XIV VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA Hoy en día ya no es necesario dedicar un recurso por completo para mantener una conversación. y no sólo eso. http://es. sino que ahora es parte de nuestras comunicaciones de datos. la forma en que estamos acostumbrados a comunicarnos cambiará sustancialmente. ocupando una simple porción del espectro o ancho de banda de nuestra conexión de área local o hacia Internet.wikipedia. Gracias al despliegue de nuevas redes de datos (VDSL. no es posible una migración seria y efectiva.

El libro se estructura en los siguientes capítulos: • Capítulo 1. conferencias. etc. Se proporciona una visión genéricá acerca de las tecnologías más usuales existentes en el campo de las comunicaciones y.©RA-MA INTRODUCCIÓN XV Sobre todo. se incluyen los aspectos esenciales que ayudarán a tener una idea general y de conjunto. tradicionalmente. pero aportando mucha más flexibilidad. Asterisk es una solución completamente software y corre bajo GNUlLinux. colas. Ericsson. Y se hace de una manera transparente.. Todo se hace vía software. se ofrecían por separado y/o en sistemas no integrados. No obstante.-_ _II/IIIIIIII!II'II'" .. básico y con un carácter eminentemente introductorio. Siemens. agentes. cumpliendo los estándares internacionales fijados de manera que pueda interoperar con otros sistemas o tecnologías de manera clara y cercana. música en espera. control. fundamentalmente.. . Esto último sólo lo pueden soñar los sistemas propietarios (ji ya qué precio oiga!!). caracterizadas por su falta de transparencia hacia el usuario.. en la Red Pública Conmutada RTC (PSTN en inglés). así como su elevado coste. Nortel. en la descripción de la filosofia de trabajo de Asterisk. parking de llamadas. La telefonía tradicional. Mediante la presente obra se intenta mostrar un enfoque eminentemente práctico en el uso de la voz sobre IP a través del paquete Asterisk. Es recomendable que el lector esté familiarizado con una administración básica de Linux. sus protocolos propietarios y cerrados. aunque esto no es del todo imprescindible. se le une toda la potencia de interacción con cualquier lenguaje de programación para realizar cualquier funcionalidad que se desee.. Esta configuración le confiere una robustez innata para desplegar servicios típicos de los sistemas tradicionales. A los típicos servicios de buzón de voz. este último está teniendo una gran aceptación en los entornos más dinámicos e innovadores como son las empresas de tecnología o de corte tecnológico. etc. mayoritariamente. se emplean numerosos ejemplos en aquellos capítulos que se centran. permitiendo al lector recorrer un camino personal en la construcción de un sistema completo de telefonía IP mediante herramientas de uso libre y código abierto. Este enfoque es. Para una mejor comprensión. También se habla de Asterisk como una plataforma convergente por cuanto que unifica muchos de los servicios que. inicial. Asterisk es una plataforma telefónica de código abierto (GPL) que pretende revolucionar el mundo de las comunicaciones IP frente a las tradicionales soluciones de grandes corporaciones como Cisco. más concretamente. creatividad ya muy bajo coste.

La nueva revolución.XVI VOIP y ASTERlSK: REDESCUBRlENDO LA TELEFONÍA ©RA-MA • Capítulo 1. proponiendo algunas soluciones a los mismos. Se habla y detallan todos los aspectos de su potencial. así como los diferentes módulos que lo componen y/o que pueden añadirse a conveniencia. Tras un proceso de registro. troncales de salida. Todo lo anterior. También se presentan numerosos ejemplos prácticos alrededor de cada explicación. • Capítulo 5. Además se pone a disposición del lector el uso de la Web http://www. . La revolución se llama Asterisk. IVR's. • Capítulo 4. lógica de trabajo y configuración. instalación. así como los elementos de hardware y software que hacen posible la comunicación. Una vez conocida la rutina de trabajo de Asterisk.. En este capítulo se cubren los aspectos básicos y esenciales de la incipiente tecnología de Voz sobre IP (VoIP en inglés). las funciones y variables de trabajo. Así mismo. etc. ficheros de configuración. así como sus diversos usos en el mundo reaL Por último. En este capítulo se entra de lleno en el apasionante mundo de Asterisk. Se presentan unos ejemplos prácticos que ayudarán al lector a comprender mucho mejor la potencia del sistema. Al final del libro se encuentran una serie de anexos que complementan la filosofia general del libro. diferente material didáctico. se presentan una serie de ejemplos de configuración de clientes para VoIP junto a una detallada descripción de software creado para trabajar conjuntamente con Asterisk. Gestión de Asterisk mediante interfaz Web. se tendrá acceso a diferente material electrónico como. En ellos se realiza una introducción general al mundo de GNUlLinux y las redes de datos. VolP . etc. Se detalla cómo es posible manejar la configuración de Asterisk mediante diversas interfaces Web al objeto de automatizar el proceso de creación de usuarios. Lógica de marcado o "Dialplan".adminso. así como acercar la complejidad y potencial que presenta el sistema al usuario menos experto o no iniciado. se pasa a detallar su sintaxis. aderezado de sugerentes y aclaradores ejemplos prácticos. • Capítulo 3. se realiza una breve introducción a los diferentes problemas de seguridad que pueden surgir en los sistemas de telefonía IP.es para completar información relacionada con Asterisk. Se detallan los protocolos más importantes y utilizados en la vida real. por ejemplo.

.m...•• - ©RA-MA INTRODUCCIÓN XVII • . * • .p$cl!n!. es decir. E«~torlal P'''f''~~ '-P"1~ ~.t SI".qu. reseñar que el libro está basado en la rama 1..0 y 1.¡.nM! 1""'*-""u ""'1".du tO"" :tdo'q.es 1 Por último. A~"'''CI\ • 11 • 1­ t. es la rama estable y en desarrollo del proyecto.dc... .6 (aún en estado beta).4 de Asterisk. sólo se resuelven aspectos críticos o de seguridad).Sut""""Cp" ..""..tu:h.no"".I.b. que a fecha de edición...k'''''I'tdo'~1u>~ •• nl<o«. • ~c< ~f 1': . Existen además la rama 1..!t.. • Figura 1. y la rama 1... . ¡.ci<ín 00 - Slsl<>mas Operatlvos ... (lp"..~vO~ <ME . " Admimst. WIWl~"'$ y L""".:.:·s..lrtt! d..'*'l"""o~oI9ortal..(\t". ..ffOóhe• .A~1. Portal www.adminso.... tnformación generaJ t.. pt<)f"""~'lt.'Y'f :p~.2 (en estado de mantenimiento.

la RTC incluye la primitiva RTB y la moderna RDSI (Red Digital de Servicios Integrados). Hasta hace poco se denominaba RTC (Red Telefónica Conmutada). así pues.CAPÍTULO 1 LA TELEFONIA TRADICIONAL Jesús Camacho Rodríguez y Francisco José Méndez Cirera . 1 Sistemas analógicos La red telefónica básica (RTB 1) fue creada para transmitir la voz humana. Tanto por la naturaleza de la información a transmitir. cuya utilización ha estado enfocada fundamentalmente hacia 1 La RTB es conocida en literatura inglesa como PSTN. reservando las siglas RTC para las redes conmutadas de cualquier tipo (analógicas y digitales). como por la tecnología disponible en la época en que fue creada. es de tipo analógico. . pero la aparición del sistema RDSI (digital pero basado también en la conmutación de circuitos) ha hecho que se prefiera utilizar la terminología RTB para la primitiva red telefónica (analógica). RTB es en definitiva la línea que tenemos en el hogar o la empresa.

etc. manteniendo el bucle local analógico. mayoritariamente analógicas. la medida que se adoptó fue la de digitalizar la comunicación entre las centralitas telefónicas. la señal analógica es muestreada a 8. Ello solventó diversos problemas. A su vez. Como hemos visto. las centrales telefónicas están unidas entre sí por sistemas más complejos y basados en tecnología digital. Para su digitalización. Esta medida dio lugar a lo que se conoce como RDJ "Red Digital Integrada" . aunque cada vez ha ido tomando más auge el uso para transmisión de datos como fax. El valor de cada muestra puede ser un valor entre O y 255 (puede ser representado por 1 byte -octeto-) lo que supone un flujo de datos de 8 KB/s o 64 Kb/s. En los años 60 las centrales telefónicas. Internet. Finalmente. es decir. la intención fue también digitalizar el bucle local pero por motiVúS meramente económicos el bucle local continuó siendo analógico. fueron transfonnando su tecnología a digital. conocidas como FXS y FXO.1 FXS La interfaz "Foreign eXchange Subscriber" o FXS es el puerto por el cual el abonado accede a la línea telefónica. La situación actual para la RTB puede clasificarse como híbrida. se disponga por tanto de tecnología RDSI o analógica se requiere de un enlace desde nuestro hogar hasta la central telefónica asignada a nuestra zona. que se extienden desde la central telefónica hasta la instalación del abonado (se conoce también como bucle de abonado). Es por ello que es de gran importancia conocer los dos tipos de conexiones telefónicas analógicas existentes. 1. Esta unión de centrales constituye el sistema telefónico nacional que a su vez está enlazado con los restantes del mundo. Cada central atiende las líneas de abonado de un área geográfica detenninada. Cada línea RTB tiene asignada una numeración específica (su dirección telefónica) y está fisicamente construida por dos hilos metálicos (conocidos como par de cobre).). Del mismo modo. los nombres de los puertos o interfaces usados por las líneas telefónicas y los dispositivos analógicos.2 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA·MA las comunicaciones mediante voz.000 veces por segundo (8 Khz. como los relacionados con la degradación de la señal de voz y la imposibilidad de manejar gran cantidad de llamadas. ya sea de la compañía telefónica o de la . lo cual se denomina calidad de sonido telefónico. y obteniéndose así los beneficios de la telefonía digital a un precio razonable. lo nonnal es que la transmisión sea todavía analógica en los bucles de abonado de ambos extremos y digital en su tráfico entre centrales (esto requiere una doble conversión. analógico-digital y digital-analógico).

En otras palabras. etc. En la figura 1-3 se muestra el escenario de un hogar tradicional. Los puertos FXS son. Figura l-l. Roseta telefónica o PTR 1. los encargados de: • • Proporcionar tono de marcado. módem s o faxes). FXS con FXO o viceversa. A modo de resumen se quiere destacar que dos puertos se pueden conectar entre sí con la condición de ser de distinto tipo. Para entender mejor el concepto. Un ejemplo de interfaz FXO es la conexión telefónica que tienen los teléfonos analógicos. es decir. Suministrar tensión (y corriente) al dispositivo final. La interfaz FXS es el punto donde se conectan los teléfonos del hogar que quieren hacer uso de la línea. Es por ello que a los teléfonos analógicos se les denomina "dispositivos FXO". Como podemos apreciar siempre se conectan entre sí interfaces de distintos tipos. La interfaz FXS sería entonces la roseta de telefonía del hogar. por lo tanto. la interfaz FXS provee el servicio al usuario final (teléfonos. Los puertos FXO cumplen la funcionalidad de enviar una indicación de colgado o descolgado conocida como cierre de bucle.2 FXO La interfaz "Foreign eXchange Office" o FXO es el puerto por el cual se recibe a la línea telefónica. es decir. fax.©RA-MA CAPÍTULO 1: LA TELEFONÍA TRADICIONAL 3 central de la empresa. El teléfono posee una interfaz FXO como se . piense en el caso de un hogar tradicional. FXO y FXS son siempre pareja (similar a un enchufe macho/hembra).

y aunque las compañías telefónicas pusieron mucho empeño en extenderlo al mayor número de lugares posibles.. Figura /-3.... Dispositivo FXO -IFXSI •.. Se esperaba que la RDSI pudiera revolucionar la industria de las comunicaciones telefónicas como hoy día se espera que lo pueda hacer la VoIP.1 Sistemas digitales RDSI Los trabajos de desarrollo de la Red Digital de Servicios Integrados (RDSI o ISDN. Figura 1-2.. pero ésta no sería comercializada hasta principios de los años 90. FXS IFXO sin centralita 2 2. el cual es conectado a la roseta de la compañía telefónica (FXS). muchos consideran la RDSI un fracaso debido a que . Sin embargo. en inglés Integrated Services Digital Network) comenzaron en la década de los 80.4 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA muestra en la imagen..

de forma que pueden emplearse canales B y D para la transmisión de datos (éstos últimos siempre que no haya datos de señalización).©RA-MA CAPÍTULO 1: LA TELEFONÍA TRADICIONAL 5 todo lo que prometía no se pudo llevar a cabo. Pero además. pero en la mayoría de los casos se encuentran en proceso de cambio hacia la ADSL. Precisamente esta característica dota a la RDSI de una mayor flexibilidad que la que poseen las líneas de la RTB. Los usuarios finales de este tipo de línea fueron. ya que los canales pueden ser reconfigurados sobre la marcha para que transmitan voz o datos. empresas relativamente pequeñas. de forma que pueden rel\. Arquitectura de un cable RDS1 BRI A diferencia de la versión BRI de RDSI. la Asymmetric Digital Subscriber Line (ADSL). pudiendo contener cada uno de ellos datos (canales B) o señalización (canales D). una de 31 (30 canales B y 1 canal D) y otra de 24 canales (23 canales B y 1 canal D). Cada canal tiene un ancho de banda de 64 Kbps. Lo cierto es que la RDSI nunca terminó de despegar ya que cuando lo estaba haciendo surgió otra tecnología que tuvo una implantación mucho más barata y rápida. cable o algún tipo de tecnología inalámbrica. Tal y como se muestra en la figura 1-4. la RDSI no se limita sólo a la transmisión de voz.lizarse dos llamadas telefónicas de forma simultánea en una única BRI. en principio. otros tipos de medios y servicios ya habían evolucionado de forma que ofrecían más ancho de banda sin la complejidad y el coste asociados a ésta. La RDSI permite que en una línea coexistan múltiples canales. 1 canal B a 64 Kbps 1 canal 6 a 64 Kbps 1 canal O a 16 Kbps Figura 1-4. la PRI (Primary Rate Interface) posee dos versiones. con ésta pueden realizarse 30 ó 23 llamadas . tiene tres canales (dos canales B y un canal D). Desafortunadamente. también conocida como BRI (Basic Rate Interface). cuando esta versión de la RDSI fue lanzada al público. la línea RDSI básica. por lo tanto. Todavía existen algunos usuarios de líneas BRI (emplean ésta principalmente para videoconferencia debido a su ancho de banda fijo).

si necesita tener. fundamentalmente.2 El/TI Un TI es un acceso digital que dispone de 24 canales. Los dos tipos de enlaces primarios se denominan El ellos es utilizado en Europa y Australia. por ejemplo. de 8 a 16 líneas así como conexión de datos. ya que. Su implantación ha sido mayor que la de la BRI y normalmente constituye la elección para instalaciones de un tamaño considerable.6 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA telefónicas al mismo tiemp02. Mientras que el TI es muy común en Estados Unidos y Japón. Esto se consigue mediante lo que 'Se conoce como Señalización por Robo de Bit (Robbed BU Signaling). Canadá y Jap6n. por ejemplo. es decir. Tl. En esta ocasión. Tanto los TI s como los El s tienen que señalizar las llamadas de alguna manera. esta línea dispone de 32 canales en vez de 24. Los proveedores de servicios pueden proporcionar en este caso precios más bajos de lo normal. unos cuantos canales podrían ser para voz. pudiéndose realizar en cada uno de ellos (menos uno) una llamada. Incluso se puede dar el caso de que existan canales sin usar. tanto un TI como un El (dependiendo de la zona donde estemos) podrían constituir una buena elección. algo que se emplea sobre todo en Europa (EIs). en Europa se emplea con mayor frecuencia el E 1. Usar TIs y EIs para proporcionar datos y voz a la vez es muy común. sus costes son proporcionalmente menores que los asociados a la BRI. Además. Por todo lo comentado. respectivamente. mientras que Estados Unidos. o mediante multiplexación del bit en un canal común. El primero de segundo se usa en . otros para conectarse a Internet y un último grupo podría ser para conectarse de forma privada a otra oficina de la organización. 2. algunos de los canales de las líneas son asignados para ser usados para datos y otros son asignados para ser usados para voz. A diferencia del TI. que cada cierto tiempo se usa un bit de cada canal para así señalizar y enviar información a través de la línea (TI s).

Son capaces de transportar 168 TI s. La primera se emplea en Estados Unidos y Canadá. lo que hace un total de 512 canales. es decir. La relación anterior no es definitiva. Los anchos de banda de transmisión de datos empleados en estas líneas varían desde los 51.032 canales. se suele emplear también un método llamado Signaling System 7 (SS7). Éste es un protocolo que aporta ciertas ventajas sobre los otros ya que está basado en conmutación de paquetes y la señalización no se realiza de fonna intercalada en la línea de transmisión.736 Mbps. proporcionadas tanto a través de cable coaxial como a través de enlace de microondas. • Por último. • Las líneas T4s. ni mucho menos. Esto provoca que toda la infonnación sea enviada de manera más rápida.368 Mbps. Son capaces de transportar 16 E 1s. Para la señalización entre redes. existen otros tipos de líneas digitales que son empleadas nonnalmente para realizar la comunicación de una red a otra red. Esto hace que una T3 tenga un ancho de banda de 44.840 Mbps hasta los 39. la Synchronous Optical Network (SONET) y la Synchronous Digital Hierarchy (SDR). conocido como C7 en los países europeos. como por ejemplo el novedoso FTTR. • Las líneas E3s.3 OTROS Además de las líneas mencionadas anterionnente.© RA-MA CAPíTULO 1: LA TELEFONÍA TRADICIONAL 7 2. además de emplear las técnicas mencionadas anterionnente en TI y El. sino que se realiza a través de paquetes que contienen toda la infonnación necesaria al comienzo de la conexión.813 Gbps (aunque teóricamente se podrían alcanzar los 159. mientras que la segunda lo es en el resto del mundo. proporcionadas a través de fibra óptica. o lo que es lo mismo. que son proporcionadas a través de cable coaxial o enlace de microondas y que son capaces de transportar 28 TI s.176 Mbps. 672 canales. ya que cada día salen al mercado nuevos estándares de mucha más capacidad. proporcionadas únicamente a través de cable coaxial. Principalmente se trabaja con las siguientes: • Las líneas T3s. . por lo que su ancho de banda es de 274.252 Gbps). El ancho de banda de este tipo de líneas es de 34. 4.

pero no sería hasta 1991 cuando la primera red GSM fue lanzada. Se comenzó a trabajar en él en la década de los 80.8 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA Figura 1-5. la Asociación GSM. concretamente en Finlandia. Su promotor. Los operadores móviles también se han visto favorecidos por esta implantación tan grande ya que les ha permitido elegir su equipamiento entre multitud de fabricantes de todo el mundo que emplean GSM en sus dispositivos. estima que el 82% del mercado global de teléfonos móviles lo emplea. .1 Redes móviles GSM (2G) GSM (Global System lor Mobile communications. o itinerancia es un concepto relacionado con la capacidad de un para moverse de una zona de cobertura a otra. proveniente en un principio de Groupe Special Mobile) es el estándar más popular y extendido para teléfonos móviles en todo el mundo. Precisamente su ubicuidad hace que el roamini internacional sea muy común entre los operadores de móviles. Cable defibra óptica 3 3. permitiendo a los usuarios suscritos a sus servicios emplear sus teléfonos en muchas partes del mundo.

También existen casos. Además. lo que significa que los terminales se conectarán a ella buscando estaciones base (también conocidas como células o BTS.©RA-MA CAPÍTULO 1: LA TELEFONÍA TRADICIONAL 9 r:n. son en esta ocasión digitales. Ambos codecs eran bastante 4 • Codee es una abreviatura de codificación-decodificación. donde los dispositivos móviles de primera generación comenzaron empleando esos rangos de frecuencias y decidieron mantenerlos para su uso con GSM. GSM funciona principalmente en cuatro rangos de frecuencias: las bandas de frecuencia de 900 MHz y 1800 MHz son las más comunes. que se llamaban así debido a la relación que éstos guardaban con la forma en la que usaban el canal de transferencia (de forma parcial o de forma completa. mientras que en algunos países americanos (como Estados Unidos o Canadá) se emplean las bandas de 850 MHz y 1900 MHz debido a que las anteriores se encontraban ya en uso para otras aplicaciones.11 GSM difiere de sus predecesores en que ambos canales. GSM emplea varios codecs de audio para comprimir el sonido transmitido a través de los terminales móviles. en los que se emplean las bandas de frecuencia de 400 MHz y 450 MHz. tanto el de señalización como el de voz. GS 1. . Por ello se considera a GSM como un sistema de telefonía móvil de segunda generación (2G). La red existente detrás de GSM (y que el usuario corriente no percibe) es bastante grande y compleja. fueron empleados dos codecs. Al principio. Logotipo GSM . Figura 1-6. Este hecho se produce por ejemplo en los países escandinavos. con GSM comenzó a ser mucho más fácil integrar. aunque son poco frecuentes. De otra manera sería imposible proporcionar todos los servicios que el usuario final recibe de ésta.1. la posibilidad de establecer comunicaciones de datos.ln. GSM en una red celular para dispositivos móviles. Half Rafe y Full Rate. respectivamente) en el que eran empleados. en inglés Base Telephone Station) en sus inmediaciones. Su uso se refiere a la capacidad de codificar y decodificar una señal de audio en un sistema concreto. en los teléfonos móviles.

debido a que es una especificación que se encuentra entre la segunda y la tercera generación de telefonía móviL En la especificación de 1999 se introdujo una mejora en la velocidad de transmisión de datos a través del uso del servicio Enhanced Data rates lor GSMEvolution (EDGE). AlH '. . . También incluía el número de teléfono para emergencias (concretamente en Europa es el 112). A partir de 1997 comenzó a emplearse el codec Enhanced Fu!! Rate (EFR).. ReI!lSl'" ele "'.10 VOlP Y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA eficientes en cuanto a compreslon.. .. . que hacía muy fácil a los viajeros el poder contactar con los servicios de emergencias sin tener que conocer el número local de éstos. .' CEO fontrotadorde Estación 9'ase RI..-----------­ t! . el mensaje de texto (Short Messaging Service o SMS). En la especificación de 1997 el estándar añadió capacidad para transportar paquetes de datos a través del servicio General Packet Radio Service (GPRS).. .. I I .a de Estación Base Subsistema de Red DM Dlsposrtiw Mó."!t____ I I _ . que mejoró el estándar y usaba el canal de transferencia completamente. incluyendo entre otras cosas mensajes multimedia (Multimedia Messaging Servíce o MMS) o aplicaciones de Internet a través del Wireless Application Protocol (WAP). además de implementar la identificación de partes importantes de audio permitiendo la priorización y protección de dichas partes. : "'---..1 . 1 I ."!1a<ión "'ca. I .V Registro de lotBIizaoón _ ReI'Strode~denti:dadde SIM TarjetaSIMa MódUm de IdenUflatdorde Usuario nT ES1adón 9aseTf3nsmtsora RlI. f Estac:ión móvil (UM Subsist. Vt5itante (:1M CentTode Intercambio de 5entdos Mó. ___________ .. GPRS es comúnmente conocido como 2.5G. Esquema de una red tradicional GSM El estándar GSM fue pionero al incluir una alternativa barata a las llamadas de voz a través de la red de telefonía.Hes Figura 1-7..------------. _____A:. . ... 1I :. soportado hoy día por prácticamente la totalidad de estándares para móvil. Las nuevas versiones del estándar han sido retro-compatibles con los teléfonos GSM originales..

Éste tiene una calidad alta y es robusto contra interferencias cuando es usado empleando el canal de transferencia completamente. En la práctica se han llegado a alcanzar tasas de transferencia de bajada de 7. UMTS proporciona una gran mejora en la transferencia de datos con respecto a sus predecesores.6 Kbps que ofrecían los primeros canales de datos empleados en OSM. Por otra parte. Además de la familia OSM de codecs de voz.MR-Narrowband. la migración de esta tecnología a UMTS constituye un camino simple pero costoso. pero no sería hasta principios de 2000 cuando surgiría la especificación de la primera red UMTS. El amplio espectro de frecuencias que emplea UMTS ha sido ampliamente criticado ya que retrasó el despliegue en algunos países en los que es lenta la asignación de frecuencias (como en Estados Unidos). Está estandarizado por 30PP (3rd Generation Partnership Program). pudiendo alcanzar (eso sí.2 Mbps. una colaboración entre grupos de telecomunicaciones de varios lugares del mundo para desarrollar una especificación de un sistema de telefonía aplicable globalmente y que cumpla las exigencias de ITU IMT-2000. pero el coste de obtener las nuevas licencias para el espectro de frecuencias así como implementar UMTS en las torres existentes es alto.© RA-MA CAPÍTULO 1: LA TELEFONÍA TRADICIONAL 11 3. Las bandas de frecuencia en las que opera UMTS varían dependiendo del país.2 UMTS (3G) UMTS (Universal Mobile Telecommunications System) es una tecnología de tercera generación (30) para telefonía móvil. Ese sistema está basado en una evolución de las especificaciones de OSM. el proyecto 3GPP Long Term Evolution planea que UMTS pueda alcanzar en una tecnología para móviles de cuarta generación (40) velocidades de bajada de hasta 100 Mbps y de subida de hasta 50 Mbps. los mayores fabricantes de móviles 20 son hoy día también fabricantes de modelos 30. 30PP fue creado a finales de 1998. una velocidad muy superior a los 9. Esto se debe a que una gran parte de la infraestructura de UMTS se comparte con OSM. Para los operadores de OSM existentes. EFR dio paso a un codec de ratio variable llamado A. con el desarrollo de UMTS. aunque en el estándar original se definía el rango de frecuencias 1885-2025 MHz para la comunicación de móvil a estación base (uplink o enlace de subida) y el rango de frecuencias 2110-2200 MHz para la comunicación de estación base a móvil (downlink o enlace de bajada). A largo plazo. mientras que es menos robusto pero mantiene una calidad relativamente alta cuando es usado en buenas condiciones empleando el canal de transferencia de forma parcial. de forma teórica) hasta 14 Mbps. . Esta velocidad de transferencia ha abierto la posibilidad de ejecutar aplicaciones y realizar acciones con nuestros terminales móviles que nos parecían impensables hace tan sólo unos años.

hoy día es común el uso de las redes UMTS para acceder a Internet. 4 4. también llamadas líneas troncales.12 VOIP y ASTERlSK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA Las primeras redes comerciales UMTS fueron lanzadas en 2002 y para promocionarlas se hizo especial énfasis en las posibilidades que éstas brindaban relacionadas con aplicaciones como la televisión por móvil o la videoconferencia. . hay un número limitado de líneas externas. La centralita es un dispositivo de telefonía que se suele utilizar en la mayoría de las medianas y grandes empresas. donde los terminales existentes son pocos y las exigencias no son importantes. no así en los hogares. las experiencias en Japón y otros lugares de temprana implantación mostraron que las videoconferencias no eran muy empleadas y que aplicaciones como la televisión por móvil no alcanzaban la demanda esperada. Las llamadas realizadas a números de teléfono externos. Permite a los usuarios o abonados compartir un determinado número de líneas externas (analógicas o digitales) para hacer llamadas telefónicas entrantes o salientes. infrarrojos o USB. ya sea directamente desde un terminal móvil o bien desde un ordenador a través de Wi-Fi. La PBX normalmente se instala en la propia empresa y conecta las llamadas entre los teléfonos situados e instalados en la misma. módems y otros dispositivos de comunicación. mediante una PBX. Bluetooth. se suelen realizar anteponiendo un dígito (habitualmente el O) al número . Habitualmente. Entre las muchas ventajas que ofrece. empleándose la alta velocidad de transferencia de datos de UMTS mayoritariamente para acceder a Internet. Así mismo. así como establecer comunicaciones internas entre todos los dispositivos que dependen de la PBX. Poco a poco. para realizar y recibir llamadas externas a la empresa desde un origen externo que suele ser la RTC (PSTN). Private Branch Exchange en inglés.1 Centralitas tradicionales PBX INTRODUCCIÓN Una Centralita privada o PBX5 es un dispositivo de telefonía que actúa como conmutador de llamadas en una red telefónica o de conmutación de circuitos. una PBX es una solución mucho menos cara que proporcionar a cada usuario de la empresa una línea telefónica externa. De esta forma. a una PBX se le pueden conectar teléfonos. máquinas de fax.

2 SISTEMAS COMERCIALES Actualmente existe una gran diversidad de modelos de centralitas: centralitas con mayor o menor número de extensiones para pequefias o grandes empresas. Centralitas tradicionales . Esquemas de interconexión de centralitas 4. totalmente analógicas. Figura 1-9. de más o menos prestaciones.eRA-MA CAPÍTULO 1: LA TELEFONÍA TRADICIONAL \3 externo en algunos sistemas. con mayor o menor funcionalidad. Al contrario. En la figura 1-8 se puede apreciar un esquema de ejemplo de conexión de varias PBX pertenecientes a la Universidad de Almería. Campus Telefónica España la Cañada Figura 1-8. híbridas o completamente IP. de fonna que la PBX selecciona automáticamente una linea troncal saliente. las llamadas realizadas entre usuarios dentro de la empresa nonnalmente no necesitan el marcado de ningún número especial o el uso de una línea externa troncaL Esto se debe a que la PBX enruta o conmuta las llamadas internas entre teléfonos que están conectados fisicamente a dicha PBX.

o bien trasladarse de un punto a otro de la red junto con su terminal telefónico (con todas sus prestaciones asociadas). por ejemplo dar un servicio de atención al cliente. A nivel empresarial esta integración con la tecnología IP ofrece grandes ventajas: los recursos humanos de la empresa pueden estar dispersos geográficamente manteniendo los recursos telefónicos centralizados. mensajes en espera personalizados para cada una de las extensiones. etc. Los grupos de extensiones permiten definir un conjunto de extensiones para cumplir entre todas una función específica.. la mayoría de centralitas comerciales ofrece una serie de funciones muy importantes como la recepción de llamadas sin necesidad de comunicarse con la operadora. En la figura 1-10 puede ver una centralita modelo "Panasonic TDA 15": Figura 1-10. resulta muy práctico.14 VOlP y ASTERlSK: REDESCUBRtENDO LA TELEFONÍA ©RA-MA En general. restricción de llamadas. es decir. La restricción de llamadas es también fundamental en el entorno empresarial. . También se integran funciones de buzón de voz en caso de que el destinatario no se encuentre disponible para responder a la llamada. Un ejemplo sería "Pulse uno para deparJamento de ventas. Las centralitas híbridas combinan las prestaciones de una central telefónica con la tecnología IP. la cual permite programar qué destinos para llamadas salientes están prohibidos o qué destinos están permitidos. Otras funcionalidades muy útiles en entornos empresariales son: conferencias. los llamantes pueden seleccionar el destino con el que desean hablar tecleando el número que tiene asignado. sin tener que volver a configurar el terminal. además de que aquellas empresas que desean utilizar su cableado de red para conectar teléfonos en lugares donde no siempre hay conectado un terminal telefónico. etc. desvío de llamadas. grupos de extensiones. n. dos para departamentos de marketing. Centralita híbrida (Panasonic TDA15) .

Avaya. Ericsson. Las prestaciones entre uno y otro fabricante son muy similares . Siemens. RA-MA CAPÍTULO 1: LA TELEFONÍA TRADICIONAL 15 Otros fabricantes que se dedican a la comercialización son Alcatel. etc.¡.

.

especialmente a través de intranets corporativas e Internet. Esta tecnología es conocida hoy día como VoIP y es el proceso de dividir el audio y el vídeo en pequeños fragmentos. Fue la posibilidad de un despliegue masivo de Internet la que volvió a reabrir el interés en la VoIP a partir de esos años. un grupo de personas perteneciente al entorno de la investigación. comenzaron a mostrar un cierto interés por transportar voz y video sobre redes IP. . La idea de la VoIP no es nueva. tanto de instituciones educativas como empresariales.LA NUEVA REVOLUCIÓN Alfredo Alcaide García y Raúl Baños Navarro 1 Introducción a la VoIP En la década de los 90.CAPÍTULO 2 VOIP . ya que hay patentes y publicaciones de investigaciones que datan de varias décadas. La VoIP ha tomado un papel central en la autopista de la información (o Internet) para que la red pueda interconectar cada hogar y cada negocio a través de una red de conmutación de paquetes. transmitir dichos fragmentos a través de una red IP y reensamblar esos fragmentos en el destino final permitiendo de esta manera que la gente pueda comunicarse.

la tecnología asociada a las redes de datos y las comunicaciones continuó mejorando. para ser en 1998 cuando se dieron definitivamente los primeros pasos desde un punto de vista comercial.18 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA 2 Evolución En 1995. transformar la señal de voz en paquetes IP una vez comprimida. tarjeta de sonido y módem. se ha convertido en pocos años en una de las soluciones IP más extendidas en diversos ámbitos. una centralita telefónica de software libre que se distribuye bajo licencia GPL. A día de hoy Skype se puede emplear en multitud de plataformas y su uso se encuentra también ampliamente extendido. Esto supuso un nuevo impulso a la VolP ya que comenzó a implantarse en muchas empresas. y alrededor del año 2005 ya era fácil para cualquier persona de países desarrollados conseguir una conexión a Internet que cumpliera los requisitos mínimos para ofrecer una buena calidad de voz y una comunicación fiable a través de VoIP. Durante los años siguientes. Este producto. lo que a largo plazo se piensa que limitará a sus usuarios. esta alternativa a la comunicación telefónica tradicional fue comercialmente un fracaso ya que las conexiones a Internet que se disponían ofreCÍan un ancho de banda muy escaso. Básicamente el funcionamiento de este software es igual al de hoy día. Las redes de datos siguieron mejorando en años venideros. que fue creado por dos jóvenes universitarios en el año 2003. altavoces. La consecuencia directa fue que la VoIP alcanzara en el año 2000 más del 3% del tráfico total de voz. En este año diversas compañías lanzaron al mercado adaptadores que permitían hacer uso de los teléfonos tradicionales en un entorno VoIP. Un ejemplo claro es Asterisk. Durante el año 1998 la tecnología VolP alcanzaba ya el 1% del tráfico total de voz: su carrera había comenzado. Skype hace uso de un protocolo privado que no está basado en un estándar. Esto supuso otro gran impulso a la VoIP y provocó que a día de hoy existan muchas soluciones que hacen uso de esta tecnología. como el empresarial o el educativo. Este software era únicamente útil para entablar una comunicación de PC a PC y para ello necesitaba hacer uso de diversos requisitos hardware tales como micrófono. Sin embargo. compañías dedicadas a las redes de datos tales como Cisco crearon las primeras plataformas destinadas a empresas capaces de tratar con tráfico VoIP. A diferencia de Asterisk. una pequeña compañía llamada Vacoltec anunció el lanzamiento del primer teléfono software para Internet. Ello facilitó el acercamiento a los clientes a la hora de poder hacer uso de la tecnología VoIP. Otro ejemplo destacable de producto VoIP es Skype. . En 1999. reduciendo al mínimo las posibles interrupciones que se pudieran producir durante la conversación. por lo que algunas empresas importantes se lanzaron al mercado ofreciendo productos y servicios relacionados con esta tecnología. soportado comercialmente por Digium.

000 .. sin duda... sería la factura de ldéfono que tendríamos que pagar! VoIP soluciona este problema y muchos otros. en un pequeño negocio o en casa. Amerka¡Caribbean • AsiajPadflc • 1 1997 1998 1999 2000 2001 2002 2003 2004 2005 Eurojl(l Nortn America Figura 2-1.:) 'O $ Ul 70. 1997~2005 100.000 4°. sin embargo. A continuación vamos a nombrar '1 tl .000 3°.000 60. VoIP puede ser usada para reemplazar la telefonía 1I3Idicional en un entorno empresarial.000 90. las ventajas que puede aportar superan claramente a éstas. 3 Ventajas Aunque VoIP puede definirse de forma abreviada como una tecnología que apuvecha el protocolo TCP/IP para ofrecer conversaciones de voz. ¡Lo primero en lo que pensaríamos.000 3: 80.000 :i 'O ¡. Tráfico VolP en todo el mundo (dividido por regiones) De un modo u otro. . VOIP -LANUEVAREVOLUCrÓN 19 Global VolP Trame by Reglon.___ _ • • 11 Aftíca/Middle Eut • S.eRA-MA CAPÍTULO 2..000 20.nad del globo.000 5°.00: . a finales del año 2008 se espera que el negocio Rlacionado con la VoIP llegue a la impresionante cifra de 5. lo cierto es que es mucho más que esto.. El bajo coste de las llamadas a distancia y las nuevas funcionalidades que se están implementando son sólo dos de los alicientes que están provocando esta R:\'olución. VoIP tiene también algunas desventajas.¡ J ~ >0. ) 1 Consideremos hacer una llamada a una persona que se encuentra en la otra ..000 millones de dólares. o simplemente para añadir ventajas a un sistema de telefonía tradicional.

Además en la mayoría de los casos no será necesario hacer nuevas instalaciones de cableado telefónico. es decir. hacer llamadas en cualquier lugar del mundo a cualquier destino del mundo únicamente empleando tu cuenta VoIP. puedes configurar una conferencia que permite a un grupo de personas comunicarse en tiempo real. De esta forma. Algunos ejemplos son aplicaciones tan conocidas como Skype o Net2Phone. tiempo significa dinero. si el ADSL tiene una velocidad razonable. únicamente dos personas pueden hablar al mismo tiempo. podrá hablar a través de VoIP con una buena calidad de llamada y el coste seguirá siendo siempre el mismo. Si no se usa VoIP para la comunicacIOn por voz. Como resultado. interesantes y útiles. • Prestaciones abundantes. te encontrarás mejor equipado para la gestión de llamadas. En una línea RTC. Usar VoIP también significa beneficiarse de sus prestaciones abundantes. el único hardware adicional que necesitarás además de tu ordenador y tu conexión a Internet será una tarjeta de sonido. algo que podría resultar algo más caro. Como VoIP emplea Internet como medio de transporte. • Más de dos personas. que pueden hacer la experiencia de emplear VoIP mucho más rica y sofisticada. VoIP comprime los paquetes durante la transmisión. el único coste que se tiene es la factura mensual de Internet a tu proveedor de servicio o ISP. por ejemplo. Si eres un usuario de Internet que está deseando usar VoIP para comunicarse por voz. . se pueden establecer más llamadas a través de una única línea de acceso. Podrás. De esta forma. En general. Lo que debemos tener en cuenta es que para comenzar a emplear VoIP no necesitaremos un teléfono con todo el equipamiento asociado a éste. entonces seguramente se esté utilizando la vieja línea de teléfono. Todo este material es a día de hoy bastante barato. algo que provoca que se pueda transmitir una cantidad mayor de datos. tanto en tu hogar como en tu trabajo. Hoy día el servicio de Internet más común es una ADSL que se puede emplear de forma ilimitada y conlleva un coste fijo al mes. unos altavoces y un micrófono. no limita la movilidad del abonado. • Hardware y software baratos. Otras prestaciones que ofrece VoIP son el reconocimiento de llamada. Existen diferentes paquetes software descargables de Internet que emplean VoIP y que sirven para establecer comunicaciones por voz. la VoIP pasa a ser un servicio tan portable como el e-mail. Con VoIP. En una línea de teléfono corriente. ya que VoIP se integra con la red de datos existente en la gran mayoría de empresas y hogares.20 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA algunos de los beneficios asociados al uso de VoIP y veremos cómo podría mejorar la comunicación por voz de nuestro negocio u hogar: • Ahorrar dinero.

• Fax sobre IP. • Uso más eficiente del ancho de banda. Si trabajas en una organización que emplea una intranet o extranet. La compresión y la posibilidad de eliminar la redundancia cuando se transmite voz serán también factores que elevarán la eficiencia del uso del ancho de banda de la conexión. VoIP rellena estos espacios de silencio con datos de forma que el ancho de banda de los canales de comunicación de datos no sean desaprovechados. Al estar basada en una red de paquetes. La transmisión de fax en tiempo real sobre VoIP simplemente utiliza una interfaz de fax para convertir los datos en paquetes y asegura que éstos serán entregados completamente y de forma segura. • Teletrabajo. video o texto a la vez que la voz. ya que proporciona una gran cantidad de comodidades impensables hace unos años. • Más que voz.eRA-MA CAPÍTUL02: VOIP LANUEVAREVOLUCIÓN 21 posibilidad de crear números virtuales o el contestador automático. Lared que encontramos bajo VoIP no necesita tener un esquema o topología en concreto. Esto hace posible que una organización pueda hacer uso de la potencia de las tecnologías que elijan. • Esquema de red flexible. Los problemas de los servicios de fax sobre RTC son el alto coste que conllevan para largas distancias. puedes hablar con alguien a la vez que le envías archivos o incluso a la vez que te está viendo a través de una webcam. Cuando empleamos VoIP. requerirá menos equipamiento y su tolerancia a fallos será mayor. La naturaleza portátil de la tecnología VoIP está provocando que gane popularidad. SONET o Ethernet. y en ese contexto VoIP encaja perfectamente. como A TM. 1 s . El sistema estará más estandarizado. la atenuación de la calidad en las señales analógicas y la incompatibilidad entre algunas máquinas cuando se comunican. por poner algunos ejemplos. Se sabe que el 50% de una conversación de voz es silencio. VoIP puede manejar también otros tipos de datos además de la voz: podríamos transmitir imágenes. Puedes convertir tu hogar en una parte de la oficina y usar remotamente la voz. todavía podrás acceder a tu oficina desde casa a través de VoIP. la complejidad de la red inherente en las conexiones RTC es eliminada. La portabilidad tanto de hardware como de servicios se está convirtiendo cada día en algo más normal. creándose una infraestructura flexible que puede soportar muchos tipos de comunicación. el fax o los servicios de datos de tu lugar de trabajo a través de la intranet de la oficina. De esta forma.

lo que la VoIP nos permite es una gran flexibilidad. enrotándolos y señalizándolos de forma muy flexible y robusta. pue4. Sea partidario de un enfoque u otro. un entorno VoIP. Por otro lado la arquitectura distribuida es más compleja que la arquitectura centralizada. • Desarrollo de software más productivo. VoIP puede combinar diferentes tipos de datos. en la figura 2-2 se muestra. 4 Arquitectura Uno de los beneficios que aporta la VoIP es que la arquitectura. Arquitectura . PDAwifi Internet Teléfono IP I softphone Adaptador ATA ~ Origen • I • • • • · Destino de la llamada de la llamada Figura 2-2. El enfoque centralizado es criticado porque al estar todo localizado en un mismo punto las futuras innovaciones tecnológicas se verán entorpecidas. Sin entrar en debates sobre un enfoque u otro.e ser centralizada o distribuida. Como resultado de esto. desde el punto de vista de su distribución.22 VOIP y ASTERISK: REDESClJBRIENDO LA TELEFONÍA ©RA-MA Otra ventaja de este sistema es que ni siquiera necesitaremos una máquina fax para enviar y recibir fax. a modo de ejemplo. los desarrolladores de aplicaciones de red encontrarán más fácil crear y desplegar aplicaciones que realicen comunicaciones de datos empleando VoIP. Además. la posibUidad de implementar VoIP en navegadores web y servidores proporciona un filón tanto productivo como competitivo a esta tecnología.

• Softphone.wtimedia "todo-en-uno" completamente flexibles o unidades capaces de ~conferencia con muchos usuarios.roIP. la revolución no se producirá debido a la nueva forma que tenemos de conectar los teléfonos cuando se emplea . En la actualidad.&RA-MA CAPÍTULO 2: VOIP .1 TELÉFONOS IP Los teléfonos IP son una parte importante de la arquitectura de la VoIP. 4. A continuación se mostrará de manera más detallada los elementos más significativos de un entorno de VoIP. Pronto serán accesibles a una gran cantidad de usuarios equipos como ~teléfonos IP. Es un teléfono similar al del punto anterior con la peculiaridad de que este es software. De hecho. A1Dlque se viene trabajando duro desde hace tiempo. sistemas . si nos fijamos detenidamente en su aspecto exterior se puede apreciar que existen ciertas diferencias: • Disponen de al menos un puerto de conexión RJ-45 en lugar del tradicional RJ-l1. Es una entidad intermediaria encargada de procesar las comunicaciones VoIP y retransmitirlas a su destino.LA NUEVA REVOLUCIÓN 23 En la figura 2-2 se muestra una arquitectura de VoIP muy general. entre otras funciones. los teléfonos IP son. • SIPo Es un protocolo usado por los proveedores de VoIP encargado de. • Adaptador ATA. • B2BUA. hoy día se está consiguiendo ~1IIlZar a pasos agigantados en el desarrollo de estos terminales. muy similares al de teléfonos tradicionales. Sin embargo. iniciar y finalizar las llamadas VoIP. donde podemos ver los distintos dispositivos que la compone: • TelefonoIP. Es un adaptador que permite conectar un teléfono convencional a una red IP.. soluciones de movilidad basadas en redes IP. Es un teléfono similar a un teléfono tradicional con la diferencia que está adaptado para ser utilizado en entornos IP. KSto 111111 1 1'" 11 . sino a la posibilidad que darán estos teléfonos de comunicarse de la forma que exactamente se desea. en su gran mayoría. y ya se empiezan a observar las posibilidades que estas unidades pueden llegar a brindar a nivel fimcional.

algunos teléfonos tienen implementada la posibilidad de ser alimentados eléctricamente a través de la red de datos. Ciertos modelos de teléfonos IP tienen varios conectores RJ-45 en lugar de uno. ordenadores o incluso otros teléfonos IP. que permite conectar dispositivos como impresoras de red. El puerto RJ-45 de los teléfonos IP es un puerto Ethernet con el cual se conectan dichos teléfonos a la red. • Incorporan varios botones programables que pueden usarse para diferentes funcionalidades. Entre las mismas cabe destacar el soporte para varios idiomas o la personalización de tonos de llamada y melodías. Power over Ehternet: alimentación eléctrica a través de la Red. A través de este puerto.24 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA • Suelen disponer de pantalla para mostrar información relevante. la LAN proporcionará al teléfono la electricidad que necesita para l funcionar. Constituyen la mayoria y son aquellos que recuerdan más a los teléfonos tradicionales. como puede ser un proxy o enrutador para VozIP. debido principalmente a que existen una gran cantidad de fabricantes. es decir. otro teléfono IP. éstos se comunican con cualquier otro dispositivo basado en IP que se encuentre en la red. Éstos proporcionarán un buen servicio para realizar llamadas por VoIP a otros terminales de la red o a través de proxys. • Conector de auriculares. . Además de 10 comentado anteriormente. En estas ocasiones el teléfono tendrá un switch o incluso un router integrado. Los teléfonos IP se pueden encontrar a precios muy asequibles y cada vez bajan más. Dependiendo de sus caracteristicas y posibilidades podríamos clasificar los teléfonos IP en tres categorias: • Gama baja. una puerta de enlace a la RTC (para realizar llamadas hacia la red telefónica tradicional) o el router que sabemos que establecerá la conexión con cualesquiera otros elementos IP de la red. distribuidores y modelos. aunque disponen de pocas funcionalidades extra. Esta tecnología se conoce con el nombre de Powér over Ethernet (PoE).

una pantalla más avanzada y grande. Además suelen tener . capacidades de VLAN e incluso la posibilidad de registrar varias líneas con operadores IP diferentes.CRA-MA CAPÍnJLO 2: vorp LA NUEVA REvOLucrÓN 25 Figura 2-3. es habitual que dispongan de pantalla retroiluminada. Teléfono IP de gama media marca Linksys . Figura 2-4. pero añaden nuevas funcionalidades que los anteriores no poseen. Por ejemplo. Son muy parecidos a los teléfonos IP básicos. así como más conexiones hardware de las que tienen los básicos. Teléfono de gama baja marca Pheenet • Gama media.

llamada en espera o llamada a tres por poner algunos ejemplos). por ejemplo con un servidor o un controlador telefónico. 4. estos dispositivos se emplean para convertir una señal digital (ya sea IP o propietaria) a una señal analógica (o viceversa) que pueda ser conectada a teléfonos o faxes tradicionales. uno de los últimos modelos de este fabricante en salir al mercado. En concreto. Figura 2-5.26 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA • Gama Avanzada. además de muchas otras que no podremos encontrar en éstos.2 GATEWAYS y ADAPTADORES ANALÓGICOS Un adaptador de teléfono analógico (normalmente conocido como Analog Telephone Adaptor o ATA) se puede describir brevemente como un dispositivo que convierte señales empleadas en las comunicaciones analógicas a un protocolo de VozIP. que incluye entre otras muchas cosas conectividad USB para ratón y teclado. Mientras que con la telefonía tradicional todo este tipo de funciones sólo pueden ser accesibles mediante la compra de licencias adicionales. . 7" Las funciones propias de los sistemas telefónicos tradicionales (rellamada. algo que supone un cambio radical con respecto al anterior enfoque y un enorme ahorro para los usuarios de todo este tipo de servicios. puerto RJ-8 para conectar altavoces y pantalla táctil de 5. Estos teléfonos suelen incluir pantallas a color y muchas otras funciones extras como la posibilidad de configurar el acceso a un servidor LDAP de una organización o acceso Web a través de la pantalla del teléfono. se encuentran implementadas en VolP de dos formas distintas: como funciones del propio teléfono IP o a través de la red IP a la que está conectada dicho teléfono. Teléfono IP Nortel IP Phone 2007.

marca Grandstream. Figura 2-6. Obsérvese que dispone de 2 puertos analógicos (puertos FXS) para conectar dos teléfonos y un puerto RJ­ 45 para conectividad ethernet Estos adaptadores podrían ser descritos como gateways. Para más información véase el Capítulo 1. Sin embargo.LA NUEVA REVOLUCIÓN 27 Existen diferentes versiones en función de que desee conectar un puerto FXO o un puerto FXS. Figura 2-7. Adaptador telefónico para analógico y SIP (Linksys PAP2). el uso popular del término gateway de telefonía describiría mejor un adaptador telefónico multipuerto. Dispone de 8 puertos FXO y dos puertos RJ45 (incorpora rauter) Aunque con estos adaptadores telefónicos no se puede disfrutar de todas las funciones y ventajas que ofrece la telefonía IP. La telefonía tradicional. éstos seguirán existiendo mientras exista la necesidad de conectar estándares incompatibles y viejos dispositivos a nuevas redes.CRA-MA CAPÍTULO 2: VOIP . Adaptador analógico para interconexión con la RTC. nuestra dependencia hacia esos viejos . ya que su función es justamente la de pasarela entre el mundo analógico y el IP. generalmente con funciones de enrutamiento más complejas. Eventualmente.

28 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA dispositivos desaparecerá. modelo VoiceBlue Enterprise (4 líneas GSM. Estos dispositivos permiten una mayor integración que la tecnología analógica tradicional ya que no dependen de conversiones intermedias a analógico y. nuestra dependencia hacia un dispositivo como el módem en su momento. Figura 2-8. Gateway GSM-IP para interconexión directa de redes GSM e IP. Éstos han supuesto una auténtica revolución en nuestra manera de comunicamos. permiten enviar toda la señalización existente entre ambas redes. desde los más básicos hasta los teléfonos que ofrecen mayores funcionalidades. Proxy SIP y H323) . por tanto. por ejemplo. como lo hizo. musicphones (teléfonos con posibilidad de reproducir música) o cameraphones (teléfonos con cámara integrada). por ejemplo. de forma transparente y fiable. SIP y GSM.3 DISPOSITIVOS GSMlUMTS Los teléfonos móviles son dispositivos electrónicos de pequeño tamaño empleados para realizar comunicaciones de voz o datos a través de una conexión a una estación base que pertenecerá a una determinada red de telefonía móvil. Existen muchos tipos de teléfonos móviles. 4. Fabricante 2N. Desde el punto de vista de la VozIP se pueden encontrar dispositivos que integran ambas tecnologías. como los smartphones (teléfonos inteligentes).

Existe una larga lista en la página wiki del proyecto Asterisk http://www.voip-info. Para que esto sea posible. las funcionalidades de un teléfono VoIP.4 SOFTPHONES Los sofiphones son teléfonos implementados por software. Softphone Zoiper: puede trabajar con el protocolo SfP o fAX. el más conocido y usado es el X-lite (ver Apéndice IV Clientes VoIP).voip-info org/wiki-VOIp+phones . Simplemente se necesita un equipo de audio adecuado y alguna forma de conectarse a una red TCPIIP. aunque el más usado es el SIPo Entre ellos.LA NUEVA REVOLUCIÓN 29 4. La comunicación por VoIP está presente en programas de mensajería instantánea por poner un ejemplo. y dispone de una versión gratuita y otra comercial . Éstos proporcionarán a un dispositivo que no sea un teléfono. aunque también existen muchos otros que presentan buenas funcionalidades. El concepto de teléfono está hoy día en constante evolución. lo que hace dificil en ocasiones diferenciar lo que es un softphone de lo que no lo es.orl. pero sólo el tiempo dirá si éstos pueden llegar a ser considerados softphones. se use como cualquier teléfono y cuya funcionalidad principal sea la de realizar llamadas telefónicas. A pesar de ello. http://www. Figura 2-9. Se pueden encontrar modelos que funcionan bajo diferentes protocolos. cuando nosotros hablemos de un sofiphone.eRA-MA CAPÍTULO 2: VOIP . nos referiremos a un software ejecutable en ordenadores u otros dispositivos que tenga el aspecto de un teléfono. como un ordenador o una PDA. no es necesario que el dispositivo en cuestión sea muy potente.

.30 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA Figura 2-10. Aunque la capacidad de computación de un ordenador o una PDA exceda de forma exultante a la de un teléfono IP. X-lite de CounterPath. A pesar de esto. prestando sobre todo mucha atención al entorno en el que se vaya a emplear el teléfono y a que los usuarios no vayan a tener ningún problema a la hora de emplear un softphone. el reinicio del pe siempre es mucho más problemático y lento que un softphone. Los softphones tienen por delante un largo camino hasta que puedan ser aceptados por la mayoría de usuarios. siempre debemos recordar que estos últimos son dispositivos especialmente creados para realizar llamadas y transportar voz. Por ejemplo. Si pudiéramos quitar el teléfono de todos esos escritorios se produciría un claro ahorro. se une el grave inconveniente de que al tener el teléfono en el ordenador se añaden complicaciones extras. si tenemos una caída de tensión o un corte eléctrico. La principal ventaja de un softphone sobre un teléfono VoIP hardware es el coste. Además. hay una gran cantidad de softphones y la mayoría de sistemas operativos ya vienen con alguno instalado por defecto. A la costumbre de usar un teléfono tradicional. En muchas empresas se debe instalar como mínimo en cada escritorio un ordenador y un teléfono. siempre es una opción que se debe tener en cuenta al realizar una instalación. uno de los softphones más empleados hoy día y se encuentra disponible para varios sistemas operativos Los teléfonos VoIP hardware son una combinación entre un softphone y un hardware dedicado.

-2000K Llamante 11. Esta tarea la realizan los proxys o enrutadores. .5 PROXYS y ENRUTADORES Dentro de la arquitectura de VozIP es necesario el uso de ciertos elementos que permitan ordenar el tráfico telefónico y a la vez poner en contacto a los diferentes usuarios de las redes implicadas...iptel.org .. ." " ~~~~ . a fin de establecer una conversación.-2000K . ~---'..kamailio_org/ http://www.audio! video ..-ACK \. ..org/ser http://www. http://www..- 10. recibiendo y enviando peticiones desde y hacia otras máquinas.opensips....... aunque entre las más usadas se encuentran las distribuciones de código abierto SER._:~:oo O~_~lnvite ~ ~ 1.BYE 12...LA NUEVA REVOLUCIÓN 31 4.200 OK Figura 2-11.©RA-MA CAPÍTULO 2: VOIP . --...-. Servidor proxy SIP Servidor Registrar SIP 8... Llamado 2. Estos paquetes son capaces de gestionar gran cantidad de peticiones por segundo. Tal y como trabajan los routers con los datos en general. los diferentes protocolos IP necesitan igualmente que alguien o algo encamine sus peticiones hacia los usuarios finales. .Register . En la figura 2-11 puede verse un esquema de enrutado en un entorno SIP. haciendo un gran trabajo de enrotado gracias a un diseño óptimo en su código base. encargándose de rutar la señalización hacia los sitios adecuados en función de las indicaciones pertinentes que cada protocolo implementa. Esquema de enrutado en un entorno SIP Existen multitud de implementaciones para servidores proxy.-. Kamailio y 3 OpenSIPS ..:O~~~"~ 7.

. son necesarias diversas reglas y/o normas. aplicaciones de video. 5. Por sesiones multimedia se refiere a aplicaciones de mensajería instantánea. En las redes analógicas o redes de conmutación de circuitos antes de que ambos extremos puedan comunicarse. se produce la reserva de recursos necesarios para que la comunicación tenga éxito.. Tanto la información de señalización como los datos (voz) se transmiten por los mismos canales.1 Session Initiation Protocool (SIP) El protocolo SIP es un protocolo de señalización a nivel de aplicación encargado de la iniciación.. Estas reglas y/o normas de las que se habla es lo que se conoce como protocolo de señalización.­ 32 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA 5 5. En conmutación de paquetes los protocolos de señalización reaUzan acciones muy similares a los protocolos de señalización en conmutación de circuitos además de cuidar de que se cumplan ciertas garantías de calidad.. • Common Channel Signalling (CCS) Aquí la información correspondiente a la señalización se transmite en un canal independiente al de los datos (voz). Protocolos de señalización pertenecientes a esta categoría: G. etc... . Para poder garantizar que la comunicación entre los equipos se realiza adecuadamente.1 Señalización y audio PROTOCOLOS DE COMUNICACIÓN La realización de una llamada entre dos teléfonos cualesquiera implica la utilización de diversos equipos electrónicos.1. las cuales se llevan a cabo de manera interactiva. Protocolos de señalización pertenecientes a esta categoría es. Si por cualquier circunstancia no puede llevarse a cabo esta reserva de camino entre ambos extremos se informa al emisor de este hecho. SS7... A la acción de "reservar un camino de recursos entre ambos extremos" es lo que se le conoce como señalización... E&M. de audio. por ejemplo. En la telefonía tradicional los protocolos de señalización se pueden clasificar en dos categorias: • Channel Associated Singnalling (CAS). Los protocolos de señalización más utilizados en conmutación de paquetes son: SIP y H323. conferencias y aplicaciones similares. los cuales deben comunicarse entre sí. . modificación y terminación de sesiones multimedia.732..

Permite la modificación. SIP permite determinar si un determinado usuario está disponible o no para establecer una comunicación.LA NUEVA REVOLUCIÓN 33 SIP se definió en el RFC 2543 en marzo de 1999 por el grupo de trabajo MMSC perteneciente a IEFT. finalización de la sesión activa. Además informa del estado de la comunicación que se encuentra en progreso. Posibilidad de negociar los parámetros necesarios para la comunicación: puertos para el tráfico SIP. etc. Arquitectura de protocolos SIP .asÍ como el tráfico Media.¡. RA-MA CAPÍTULO 2: VOIP . De esta manera no importa en qué lugar se encuentre un determinado usuario. El protocolo SIP posee cuatro características que lo hacen muy recomendable para cumplir esta función: Caracteristica Descripción SIP posee la capacidad de poder conocer en todo momento la localización de los usuarios. el IETF publicó una nueva revisión de SIP con el RFC 3261. transferencia. En junio de 2002. En definitiva la movilidad de los usuarios no se ve limitada. direcciones IP para el tráfico Media. Figura 2-12.

Conceptos básicos El protocolo es similar a HTTP por la forma en que funciona (protocolo basado en texto) y es similar a SMTP en la forma en la que se especifican las direcciones SIPo Las direcciones SIP identifican a un usuario de un determinado dominio.io@ciominio[:portl sip:usuario@direcciónIP[:portl El dominio representa el nombre del proxy SIP que conoce la dirección IP del terminal identificado por el usuario de dicho dominio. El puerto por defecto para SIP es 5060. Supongamos el escenario de la Universidad de Almería (ual.es" Usuario "200" perteneciente al dominio con dirección IP 192.. Sin embargo.1. A estas direcciones SIP habitualmente se les llama URI (Uniform Resource Identifier).168. . RTP o RTSP. ya que la única finalidad es la de gestionar las sesiones multimedia: iniciarlas. En la tabla 2-2 se pueden ver algunos ejemplos de direcciones SIPo Descripción Usuario "200" perteneciente al dominio "ual. Cada uno de los trabajadores de la UAL dispone de una dirección SIP que lo identifica de manera unívoca en el dominio "ual.34 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-M<\ El protocolo SIP es una parte de una arquitectura multimedia. Gracias al protocolo SDP se puede formar una completa arquitectura multimedia.u. Una URI se puede especificar de las siguientes maneras: sip:\l$u. finalizarlas.es" (véase la figura 2-13).1.120 Es por tanto posible hacer uso de una dirección IP si no disponemos de un dominio registrado para este propósito.120 Dirección SIP 200@192. modificarlas. se integra perfectamente con otros protocolos como RVSP. aunque es posible especificar otros adicionales si es necesario. etc.es).168.

©RA-MA CAPÍTULO 2: VOIP . Un teléfono VoIP también es un ejemplo de UAS. comienza la señalización SIP entre el terminal 200 y el 201 iniciando así una comunicación SIP entre ambos terminales para posteriormente establecerse una conexión Media entre ambos (RTP). el usuario 200 únicamente tendría que marcar en su teléfono el número 201. manejan la señalización SIPo Se pueden dividir en dos categorías: o Vser agent client (VAC). Los elementos de la comunicación son: • Los agentes de usuario (Vser agent). ya que acepta las peticiones de inicio de comunicación enviadas por . donde cada uno desempeña su papel.es UAC 203@ual. o de manera abreviada VA.es UAC 201@ual. Es por ello que para que la señalización SIP pueda llevarse a cabo. Para una comunicación SIP es necesaria la intervención de varios elementos.es Figura 2-13. es necesario hacer uso de varios elementos intermediarios.es" realmente desconoce la dirección IP en la que se encuentra el teléfono 201. Ejemplo de escenario SIP Si por ejemplo el usuario 200@ual. Al marcar el número 201. Es un elemento que realiza peticiones SIP y acepta respuestas SIP provenientes de UAS.es.es UAC 202@ual.LA NUEVA REVOLUCIÓN 35 UAC 200@ual.es desea comunicarse con el usuario 201@ual. Un ejemplo de UAC es un teléfono VoIP ya que realiza peticiones SIPo o Vser agent server (VAS).es ual. Es el elemento encargado de aceptar las peticiones SIP realizadas por el UAC y enviar a este la respuesta conveniente. Este es un escenario en el que no es posible establecer la señalización SIP ya que el teléfono "200@ual.

200 Dirección SIP: 201@JaI.es Dirección IP: 192.es SIP origen: 2OO@. lo que hace es una traducción de la dirección de destino dada de la forma usuario@dominio a la forma usuario@direcciónlP donde dirección IP es la dirección IP que tiene en ese momento el teléfono de destino.es Dirección IP: 192.36 VOIP y ASTERlSK: REDESCUBRlENDO LA TELEFONÍA ©RA-MA otro teléfono (UAC).1. lo veremos a continuación.IaI. El escenario mostrado en la figura no es .201 200 LLAMA A 201 Figura 2-15.1. la de enrutar los mensajes SIP estableciendo así la señalización SIP pertinente. SIP origen: 200@JaLes SIP destino: 201@Jal. UAS: ZJ1@B. Un servidor SIP o proxy también es un UAS.168. así como de encaminar las respuestas del UAS destino al UAC origen. Es el elemento encargado de reenviar las peticiones SIP provenientes de unUAC al UAS destino que corresponda. Ejemplo de llamada SIP con intermediarios (200 llama al 201) En la figura 2-15 podemos ver la función más importante de un proxy SIP.es SlP destino: 201@192. Podemos hacer una similitud con el encaminamiento que realizan los router con los paquetes a nivel [P.es Figura 2-14. sería como el encargado de enrutar los paquetes SIPo Para rutar.168. Ejemplo de llamada SIP (200 llama al 201) • Los intermediarios necesarios para que la comunicación entre dos UA sea posible: o Servidor Proxy.168. es decir.1.201 Dirección SIP: 2OO@JaI.

LA NUEVA REVOLUCIÓN 37 todavía funcional ya que el proxy SIP necesita conocer la dirección IP física asociada con cada usuario.201 Figura 2-16.es" tiene asignada la dirección IP real 192. guardando toda la información referente a la localización física del UAC. estos pueden entonces realizar y recibir llamadas entre sí ya que el proxy SIP conoce sus direcciones IP físicas/reales (mediante consultas). Proceso de registro Una vez que los teléfonos se han registrado en el servidor de registro. Acepta las peticiones de registro de los UAC.localización Dirección SIP: 200@ual. para que 200 llame al usuario 201 es necesario que previamente ambos teléfonos se hayan registrado en servidor de registro. sea posible localizarlo (sea posible traducir su dirección a la forma usuario@direcciónIP donde dirección se refiere a la IP del usuario).168. Servidor Proxy Servidor registro .1. Habitualmente.168. para que si posteriormente llega una petición con destino el UAC. . Continuando con la figura 2-15.©RA-MA CAPÍTULO 2: VOIP .1. Esto es necesariamente así porque el proxy SIP necesita conocer las dirección lp del teléfono 201 para enviarle la petición de inicio de conversación y del mismo modo necesita la dirección IP del teléfono 200 para que pueda rutarle las respuestas SIP generadas por el teléfono 20 l. el proxy SIP y el servidor de "registro-localización" se encuentran juntos en el mismo software por lo general. De esta nueva necesidad se encarga el servidor de registro y localización: • Registrar-Location server.es Dirección IP: 192.1. el proxy SIP tiene que saber que el teléfono identificado como 201 de dominio "ual.168.201.es Dirección IP: 192. En el ejemplo.200 Dirección SIP: 201@ual.

168.es 1° SlPdestino: 201@Ja~ I '.es IJrecciOO IP: 192. realiza la traducción. con la diferencia que cuando este resuelve la dirección.Jal. Registro completado En la figura 2-17 ambos teléfonos se han registrado previamente en el proxy SIPo A partir de ahora cuando se hable de servidor proxy SIP se refiere a un servidor que contiene conjuntamente el proxy SIP y el servidor de registro­ localización.201 200 LLAM6. infonna al UAC que realizó la petición SIP para que sea este mismo el que la envíe hacia el UA destino. esto es. • Redirect Server. A 201 IJrecciérl SlP: 2OO@. Peticiones SIP Hasta el momento se ha descrito a grandes rasgos cómo se lleva a cabo una comunicación SIP y los requisitos o elementos que se necesitan para ella. Es una entidad intennediaria que procesa peticiones SIP entrantes comportándose como un UAS. Su funcionamiento es similar al servidor proxy anterior.168. Un servidor de redirección actúa realmente como un UAS.168. En la tabla 2-3 se muestran las distintas peticiones SIPo .' 2OO@JaI. y responde a estas actuando como un UAC regenerando por completo la petición SIP entrante en una nueva petición SIP que va a ser enviada. • Back-to-back user agent (B2BUA).es deslioo: 201@192. Sin embargo no se han indicado qué mensajes son intercambiados entre los distintos elementos durante una comunicación SIPo En primera instancia se verán los mensajes SIP para posterionnente tratar con ellos en diversos escenarios ejemplo.5' ~Pongen: ~ ~~ .38 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA Ahora sí se puede afinnar que la llamada realizada en la figura 2-16 va a tener éxito.1.1.201 Figura 2-17. SlP origen: 200@.1.JaI.es IJrecciérl IP: 192.200 IJrección SlP: 201@Ja1.

Estos códigos van desde el identificador 100 hasta el identificador 699. 4xx. por ejemplo INVITE. que se encuentra en progreso. se envía un CANCEL a diferencia de un BYE que se enviaría si el teléfono destino hubiera sido descolgado previamente y por tanto la comunicación establecida unos instantes. Esto hace posible que el UAC pueda ser localizado haciendo uso de su misma dirección user@dominio sin importar donde el UAC se encuentre fisicamente. Un UA puede enviar peticiones OPTIONS a un UAS para solicitar cierta información sobre este. • Las respuestas pertenecientes al grupo 2xx corresponden a respuestas que informan del éxito de una petición SIPo Por ejemplo. Un UAC envía peticiones REGISTER a un servidor de registro­ localización para informar de la posición actual en la que se encuentra en un momento determinado. Por ejemplo si el teléfono destino está sonando pero aún no ha sido descolgado y el teléfono origen cuelga. la comunicación entre los dos usuarios establecida anteriormente con INVITE. Es el momento en que ambos pueden empezar a enviar tráfico Media. 3xx.LA NUEVA REVOLUCIÓN 39 Petición SIP Descripción INVITE Es la petición SIP que se envía a un usuario cuando queremos establecer con él una comunicación. una llamada. 2xx. Estas se utilizan por ejemplo cuando se tiene en progreso el establecimiento de una comunicación mediante la petición INVITE. Se utiliza para cancelar una petición. Para finalizar la conexión. cuando se establece con éxito el establecimiento de comunicación con la petición INVITE se envía una respuesta 200 OK informando al UAC origen de este hecho. .©RA-MA CAPÍTULO 2: VOIP . siendo además agrupadas en grupos de respuestas tales como: 1xx. ACK BVE CANCEL ·OPTlONS REGISTRR Respuestas SIP Cada petición SIP lleva asociada una respuesta (la que corresponda) enumerada con un código que la identifica. 5xx y 6xx: • Las respuestas del grupo Ixx indican el estado temporal de la comunicación. Esta petición es enviada por el usuario origen que envió la petición INVITE para hacer saber al usuario destino que su respuesta 200 OK ha sido recibida.

::.No es aceptable Proxy Authentication Required ..1D~.N:.éo.:::h:::....Ly'!I1tent Required .¡ip:.u &Ireéllvfo --"-18..No autorizado ~~-----~= _40_2 _ _ _ _~P~a. • Las respuestas pertenecientes al· grupo 4xx corresponden a errores en el cliente SIP... A continuación en la tabla 2-4 se muestran las distintas respuestas SIPo Tipo de respuesta Identificador 100 Significado Informan d~~O::: provi5-.o:....1deJa Cmalllucaeión .::..:A:::c.. • Las respuestas del grupo 5xx corresponden a errores en el servidor SIP.Método no ~40.:::C:.Se requiere autentificación Request Timeout .Servicio alternativo _40_0 _____P~e-'t.Encolada ___ 183 Session Progre ss .:::.Petición demasiado grande .:le=-.::..2=--_____Call Queued .:t:::.OK 202 Accepted .t. Un servidor de redirección nos enviaría una respuesta con código "302 Moved temporarily".Múltiples opciones 301 Moved Pennanently .Movido 305 Use Proxy .::.Found ..Usar Proxy 380 Alternative Service ...Tiempo agotado para Gone .ceptable Informan de erroresd~f eHente 407 408 410 413 . _ íciº:tI Bad Request .....Se ha marchado Request Entity Too Large .oices .:::.6=---_ _ _ _..Mala petición 401 Unauthorized ..Llamada en progreso 200 OK.unieaaDll . _ _ _ _ _ _--"p~nnanentemente 302 Moved Temporarily .Prohibido 404 .No encontrado Not -405 Method Not Allowed .. • Las respuestas pertenecientes al grupo 6xx infonnan de errores generales..Se requiere pago _ 403 Forbidden . 181 Call Being Forwarded Intor"uJD del éntode la .0"--_ _ _ _-:M=ul::.Aceptada --=:.40 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA • Las respuestas que confonnan el grupo 3xx infonnan de que la petición SIP ha de ser reenviada a otro VAS...Movido neeesllne de la~tieiÓD SIP .30..

Error interno del 491 493 500 502 503 501~______.~tl~~ti errorn . Request Terminated ..Intervalo demasiado 423 480 Temporarily Unavailable .­ -'421 Extension Required ..No _ _ _ _ _ _ _d::.:s~iad~0~s~H~o~p~s____ 484 Address Incomplete ..."")/.Gateway incorrecto Service Unavailable .. 603 604 606 .:i~ponible temporalmente 481 Call1Transaction Does Not Exist .Mensaje demasiado largo Busy Everywhére .Indescifrable Server Internal Error .Círculo vicioso 482 detectado 483~_~___T~0~0~M==a=n~y~H~0~p~s~-~D~e~m~a::..Ocupado en todos Declined . '~fOr~d"ermesdel ~~dn\ ':>'~.Extensión incorrecta.:N~0~t~I=m~p~le~m~en=t~ed~-~N~0.No existe la llamada/transacción Loop Detected . .©RA-MA CAPÍTULO 2: VOIP ...:i=m~p~le~m=e~n=t~ad~o~_ ."'.Dirección 485 486 487 488 Ambiguous .Rechazado Does Not Exist Anywhere .URI demasiado Unsupported Media Type .Se requiere extensión Interval Too Brief .LA NUEVA REVOLUCIÓN 41 414 415 Request URI Too Long ..No existe en ningún sitio Not Acceptable .Petici§n pendiente Undeciph~rable ..Tiempo agotado en el servidor Version Not Supported .Ocupado .. no soportado 420 Bad Extension .Servicio no Server Time-Out .Ambiguo Busy Here ..' Bad Gateway ..No es aceptable Request Pending ..Petición terminada Not Acceptable Here .Versión no Message Too Large .Esquema _ _ _ _ _ _ _.:URI:.Tipo de 416 Unsupported URI Scheme .No aceptable 504 505 513 600 Jttr()~" de ..

es ante un proxy SIP que requiere autenticación. en la figura 2-19 se muestra cómo se establecería una comunicación entre ellos. Register 4. es decir.1. Suponiendo que tanto el usuario 200 como el 201 se encuentran registrados.168.42 VOIP y ASTERlSK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA Conocidas tanto las peticiones SIP así como las respuestas SIP que podemos recibir en cada caso. el proxy SIP responde con una respuesta 200 OK indicando el éxito de la petición.es.es 1. Dado que la información de autenticación es correcta. Register 2.es no está autorizado por el momento y requiere por tanto mostrar los credenciales necesarios. En la figura 2-18 se muestra cómo se lleva a cabo el registro del usuario 200@ual. Proceso de registro de un usuario en un Proxy SIP El teléfono envía la petición SIP Register al proxy SIPo Este al estar configurado para exigir autenticación envía una respuesta de vuelta indicando que el usuario 200@ual. El teléfono envía por tanto de nuevo la petición Register añadiendo a esta unos nuevos campos donde indica el password con el que se encuentra registrado en el proxy SIP de ual.2000K I Figura 2-18.localización Dirección SIP: 200@ual.200 ual.es Dirección IP: 192. se muestra cómo un terminal se registra en el proxy SIPo Servidor Proxy Servidor registro . . se van a mostrar escenarios más detallados.401 Unauthorized 3.

es Dirección IP: 192.2000K oC . Para ello vamos a describir a continuación el contenido de los mensajes intercambiados para ver el funcionamiento de SIP en mayor profundidad.1. ------- .es Dirección IP: 192.ACK Sesión Media RTP 9. se está en disposición de conocer el contenido de cada uno de los mensajes SIP que se intercambian. etc.localización Dirección SIP: 200@ual.201 3.. Proceso de establecimiento de llamada entre dos terminales En la figura 2-19 se muestra cómo se completa la señalización REGISTER e INVITE. INVITE I oC Dirección SIP: 201@ual. cómo se registran ante un proxy SIP con autenticación. BYE 6.es 1. Almacenar el camino que sigue la petición desde su origen al destino es muy útil para las respuestas. Estas son las peticiones más importantes.200 ual. 8. ya que estas simplemente tienen que seguir el camino inverso.2000K .168. )lo )lo oC oC 10. En la tabla 2-5 que se presenta a continuación se muestran cada uno de los campos de la cabecera SIP junto a su descripción. Un ejemplo del contenido de los mensajes SIP intercambiados entre un teléfono y el proxy SIP durante el registro es el que se muestra en el listado 2. 180 Ringing 5. 180 Ringing oC 7.2000K Figura 2-19. INVITE 4..LA NUEVA REVOLUCIÓN 43 Servidor proxy Servidor registro . Antes.168. es necesario conocer la configuración del teléfono que va a registrarse: Campo Descripción En este campo se almacena cada uno de los elementos por los que va pasando la petición.1. las cuales se requiere conocer detalladamente. Descripción de los mensajes SIP Conocidos los pasos en los que se lleva a cabo una comunicación entre dos teléfonos.©RA-MA CAPÍTULO 2: VOlP .

:. Atributo Valor Login Password Dirección IP Proxy SIP 200 200 192.168. > __ . No siempre tiene cuerpo el mensaje. donde cada nueva petición que se envía en un mismo diálogo incrementa en una unidad su valor.'" '-'r<"-:-:-\y. Tamaño del cuerpo del mensaje._ ". No es ni más ni menos que un contador de peticiones pertenecientes a un mismo En él se indica la SIP URI de la forma usuario@direcciónIP[:puerto] o usuario@dominio[:puerto] que representa la dirección de contacto directo con el emisor de la petición. que siguen el camino inverso dictaminado por las cabeceras VIA. Tipo del cuerpo del mensaje. La finalidad de esta dirección de contacto directo es la de que las futuras peticiones se puedan enviar directamente al emisor. FROM junto con el CALL-ID definen e identifican de manera unívoca un diálogo SIP entre dos extremos."> '. Hace referencia a la URI de destino o AOR de destino de la petición... C~'eJ~lf9I~~' .'. Hay que mencionar que esta no se utiliza para rutar el paquete hacia el próximo salto. TO ". Es un identificador único y global que se forma mediante combinación de una cadena aleatoria.1. ::: ~<A/.''_>''_'__ ~>--<. esto es.~"tllt'dtivc. sino que siempre mantiene el destino de la petición inicial.44 VOIP y ASTERlSK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA N[a:. pero si lo tuviera por lo general seria "applicationlSDP". como sucede con las respuestas.36:5060 .129 192. Ese valor será decrementado en cada uno de los saltos por los En ella se indica la entidad origen que envió la petición SIPo Se especifica mediante la URI o mejor dicho mediante el AOR (Address of Record) que no es ni más ni menos que una URI global y pública que puede ser rutada desde punto. el protocolo multimedia SDP. el nombre de la máquina o la dirección IP del teléfono. Número máximo de saltos permitidos a la petición para llegar a su destino. evitando a la petición seguir el mismo camino.F. Es un número de secúencia.168.1. La combinación de los tags que se indican en TO.l".

LA NUEVA REVOLUCIÓN 45 Dominio 192. La segunda y muy importante es la información indicada en la cabecera Contact ya que es donde el teléfono de identificador 200 le indica al proxy SIP la dirección IP que tiene en este preciso instante. ya que incluye un registro con su dirección IP en el campo VIA. pero podría ser otra El primer mensaje es el mensaje REGISTER enviado del teléfono al proxy SIP: En la comunicación hay que destacar dos cosas. . Esto permite al proxy SIP poder localizarlo para enviarle futuras peticiones.36 Dirección del proxy SIP.©RA-MA CAPÍTIJLO 2: VOIP .168.1. La primera es que el teléfono quiere recibir las respuestas asociadas a esta petición que genere el proxy SIP.

.tiúxJ) CQlltent:"'L~ngt..R {l·. . !l.1613 . .0 200 OK.1..F9D4066035a6B2Á12F49FACF6@192'~l68.branch=·~9hG4bKOF49CB5E5eB3A4C8DO 200 .b$3!1. . Max-Forwards:.. La cabecera WWW-Authenticate indica al teléfono que debe autenticarse para el dominio 192.' '1'0:200 eh <. .1.' . t. no indicó su password.7·0 User-Agent: .2.1.R Expire$ : ¡ a00 .st username="200".1f.1. '. ' .386[Q.36>lta. . y por tanto no está autorizado. 36>.36". .36 CSeg: 4203. '.1 .nonoe="48a3134d61dad5515f7 9f3f7363hda6aab8alf90".129:.. . .' ".sip:200@192.í! ~GIST¡¡. l.anch~'Z9hG4bKOF49CBSg5. .sip :2ptl~1. 0 !DPI? 2p.e 110Sd Finalmente si los credenciales son correctos el proxy SIP le comunica al teléfono que la autenticación se ha llevado a cabo con éxito y ahora el teléfono 200 puede realizar y recibir llamadas..tag""61B484649 Tal 200 <sip:200@192.ScaB!l.20{}@192 ..realm="192.36.. .ires".g"~184á4649 .i. . .rport=5060.1 •.168.!Js.<$ipr200@1. El siguiente mensaje de la comunicaclOn es el envío del mensaje REGISTER pero esta vez añadiendo el campo "Authorization" donde indica sus credenciales.P~192.9..168. .2. 26 3é76$Q6F91. ..)506Q:>.X-Lite releas.1..n.G¡STaR <. es decir..SIl?1.9. . .l4QEi 603 585E:.::.4CaD04P235 194.1. ·l2032RE.15·1.2~1l9t'l~ (. Sl)?12.1&B.1:.36.: "200" : 200@192 ... : SOpO i "porti:tr¡.46 VOIP y ASTERJSK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA Continuando con el flujo de la figura 2-19.168.1.800 ~ll$¡¡..168 .36> Contact.. . via~ SIl?/2.2t16$.response="b7cc90ae907b4a7655aeeo66df6Ca Od.14D44 192 .~2:g. 168.l66.36" .¡3l!ruri".2A12E4 9'1:'ACE6'!lil192.h~O . yia.129: !i!lI){) > -ID: 3C7620f. .1. '.36>.~ip:..ag=329c:::Eeaa6dedQ39da2$:E:E8cbb8668OO2.1.1. '. CEM14D44 From: 200 ... el proxy SIP envía la respuesta "401 Unauthorized" ya que en la petición REGISTER anterior el teléfono no indicó los credenciales.uthod2:ation: Dige.168.. . .exp..5060.

International Telecommunication Union en 1996. 7.200 uates Dirección SIP: 201@ual. Comprende todos los mensajes desde la primera petición hasta la última respuesta asociada a esta (no se toman como respuesta válida para finalizar la transacción las 1xx).2 H323 El protocolo H. Una transacción se lleva a cabo entre un UAC y un UAS. Por último una nueva transacción se inicia con la petición BYE y finaliza con la respuesta asociada "200 OK". el mensaje ACK no se incluye en la transacción. TO y el campo Call-ID.1. Si la petición es INVITE y la última respuesta no es del tipo 2xx.201 IJ « « 2.100 Trying 5.es 1.. el ACK no se incluye en la transacción. Sin embargo la respuesta 200 OK sí que es una respuesta válida para finalizar la transacción. la transacción incluye el ACK como parte de esta. Por lo general comienza con una petición INVITE y finaliza con la petición BYE. 3. 192.. 180 Ringing _ _ Ringing _ 4._IN_VIT_E_ 180 .ACK Sesión Media RTP Direeción IP.1. 200@uaL •• DirecciÓn IP. 192. • Diálogo. INVITE I « « 8.2000K ~ ] Transaccl6n . Un diálogo es identificado por las etiquetas (tag) de los campos FROM. 6. Fue diseñado para ser un estándar en la .A ©RA-MA CAPÍTULO 2: VOIP LA NUEVA REVOLUCIÓN 47 a Ó Aprovechando este ejemplo se van a introducir dos nuevos conceptos: transacción y diálogo: • Transacción.168. Petición invite Ringing es una respuesta del tipo 1xx por lo que no se toma como respuesta válida para finalizar la transacción. Dado que la respuesta a la petición INVITE es del tipo 2xx.168.1.323 fue diseñado por ITU. Servidor Proxy Servidor regIstro . 5. Si por el contrario la respuesta es del tipo 2xx.Iocalizactón a ~l s Dirección SIP. 200 OK Diálogo ~ ] Transacci6n Figura 2-20.

. control del ancho de banda punto a punto y conferencias. El diseño de H. Por otro lado H. junto a los componentes necesarios para ofrecer comunicaciones multimedia en redes de conmutación de paquetes. sobre todo si las comparamos con la de SIP.323 es una suite de protocolos tanto de audio como de video. control y transporte multimedia. H. A pesar de estar muy extendido.323 incluye el protocolo H. Figura 2-21. El estándar H.225 para empaquetar. video y datos a través de las redes IP en las cuales no existe garantía en la calidad del servicio.120 y T.38 son utilizados para Datos y Fax. T.323 es muy rápida.323 es binario.931. ya que está siendo sustituido por SIP.323 está muy arraigado a la filosofia seguida en el diseño de la PSTN: simplicidad y alta disponibilidad. Protocolo H323 Tal y como se muestra en la figura 2-21 el protocolo H. La señalización de H. sincronizar e iniciar llamadas mediante la señalización Q. actualmente el auge de H.323 ofrece control y señalización de la llamada. mientras que en los mensajes SIP el formato es texto plano. Esto es debido a que el formato de los mensajes en H. la cual utiliza paquetes de gran tamaño.323 está descendiendo.245 se usa tanto para la negociación como para el manejo de los canales lógicos. el cual es modular y por tanto mucho más flexible.48 VOlP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA transmisión de audio.

resulta ser un protocolo con muchas novedades respecto de su versión anterior pero con la característica de conservar aún su sencillez. sino que en su lugar implementa su propio mecanismo de transmisión de voz. La principal diferencia entre IAX y SIP o H. es también un protocolo de señalización. La nueva revisión de IAX. ©RA-MA CAPÍTULO 2: VOIP . A pesar de ser un protocolo propietario es abierto y ha sido aceptado por la comunidad de VoIP. creador de Digium. señalización de llamada. o de manera abreviada IAX. IAX2. Comparativa entre SIP e IAX SIP 1 1 o :1 IS . Un inconveniente de IAX es que no es un estándar. En la tabla 2-7 se muestran las diferencias más importantes entre SIP e IAX. IAX trabaja junto a UDP con una característica muy especial: todas las comunicaciones (registro. lo que le permite aumentar su funcionalidad para dar soporte a aplicaciones no únicamente telefónicas.e IAU( Conclusión Los mensajes son en Los mensajes son en IAX consume menos Tipos de mensajes formato texto formato binario ancho de banda Sefializaci6n Datos y señalización Datos y señalización En SIP aparecen problemas de NAT en puertos distintos por el mismo puerto Al ir la señalización y audio por puertos distintos.LA NUEVA REVOLUCIÓN 49 .5.323 es que IAX no utiliza RTP. ya que tanto los datos de señalización como el audio viajan por el mismo puerto. que pueden utilizarse en otros tipos de tráfico media.\. sino un protocolo independiente creado por Mark Spencer. Permite utilizar una gran cantidad de codecs y stream.323 y sobre todo de SIP. a diferencia de H. Por lo tanto el NAT no supone un problema en IAX a diferencia de SIP. IAX es mucho más compacto que los dos anteriores ya que ha sido diseñado únicamente para aplicaciones telefónicas.3 1 Otros a n o El "Inter-Asterisk Exchange Protocol".1. el audio puede ir de extremo a extremos sin pasar por el servidor SIP Al ir la señalización y audio por el mismo puerto. y algo más. transmisión de voz) hacen uso de un único puerto UDP. el audio pasa obligatoriamente por el servidor IAX Consumo alto de recursos en el servidor IAX ante una gran cantidad de llamadas Seiíalización II . T-abla 2-7.

cuya funcionalidad es la de conformar un estándar en la señalización de gateways media que físicamente se encuentran distribuidos. jitter: variación del retardo. Los protocolos más utilizados para esta finalidad de transporte de audio y video en tiempo real son: • • Real Time Protocol (RTP) Real Time Control Protocol (RTCP) RTP se encuentra definido en el RFC3550 y es el encargado de transportar tanto audio como vídeo en tiempo real. 5. ya que el uso de TCP y su control de flujo y congestión darían lugar a un retardo elevado durante la comunicación a causa de las retransmisiones. SIGTRAN (Signalling Transport) aparece como otro protocolo gracias al cual solventan algunas limitaciones de MGCP.248. . Para establecer un flujo de comunicación media es necesario un protocolo que intercambie la información entre los extremos de dicha comunicación. . Utiliza UDP como protocolo de transporte. MEGACOIH.s Media RTP (uno por señalización y audio puertos libres . sentido) Existen otros protocolos que son utilizados generalmente por compañías telefónicas así como proveedores de servicios de VoIP: MGCP (Media Gateway Controller Protocol).50 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA siendo SIP es soportado por Estandarizados por la Aún está la mayoría de equipos IETF hace tiempo estandarizado 1 señalización + 2 Un único puerto para SIP requiere de trui. es decir.2 PROTOCOLOS DE AUDIO En el punto anterior se han mostrado los distintos protocolos que se tienen a disposición para establecer una comunicación entre dos extremos. tales como: jitter4. etc . retardo. que transporte la información entre un origen y su destino. etc.. además de proveer de las técnicas necesarias para enviar los problemas que se pueden presentar durante el intercambio. sin embargo como ya se indicó anteriormente esto no es suficiente para establecer una comunicación media.

Su función es la de detallar cómo se va a realizar el intercambio de comunicación posterior mediante protocolos como. aunque realice una monitorización de la calidad de servicio de RTP. Por lo tanto no puede garantizar que la entrega de tráfico se haga en tiempo real. se utiliza durante la negociación que lleva a cabo SIP entre los dos agentes. aunque sí garantiza al menos que lo hará de forma sincronizada. el codec a utilizar entre ambos. Es por ello por lo que la utilización de R TCP es opcional. RTCP es el encargado de monitorizar el flujo de los paquetes RTP. no se poseen mecanismos como reservar ancho de banda o control de la congestión para intentar paliar una situación en la que la calidad de la transmisión no es suficiente. etc. Para ello indica toda la información relacionada con el tráfico Media tal como IP y puerto donde espera cada agente recibir el audio. marcas de tiempo. El inconveniente es que. de la dirección IP y puerto donde espera recibir el ttáfico RTP además de cierta información adicional requerida por RTP.. definido en el RFC4566. por ejemplo. aunque también recomendable. RTSP (Real Time Streaming Protocol) gracias al protocolo SOP. Obtiene estadísticas sobre el jitter. Protocolos de comunicación se hizo referencia a que el protocolo SIP se integra perfectamente con protocolos de audio como RTP. RTP. lo que le permite en presencia de pérdidas.i:lRA-MA CAPÍTULO 2: VOIP . RTT. Fundamentalmente está relacionado con la calidad de servicio. Al inicio del punto anterior 5. latencia. Por ello queda más que justificado el realizar una introducción del protocolo SOPo SOP o Session Oescription Protocol. que pennite formar así una completa arquitectura multimedia. etc. identificación del contenido.1.LA NUEVA REVOLUCIÓN 51 El protocolo RTP. envío de paquetes sin retransmisión. pérdida de paquetes. sincronización. identificación del origen. para llevar a cabo su función. etc. En la descripción de la sesión cada agente informa al otro CI1remo de los codee que soporta. jitter o retardo poder continuar con la reproducción del flujo de paquetes. El protocolo RTCP es el protocolo compañero de RTP. "'I!III' _ _IIIII11I1111Ii1IIWllmlll'III'II'I!" . mientras que la repuesta "200 OK" del agente "llamado" contiene la descripción de la sesión del tp:nte "llamado". En SIP. la petición INVITE es la que contiene como cuerpo del mensaje la 4cscripción de la sesión (el SDP) del agente I1amémosle "llamante". hace uso de un número de secuencia.

~~~? •.16B..130 :5060 .129:5061>. .9hG4Qln¡kd6 ¡rport From: "device" :2011jji192.el terminal 200espe:t::a recibir el Medial! m"'audio 8000 RTP/AVP O 8 3 sr8 97 101 a=-rtpmap:O pcmu!8000 f.1.1.-ID: 61426ef4123gebf33a6e4d9361c7564a@192. Ha .O 1.0!UDP 192 .16B.tag=1526648226 Contact: <aip: 200@192.br.1...1.B .0 200 ü:!t Vial SIP!2.orwards: : 310 v=O donde terminal 201 espera recibir el tráfico Mediall 0=201 3462578896 346257B922 IN IP4 192.~¡j~:I"ft.52 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA CSeq: 2:U>Oe INVITl% 10 : applícation/sdp User-Agent: X-Lite ralease 1105d M~-..¡i.130 CSeq: 102 Content-Type: application/sdp Server: X-Lite ~lease content-Length: 310 v".l~1'lf~. :1.el Medial/ 0=200 3238555091 32:Hl570131 IN IP4 192.168.X-Lite c=IN Il?4 192 .a.130 t=O O IIPuerto donde al terminal 201 espera recibir el tráfico Medial I m=audio SOOO RTP!AVP O B 3 98 97 un a=rtpmap:..1.168. L 129 t=O O l/puerto donde. sn/2.e c=IN IP4 192.~!I9.Z.130 s=x-Lit..16S. 168.O !!IP d0Q4e el terminal 200 aepara .. 16.129 s=.•·~c¡~L :>L.l~~JJ2~i.am~h=:.1.O pcmu/aooo a=rtpmap:8 pcma/sooo a=rtpmap:3 gsm/BOOO a=rtpmap:g8 8000 a=rtp~p:97 speex/8000 a=rtpmap:l0l telephone-event/aOOO a=fmtp:101 0-15 a=sendrecv ·1}~~iJit~~.C.168.l. 130>itag=ae312f6ed9 To: <sip:200@192.129: 5061> Call.

Un codificador-decodificador o de manera abreviada "codee" es un algoritmo que traduce una señal analógica en una señal digital. el ratio de compresión es alto y no se espera tanta fidelidad con el sonido analógico original como en el caso anterior. Sin embargo.LA NUEVA REVOLUCIÓN 53 a=rtpmap. al tener un tamaño grande se requiere un mayor ancho de banda para transmitirlo.8 poma/aooo a=rtpmap: 3 gsm/eooo a=rtpmap: ~s iI. A continuación vamos a ver de manera sencilla su funcionamiento. la compresión del codee será baja y por tanto se espera una buena fidelidad en sonido digital. Si el tamaño es muy grande una vez finalizada la codificación. Por tanto la elección de un codee de mayor o menor fidelidad hay que valorarlo. Ambos tipos se detallan mediante los distintos aspectos técnicos. lo que nos va a permitir tener un mayor número de comunicaciones VoIP simultáneamente. En la figura 2-22 puede observarse cómo el codee va tomando consecutivamente las distintas partes que componen el flujo de audio que se tiene de entrada. a los cuales es posible realizar distintas configuraciones que modifican el funcionamiento del codee.3 ALGORITMOS DE CODIFICACIÓN Y DECODIFICACIÓN DE VOZ (CODECS) La información transportada por un protocolo de audio tal como RTP es tratada por un codee antes de añadirla en un paquete RTP. ya que no siempre es tan importante un alto grado de fidelidad. Por otro lado si el tamaño es pequeño tras la codificación..©RA-MA CAPÍTULO 2: VOIP . A cada una de estas partes se le denomina muestra. . En este caso al ser el ratio de compresión alto.~Cleooo a=rtpmap:97 speexj8000 a=rtpmap:10l telephone~event!8000 a=fmtp:101 0-15 a=sendrecv 5. Por lo tanto uno de los aspectos a valorar a la hora de elegir un codee es el tamaño al codificar la onda analógica. en el caso de los humanos nuestro oído tiene unos límites a partir de los cuales no percibe mejoras en la calidad del sonido y es entonces importante no seleccionar un codee con demasiada calidad pero sí con el menor consumo de ancho de banda posible manteniendo una calidad aceptable. Los codees de audio para telefonía se pueden dividir en dos grupos: aquellos basados en "pulse code modulation" (PCM) y aquellos que reestructuran la representación digital de PCM en formatos más livianos. Por ejemplo. no requiere tanto ancho de banda para poder ser enviado por la red.

es posible calcular el ancho de banda que es necesario para poder establecer una comunicación de buena calidad entre dos puntos. Supongamos que el tamaño del sample size es 24 bytes y el intervalo de tiempo sample interval es cada 30 ms: Intervalo muestra I I Figura 2-23. El primero detennina el número de bits de la muestra una vez codificada por el codec.54 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA Figura 2-22. cada cuánto se va codificando una muestra. es decir. Intervalo de muestreo ( 24 * 8 ) / ( 30 * 0. Esta medida se conoce con el nombre de Bit rate o tasa de bits. El segundo atributo indica el intervalo de tiempo o cada cuánto tiempo se lleva a cabo este proceso.001) == 6400 bits/segundo Este sería el ancho de banda teórico necesario para poder establecer una buena comunicación. Conocido el tamaño de cada muestra codificada y la frecuencia de muestreo. Flujo de audio Cada codec tiene unos valores detenninados en dos atributos relacionados con el tamaño y tiempo de la muestra: sample size o tamaño muestra y sample intervalo intervalo muestra. Sin embargo en la realidad se requiere bastante ancho de banda. ya que no sólo se envía el audio codificado. . sino que también se envían cabeceras de los distintos paquetes que encapsulan el sample o la muestra.

que se añade al sample size. Como ya se ha comentado. Estructura de un paquete RTP Teóricamente se le añade un tamaño de cabecera de IP de 20 bytes.. Si observamos la figura 2-24 realmente se tiene demasiado overhead para un pequeño frame de audio codificado..­ Figura 2-24. se le denomina overhead o sobrecarga. Como se puede apreciar.. y que es absolutamente necesario para poder rutar el paquete a través de la red. el siguiente paso consiste en que cada una de las muestras codificadas se incluyan como contenido en un paquete RTP.. un cabecera UDP de 8 bytes y una cabecera RTP de 12 bytes. . es introducir más de un frame en el paquete RTP (véase la figura 2-25).Sobrecarga .. la necesidad de ancho de banda ha aumentado considerablemente de unos 6400 a 17066 bits por segundo. Una medida para paliar esta proporción excesiva de overhead. . y es ese el motivo por 10 que se requiere más ancho de banda..­ Figura 2-25.©RA-MA CAPÍTULO 2: VOIP LA NUEVA REVOLUCIÓN 55 Tal y como se puede ver en la figura 2-24...001) = 17066 bits por segundo.. Estructura de un paquete RTP con variosframes .Sobrecarga . lo que hace un total de overhead de 40 Bytes (mínimo).. y por último en un paquete a nivel IP. ya que se tienen 24 bytes de audio útil por 40 bytes de las distintas cabeceras. La relación "audio codificado y overhead necesario para enviar ese audio codificado" no está bien equilibrada. A este tamaño extra. esto es debido al overhead.. Al final se genera un paquete de un tamaño mayor al sample size. Ahora sí podemos calcular el ancho de banda que teóricamente vamos a utilizar: «40 + 24) * 8) / (30 * 0. el cual se incluye a su vez en un paquete UDP....

En definitiva y a modo de resumen. a pesar de que incluyamos varios frames de sonido en un mismo paquete. De esta manera podemos enviar la mayor cantidad de audio posible. Sin embargo esto tiene una consecuencia negativa. y es que la latencia aumenta.001)) 9956 bits por segundo. • Si el sample interval del codec es muy grande. un término medio entre latencia y overhead es 10 más recomendable. qUlzas 10 más recomendable sería reducir la latencia todo lo posible. es decir. ahora cada muestra se sigue generando también cada 30 ms pero son necesarias 3 (en este ejemplo). • Si el sample interval del codec es muy pequeño. Si antes se genera una muestra codificada cada 30 ms y que la enviábamos rápidamente. la latencia va a ser pequeña (recordar que la latencia es el resultado de multiplicar el número de frames de sonido en el paquete por el sample interval). a la hora de elegir un codec hay que tener en cuenta la calidad de sonido y el ratio de compresión (directamente relacionado con el . con la consecuencia de que ante una pérdida de un paquete los resultados no serían tan graves. por lo que si se retrasa (lag) durante el trayecto se va a producir temporalmente un corte en la comunicación. Esto provoca que el destinatario del paquete tarde más tiempo (aunque recibe más cantidad de audio) en llegar a destino. incluir más o menos frames de audio en el paquete tiene sus ventajas e inconvenientes. Ello aumenta el tiempo en que se envía cada paquete a 90 ms: «40 + (3 * 24) ) * 8) / (3 * (30 * 0. teniendo una baja latencia (lógicamente el consumo de ancho de banda aumentará). Indirectamente se presenta otro problema además de la latencia.56 VOIP y ASTERlSK: REDESCUBRIENDO LA TELEFONÍA ©RA-M-\ De esta manera la proporción de audio útil y overhead está mucho más equilibrada. En definitiva. hay que esperar más tiempo a obtener el audio suficiente para generar 3 frames para poder completar un paquete. El ancho de banda necesario se ha visto reducido considerablemente respecto a la situación anterior pero aumenta la latencia. Unas consideraciones que pueden ayudamos a decantamos por una u otra forma son las siguientes: • Si se dispone de una buena conexión a Internet. Además ahora se tienen 72 bytes de audio útil frente a 40 bytes de overhead. y es que la pérdida de un paquete con 72 bytes de audio es mucho más considerable que la pérdida de un paquete de 24 bytes de audio. • Si por el contrario no dispone de una buena conexión. es recomendable no incluir más de un frame de sonido en el paquete ya que la latencia es elevada.

• Calidad general del codec (valor dell=muy mala aI5=excelente). • Latencia o tiempo transcurrido entre envío y envío de los paquetes. El significado de cada campo de la tabla es: • Bit Rate es. En la tabla 2-8 se muestra un resumen con los codecs más utilizados actualmente y la configuración más equilibrada.6 30 "u-law" (US. para la práctica este valor ha de ser multiplicado por dos (ya que se tienen dos sentidos en la comunicación). 4. la cantidad de voz real que representa el total del paquete. Existen dos versiones 64 240 74.©RA-MA CAPÍTULO 2: VOIP LA NUEVA REVOLUCIÓN 57 ancho de banda y la latencia) y seleccionar aquel que más se adapte a nuestro requerimientos de voz. teóricamente. Es un detalle que afecta de manera notable en el funcionamiento del codec desde el punto de vista del lag y del consumo de ancho de banda. • Ancho de banda ethernet estimado indica el consumo de ancho de banda esperado en una conversación. Por tanto. sino también datos como cabeceras. • Audio útil (ms) no es ni más ni menos que la "cantidad de voz útil". Para algunos codecs. que suponen un "overhead" en el tamaño del paquete de voz y requiere por tanto un ancho de banda adicional. el ancho de banda requerido por un solo sentido de la comunicación y suponiendo un uso continuo del ancho de banda. Para aquellos que no detectan el silencio en ambos sentidos.1 . Nombre Bit Audio Ancho Latencia rate útil estimado (ms) (kbps) (Bytes) (kbps) Observaciones Calidad General PCM. Japan) y "a­ law" (Europa). el consumo real será mayor ya que hay que tener en cuenta que no se envía únicamente datos de voz. el consumo de ancho de banda real será menor al obtenido tras la multiplicación ya que durante una conversación se tienen silencios que son detectados por el codec y no hace por tanto un uso continuo del ancho de banda.

719 8 20 24 20 3.85 G.4 24 17 30 Multipulse Utiliza Likelihood Maximum Quantization (MP-MLQ) o Algebraic-Code-Excited Linear-Prediction (ACELP). Es soportado por gran cantidad de platafonnas hardware y software. codec 0729: 0729A menos complejo que 0729 pero menor calidad (compatible con 0729).4 7 16.8-3.61 <. Sustituye a los codecs 0.726 32 80 48 20 3.5 .10 13.8 LrCI0 2.. ADPCM. 0729B es corno 0729 pero con supresión de silencios (no es compatible con las anteriores).71& 16 60 26.58 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA Oc1Í3~l 6.9 G. La voz suena un poco "robótica". 3. Por último 0729AB es un 0729A con supresión de silencios y únicamente compatible con 0729B.721 y 0.723 Code-Excited Utiliza Linear-Prediction (CELP) para codificar. Alta compresión manteniendo una buena calidad de sonido.2 20 Utiliza Regular-Pulse Excitation Long-Tenn Predictor (RPE-LTP).2 33 29. Usado por la tecnología celular OSM.7 22. 3. Linear predictive codee (LPC).6 30 3.92 Nombre Bit Audio Ancho Latencia rate útil estimado (ms) (kbps) (Bytes) (kbps) Observaciones Calidad General GSM 06. original.

LA NUEVA REVOLUCIÓN 59 Speex 11. etc. Las ventajas respecto a la telefonía tradicional resultan muy claras. Reciente. y es por ello por lo que la mayoría de las empresas telefónicas están comenzando a ofrecer servicios de VoIP. y el motivo no es otro que la tecnología VoIP es la telefonía del futuro.2 57 25.©RA-MA CAPÍTULO 2: VOIP .2 20 El bitrate es variable. estándares que definen el funcionamiento. líneas de datos con buen ancho de banda. .14 6 Conclusiones La tecnología de VoIP dispone de todo lo necesario y fundamental para comenzar su expansión: teléfonos IP. Requiere un importante procesamiento del sonido.8 30 4. por lo que su soporte en dispositivos comerciales muy es reducido. centralitas software así como hardware. ILBC 15.2 28 27. Además detecta el silencio.

.

a la que llamó Linux Support Services. ahora tenemos telefonía móvil. Al principio sólo disponíamos de telefonía fija. dejar un mensaje y su incidencia sería atendida lo antes posible. y además Internet. y desde hace poco estos avances han llegado al mundo de las comunicaciones empresariales. Para captar clientes y meterse en el mercado Mark quería dar un servicio de atención las 24 horas del día. . de forma que alguien podría llamar a LSS.CAPÍTULO 3 LA REVOLUCIÓN SE LLAMA ASTERISK Saúllbarra Corretgé y David Prieto Carrellán 1 Introducción Hoy en día se puede afirmar sin lugar a dudas que las comunicaciones están cambiando. En las últimas décadas la tecnología ha avanzado de una manera imparable. Todo comenzó cuando un chico joven (Mark Spencer) decidió montar una empresa para dar soporte sobre temas relacionados con GNUlLinux.

de manera que cada usuario pueda seleccionar qué partes de Asterisk o módulos desea utilizar. pero Mark tenía esa mentalidad hacker: "¿por qué no hacerlo yo mismo?". por lo que su nombre cambió a Digium y el enfoque de la empresa cambió radicalmente para enfocarse al desarrollo de Asterisk. Esto hace de Asterisk una aplicación realmente escalable y extensible: . Asterisk supone un cambio radical en los sistemas de comunicaciones.62 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA Esta idea derivó en la necesidad de un sistema telefónico. La clave del éxito de Asterisk es que es Software Libre. Asterisk ya era capaz de unir ambos mundos: la telefonía analógica/digital tradicional y la VoIP. emprendió la aventura de programar una PBX software desde cero. pedir prestado el dinero o simplemente abandonar su idea. por lo que ofrece una mayor flexibilidad y escalabilidad. Todos ellos han formado el ecosistema de la telefonía Open Source. algo inexistente hasta el momento. Todo esto ha llevado a que Asterisk se expanda muy rápidamente. En este punto. en Linux Support Services se dieron cuenta de que lo más importante de su negocio no era el negocio en sí. iniciado por Jim Dixon. que ha supuesto esta revolución imparable en el mundo de las comunicaciones. Así. Mark se dio cuenta de que no podría pagarlo (LSS se fundó con 4000$ de capital social). ya que estos están basados en hardware. empresas que basan su modelo de negocio en Asterisk y los hackers de Asterisk. 12tpd y Gaim. 2 Arquitectura Tal y como puede verse en la figura 3-1. sino Asterisk. el proyecto Asterisk se encontró con el proyecto Zapata Te/ephony. Cualquier otra persona habría pensado en robar un banco. y en busca de esta interoperabilidad. Para tener un producto completo a Asterisk le faltaba interactuar con las líneas analógicas y digitales existentes en la telefonía tradicional. Finalmente. Asterisk fue diseñado de manera modular. ya que contrasta totalmente con el mundo cerrado de las PBX tradicionales. ya que Mark tenía experiencia en el mundo Open Source con proyectos como cheops. pero tras varias consultas de precios. Más tarde se dio cuenta de que la decisión de hacer libre Asterisk fue lo que le ha dado tanto éxito. aunque la decisión de hacerlo libre fue simple casualidad. y Asterisk es software. y haya captado todo tipo de público: usuarios de Asterisk.

• Aplicaciones y funciones. música en espera (res_musiconhold). ya que son los módulos que aportan las distintas herramientas para configurar nuestro sistema Asterisk. • Canales. Estos módulos se dividen en 7 categorías: • Coreo Se trata del núcleo de Asterisk.© RA-MA CAPÍTULO 3: LA REVOLUCIÓN SE LLAMA ASTERlSK 63 • Escalable. Por ejemplo. una base de batos MySQL. • CDR. como la posibilidad de leer ficheros de configuración (res_config). • Extensible. seleccionando los módulos que va a necesitar. Para programar un nuevo módulo de Asterisk no es necesario conocer todo el código de Asterisk.. que incluye las funciones más básicas y posibilita la carga de módulos. ~~~ @ [. Aportan funcionalidades adicionales al core. Permiten a Asterisk manejar un dispositivo de una determinada tecnología. Estructura modular de Asterisk Esta arquitectura permite al usuario construir su sistema Asterisk como si de un "Lego" se tratase. Estos módulos controlan la escritura del registro telefónico generado por Asterisk a diferentes formatos. etc.x~tensk Figura 3-1. por ejemplo a un fichero CSV.. .. Es posible desactivar los módulos no utilizados para instalar Asterisk en dispositivos embebidos de pocos recursos. para manejar dispositivos SIP se utiliza el módulo chan_sip. para IAX2 chan iax y para canales analógicos/digitales chan_zap. Estos módulos conforman la "caja de herramientas" de Asterisk. etc. . • Recursos.

3 Instalación Una vez que estamos dispuestos a instalar Asterisk. ¿Quépaquetes instalar? En la web de Asterisk podemos encontrar 4 paquetes: Asterisk. Si vamos a utilizar tarjetas de comunicaciones analógicas. Zaptel y LibPRI. etc. Estos módulos posibilitan a Asterisk "entender" y manejar ficheros en distintos fonnatos. No obstante. Se pueden definir los módulos que Asterisk cargará en fichero modules. mucha gente se hace la eterna pregunta: ¿qué distribución elegir? Esta pregunta da lugar a intenninables charlas. como mp3.64 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-M-\ • Codees. También son necesarias las librerías de . además de las cabeceras de C. • Formatos. aunque no resulta dificil encontrar instrucciones precisas para otros sistemas. será necesario instalar "libpri". sin interacción con líneas analógicas o digitales. Para que Asterisk pueda codificar y decodificar la infonnación de audio/vídeo que tiene que enviar y recibir dispone de distintos codees. las instrucciones que se darán en este libro están orientadas a Debian y a derivados de RedHat como Fedora y Centos. también necesitaremos el paquete "zaptel". ulaw. ya que contiene módulos adicionales que no se han incluido en el paquete principal por temas relacionados con las licencias de uso. Asterisk­ Addons. y consultar cuáles se encuentran cargados ejecutando module show desde el CLT de Asterisk. Si nuestra instalación va a ser puramente VoIP. Si se van a utilizar trujetas de comunicaciones digitales.con/. Dependencias necesarias para instalar Asterisk Para compilar Asterisk se necesita el compilador gcc así como la utilidad make. Dependiendo de la instalación que vayamos a hacer necesitaremos unos u otros. y la respuesta siempre suele ser la misma: la distribución con la que te sientas más cómodo. sólo necesitaremos el paquete "asterisk". alaw. El paquete "asterisk-addons" puede ser instalado en cualquiera de los escenarios de configuración.

CQmtPub/lil<9rillibQri-1.Jential libncursesS-dev libssl-dev Si además vamos a instalar Zaptel. nuestro sistema ya está listo para que comencemos a compilar Asterisk.49Y!mnt.. ya que Asterisk las utiliza en su propia librería criptográfica. makeinsta11 i e . necesitaremos las cabeceras del Kernel (o las fuentes.z-lsre/asteriliik #ed lusrlsrclasterisk ft wget http://ggwnI9aqs.gz # . Para instar estas dependencias ejecutamos: i apt-get i. Para instalar estas dependencias en Debian basta con ejecutar: # .-wge t bltR:lI~wn!óAds.t@r.dig¡um.!f!?mtPYblas~SlfÍ!ts(ªste.-. do tar >ucvf $pkg¡done Ahora ya tendremos todos /usr/src/asterisk.tar. g¡¡.4-current # # . así que ¡a compilar! los paquetes descomprimidos en CompilarlibPRI LibPRI es la librería encargada de dar soporte a señalización de primario (El/TI) a Zaptel.4-Gurrent. si es un Kernel personalizado) y también se recomiendan las librerías newt.©RA-MA CAPÍTULO 3: LA REVOLUCIÓN SE LLAMA ASTERISK 65 desarrollo de OpenSSL. No es necesario instalarla si no se van a utilizar tarjetas de primario.gz # wget •nttp:l1d9wn_$.-pt.-get instaH builo..me-r) libnewt-dev Llegado este punto. # cd lusrlsrc/asterisk/libpri-l.nstCillllinux-headers-$ (uIl¡.W.corolr¿ub/astMsklasterisk-l A-corrent. tar .dts!Y!n.¡.tar.es¡. para disponer de la utilidad zttool.:a*pS-1.gz .~z # wget ~t1190Y'lntpagIU:fi9!Ym·CQmtPwRlW!tetfz!Rt@l:1·4:gg¡lJreot. 1* tar pkg in *. Descargar los paquetes necesarios Procedemos a descargar los paquetes necesarios de la web de Asterisk: # mkdir -p lus.digtum.

que los compilará.I~apt~l":l. #.4.lte # make samples .k~ tlleU1. que los instalará.teri$k~1. # mak~men~$elect i make #make install # ttiakeconfig A la hora de compilar Zaptel. pero en este caso. primero ejecutamos . #cd ltisrl$l. pulsamos 's'. en la parte inferior de la pantalla se muestra la librería que necesita. se nos muestra un menú donde es posible elegir qué módulos y utilidades de Zaptel serán compilados. Una vez hemos elegido las opciones que queremos compilar.4-cur:r:el1t 41 . . Además. mientras que si no está disponible por la falta de alguna dependencia. y se creará un script de inicio en le tc/in it. como Asterisk tiene muchos módulos habrá muchos que se marquen con una 'X'.41"'i?LC~'./configure. #cd Jusrl:~1Sé/a$terisk/a¡¡¡. Compilar Asterisk La compilación de Asterisk es muy similar a la de Zaptel. de manera que se chequea nuestro sistema para comprobar si tenemos las dependencias necesarias instaladas. se mostrará un '*' a su lado. por lo que si queremos que se compile no tenemos más que instalar esa librería. y tras ejecutar de nuevo . Posteriormente.". Cuando un módulo está marcado con una 'X'. para salvar estas opciones. di. se ejecuta make. . al hacer make menuselect. Tras seleccionar los módulos que serán compilados."cu1:J:"ent # ~}configur~ . ejecutamos make config. contiene varias utilidades de configuración y diagnóstico. Si queremos que Zaptel se añada al arranque del sistema./configure. ya que nos falta alguna librería para poder compilarlo. y make install.Clast~:í:'iSk.66 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA Compilar Zaptel El paquete Zaptel contiene los módulos del Kernel para hacer funcionar las trujetas de comunicación analógicas y digitales. Si un módulo va a ser compilado.'configure # mq. make # make #m. se mostrará una 'X'. saldrá marcado con un '*' en el menuselect.

si queremos que se generen los ficheros de ejemplo en /etc/asteriskl ejecutamos make samples. para meter a Asterisk en el arranque. Entre ellas está la aplicación que maneja el formato mp3. el módulo que escribe el CDR en MySQL y más.ast. . Su compilación es muy similar a la de Asterisk: t (ld l:¡¡ar! ere /.tar. obtendremos una instalación muy básica pero funcional de Asterisk.g¡: .@!awt. pero funcional.lZl/astet'. Compilar Asterisk-Addons El paquete Asterisk-Addons contiene diversas utilidades que no han podido ser incluidas en el paquete principal por temas relacionados con el licenciamiento de aplicaciones. 1tcq lust:! sr. ta. Además.voipoovatQSfesN~nQ''ªtQS-cor&-sotínd§-es. y obtendremos una configuración por defecto muy limitada. de Asterisk. .t' fgz. y automatizar así el proceso de arranque del servidor Asterisk. # ~or pkg inyoipncl'vatos*. #WSet bttP:/iWW\Y·yojW)OYmQs. se ejecuta make config. podréis comprobar que es posible instalar el juego oficial de sonidos de Asterisk en español.a:t'lal'lt eri a:t'. do ta:r -zxvf$pkg -C /var/libjasterisk/sounds¡ done Tras ejecutar todos los pasos anteriores.::a~ns'-l. y por tanto. que podemos modificar y con la que podemos empezar a aprender.e:n~ '# '# 1+ make install Instalar voces para Asterisk en castellano Al hacer make menuselect del paquete Asterisk.e:l'i.g¡: . .tl'lk '# wget http://www.4. 4:-c~.es~lYoipnW~n9§:e&-aIpYé 1.©RA-MA CAPÍTULO 3: LA REVOLUCIÓN SE LLAMA ASTERISK 67 Al igual que en Zaptel. utilizaremos otro conjunto de sonidos creado por Alberto Sagredo. Este conjunto de sonidos tiene bastante acento inglés.4J@r.

. Contiene los ficheros binarios de los módulos de Asterisk que han sido compilados. contiene los ficheros de configuración. Contiene ficheros de firmware necesarios para la comunicación de Asterisk con otros dispositivos como el IAXy. si no se indica la ruta absoluta al fichero. la Base de Datos de Asterisk (Berkeley DB2). se busca en este directorio.. Contiene lmagenes. se crean muchos directorios. etc. que pueden ser o /var/lib/asterisk/keysl. donde se indica la ubicación de los demás directorios. El directorio más importante para A sterisk. Asterisk soporta autenticación mediante RSA en IAX2. así como su función: • /etc/asterisk/. Este directorio contiene los distintos sonidos que Asterisk es capaz de reproducir. donde se guarda la información de registro de usuarios. FastAGI o DeadAGI. o /var/lib/asterisk/static-httpl. • /var/lib/asterisk/. 4 Estructura de directorios Al compilar e instalar Asterisk. o /var/lib/asterisk/imagesl. además del astdb. En caso de configurar enlaces IAX2 con este tipo de autenticación. y cada uno contiene una parte de Asterisk. las claves pública y privada se almacenarán aquí. contiene los ficheros del Asterisk-GUI. o /var/lib/asterisk/mohl.conf. Al utilizar aplicaciones como Playback o Background. además de un ejemplo de uso de AJAM (Asynchronous Javascript Asterisk Manager). EAGI. A continuación se muestran todos los directorios relacionados con Asterisk.68 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-M. . Este directorio contiene los ficheros que serán utilizados como música en espera.. así como el fichero asterisk. o /var/lib/asterisk/agi-binl. • /usr/lib/asterisk/modules/. o /var/lib/asterisk/jirmwarel. transmitidas por canales que lo soporten. Contiene diversos ficheros importantes para Asterisk en distintos subdirectorios. o /var/lib/asterisk/soundsl. En caso de haberlo instalado. Directorio que contiene los scripts AGI que pueden ser ejecutados desde el dialplan con las aplicaciones AGI.

y cómo conectamos a una instancia de Asterisk que ya se encuentra en ejecuci9n . Contiene los ficheros de audio con las grabaciones realizadas con las aplicaciones Monitor y MixMonitor. o Ivarlspoollasterisklmonitorl. incluido el de Asterisk.dl de manera que Asterisk arranque automáticamente al iniciar el sistema operativo. Asterisk guarda los posibles ficheros temporales generados en esta carpeta. Si utilizamos la aplicación System. así como el CDR en formato CSV (valores separados por comas). relacionados con la entrada/salida de ficheros: o Ivar/spool/asteriskldictate/. ••••• li111iII . al hacer un make config en el directorio de fuentes de Asterisk. Asterisk lee periódicamente este directorio en busca de callfiles. o Ivarlspoollasterisklvoicemaill. Asterisk utiliza este directorio para almacenar todos los ficheros con los mensajes de los buzones de voz. El directorio de spool de Asterisk contiene diversos subdirectorios. • Ivar/runl. Ahora vamos a ver cómo arrancar manualmente Asterisk. o Ivarlspool/asterisklsysteml. se instalará el script de inicio en letclinit. tal y como se indica en el fichero asterisk. Este directorio del Sistema Operativo contiene los ficheros con el identificador de proceso (PID) de los procesos activos. 5 Puesta en marcha de Asterisk Como se ha visto en el punto anterior. En este directorio se sitúan los ficheros generados por la aplicación Dictate. Contiene los ficheros de audio de las conferencias MeetMe que hayan sido grabadas. Contiene ficheros temporales que Asterisk puede necesitar antes de mover un fichero de un sitio a otro. ficheros que permiten generar llamadas automáticamente.conf • Ivarlloglasterisk/. o Ivarlspoollasteriskltmpl.© RA-MA CAPÍTULO 3: LA REVOLUCIÓN SE LLAMA ASTERISK 69 • Ivarlspoollasteriskl. Contiene los ficheros de log. o Ivar/spoollasterisklmeetmel. o /varlspoollasteriskloutgoing/.

Si hemos arrancado Asterisk en primer plano.':J:'ently runnirig (pid = 3231) asteris~14*eLI:> asteris~14 Para salir del CL! si nos hemos conectado con -r. es decir. mientras Asterisk está funcionando. si se arranca con -c. por el contrario. y éste podrá seguir trabajando tranquilamente. El verbo ose aporta información detallada del . y saldremos del CL!. utilice el modificador -r: Connected toAsteris~ 1.70 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA Arrancar Asterisk Para arrancar Asterisk basta con ejecutar 10 siguiente como root: " ¡¡u1Íte. Conectarse a una instancia arrancada Como se ha visto arriba. pero no habíamos arrancado Asterisk previamente. Para conectarse al CL! de esa instancia de Asterisk. pero sin parar el servicio Asterisk Si nos intentamos conectar a una instancia arrancada de Asterisk. Si. queremos arrancar Asterisk en primer plano. no es necesario ejecutar stop now. podemos hacerlo con las opciones de verbose y debug. la única manera de salir del CLI es parando Asterisk. se mostrará el siguiente mensaje: Un<:lble to connect to remate asterisk (doea Ivar/run/asterisk.ctl exist?) Añadir información de verbose y debug Tanto cuando arrancamos Asterisk como si nos conectamos a una instancia con -r. utilizaremos el modificador -c y se nos mostrará el CLI (Command Line Interpreter): #asteri$~ -o CL!'> .1B cU:r. ejecutando stop now desde el CL!. no se mostrará ningún mensaje al usuario. Asterisk arrancará en segundo plano.4. basta con hacer exit. Asterisk arrancará en segundo plano. para que se nos muestre más información.ri~~ De esta manera.

Mostrar información sobre las aplicaciones: eore showapplications CLI>core show applieation <nombre de Mostrar información sobre las funciones: CLI>shOW functions CLI> eore show funetion <nombre de la funei6n> Cargar. A continuación se muestran los usos más frecuentes del CL!. Para añadir verbose sólo hay que arrancar Asterisk con -v y para añadir debug con -d. descargar y mostrar los módulos de Asterisk: CLI> module snow eLI> module load <nombre del módulo> eLI> module unload <nombre del módulo> Mostrar los usuarios SIP/IAX: CLI> sip show peers eLI> iax2 show peers Mostrar los canales activos: eLI> eore show ehannels eLI> show channels eLI> iax2 show ehannels eLI> zap show channels Parar y reiniciar Asterisk: eLI> stop now eLI> stop when convenient . Cuantas más uves y des se añadan más información se mostrará. que puede resultar de utilidad al diagnosticar fallos en Asterisk. A través de esta línea de comandos es posible obtener ayuda. etc. mientras que el debug muestra información a más bajo nivel.©RA-MA CAPÍTULO 3: LA REVOLUCIÓN SE LLAMA ASTERISK 71 funcionamiento de Asterisk. habilitar información de debug. por ejemplo: 6 Consola de comandos (CLI) Al arrancar Asterisk en primer plano (-c) nos encontraremos con su intérprete de comandos o CL! (Command Line Interpreter). originar llamadas. aunque también se irán comentando más opciones en capítulos posteriores.

Como su nombre indica (Session Initiation Protocol) SIP sólo sirve para gestionar la sesión del usuario. . para que el servidor sea capaz de enviarles llamadas. y que el flujo multimedia es transportado usando RTP (Realtime Transport Protocof) no teniendo que coincidir necesariamente con el camino seguido por la señalización. en este caso de comunicaciones de audio. es legible por el ser humano. Todos estos conceptos.72 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA CLI. Es importante tener claro que SIP no transporta audio. Gracias al protocolo SIP. IAX y ZAP. Al estar basado en texto y ser similar a HTML. dado que el protocolo se diseñó de manera que fuera extensible y modular. SIP v2. serán ampliados más tarde en el Capítulo 4. indicándole su IP. Desde entonces. mantenimiento y cierre de sesión. y es más fácil de diagnosticar.1 CANALES SIP Protocolo SIP El protocolo SIP (Session lnitiation Protocof) puede ser considerado el estándar de facto para la VoIP. indicando que SIP sólo transporta señalización. se examinará la configuración de los dispositivos SIP.1. y sólo sirve para el establecimiento. La actual versión. fuertemente inspirado en HTML y el paradigma IP. En concreto. SIP es un protocolo de nivel de aplicación.>~:top ©RA-MA eLI> restart naw eLI> restar:t when convenient eL!> gracefully 7 Configuración básica A continuación se van a mostrar ejemplos de configuración de los distintos tipos de canales que Asterisk es capaz de gestionar. Bajo estas líneas se muestra 10 que se conoce como el "SIP trapezoid". manteniendo un núcleo funcional pequeño.1 7. Lógica de marcado o dialplan. fue publicada como el RFC3261 en 1996. 7. que transporta únicamente señalización. así como un dialplan básico. su crecimiento ha sido inmenso. Pero al finalizar este capítulo el lector ya será capaz de realizar llamadas simples entre extensiones de distintas tecnologías. los terminales se registran en el servidor. SIP es un protocolo basado en texto.

© RA-MA

CAPÍTULO 3: LA REVOLUCIÓN SE LLAMA ASTERISK 73

Dominio ual.es

Dominio uS.es

121@ual.es

Figura 3-2. SIP trapezoide

7.1.2

Configuración de canales SIP

La configuración de dispositivos SIP se realiza en el fichero sip.conf, y al igual que en casi todos los ficheros de configuración, existe una sección que se aplica a todos los dispositivos definidos, la sección [general]:
{general]
parametrol..valorl

parametro2""v~llor2

[bob]

parametr03=valor3

[alica]

parametro4=valor4

Como se puede observar en el ejemplo, todos los dispositivos tendrán fijados los parámetros 1 y 2, el usuario Bob tendrá fijado el parámetro 3, y Alice el parámetro 4. A la hora de definir usuarios SIP, lo más importante es definir el tipo de usuario. Asterisk define 3 tipos de usuarios: • peer. Los peers son los usuarios a los que Asterisk manda llamadas, es decir, Asterisk llama A un peer. • user. Los users son los usuarios de los que Asterisk recibe llamadas, es decir, Asterisk recibe llamadas DE un user.

• friendo Los friends son la agrupación de los 2 conceptos anteriores, es decir, un friend, es un peer y un user a la vez.

74 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA

©RA-MA

Realmente, el concepto de user no tiene demasiado sentido, ya que lo más habitual es utilizar Asterisk para realizar llamadas, por lo que utilizaremos el tipo friendpara los teléfonos y el tipo peer para los proveedores de VoIP. Veamos un ejemplo más completo de configuración de un usuario SIP:
.(;09,b1

type",frl.e~~

Como se puede apreciar en el ejemplo, hemos definido a Bob como un friend, pero hemos añadido varios parámetros más: • secreto Indica la contraseña que se utilizará para la autenticación. • contexto Indica el contexto que se aplicará a este usuario. El concepto de contexto será explicado más detalladamente en el siguiente capítulo. • caUerid. Fija el identificador del llamante para el usuario definido, es decir, cuando bob llame a alguien, este verá "Bob <2100>" en la pantalla de su terminal. • host. Indica la IP del usuario. Lo habitual es poner 'dynamic', ya que así requerimos que el usuario se registre, obteniendo así su IP. Cuando realizamos un cambio en el fichero sip.conf, es necesario recargar la configuración SIP de Asterisk, para que los cambios tengan efecto. Para ello, ejecutamos sip reload en CLI:
PJ;lX*Cr,b l1ip reload Reloading$lP> =.:. ParliJing '/etc/asterísk/si¡hCOnf': Found Parsing '/etc/asterísk/sip notify.conf') Found PBX'*Cr,l:>

==

Para' consultar los usuarios presentes en el sistema, así como su estado, podemos ejecutar sip show peers y sip show users desde el CLI:
PBX*Cr,b sip show Name/username aH.ce/alice Unmoni tored, bob/bob Unmonitored laura/laura Unmonitored
peera Hoat
192 .16B .1.48 192.168.1.31 192.168.1.48

Dyn NatACL Port
D
D
D

StatuEi

S060 5060 5060

©RA-MA

CAPÍTULO 3: LA REvOLucrÓN SE LLAMA ASTERISK 75

;3 .á.i.Ji~ra. tMonit,o):'ed:.
ón1i~~ o OffIi,ne}
PB):'*eL!>$~J?
Userna~

<lÚee

Rll'C3S8:l

1;»b ..
RFC358.1

laura RFC3S.al

PBX*CLI>

1234

Para probar el funcionamiento de la configuración anterior, crearemos un pequeño dialplan de ejemplo:
(genera~1

rdesde~usu,~1l'iosl

eltten.· ",;;'; '/;'
"-'

(filI'P/áJ:l.ce:)
1,Dial,t~IP!bob).

eltt~n

eltte.n ""::> 2oa2,1,D:l~1{SIPIlauraJ

Con este dialplan, podremos llamar a Atice marcando el 2000, a Bob marcando el 2001 Y a Laura marcando el 2002. Para probar lo anterior, podemos configurar un teléfono SIP o un softphone. En los siguientes ejemplos, se utiliza Zoiper, un softphone gratuito con soporte para SIP e IAX.

7.2

PROTOCOLO IAX

Además de soportar los protocolos más extendidos de VoIP (SIP, H.323 ... ), Asterisk introdujo un protocolo propio, orientado inicialmente a la interconexión de centralitas Asterisk. Este protocolo se denominó IAX (Inter-Asterisk eXchange protocol)o Actualmente se utiliza la versión 2 del protocolo (IAX2), estando la primera versión ya en desuso, por lo que al hablar de IAX, estaremos normalmente refiriéndonos a IAX2. Las principales características de IAX son: • Todo el tráfico de datos se realiza a través de un único puerto UDP. Esto incluye tanto la señalización como el tráfico de voz. En otros protocolos se usa un puerto distinto para la señalización y otro, negociado dinámicamente, para el tráfico de voz. Esto introduce problemas con los cortafuegos y con el NAT que, aunque se pueden resolver con distintos

76 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA

©RA-MA

mecanismos, no dejan de ser complicados. En IAX no nos encontramos con estos problemas. • Un mismo flujo de datos puede contener información de varias conversaciones al mismo tiempo (trunking). Esto se consigue enviando en un solo paquete UDP información de señalización y de voz de una o más llamadas. Gracias a esto se minimiza el ancho de banda "desperdiciado" por las cabeceras de los paquetes UDP. • Es un protocolo binario, a diferencia de SIP, por ejemplo, que es un protocolo basado en texto. De esta manera se consigue minimizar el tráfico de datos de señalización. Pero no todo son ventajas: • El tráfico siempre pasa por el servidor. Al ir señalización y voz por el mismo canal, forzosamente hay que pasar por el servidor. Con otros protocolos, como SIP, dos teléfonos pueden comunicarse enviando la señalización a través del servidor, pero el tráfico de voz puede ir directo de un teléfono al otro sin pasar por el servidor, lo que en determinados escenarios puede suponer un enorme ahorro de ancho de banda. • No está muy extendido. Actualmente sólo Asterisk y unos pocos productos más soportan IAX2. Tampoco es normal que proveedores de telefonía IP nos permitan conectar con ellos a través de este protocolo. Por otra parte, es interesante comentar que aunque el protocolo se diseñó inicialmente para interconectar dos centralitas Asterisk, también existen teléfonos IP y softphones que pueden conectar con un servidor Asterisk a través de este protocolo.

7.2.1

Configuración de Canales IAX

El fichero de configuración en el que definiremos los parámetros de los canales IAX2 en nuestro servidor Asterisk es iax. con! Este fichero tiene una estructura similar a la que hemos visto anteriormente en el sip.conf, para los canales SIP, con una sección [general] con la información de configuración que afectará a todos los canales y parámetros por defecto, y después distintas secciones para cada uno de los dispositivos con los que nuestro Asterisk se va a comunicar mediante IAX2.

©RA-MA

CAPÍTULO 3: LA REVOLUCIÓN SE LLAMA ASTERISK 77

Aquí también diferenciaremos entre equipos que van a realizar llamadas a través de Asterisk (users), equipos que van a recibir llamadas procedentes de Asterisk (peers) y equipos que van a hacer y recibir llamadas (friends).

7.2.2

Definición de extensiones IAX2

Para los más impacientes, aquí tenemos nuestro primer ¡ax.con! con una configuración mínima para conectar dos extensiones. En la sección [general] definiremos el idioma en el que deseamos que se reproduzcan los mensajes del sistema para los usuarios IAX2. Seguidamente definimos dos usuarios (Juan y María).
[general]
language es
[juanl
type = friend
host =o dyn,amic
secret '" passwordDeJuan
context desde-usuarios
callerid .. Juan <2003>

[mariaJ

type '" friend

~ost =

dynami9

.

secret

passwot~~l:'iiil

context =desde-uauarios
.. . callerid '" I'4ari¡¡t <2004>

Dentro del CL! de Asterisk forzamos la carga del módulo chan_iax2.so para que se lea de nuevo esta configuración:
PBX*CLI:>

module reload Chan_iiiX2.so

Podemos comprobar que en Asterisk ya se han definido los dos usuarios, ejecutando iax2 show peers e iax2 show users en el CL!:
PEl(:*CLI'l> iax2

Username

DeÍ.context maria uauax:ios No juan US1,l<;idos No
Ilax*CLI> PBX*CLI'> ia.x2.

show users Secret· A/C; codsc Pref
passwordDet-t~.~.¡a

Authen

Host p.¡al;lt>wordDeJu<;in Hos't

desde ­
desde-

NamelUsername

Status

slJ:ow peers Rost

78 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA

©RA-MA

Para probar estas cuentas podemos usar un softphone que soporte el protocolo IAX2. Zoiper (http://www.zoiper.com) es una buena opción para esto, ya que además de IAX2 soporta SIP, por lo que será el softphone que utilizaremos como ejemplo. La configuración de una cuenta IAX2 en Zoiper es bastante simple. Basta con introducir el nombre/dirección IP del servidor Asterisk y nuestro usuario y contraseña. Después de esto ya podemos conectar con el servidor.
v

.ijj eUH'ltala dt $V'

it C~bt nueva d.e 'S1P
.....­
¡¡ctI'CMtaa.~

il.ClJ~fJ~di!w(
v

D OpchiUlf de A.\IdkJ
~od:ó:o

v

",OPJ¡61"1•• ',;;t.."tI!'.le~
~.dt!'~l:!Idn

-

uAUdia

--:J OJ'l{¡_M~ d. ~

Figura 3-3. Configuración de ZoIPer

Para que nuestros usuarios Juan y Maria puedan llamarse, necesitaremos un pequeño dial plan. En el siguiente capítulo se profundizará sobre este tema, pero podemos empezar a hacer alguna prueba ampliando un poco el extensíons.conf que habíamos generado para probar las extensiones SIP:

,iES,i;:¡¡;,!I@!Ji

'Ir ",",-,­

Al marcar la extensión 2003. no sabe qué tecnología estará usando Juan. Con la extensión 2004 llamaremos a María. Enlazar estas dos centralitas a través de IP nos va a dar la posibilidad de que los usuarios de las dos sucursales puedan llamarse entre ellos y que estas llamadas no pasen a través de la red telefónica. que usa también IAX2. En la figura 3-4 se muestra un esquema básico de comunicación entre un usuario SIP y un usuario IAX2. y no tiene que hacer nada especial para poder hablar con él. Sin embargo. Bob.3 Interconexión de dos Asterisk mediante IAX2 Acabamos de comprobar lo sencillo que es definir extensiones IAX2 para usar con Asterisk. También va a permitir que las llamadas que se realicen desde Caracas a clientes o proveedores de España sean enviadas a través de IP hasta la centralita de . o que podamos rutar las llamadas al exterior a través de la instalación por la que resulten más económicas. lo que supone un gran ahorro para la empresa. que usa un teléfono SIP. llamaremos al usuario Juan. y es que Bob puede llamar a Juan simplemente marcando su número de extensión. Imaginemos el siguiente escenario: una empresa tiene su sede central en Madrid y una sucursal en Caracas. Ahora que tenemos usuarios que usan terminales SIP y usuarios que usan terminales IAX2 podemos probar una de las capacidades más interesantes de Asterisk. IAX2 de "luan" ~ de "usuariol" Figura 3-4.©RA-MA CAPÍTULO 3: LA REVOLUCIÓN SE LLAMA ASTERISK 79 Hemos añadido las extensiones 2003 y 2004. Llamada entre un usuario SIP y un usuario fAX2 7.2. SIP Teléfono SIP -----~• rrt. Asterisk "hace magia" con los canales y realiza la traducción de protocolos de forma transparente. aunque el teléfono de Bob sólo soporte SIP y el teléfono de Juan solamente funcione con IAX2. que usa el protocolo IAX2. En ambas sucursales disponen de un servidor Asterisk. donde de verdad podemos obtener más ventajas usando el protocolo IAX2 es en la interconexión de dos centralitas Asterisk. de forma que los usuarios de una y otra instalación puedan hablar entre ellos.

Vamos a suponer que el servidor de Madrid dispone de una dirección IP fija. sin tener que pasar por la operadora. Los usuarios que viajan entre las dos sucursales pueden recibir llamadas o acceder a servicios como su buzón de voz desde cualquier terminal de las dos instalaciones. la interconexión de centralitas ofrece grandes beneficios operativos: un usuario de Madrid que quiera hablar con un usuario de Caracas podría hacerlo simplemente marcando su número de extensión. etc. Interconexión de dos Asterisk mediante IAX2 Pero además de los beneficios económicos. mientras que en Caracas las extensiones son de tres cifras y empiezan por 2 (2xx). con lo que la llamada no sería facturada como una llamada internacional. y desde allí salgan a la red telefónica.80 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA Madrid. También vamos a suponer que en Madrid las extensiones tienen una numeración del tipo: lxxx (cuatro cifras y empiezan por 1). Caracas Madrid Figura 3-5. mientras que la conexión a Internet de la oficina de Caracas tiene dirección IP dinámica.conf: 1anguage es {caracas] type peer host dynamic eecret = passwordSecreta trunk yes disa110w = a11 . Configuración del servidor "Madrid": iax. esquema que vamos a seguir va a ser la creación de un "user" y un "peer" en cada servidor Asterisk. para gestionar las llamadas entrantes (del "user") y salientes (hacia el "peer") a la otra sucursal.

para aprovechar la posibilidad de agregar información de varias llamadas en un mismo paquete UDP.conj') de Madrid debemos crear un contexto llamado "desde-caracas" para gestionar estas llamadas: extensions. glilnt Como comentábamos. Llamadas con destino a extensiones de Caracas Para activar el "trunking" en IAX2 necesitarnos disponer de una fuente de tiempo proporcionada por el driver de Zaptel. hemos defmido un user y un peer para la sucursal de Caracas. En la configuración del "user" Caracas. hemos indicado que el contexto en el que entrarán las llamadas provenientes de esta sucursal será "desde-caracas". pueden llamar a extensiones locales [a-caracas] . Si no disponernos de tarjetas de telefonía que usen este driver. .©RA-MA CAPÍTULO 3: LA REVOLUCIÓN SE LLAMA ASTERISK 81 [caracas] t)IPe= seq!ret = pasalill'PrdSeQreta Cor). Llamadas provenientes de la sucursal de Caracas include => a-extensiones .deede-cara. En la configuración del dialplan ("extensions.cas trunk . También se ha definido el parámetro trunk = yes..conf: [general] [desde-caracas] . que proporcionará esta fuente de tiempo. yefi di sa11 o'W' allow".:text = . será necesario cargar al menos el módulo "ztdummy" . lo que conllevará un ahorro de ancho de banda cuando haya varias llamadas concurrentes 1• También para mmlmlzar el ancho de banda consumido por las conversaciones hemos deshabilitado el uso de cualquier otro codec de audio (disallow=all) y habilitado únicamente el codec "GSM" (allow=gsm). En ambos hemos incluido el parámetro host=dynamic para indicar que la dirección IP de Caracas no es conocida.

..d bos\:"..vidor_mad:r:id .. De esta manera el servidor de Madrid podrá conocer la dirección IP que tenga asignada en ese momento y así podrá enviarle llamadas.gsm La primera diferencia que encontramos con respecto a la configuración del servidor de Madrid es la línea: :r:egi$ter .ddd s~oret . La finalidad de esta línea es que el servidor de Caracas se registre en el servidor de Madrid. en vez de separar la configuración de "user" y "peer n..a oontext:. OQn~ ~ t:'ype". extelll!lions ... ipa~I..'VidQrm¡¡¡.sswordSecreta®ip~sez.> caracas .82 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA Configuración del servidor "Caracas": iax:. En este caso hemos optado por definir al servidor de Madrid como "frien"'.COOf. .e0ret. all dlow . paB_~dS. yes ~is~llQw . ....~tt.p¡¡¡. El resultado es el mismo. frá. "" déade~madrid trw¡k "'.i:. identificándose como usuario "caracas" y la contraseña "passwordSecreta".

©RA-MA CAPÍTULO 3: LA REVOLUCIÓN SE LLAMA ASTERlSK 83 Una vez configurados los dos servidores. La clave privada (.pub al directorio de claves del servidor "Madrid".pub) que debemos mover al directorio de claves de Asterisk (normalmente Ivar/lib/asterisklkeys).4 Aumentando la seguridad En el ejemplo anterior hemos utilizado contraseñas para que un servidor se identifique ante el otro. Para aumentar la seguridad. Las claves no estarán protegidas por contraseña (para que el servidor pueda cargarlas al reiniciarse). "na~racaá Este comando va a generar un par de claves (caracas. los usuarios de ambas sucursales podrán hablar entre sí.2. 7. p . Asterisk admite el uso de claves RSA para identificar a los sistemas. Para usar este mecanismo de identificación.key) debe permanecer secreta. copiaremos el archivo caracas. En nuestro caso. debemos crear un par de claves (clave pública y clave privada) mediante el comando ast-genkey.key y caracas.pub) debemos copiarla a todos aquellos equipos con los que queramos usar esta identificación. marcando simplemente el número de extensión de la otra persona. mientras que la clave pública (. Imaginemos que el servidor "Caracas" va a usar un par de claves RSA para identificarse ante el servidor "Madrid": cáraCilS# astgenkey.

¡ara E.!nviar outk~y"" cara.15.\lsar y.all al10w gsm [caracas} type user host = dynamic a. el servidor "Caracas" debe usar estas claves tanto para registrarse ante el servidor Madrid como para identificarse al enviarle las llamadas: iax.84 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA Ahora es necesario hacer algunos cambios en el iax. . pe€ l r host ""dyna'lllic aecret pas¡..c:as llamapae a maorid contex~ y por su parte. el servidor «Madrid" debe reconocer que este par de claves pertenece al servidor Caracas: servidor "Ma4ricl:". [caraca¡s] type >.conf de ambos servidores. .uth· '" rsa inkE:!)'s. Igene. de:.fichero·que la clave publica del se:rvidpr remOto contexto.caracas contiene indicamose1nomb:I'e del.vea .168..wordSecreta trunk '" yes disallow ..¡. allow '" gsm nombre d'e]'¡il c1¡. [\ilaqdd] tyPe "" friend· host '" 192.¡de-Carai:as trunk "" yes .143 ""passwqrdSecretá =dasde-'mad:riél disallow".r'alJ del se:rvi4or "C~racas". ".. En primer lugar.

© RA-MA CAPÍTULO 3: LA REVOLUCIÓN SE LLAMA ASTERJSK 85 di sallo)! all allow '" gsm Es importante aclarar que este par de claves RSA sólo se utiliza para identificar a los servidores.3. La telefonía tradicional. el que se conecta al terminal (teléfono). se ha hecho una pequeña introducción al funcionamiento de la telefonía analógica. • Puerto FXS (Foreign eXchange Station): este puerto es el que genera el tono de marcado. a nivel fisico los módulos FXS se pueden identificar por su color verde. 7. más conocido como Zaptel. Recordemos: • Puerto FXO (Foreign eXchange Office): se trata del puerto que recibe el tono. se conecta a central (la línea telefónica). Es muy probable que Asterisk no hubiera llegado donde ha llegado de no haberse aliado con Jim Dixon y su proyecto Zapata Telephony.hardW(¡tft. Utiliza señalización FXS. es decir. .1 Canales analógicos En el Capitulo l. 7. no podemos olvidamos de que la telefonía tradicional sigue existiendo y tenemos que interactuar con ella."eWlQS getumln'Voltaje.3 CANALES ZAP Aunque Asterisk sea un software capaz de actuar como centralita IP.t(l u1f4li:f:l~(l telefó:f:lica·aull'-fSpodriad(l~áF~eei. y Zaptel carecía del software necesario para funcionar. pero para poder configurar las tarjetas Zaptel correctamente con Asterisk hay ciertos conceptos básicos que hay que tener en cuenta. ya que Asterisk no disponía de conectividad con las líneas analógicas/digitales.··fa queombQS ext. Este proyecto benefició a ambos. aunque queda fuera del alcance de este libro. El tráfico de voz no circulará cifrado aunque se usen claves RSA para la identificación. N~ta: ~tset(}R~l. Tal y como muestra la figura 3-6. Utiliza señalización FXS. y los módulos FXO son rojos.

el canal de Asterisk para ZapteL Configuración del hardware Zaptel Para configurar Zaptel es necesario editar el fichero /etc/zaptel.86 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA Figura 3-6. y por otro lado Zapata.conf e indicar el tipo de señalización y la zona geográfica. Señalización analógica En la telefonía analógica. por un lado se configura el subsistema Zaptel. que se utiliza para solicitar tono de marcado y así poder establecer llamadas: . en este caso para el canal 2. Tarjeta Zaptel Configuración de un canal FXO La configuración de los dispositivos Zaptel se realiza en dos pasos. A continuación se muestra un ejemplo de configuración para un FXO: La primera línea indica el tipo de señalización que será utilizada. existen tres tipos de señalización.

Configuración de Zapata La configuración del canal de Asterisk para manejar el hardware Zaptel se realiza en el fichero zapata. En el fichero zapata. se aplicará el valor del parámetro loadzone=us. no es posible detectar nada.<l=:1'+o <. además. pero con supervisión de desconexión remota. normalmente la detección de desconexión no es un problema. Se empezó a utilizar para evitar la situación en que ambos extremos intentan establecer una llamada casi al mismo tiempo. etc. para el país indicado. • LoopStart (ls). En caso de no indicar elloadzone para algún canal. A continuación se muestra un ejemplo de configuración del fichero zapata. • KewlStart (ks).á tI'an&fer"'ye~ echocancel". con! [trunkgroups J [chaW:t~ls \lse~ailertd~~éS h:taécalleri. podría grabarse silencio. El tono de marcado se obtiene cerrando el circuito De. aunque actualmente no se utiliza mucho.allwaiting". Este tipo de señalización es el más utilizado en Norte América. Es el sistema más utilizado actualmente y es prácticamente igual que el LoopStart. y esto continuará así hasta que se cuelgue la línea.y~s r tb. la llamada en espera.~~ '. con/. que. si el circuito no es supervisado.© RAoMA CAPÍTULO 3: LA REVOLUCIÓN SE LLAMA ASTERISK 87 • GroundStart (gs). con/. context". por defecto. se encuentra situado en /etc/asterisk. ltS cnatinél. En un circuito no supervisado. ocupado.ree$iayehllrt$=iye. se configuran diversos parámetros como el cancelador de eco. pero en aplicaciones como el buzón de voz.entrálites:'analogicas signalling"fxs. etc. El parámetro loadzone permite configurar el canal para que utilice las indicaciones de tonos como el de marcado. En este tipo de señalización el tono se solicita conectando a una toma de tierra uno de los polos. "'> 2 .

Habilita o deshabilita la llamada en espera. Indica si debe ocultarse el identificador de llamadas.88 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA La configuración de los canales Zaptel se realiza dentro de la sección [channels]. pero esta vez con el valor 2. ya que la configuración se aplica hasta que se encuentra la opción channel=>. estará definida la opción 1. con el valor 1. estará definida la opción 1. Veámoslo con un ejemplo: opcionl. • Transfer. Y para finalizar. • Signalling. El fichero zapata. con los valores 2 y 3 respectivamente. • Hidecallerid. en este caso el 2. Para el canal 4. ya que al ser una FXO.valorl cAannel =>3 opc:). Indica los canales a los que afectará la configuración anterior. Indica si se utilizará o no el identificador de llamada. . • Callwaiting.. En este caso es fxs_ks. Permite habilitar la cancelación de eco. • Channel. el canal 5 tendrá definidas las opciones 1 y 2. luego es posible variarla para la configuración de otro canal. Permite habilitar/deshabilitar el servicio de llamada a tres.on1""V"alor~ channel channel => = > 4 5 opcion2=valor3 Para el canal 3. • EchocanceJ. y de tipo KewlStart (ks) que es el más común y el utilizado en España.conjes ligeramente diferente a los demás. Habilita o deshabilita la posibilidad de realizar transferencias. Analicemos los parámetros del ejemplo anterior: • Usecallerid. • Threewaycaling. • Contexto Indica el contexto donde se enviarán las llamadas entrantes por el canal configurado. Indica el tipo de señalización. utiliza señalización FXS.

o la realización de diversas acciones justo al descolgar el teléfono.e. Partiendo de la configuración anterior. tras lo cual se cursará la llamada. los canales FXS nos van a permitir conectar teléfonos analógicos..adzone.es El único cambio introducido es la primera línea. para poder usarlos con Asterisk. posibilitando así la creación de funcionalidades como el teléfono rojo.. Si está a 'no'. e·s def¡¡l. La configuración es muy similar a la de las interfaces FXO. mientras que si lo ponemos a 'yes'. vamos a añadir lo necesario para que el módulo FXS funcione con Asterisk. nada más descolgar se ejecutará la extensión 's' del contexto definido. El otro modo de funcionamiento es conocido como 'el teléfono rojo'. en el que el usuario descuelga y espera escuchar un tono de invitación a marcar. Configuración del hardware Zaptel: fxok&==:I. y consiste en la marcación automática de un número. El resto de opciones mostradas tienen el mismo significado que en la configuración de la interfaz FXO: . indicando que el canal 1 será configurado con señalización FXO de tipo KewlStart.ultzon. Configuración de Zapata Para poner en funcionamiento la FXS tendremos que añadir lo siguiente en el fichero zapata. sin que el usuario tenga que marcar nada.©RA-MA CAPÍTULO 3: LA REVOLUCIÓN SE LLAMA ASTERISK 89 Configuración de un canal FXS Como se ha comentado anteriormente. El modo de funcionamiento se configura mediante la opción immediate.. recordemos que la señalización FXO se debe a que la interfaz es una FXS. fxsks=2 lo. el funcionamiento es el habitual de un teléfono.conf que ya teníamos en el ejemplo anterior: immediate=po context=aesde-usuariol> signalling".fxo ks channel => 1 Las FXS tienen dos modos de funcionamiento: por un lado está el modo habitual. como se podrá apreciar por los ejemplos mostrados.

pero.Dial{SIP/bob) exten => 2002. • Channel.l. . Las diferencias entre los canales TI y El son las siguientes: • TI tiene un ancho de banda de 1544Mbps. frente a los 2048Mbps de El. Lógica de marcado o dialplan.Dial(SIP!alice} [desde-usuarios] exten => 2000.Dial(SIP/alice} exten => 2001. por ser una FXS le corresponde la señalización FXO. esta será enviada a la extensión de Alice. a continuación se muestra un ejemplo funcional para probar que la configuración ha sido la correcta: [entrantes-analogicas] exten => s. al igual que en la telefonía analógica. y El de 32. en este caso.1.2 Canales digitales Los detalles del funcionamiento de la telefonía digital quedan fuera del alcance del libro.Noop(Llamada entrante por la línea analógica} exten·=> s. y será posible llamar al terminal analógico marcando el número 2003.Dial{SIP/laura) exten => 2003.90 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA • Contexto Indica el contexto desde el que se realizarán las llamadas. Actualmente Zaptel sólo soporta accesos primarios (ISDN PRI).1. Dialplan para probar la configuración de Zaptel Aunque se realiza un análisis más exhaustivo del diaplan en el Capítulo 4. se comenta en detalle en el siguiente capítulo.Dial{ZAP/l} Con el dialplan del ejemplo. La telefonía tradicional para más información).l. es necesario tener claros algunos conceptos (consulte el Capítulo 1.n. • TI dispone de 24 canales.3. Indica el canal que se está configurando.l. Indica el tipo de señalización de la interfaz. al recibir una llamada por la línea analógica. por lo que en este apartado trataremos exclusivamente con conexiones TllEl. 7. • Signalling.

Este es un factor a tener en cuenta a la hora de configurar nuestra tarjeta Zaptel. tendremos que generar nosotros la señal de reloj. ya que en función de a dónde conectemos el enlace T llEl tendremos que configurar la sincronización de diferente manera: • Si enlazamos con un proveedor de telefonía. • TI se utiliza sobre todo en los EEUU. mientras que en El se utiliza EuroISDN únicamente. • Si enlazamos con otra PBX mediante un cable cruzado. y El 30. • TI puede tener muchos tipos de señalización ISDN. Segmentación En enlaces TlIEl. para poder mantener la sincronización.© RA-MA CAPÍTULO 3: LA REVOLUCIÓN SE LLAMA ASTERlSK 91 • Utilizando señalización ISDN. Sincronización Los circuitos TlIEI necesitan una fuente de reloj. TI tiene 23 canales de voz. los enlaces primarios son de tipo El. con señalización CCS. el proveedor nos dará la señal de reloj. En España. mientras que El se utiliza a nivel mundial. . Dependiendo del tipo de enlace (TI o El) disponemos de distintas formas de segmentación: • TI o 04 o ESF (Extended Super Frame) • El oCAS (Channel Associated Signalling) o CCS (Common Channel Signalling) El tipo de señalización a utilizar lo determina el operador. el ancho de banda total disponible se divide en distintos time-slots ( canales) que serán utilizados para transmitir voz o datos. Canadá y Japón (JI).

aunque si la distancia es elevada.92 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA Codificación La codificación indica cómo se envían los datos a través del enlace y también se utiliza para mantener la sincronía cuando los canales no se encuentran en uso. El último parámetro que no se ha comentado hasta ahora es el LBO (Line Build Out).O. codificación A la hora de configurar el timing. Tenemos 3 tipos de codificación disponibles: • • • High Density Bipolar 3 (HDB3) Altemate Mark Inversion (AMI) Bipolar with 8 Zeros Substitution (B8ZS) Al igual que la señalización. indiCaremos un 1 si Asterisk va a recibir el timing del proveedor. la configuración típica de una línea de primario en España seria: span=l. la codificación utilizada es hdb3. Esto indica que se realizarán comprobaciones CRC. que para un El serán 30 canales de voz (canales B) y un canal de datos (canal D).hdb3.conf .ccs. o un O si Asterisk va a PROVEER el timing en el span definido. de la siguiente manera: LBO/señalización. Teniendo en cuenta lo anterior. Una vez añadido esto tendremos esta configuración para el primario en el fichero zaptel.crc4 Nótese que hemos añadido la opción crc4 al final. En España. es necesario definir un "span" por cada uno de los primarios en el fichero zaptel. Configuración de Zaptel Para configurar una tarjeta Zaptel de primarios. y para saber si debemos incluirlo o no tendremos que hablar con el operador. podemos ir aumentando su valor. la codificación a utilizar en el enlace vendrá determinada por el operador. que sirve para compensar la longitud del cable de conexión del enlace. Lo habitual es fijar este valor a O.conf.l. Una vez hemos configurado el span tenemos que configurar los canales del enlace.

Dialplan para probar la configuración Zaptel: . Configuración de Zapata Una vez tenemos configurada la tarjeta a nivel de Zaptel. Utilizaremos este tipo de señalización cuando nos conectemos con otra PBX mediante un cable cruzado. Asterisk actúa como si fuera un operador (network). tenemos que configurar el fichero zapata. para configurar cómo interactuará Asterisk con la tarjeta. que suele ser lo habitual. En acc~sos primarios. la señalización puede ser pri_cpe o pri_net. Asterisk es un cliente (cpe = customer premise equipment).db3. se han definidos los canales B del 1 al 15 Y del 17 al 31. dependiendo del rol que esté tomando Asterisk: o pri_cpe. [trunkgroupsl [channelsl usecallerid=yes hideeallerid=no callwaiting=yes threewaycalling=yes tranafer=yes echoeancel=yes group=1 context=entrantes~pri switchtype=euroisdn signalling=pri cpe channel => 1~15. o pri_net. En España se utiliza el EuroISDN.©RA-MA spaIl=1.17-31 Como se puede observar. Indica el protocolo ISDN utilizado. con! (situado en /etc/asterisk). la configuración no varía demasiado con respecto a la de las tarjetas analógicas. • signalling.110. Asterisk se conecta con la red del proveedor. aunque hay algunas cosas que cambian: • switchtype.c~sfb. dejando el canal 16 como canal D.erc:4 CAPÍTULO 3: LA REVOLUCIÓN SE LLAMA ASTERISK 93 bChan=1 ~15 I 17·<51 dohan=16 Como se puede apreciar.

confa la hora de definir los canales. de manera que en dialplan de prueba planteado recogeríamos todos los DIDs y mandaríamos la llamada a Alice. pero los del 17 al 31 pertenecen al grupo 2. ya que es posible que se pretenda que dos primarios sean enviados a un contexto. todos los canales definidos a partir de ese momento pertenecerán al grupo 1.Dial(SIP!alice) exten => 2001. .1.l. Esto es particularmente útil en la configuración de primarios.Noop(Llamada entrante al DID: ${EXTEN}} exten => 9XXXXXXXX. por el contrario. entran con el DID completo.Dial(SIP!laura) exten => _9XXXXXXXX.Dial(SIP!b6b) exten => 2002. hasta que introduzcamos otra directiva group.3 Grupos de canales en Zaptel En Zaptel es posible definir grupos de canales. Veamos un ejemplo: group=l channel => 1-15. 7. y así llamar a un grupo. y un tercer primario sea enviado a otro ­ contexto diferente. En lugar de esto.l. los canales del 1 al 15 pertenecen al grupo 1.Dial(SIP!alice) [desde-usuarios] exten => 2000.17-31 En este caso.3. y Zaptel se encargará de llamar a un canal concreto dentro del grupo.Dial(ZAP!gl!${EXTEN}) El dialplan para probar las conexiones de primario es muy similar al de las conexiones analógicas. group=l channel => 1-15 group=2 channel => 17-31 En este segundo ejemplo. Si ponemos group= 1. siguiendo una de las estrategias definidas. Para definir un grupo basta con añadir group=X en el fichero zapata.n. en lugar de a un canal en concreto.1. pero tiene algunas diferencias significativas ya que las llamadas entrantes no entran a la extensión 's' del contexto indicado.1. tanto los canales del 1 al 15 como los del 17 al 31 pertenecen al grupo 1.94 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA lentrantes-priJ exten => 9XXXXXXXX.

o para cada departamento).rv. en este mismo correo electrónico puede enviarse el mensaje como archivo adjunto. Este módulo permite también cierto grado de personalización. el sistema indicará que la configuración de los canales se ha realizado. ~ir. o error en caso de que algo sea incorrecto. Estrategia de marcado consistente en realizar el marcado de forma rotatoria en los canales ocupados. Round-Robin.conf Una vez editado el fichero es necesario aplicar la configuración que este contiene. Sigue una estrategia Round-Robin2 de menor a mayor. pudiendo el usuario configurar los mensajes que se reproducirán cuando alguien desee dejar un mensaje en "mi buzón".©RA-MA CAPÍTULO 3: LA REVOLUCIÓN SE LLAMA ASTERISK 95 Para llamar a un grupo en lugar de hacer un Dial a ZAP/1. Además.3. Otra característica interesante es que el servidor nos enviará un correo electrónico avisándonos de que tenemos un mensaje nuevo.. • G. • R. 7. • r. 7. así como buzones compartidos por varios usuarios (un buzón general para toda la empresa. Sigue una estrategia Round-Robin de mayor a menor. . editando el fichero zaptel. Utiliza el canal de menor número disponible del grupo especificado.4 Aplicando la configuración de Zaptel Anteriormente. haciéndolo de manera descendente. y para ello utilizaremos el comando ztcfg de la siguiente manera: ztcfg. El módulo de buzón de voz permite definir distintos buzones para cada usuario. Tras ejecutarlo. lo haríamos a ZAP/gll indicando que es el grupo 1. haciéndolo de manera ascendente.4 BUZONES DE VOZ El buzón de voz es una de las funcionalidades que Asterisk incluye "de serie". aunque hay varias opciones: • g. selecciona el primer canal disponible. Utiliza el canal de mayor número disponible del grupo especificado. hemos visto cómo configurar las tarjetas Zaptel. selecciona el primer canal disponible.

• VM_CALLERID.• el'l recibido .:.e1n.nUe'\/. • VM_DUR Duración del mensaje.echa.conf. • VM_DATE.er un único contexto "default" con todos los buzones. • VM_MSGNUM.de . Nombre del propietario del buzón. Nombre de la persona que ha llamado. .J]t} duraci15n(es..fVM l)j.J El uso de distintos contextos de buzón de voz puede resultar interesante en algunos casos... • VM_CIDNUM. guien te ha dejado mensájE. • VM MAILBOX. Para defmir el formato de los correos. \n que puedes oír loS elJl~Hbody".ro ${VM MSG:NQM} )\n: el buzón ni:iínero $ {VM_MAILBOX}.96 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA La configuración de los buzones se realiza en el fichero voicemail. gsm . . pero generalmente es suficiente con ten.¡na ll¡. Buzón de voz.O mensjaj'I~ . ${VJ.LBO~} .tmada de $(VM CALLERID}.J. $.Ji. Número de orden de este mensaje.g} :\n\tl\tC~mf. • VM_CIDNAME. que siguiendo con la estructura habitual de los ficheros de configuración de Asterisk contiene una sección [general] y distintas secciones para distintos contextos3 • En la sección [general] podremos definir parámetros como el formato en el que se van a grabar los mensajes (wav. [:general] em{i..i:lsUbjeGt""Ipaxl: T:Lenes un $ fVM.:.Esti~dq~{VM NAM. ~.íimE. disponemos de las siguientes variables que serán sustituidas en el momento de generar el mensaje: • VM_NAME. Nombre y número de la persona que ha llamado. Número de la persona que ha llamado. Fecha y hora del mensaje.) o el formato de los correos electrónicos de aviso de nuevos mensajes.i DAT.

sino que son una forma de separar buzones.Juan perez. busca_usuario.. si se debe o no enviar el fichero adjunto con el mensaje.ventas®miempresa.Ventas.).com [departamentos} 1 => 111. [default} 1001 => 3342.©RA-MA CAPÍTULO 3: LA REVOLUCIÓN SE LLAMA ASTERISK 97 mensajes de tu buzón de voz llamando al número *98. email usuario. nombre y e-mail).confy en iax. %d-%m-%Y a las %H:%M:%S attach=yes Los buzones de voz se definirán dentro de un contexto.Maria.mariaperez®miempres. con/.Compras.conf: [juan] type<=friend mailbox=1001@default [maria} type=friend mailbox=1002@default . Gracias!\n emaildateformat=%A.confse puede hacer referencia a estos buzones. El formato que usaremos para definir cada buzón será: extension => contraseña. opciones Normalmente definiremos solamente los tres pnmeros parámetros para cada buzón (contraseña. de manera que los usuarios recibirán también en su terminal una notificación de los mensajes que tienen en su buzón: sip.com"attach=yeslmaxmsg=100 1002 => 8745.compras®miempresa.com 2 => 222. nombre usuario. pudiendo definir también para cada usuario una dirección de un "buscapersonas" a la que se le enviarían los mensajes y también opciones particulares para cada buzón que modificarían las opciones por defecto (número máximo de mensajes en el buzón. Estos contextos no tienen relación con los contextos definidos en el fichero extensions.uanperez@miempresa.com En la definición de las cuentas de usuario en sip. etc.

lo que hemos conseguido con estos cambios es que all1amar a una extensión 2xxx. Por otra parte. Lógica de marcado o dialplan. vamos a ampliar el dialplan que definimos anteriormente: Aunque estos ejemplos se verán con detalle en el Capítulo 4.98 VOIP y ASTERISK: REDESCUBRIENDO LA TELEf'ONíA ©RA-MA I Para poder probar la funcionalidad del buzón de voz. los usuarios podrán llamar al número *98 para escuchar sus mensajes. si no contesta o está ocupada o no conectada. nos saltará su buzón de voz para que podamos dejarle un mensaje. .

. buscando "qué hacer". un conjunto de herramientas. y el dialplan contiene las acciones a realizar para ese número que se ha marcado. ya que las funcionalidades que el sistema final tenga dependen de lo bien que se utilicen esas herramientas. En realidad Asterisk es sólo eso. por lo que de una manera básica. El dialplan es el corazón de Asterisk.CAPÍTULO 4 LÓGICA DE MARCADO O DIALPLAN Saúllbarra Corretgé y David Pñeto Carrellán 1 Introducción Asterisk es una "caja de herramientas" con la que podemos construir nuestros sistemas de telefonía. podríamos comparar el dialplan con una tabla de enrutado: el usuario marca un número. Cada dígito que se marque en un terminal recorrerá el dialplan.

1. [prueba] exten => 1234. 2XXX es mucho más elegante. extensiones y prioridades. le asociamos un contexto. como en los ejemplos vistos hasta el momento: exten => 2000. ya que esta asociación puede conducir a errores. Estas extensiones contienen acciones asociadas. A la hora de definir nuestras extensiones podemos hacerlo de una manera numérica o alfanumérica.con/. Esta división es necesaria para disponer de un dialplan mantenible. como se verá más adelante) y está compuesto por contextos. extensiones y prioridades El dialplan de Asterisk se encuentra en el fichero extensions.Dial (SIP/alice) . escalable y con posibilidades de ofrecer diversos entornos de marcado aislados. que hará que se incremente automáticamente en una unidad. 3 Sintaxis La sintaxis para las extensiones de un contexto es la siguiente: exten => numero de extensión.Dial(SIP/bob) exten => prueba. Las extensiones pueden ser expresadas como patrones. ya que resultaria demasiado engorroso escribir los número del 2000 al 2999. Al definir un usuario en el sip. evitando así tener que hacerlo manualmente. por orden de prioridad. Las extensiones son números (o caracteres alfanuméricos) que el usuario es capaz de marcar. prioridad.100 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA 2 Contextos. y es importante no confundir esto con los terminales en sÍ.1. que son ejecutadas de manera secuencial. por lo que ese usuario sólo podrá marcar las extensiones incluidas en su contexto. Los contextos son agrupaciones lógicas de extensiones. y se utilizan para dividir el dialplan en diversos entes lógicos. pero para las siguientes prioridades se puede usar la 'n'.n. Siempre es necesaria la prioridad 1.conf o iax.1.Noop(Esto es una prueba) exten => 1234.Noop(Esto es otra prueba) En el ejemplo de arriba se muestra un sencillo contexto con una extensión con 2 prioridades. aplicación (argumentos) Seguido de la palabra clave exten=> se expresa el número de extensión o el patrón de la misma.conf (aunque es posible dividirlo en varios ficheros.

mientras que las funciones sólo pueden ser utilizadas dentro de las aplicaciones. Carácter de desambigüación.1. y funciones aquellos que realizan otro tipo de procesamiento que no afecte directamente a un canal.Dial(SIP/bob) . sin tener en cuenta el 9 en sí mismo. Al marcar una extensión se ejecuta la aplicación asociada a la prioridad correspondiente. el2 o el 3. • _6XXXXXXXX. Veamos un ejemplo: exten => 2000. • Z. Se denominan aplicaciones aquellos módulos que realizan algún tipo de aCClOn sobre algún canal. Cualquier dígito del 2 al 9. Cualquier dígíto que se encuentre entre los corchetes. (punto). • []. Cualquier cosa.©RA-MA CAPÍTIJL04: LÓGICA DE MARCADO O DIALPLAN 101 En lugar de expresar siempre las extensiones. Números de móvil (empiezan por 6 y tienen 9 dígitos). Los patrones comienzan con un guión bajo U y utilizan los siguientes caracteres especiales: • X. por ejemplo _9. • . Indica que el procesamiento ha de ser detenido tan pronto como se haya encontrado un patrón adecuado. se van ejecutando diversas aplicaciones y funciones. para disponer de un dialplan más claro y mantenible. Cualquier dígito del O al 9. • 4 Aplicaciones y funciones Mientras la llamada va "caminando" por el dialplan. Cualquier dígito del 1 al 9. • !. 8 ó 9 y tienen 9 dígitos). podemos utilizar patrones y variables. implica cualquier número que empiece por 9. Utilizando los patrones es posible simplificar el dialplan y en la práctica se emplean patrones como los siguientes: • _[789]XXXXXXXX. • N. por ejemplo [123] implica el ]. Números fijos nacionales (empiezan por 7.

Las funciones.3~r:t...C~e/:::s. ya que si se desea insertar una acción en medio. seria necesario modificar la prioridad de todas las siguientes...~¡?"J. que es un usuario SIPo Indicamos primero la tecnología (SIPI) y después el nombre del usuario que hemos definido en el fichero correspondiente.··d. 5 Prioridades y etiquetas (Iabels) Como hemos visto. en cambio.l). en este caso el síp. de esta manera es mucho más sencillo insertar nuevas aplicaciones en medio... a la que indicamos que llame al usuario Bob. En este caso se ejecuta la aplicación Noop.c :(numJVf .i!.. sin necesidad de preocuparnos de cambiar los números de prioridad.. Para evitar esto podemos utilizar la prioridad "n".I. que únicamente imprime el mensaje que se le pasa como argumento por pantalla. al marcar una extensión se van ejecutando las aplicaciones correspondientes de manera secuencial. que simplemente indican la siguiente prioridad: Como se puede observar.102 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA Al marcar la extensión 2000 se ejecutará la aplicación Dial. que devuelve el número delllamante.•.~~j~·.e~te:o. y en su interior se ejecuta la función CALLERID.~~$".ti!l:$ :. se ejecutan dentro las aplicaciones. I f .conf.. '" '.~>..~~. Un problema que nos puede surgir a la hora de sustituir las prioridades numéricas por la prioridad "n" es la imposibilidad de realizar saltos a zonas concretas de dialplan con aplicaciones como Goto: . exten.. por ejemplo: *.. de acuerdo a su prioridad: El uso de prioridades numencas puede dificultar la modificación del dialplan a futuro.

conf. y el salto seguirá funcionando. como se explica más adelante en este capítulo. pero eso derivaría en un dialplan muy poco mantenible. El contexto a-servicios contiene 2 servicios: 1234. antes de comenzar a añadir más servicios que aumentarán su complejidad: En el ejemplo hemos definido tres contextos: el contexto a-extensiones incluye las extensiones 2000 y 2001. para que el lector tenga una visión más global de lo que un dialplan representa. que hacen uso de la aplicación dial para llamar a Bob y a Alice respectivamente. . Para solucionar esto.©RA-MA CAPÍTIJLO 4: LÓGICA DE MARCADO O DIALPLAN 103 Al prescindir de las prioridades numéricas. 6 Un dialplan sencillo Cuando se ha comentado la configuración de dispositivos SIP e IAX2. que reproduce una locución de ejemplo (el sonido de unos monos) y 1235. de manera que puede estar situada en cualquier punto de la extensión. es necesario utilizar etiquetas. y posteriormente referirnos a ella de una manera sencilla: En el ejemplo se ha utilizado la etiqueta "empezar". Las etiquetas nos sirven para marcar o etiquetar una prioridad de una extensión. de manera que sean capaces de marcar todas las extensiones incluidas por este contexto. que realiza una llamada a Digium a través de IAX2. no sabríamos a dónde queremos realizar el salto. A continuación se muestra un dialplan básico. El contexto desde-usuarios incluye los otros 2 contextos. se ha utilizado un pequeño dialplan de ejemplo del que no hemos hablado hasta ahora. y es el que asignaremos a las extensiones en el sip. Podría haberse realizado todo en un solo contexto.

Adaptemos nuestro dialplan para que la llamada salte al buzón de voz en caso de que no se llegue a establecer la comunicación: [a-extensiones] exten..l¡o 2000. además del número del buzón en el que deseamos dejar el mensaje: • u.20JJ1) extelil 'P:.n.en => 20Ql.l. .' 2002. pasando como parámetro el número de la extensión como número del buzón (2001). 2003.104 VOIP y ASIERISK: REDESCUBRIENDO LA TELEFONÍA -©RA-MA 7 Buzón de voz Hasta ahora hemos visto cómo un usuario puede llamar a otro. n' Voicemail (2000) exten => 20Ql..Dial(SIPjalice) exten e> 2000. Reproduce el mensaje de "no disponible". y si no es posible la comunicación.1. • b.3Q} extelil '*:. en el que ejecutará la aplicación Voicemail.' 2d04.Voicemail(2(104) Con este dialplan.Voicemail{. no queda otro remedio que llamarle más tarde. 200~.Dial(SIPjbob} ext.n/VOicemai1(2003~ exten "':. Comienza la grabación del mensaje sm reproducir antes las instrucciones. avanzará al siguiente paso del dialplan para la extensión 2001. el sistema intentará llamar al usuario Bob mediante SIP durante 20 segundos. La revolución se llama Asterisk. cuando llamemos a la extensión 2001.2/jU/ilil.Dial tIA1(.1.. Para poder dejar un mensaje en un buzón de voz disponemos de la aplicación Voicemail.Voiqemai1(2002) =:..n. Reproduce el mensaje de "ocupado". pero si la llamada no llega a establecerse porque la otra persona está ocupada o no contesta. La aplicación Voicemail acepta una serie de parámetros. al explicar la configuración de los buzones de voz.30) exten => 2004/n. (SIPjlau:fa) exten => 2002.1 UAX2/mal1ia. • s.1. que ya nombramos en el Capítulo 3.

Goto{2000-NQANSWERl Ahora. se ~eproduce mensaje (iorrespop. [servidos] . En el siguiente ejemplo vamos a configurar la extensión *98 para que los usuarios puedan escuchar sus mensajes desde cualquier terminal (el sistema les pedirá que marquen su número de extensión y su contraseña).ible" . Si no pasamos el número del buzón como parámetro.20) ~ten ~> . aCCedemos al buzól:l.b) exten.lquierotro caS91 hacemos 10 miS\lt9 que si no contesta.TUSj .n.Vo~ceM¡. 1.s) exten => *97..¡::oduce el mel:l. => 21JOO -BUSY .u) extem => 2000-NOANSW$R.200Q. si añadimos el parámetro "s" no se nos pedirá la contraseña para poder oir los mensajes. la aplicación nos pedirá que lo tecleemos.i1(2000.¡.t.n.Hangup .:> 20QO-. exten => .n.©RA-MA CAPÍTULO 4: LÓGICA DE MARCADO O DIALPLAN 105 Para aplicar estos parámetros podemos hacer uso del valor de la variable ${DIALSTATUS}. en cu¡. La aplicación que nos permite escuchar los mensajes de voz es VoiceMailMain.lJVoiceMail(.s?.1. vamos a añadir una extensión especial al contexto de servicios.e de "no dispop.2000-¡.WOO. n. Marcando *98 ljiesde cualquieI:" termina. que nos indica la razón por la que falló la aplicación Dial: [a.¡. para que nuestros usuarios puedan escuchar los mensajes que reciben en su buzón de voz desde cualquier terminal. de voz . nos pedira el número del buzón y la contra¡.ST1\.l:lp.2 000-$ {DIA¡.j.li 9cupado. ~e .1.. y recibe como parámetro el número del buzón al que queremos acceder.rep. y la extensión *97 para escuchar los mensajes del buzón de la extensión desde la que estamos llamando. lOi está no contesta. y no sólo desde el suyo.VoiceMailMain(${CALLERID{num)}..qOANSWIilRJ1.n.s i~nef3c) exten :. Dial (S]:J:?/ali~l:. exten => *97. sin necesidad de introducir contraseñas.J.ex. exten .Hangup ¡Marcando *97 escucho "mis" mensajes sin poner contraseña. l:Iangup . Por otra parte. Esto puede ser interesante para que un usuario pueda consultar su buzón de voz desde cualquier terminal.VoiceMailMainO exten => *98.Gptp (.> 2009..diente exten => .2000~BUgY.Ha~p .eña exten => *98.l.

En el dialplan anterior. que son el equivalente a "funciones" o "subrutinas" de los lenguajes de programación. nombre del usuario y el número de extensión. Esto. el siguiente código tendríamos que copiarlo para la extensión 2001. podemos definir Macros. Al igual que las funciones. • Las macros siempre empezarán por la extensión "s".. modificando en cada fragmento el protocolo a usar (SIP o IAX). que no sea a su inicio. No podemos hacer un "goto" desde otra parte del Dialplan a un punto concreto de la macro. complicará el día de mañana cualquier modificación. • Dentro de la definición de la Macro. ${ARG2} . Las macros se definen en el fichero extensions. además de ser bastante trabajoso. una macro recibirá unos parámetros que podremos utilizar dentro de su definición. Y la extensión desde la que se ha llamado a la macro la podemos obtener en ${MACRO_EXIEN}. 2003.corif. teniendo en cuenta una serie de condiciones: • El nombre del "contexto" empezará por "macro-" para identificar que se trata de una Macro. como un contexto más. y no de un contexto normal.106 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA 8 Macros En muchas ocasiones nos encontraremos con fragmentos del dialplan que son idénticos. en el dialplan tenemos disponible la aplicación "Macro": . Para ejecutar una macro. Para solucionar este problema.. 2002. y en los que solamente cambia un pequeño detalle. los parámetros recibidos son accesibles mediante ${ARG1}.

.©RA-MA CAPÍTULO 4: LÓGICA DE MARCADO O DIALPLAN 107 Como la mejor forma de entender las cosas es mediante un ejemplo. esto facilita muchísimo el mantenimiento del dialplan. vamos a convertir a una macro el código que teníamos para llamar a la extensión 2000. saltando al buzón de voz si está ocupado. y lo hace al mismo tiempo mucho más legible. A esta macro la llamaremos "extensionVM": y adaptamos el contexto {a-extensiones] para que use esta macro para llamar a los usuarios: Como podemos ver. etc.

16.an 1.209:.15.ylca1. . .I~ d¡:¡.j.ow ia~ IIAX/Rf#li.an 1911l. .¡5.b ~tabaae s:j:¡.2 :4570:60 • database del <familia> <clave>.-:(68 _.168.s.1S.168.BI9~6D 1l!~/ae!Ji~tXylJuan 194. Permite borrar un valor de la base de datos.t~a$~ ~bQW IIAXI~egistr.16B. Internamente esta base de datos tiene el formato de Berkeley DB y se encuentra por defecto en el archivo Ivar/lib/asterisk/astdb. Para cada familia y clave se puede almacenar un valor.92. 2 . estado de las colas.1$.howkey /:tAX/Regietr::y.5. pudiendo tanto leer como escribir en ella: • database sbow <familia> <clave>.egist:ry/bqb. etc.. Jilax*er.92 _168 . .2:4570:60 PBX*CLl> databasesllow iail< IIAX/Rl:l~istry¡ jl.oD PBX*CLI:> dat@ase.acaf:1 192.209:4569: 60 /IAX/Regist:ry/juan 192.15. Esto permite que el sistema pueda recuperar esta información en caso de tener que reiniciarse. .2: 4570 ~ 61'l /SIJiI!).(i!.t:ryj cara9as 192.168. Desde el eL! disponemos de distintos comandos con los que podemos acceder a la información de la AstDB.108 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA 9 Guardando la información en la base de datos Asterisk mantiene determinada información sobre su estado actual en una base de datos..1. La información que se almacena en esta base de datos incluye los datos de registro de los usuarios.a.lju.15.4: 5060: 36D&:boh lffip:bob®192.168. : l. La información en la AstDB se organiza en familias y se identifican mediante una clave que será única dentro de la familia.. Muestra el contenido de la base de datos.15. pudiendo filtrar por familia y clave: P13X*g.2)4570. conocida como AstDBl .

~ia clave valqr Updated ciatabase sucC{i!ssf:¡. Borra todo un árbol de claves de la base de datos (por ejemplo.2~¡¡'9B~>15.68. DB_EXISTS guarda este valor en la variable ${DB_RESULT}. Permite introducir información en la base de datos. En caso de existir un valor para la familia/clave. /familia/clave va.cas 192. • database put <familia> <clave> <valor>.l.ten".KI S..2: S050: 3·600 :bQb:sip:hoQ@19.~09:4569.. Set ( DB(familia/clave) =i valor) • Leer un valor de la base de datos: exten "'> sfl. . pero lo verdaderamente interesante de esta base de datos es que nosotros podemos también guardar y leer información propia.en =:> s.> *78. PEX*CLI:> database pl.lly PBX*CLI> database show /IAX/~e9.2 /SIP/~egistry/ooQ .tfami.ia/clave) p • Comprobar si existe un valor para una familia y clave: ext en = :> s. . JJoMQ~estai.168. para utilizarla desde el día/plan.:> *18.l68. puede borrar todo el árbol "Registry" de la familia "IAX").. Leer la información que Asterisk guarda en la base de datos puede resultar interesante para determinadas aplicaciones.. llamar} .15.NoOpíMtivando. $ { CM.© RA-MA CAPÍTULO 4: LÓGICA DE MARCADO O DIALPLAN 109 • database deltree <familia> <arbol-de-claves>. Para esto disponemos de una serie de funciones: • Guardar un valor en la base de datos: ext.¡!!1. ".istry/cara.60 flAX/Regiatry/juan 192. .15. l t Gptolf ($ I $ {D13E.2:4570:60 192.1.l.'.¡.15. guardamo. vamos a añadir a nuestro dialplan la posibilidad de que los usuarios activen un "no-molestar" en sus extensiones cuando no quieran recibir llamadas: .~RID (num) }) . ~ten".set( var '"" ${OB(famil.loJ.. n. 1. Set (Da fDNP/${bALLERlt1(nUlt\)})=l) .ln valor en pNO/num extendo/i'l . Marcandq*78 activamos .ES{fámil:ial<lla'll'eH O] ?s. e:x. Para ver un ejemplo de uso de estas funciones. .

110 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA Podemos probar a llamar al número *78 y después ejecutar database show en el eL!. Ahora actualizaremos nuestra macro extensionVM para que tenga en cuenta si el usuario tiene activado el "no-molestar": . de la forma: DND/num extension. Veremos que se ha guardado un registro en la base de datos.

Hangup . o que Bob desvíe su extensión a Laura y Laura desvíe la suya a Bob..l) Otro de los usos más comunes de la AstDB es guardar la información sobre desvío de llamadas..Playback{beep) exten => *72X.n(DND). Al activar esta funcionalidad.> s-.(vrn-isunavail) En esta macro no estamos comprobando que no se produzcan bucles: que el usuario 2001 no desvíe su teléfono a sí mismo.. Playback (beep) exten => *73..NoOp{desactivando desvio para ${CALLERID(num)}) exten => *73.NoOp(llamada para ${ARG1}) .Goto(s-NOANSWER. el segundo es el número del buzón de voz al que desviar la llamada exten => s..l.1. en cualquier otro caso. si NO tiene activado el no-molestar.DBDel(CF/${CALLERID(num)}) exten => *73.n. hacemos lo mismo que si no contesta..n. el primero indica el dispositivo que hay que llamar . *73: desactiva el desvío exten => *73.Set(DB(CF/${CALLERID(num)}}. exten => *72X.n. todas las llamadas recibidas en la extensión del usuario serán desviadas a otro número (que podrá ser otra extensión o un número externo).n.n.n. Adaptemos nuestro dialplan para añadir esta funcionalidad: [servicios] i *72xxx . saltamos a flcheck ­ desvio" exten => s.1.©RA-MA CAPÍTULO 4: LÓGICA DE MARCADO O DIALPLAN 111 .l.n.check-desvio) exten => s..${EXTEN:3}) exten => *72X.NoOp(activando desvio para $ {CALLERID (num) } al $(EXTEN: 3}) exten => *72X...Playback.n.Playback(vrn-extension) exten => s.GotoIf($(${DB EXISTS(DND/${MACRO EXTEN})} Ol?s. . desvio mis llamadas al xxx . exten .Hangup Nuestra macro extensionVM la adaptamos también para que haga efectivo este desvÍ0 2 : (macro-extensionVM] esta macro recibirá dos parámetros .

l.V:piceMail ext.'. Para decidir a qué usuario se envía cada llamada.. esta llamada se queda en espera hasta el momento en el que pueda ser atendida por un operador.. bl!l.alqul.n¡Han9tlP ¡ en cn.. estará oyendo una música..en "'.-. Mientras esta persona está en espera.JO s:"NONiSWER. Las colas permiten manejar de manera eficiente las llamadas entrantes.112 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA i disponible" exten ". . n.> s-NOlilO¡'~S'1'AR~ :l/.") para evitar que desista si la espera dura más de la cuenta.. Esta es la estrategia por defecto y envía la llamada a todos los miembros de la cola (aquellos que estén disponibles)..> s -NQ~SWlílR . n¡Pláybaqk <vm. su llamada será atendida en breves momentos .Hangup ext. Cuando se envía una llamada a una cola a través del dialplan. y se pueden reproducir determinados mensajes periódicamente ("todos nuestros agentes están ocupados. que no contesta.ESTAA. l.cE!mos 10 e:l\:t.. t .l!l-.Ulav~i1) exten .NSWER .. Las llamadas que entran en una cola serán distribuidas por orden de llegada entre los miembros de esta cola.er otro caso. el sistema usará una de las distintas estrategias de distribución de que dispone: • ringall.:¡'>layback(vm-exte~dpn) exten "'> .:i1$\.l) J si está no c~teBta.~ ~NOliIOLESTNR.."'> s-NOlilOt.Goto(s-NOJ\.¡... 10 Colas y agentes .en =:> .en".

4.conf En este fichero se indican los parámetros globales para todos los agentes (categoría de música en espera. si se grabarán las llamadas. Igual que roundrobin. y empezando por el primero. También tenemos en Asterisk el concepto de Agentes. hasta que alguno la atienda. Siempre en el mismo orden. Esta opción está obsoleta en Asterisk 1. pero se puede simular mediante las aplicaciones AddQueueMember y RemoveQueueMember. Envía la llamada al usuario que lleva más tiempo sin recibir llamadas. • rrmemory. . pero "con memoria": intentará enviar la llamada uno a uno a todos los miembros de la cola.copf [agentsl 'Iambién existe la posibilidad de que el agente se identifique en el sistema y . Para empezar a recibir llamadas. y que después el sistema le envie las llamadas a aquella extensión en que se encuentra. se definen los agentes: agentl. y por último. • random. Pero la siguiente llamada no volverá a empezar con el primer usuario. el agente debe identificarse en el sistema mediante su número de agente y contraseña. Los agentes son usuarios que se conectan al sistema para atender llamadas.). Envía la llamada al usuario que ha atendido menos llamadas de esta cola. A partir de ese momento. Selecciona el destino de forma aleatoria. aunque es muy útil. sino que continuará el turno por donde paró en la anterior llamada. Local/2001@a-extensiones). Para esto disponemos de la aplicación AgentCallbackLogin. • leastrecent. ZAP/gl/912345678. etc. o pueden añadirse y eliminarse de forma dinámica a la cola mediante las aplicaciones AddQueueMember y RemoveQueueMember del dialplan. fAX/juan. ZAP/2. el agente permanecerá conectado. • fewestcaBs. que son los usuarios que van a atender las llamadas.© RAoMA CAPÍTULO 4: LÓGICA DE MARCADO O DIAL PLAN 113 • roundrobin. Estos miembros pueden ser estáticos (SfP/laura. Cada cola tendrá uno o varios miembros. está obsoleta. Esta opción. escuchando una música hasta que haya alguna llamada para atender 3 • Los agentes se definen en el fichero agents. y va enviando la llamada por orden a los miembros de la cola.l.

descorn:!.:tdo$.·:J":J.=ringall .:r!'i¡Si: noa.114 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA·MA a.=20 member=>SIP/bob member=>IAX2/juan En este ejemplo se han definido dos colas: ventas y contabilidad. Las dos colas seguirán la estrategia ringall.peramos 5 segundos antes de reintentar maxlen=O periodic-announce"'queue-periodic-ann.ltlada en 15segw.=ringall .ra llamada de la cola para empezar a intente.amos a este agell\:e wrapuptime=O . los miembros conee tadoa dinámicamente se guardan·en la AseDB illutofill=yes .Agente :3 Las colas se definen en el fichero queues.es .conf. (gene. tiempo pe. llamaremos a todos los m.. seguida de la definición de cada una de las colas..ent/1 O 1 {contabilidad] strategy.. Es decir: cada llamada que entre en la cola se enviará a todos los miembros de la misma.scentmemberf¡=y.ral] language '" es persi. lla4.=20 member=>SIP/bob member=>SIP/alice member=>Ag. [vencas] strategy.Agente 2 agent => l03. siguientes.:tdos retry=S .ra volver a. nqecSpera a que algilnageIlte atienda la p:cime.5678.9090.~ 1 agent => 10<?.o1S durante 15 segundos retry=5 ¡esperamos 5 segundos ances de reintentar maxl en= O periodic-announce que1.i:embros a la vez timeouc..t.alllar1e musiconholq=default ~rqup=1 agene "-'> 101. Este fichero también tiene una sección [general] en el que se definen los parámetros globales para el sistema de colas.rconectar 1a. llamaremos a todos los miembros a la vez· timeout=15 durante 15 segw. En ambas colas se han definido qué mensaje se reproducirá periódicamente (cada 20 segundos) a la persona que está en ./~gent.le-periodic-announce periodic-announce-frequency.i:~nde la lla.utQ1ogoff¡.ct. es.ounCe periodic-announce-frequency.s.

10·0** Para eliminar a este usuario de la lista de miembroe de la cola "ventas" exten => 100**... W:O..ni Playbaok (beep) exten => 100**.n.rategy (Os holdtime). SL:O. SL:O.Hangup Hemos utilizado las aplicaciones AddQueueMember y RemoveQueueMember.AddQueueMember(ventas) exten => 100*.all! s\.RemaveQueueMember{venté!.©RA-MA CAPÍTULO 4: LÓGICA DE MARCADO O DIALPLAN 115 espera.>t unliIl\Íted. Podemos comprobar desde el CL! el efecto de estas aplicaciones: PBX*CLI> queue show ventas ventas has O (ma.alls ye\.di.li!" exteD '!"> 100*.Hangup ¡ .n => 100** . A:1. SIP/alice (Invalid) has taken no calls. :0.lsuario que a la list. w:O. se indican los miembros estáticos que atenderán las llamadas de cada una de las colas.O\within Os Members: SIP/bob (dynamicJ (Not in use} has taken na c. Seguidamente comprobamos de nuevo el estado de la cola "ventas": PBX*CLI> queue show ventas ventaS has O calls (max unlimited) in'ringall ' strategy (Os holdtime).ebeep) exten => 100*.r <iil l.viciosJ 100* Para añé!. A:1.a de miembros de la cola "ven\.l. C:Q.l.. in 'ring. ye\.Ó!jÍ within Os Meml::¡ers: SIP/alice (Invalid) has taken no oalls yat Agent/i001 (UnavailableJ has taken no calls yet No Callers PBX*CLI> Ahora realice una llamada desde el terminal de Bob al número 100*.n.n. Y por último. Como se comentó anteriormente.l?laYl:Jack. Agent/2001 (Unavailable) has taken no calla yet No Callers )s le Lé :n PBX*CLI> . estas aplicaciones añaden y eliminan miembros a una cola dinámicamente.a.s) exte. Vamos a añadir un par de extensiones en el contexto [servicios] para añadir/eliminar miembros dinámicamente de las colas: [eer.

SIP/bob ha sido añadido como miembro de esta cola. 11 Interactive Voice Response (IVR) Con IVR nos referimos a los menús con los que el usuario puede interactuar mediante pulsaciones DTMF4• Las empresas suelen usar estos menús.. Pero también habremos usado alguna vez IVRs más complejos. Podemos definir una extensión para hacer una llamada a una cola: Sin embargo. conocido también como Operadora Automática. Esta sería la forma más simple de IVR. como algunos de banca telefónica. la llamada es enviada a una cola. 2 para hablar con contabilidad . .. o escuchar el saldo de nuestra cuenta. y desde este momento recibirá también las llamadas que entren en la cola "ventas" . y ofreciéndonos después las típicas opciones de "pulse 1 para hablar con el departamento de ventas. nos identificamos pulsando nuestro número de DNI y contraseña y podemos realizar operaciones como activar una tarjeta. pero . en los que llamamos a un número de teléfono del banco.. con la diferencia de que en vez de enviar la llamada directamente al canal (o canales) que se indique en el primer parámetro.l16 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA Como puede comprobar. donde vamos a ver realmente el potencial de las colas es al usarlas junto a un IVR. y cada una tiene uno o más miembros dispuestos a atender llamadas. ¿Cómo entran las llamadas en la cola? Para esto tenemos la aplicación "Queue" del dialplan. • DMTF: tonos de diferente frecuencia que son generados por un teléfono al pulsar una tecla del mismo. ". reproduciendo un mensaje de bienvenida cuando reciben una llamada. Hasta ahora ya se encuentran definidas las colas. La aplicación Queue es parecida a la aplicación Dial.

• Background(sonido). . La sintaxis de la aplicación es: R.fo. o bien hasta que se llegue a la duración máxima indicada como parámetro o se detecten tantos segundos de silencio como se hayan indicado. éstos serán sustituidos por un número secuencial. para evitar que sobrescribamos una grabación existente..E!!cord(nombt'e. por ejemplo). para obtener la mejor calidad se aconseja grabarlos con una aplicación especializada (Audacity.©RA-MA CAPÍTULO 4: LÓGICA DE MARCADO O DIALPLAN 117 Asterisk nos ofrece todas las herramientas necesarias para crear desde el IVR más simple hasta los sistemas más complejos. Estos sonidos deben encontrarse en el directorio de sonidos de Asterisk (normalmente /var/lib/asterisk/soundsl) y tener un formato reconocido por éste. Aunque es posible usar la aplicación Record de asterisk para grabar los mensajes. Seria equivalente a utilizar las aplicaciones Playback y WaitExten de forma simultánea. • WaitExten(tiempo). En este caso.. Como vimos en el capítulo sobre la instalación de Asterisk. debemos grabar los archivos a 8KHz 16 bits. Junto con Asterisk se distribuye un juego de sonidos estándar en inglés. Espera a que el usuario teclee una opción (o un número de extensión).. Reproduce un sonido. tecleando un número de opción. 'pulse 1 para hablar con el departamento de ventas. I Para grabar los mensajes desde el dialplan se utiliza la aplicación Record. existen juegos de voces de gran calidad en castellano. La aplicación Record grabará el mensaje hasta que el usuario pulse la tecla #.ofsUenciolma:xDuJ:7(lcion]OJiíe1ones) Si dentro del nombre del fichero añadimos los caracteres %d. la variable ${RECORDED_FILE} contendrá el nombre final del fichero.rmat. Reproduce un sonido. J. Lo primero que necesitaremos para crear un IVR son los sonidos que se van a reproducir. En este caso. pero normalmente necesitaremos algunos sonidos personalizados ('gracias por llamar a la empresa xxxxx'. pero ~l usuario puede interrumpir la reproducción. Para programar nuestros IVRs disponemos de algunas aplicaciones interesantes para el dialplan: • Playback(sonido).

Para ~ablar con el departamento de Ven. 9 !. GotoI f'rime (O 9 : OÜ~ J.n.n. Si . márquela ahora" (entrada] exten'9'> s.Realiza un salto a otro punto del dialplan dependiendo de la fecha y hora. n.Set('l'IMli!OUT{response)~9) .l. para hablar con Contabilidad pulse 2. SieHge la opción 2.3 01 mc.6p) exten s> 2. n. Para que no se entre en un bucle infinito..en => s.Set:('rlMEOUT(digit)=.Goto(operadora) . Resulta muy útil para actuar de manera distinta si estamos en horario de oficina o no.) ext.n. Si conoce la extensi6n de la persona con la que desea hablar. mandamos al usuado a la cola de Contabilidad exten "'> 2. ".Hangup ex.Background(bienvenida) exten => s. Si no existe.n.a nuestra empresa. ComprObamos si estamos en horario de oficina exten.n(dentro horariol.l. .6Pl exten => 1.WaitExten(10) exten => s.Hangup .118 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA • GotolITime(horaldias_semanaldias_ meslaño ?si_cierto :si_falso ).n. VoiceMail (999 . el IVR saltará a la extensión 't'. se suelen fijar dos tipos de retardo: tiempo ínter-dígito y el tiempo de respuesta: Set(TIMEOUT(digitl"'3) Set(TIMEOU'l' (response) =9) Una vez que el usuario empieza a teclear una opción.3) exten => s.Playback(estamos-cerrados-deje-mensaje) exten => s.Queue{Gon. si el usuario no empieza a teclear una opción en el tiempo indicado por TlMEOUT(response) . El mensaje de Bienvenida dice "Gracias po:¡:-.Ii.elige la opción 1.tabilidad.t. IVR al que llegarán las llamadas ~ntrantes . se saltará a la extensión 'i'.Hangup . el tiempo máximo permitido entre dígitos será TIMEOUT(digit). mandamos al usuario a la cola de Ventas exten => l.n.1.s. llama:¡:. Por otra parte.tas p\llse 1. .>8.Queue(ventas¡t. Si pasa este tiempo desde el último dígito tecleado.m­ fril*I*?dentro horario) exten => s. el sistema considera que el usuario ha terminado de teclear el número de la opción y saltará a esa extensión (u opción).ten "'> s.

como si estuvieran reunidos en una salaS. en el fichero meetme.):lo a-extensiones 12 Salas de conferencias Las salas de conferencia permiten que varios usuarios mantengan una conversación entre ellos. Sala de conferencias n 101 con PIN 1234 conf =:> 101.rle las instrucciqnes exten".l} .res exten =:> t.=5 [roo. bloquearla para que no entren más usuarios.ms] . Después de la sección [general] hay una sección [rooms] con la definición de las distintas salas de conferencias: meetme.):Io i.1234 Q Asterisk necesita una fuente de tiempo externa para mezclar correctamente los canales en la sala de conferencias. Sala de co.Queue{operadora) . Astedsk ofrece muchas posibilidades para la creación de salas de conferencias.l. etc. El driver Zaptel provee esta fuente de tiempo. si elige una opción inCorrect¡a. de operado. por lo que si no disponemos de hardware de Digium o compatible gestionado por Zaptel. enmudecer o expulsar a un usuario de una sala durante la conferencia.conf: [general] audiobuffers. Podemos definir una serie de salas de forma estática. grabarla. como por ejemplo crear salas en las que una persona puede hablar mientras todos los demás escuchan.©RA-MA CAPÍTULO 4: LÓGICA DE MARCADO O DIAL PLAN 119 .con! Este fichero contiene una sección [general] con un único parámetro audiobuffers para indicar la cantidad de buffers que usará la aplicación para amortiguar el jitter..nf "'> 100 .l¡¡¡. lo mandamos a la co.Goto(s. Si no selecciona ninguna opción. sin FIN co. tendremos que cargar el módulo ztdummy.l. Al incluir el contexto a-extensiones. o bien que todos puedan intervenir al mismo tiempo. permitimos que el usuario teclee un número de extensión directamente include ". volvemos a d¡¡¡. .nferencias n° lOO.

:de__sal~ [!ppc:f. y le asigna un PIN. Reenvía los tonos DTMF en la conferencia.. • A. Entrar en modo "marcado". Selecciona una conferencia vacía de las que están definidas CON PIN en meetme. • 1. ésta finaliza.agi sólo funciona si todos los canales de la conferencia son ZAPo • c. • i.~~/n. Reproduce un aviso cada vez que un nuevo usuario entra o abandona la conferencia.conf • E. Entrar en modo "sólo escucha" en la conferencia. Cuando este usuario salga de la conferencia.120 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA Aunque también es posible crear las salas dinámicamente. • D. el script AGI indicado en • b. • e. Crea la conferencia dinámicamente.conf • F. El administrador puede bloquear la conferencia para que no entren más participantes.óll. Se reproduce un aviso indicando cuántos usuarios hay en la conferencia.. de las que están definidas en meetme. Crea la conferencia dinámicamente. Reproduce un aviso cada vez que un nuevo usuario entra o abandona la conferencia (sin review'). por parte de los mismos usuarios. (Ver opción 's').!i$[ Las opciones que podemos especificar son las siguientes: • a. • l. • d. Selecciona una conferencia vacía.Méetll\e (nuJllero. Entrar en modo Administrador. Ejecuta $ {MEETME_AGI_BACKGROUND}. La aplicación que usaremos en el dialplan para acceder a las salas de conferencias es Meetme: => .. . Por defecto: conf-background.

Asterisk enviará notificaciones a través del "manager" indicando qué usuario es el que está hablando en cada momento. • M. Pide el PIN de la conferencia. • r. • t. Espera a que el "marcado" entre en la conferencia. pulsando "3". • x. Enmudecerse/desenmudecerse (activar/desactivar mute propio). El usuario puede pulsar '*' durante la conferencia para activar un menú. • T. Sólo se mezcla el sonido de los usuarios que están hablando. tiene la opción de bloquearla para no permitir que entre nadie más en ella. Entrar en modo "silencio". Modo "talk-only": sólo puede hablar. • o. Modo "silencioso" (no se reproducen aVISOS cuando un usuario entra/sale de la conferencia). (Reduce el ruido de fondo y la carga de CPU). en el que dispone de las siguientes opciones: o 1. o 4/6. El nombre por defecto es meetme­ conf-rec-${CONFNO}-${UNIQUEID} y el formato por defecto wav. El usuario puede abandonar la conferencia pulsando #. • w[«secs»]. Baja/sube el volumen del audio que le llega. o Además. Grabar la conferencia. • q. La grabación se realizará sobre el fichero definido en ${MEETME_RECORDINGFILE} usando el formato ${MEETME_RECORDINGFORMAT}. • p. sin oir nada. . • s. Baja/sube el volumen de su propia voz. Posteriormente el usuario podrá pulsar '*' para des-enmudecerse. si el usuario es administrador de esta conferencia. aunque éste se haya indicado en la llamada a Meetme. Cierra la conferencia cuando salga el último usuario 'marcado'. mediante "meetme Usf' podemos conocer esta información. • P.© RA-MA CAPÍTULO 4: LÓGICA DE MARCADO O DIALPLAN 121 • m. o 7/9. Activa la música en espera cuando sólo hay un usuario en la conferencia. También desde el CLI.

No reproduce el mensaje cuando entra la primera persona en la conferencia. Permite al usuario salir de la conferencia marcando una extensión válida de un solo dígito durante la conferencia. Asterisk usará este nombre para reproducir un aviso a los demás usuarios. Cada usuario que se una a la conferencia deberá decir su nombre. indicando el nombre de quien se une a la conferencia y de quien sale de la misma. Para que los demás usuarios se puedan unir a la conferencia solamente tienen que marcar la extensión 800. cada usuario puede marcar la tecla * para enmudecer su terminal o adaptar los niveles de volumen del audio que envía/recibe (parámetro s).p Cuando un usuario llame a la extensión 800.n. MeetmeAdmin (n •_conferencia I comando [1 usuario} ) u .n. El usuario que ha creado la conferencia se quedará conectado.122 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA • X. (Parámetro 1). Durante la conferencia. Seguidamente tendrá que asignar un PIN a esta conferencia.wav en el directorio /varllib/asterisk/sounds/ (parámetro r). El usuario puede asignar el número que desee (con cualquier cantidad de dígitos). y por último. y decir su propio nombre. escuchando una música en espera hasta que se conecte un segundo usuario (parámetro M). • 1. con una extensión para crear y unirse a una conferencia: [s@rvicios] exten => aOO. con el número asignado por el usuario (parámetro D). terminando con #. si dicha variable no está definida.l. la conferencia se grabará en un archivo con el nombre meetme-conf-rec-<n° conferencia>-<ID unico>.hangu. De esta forma se crea una nueva conferencia dinámicamente. También existe una aplicación para administrar salas de conferencias desde el mismo Dialplan.ervicios}. La extensión debe pertenecer al contexto ${MEETME_EXIT_CONTEXT} o al contexto actual.Meetmef. el sistema le pedirá que introduzca un número de conferencia. teclear el número de conferencia que creó el primer usuario y el mismo PIN.Dt>Usx) exten "'> 800. Esta aplicación es "MeetmeAdmín" y su sintaxis es: exten "'> ~. Ampliemos nuestro contexto {<.

V. Desactiva silenciar a todos los usuarios no administradores. S. L. • • s. N. U. u.©RA-MA CAPÍTULO 4: LÓGICA DE MARCADO O DIALPLAN 123 Esta aplicación. v. junto con la opción "X" de Meetme. Expulsar a un usuario (indicado en el tercer parámetro). Desbloquear la conferencia. Bajar el volumen del audio que llega a un usuario. Resetear los niveles de volumen de todos los usuarios. Subir el volumen del audio que llega a todos los usuarios. R. Bajar el volumen de la voz de toda la conferencia. • • • K. Desactivar silenciar a un usuario.no podrá unirse nadie más. • • • • • • t. Silenciar a un usuario.~"¡ . n. • • • • • • M. que pennite que el usuario pueda salir de la conferencia tecleando un número de extensión de un solo dígito. Expulsar al último usuario que ha entrado en la conferencia. Resetear los niveles de volumen de un usuario. Subir el volumen de la voz de toda la conferencia. Subir el volumen del audio que llega a un usuario. Bajar el volumen del audio que llega a todos los usuarios. nos será muy útil para dar al administrador de la conferencia el poder de expulsar o silenciar a aquellos usuarios molestos en la conferencia: La aplicación MeetmeAdmin admite las siguientes opciones: • • e. Bloquear la conferencia . Subir el volumen de la voz de un usuario. T. k. r. m. Expulsar a todos los usuarios. Silenciar a TODOS los usuarios no administradores. Bajar el volumen de la voz de un usuario. I. - ------_.

.o deberemos introducir el númerou/ilUario que es el número de ord.1) ..amos en la conferencia en modoadministtador {a? y activando ¡ 1.Goto{s. 1.ten => :2. exten => !l99.MeetmeAd.. y volvemos a la cqnf. introducir la.n. Crearemos una extensión (899) para administrar salas de conferencias.Goto(s. Read (NUM. el número de la sala que desea administrar.\ posibilidad de teclear una opci6n (x) exten "'> s.Goto(s.n.::ias.. le pedimos el número de la conferencia que desea administrar y saltaremos a un contexto especial (admin-conferencias) en el que defmimos las opciones que podrá usar.Goto(s.aX) exten => s. -­ . ¡ pulsando t silen<!iamos a todos los usuarios -no administradores ­ exten . pulsandó 8 expulsamos al último usuario que entró en la conferencia exten "'> 8..:onferenc.G6to(admin-c. MeetmeAdmin ($ {COm'NO} In) exten =:> 2..n. MeetmeAdmin ($ {CONFNO} I k I $ {NUM}l exten "'> 9.Hangup ¡ ext~m.nistt:ar si\lla~ .dmin .. .~tel.l) pulsaooo 9 expulsamos a un usuari. Cuando el administrador entre en la extensión 899 se le pedirá una contraseña.erencia.> B99.. contraseña .n.l.conferenoialilJ Entr.l} . > t. ¿verdad? Seguidamente.Read{CONFNO.min{${CO~FNO}le) exten ~> B..n. 1.95t~1.conf-getconfno).11 [a.lsiQll 899 ¡»ra admi.ll .124 VOlP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA • Esta es una de esas aplicaciones que si no se pone un ejemplo. vm-extension) exten => 9.Meetme(${COm'NO}. no se ve cómo usarlas.=> e.n. exten => 1.1.. y el ní..en en el que entró en la conferencia e.s. n.MeetmeAdmin(${CONFNO} IN) . porque no desea que cualquier usuario pueda administrar las salas de conferencias. Después de esto.. rse~ipios] .ímero de conferencia 9'Ue voy a admini~trar exten . así que vamos manos a la obra. pulsando :2 devolvemos la voz a todos los usuarios eX.xten "'> 9.t.n. Autbenticate {1~3¡2~} .

ya que el administrador debe conocer el número de orden en el que han ido entrando los usuarios para poder operar sobre ellos. Estas extensiones han sido añadidas en diversos contextos. el contexto a-extensiones define la forma de llamar a los terminales. podemos crear contextos como desde-usuarios y desde-usuarios-vip. Esta forma de dividir el dialplan en contextos posibilita que luego estos sean combinados como se quiera mediante la sentencia indude. donde el segundo contexto permita realizar llamadas a destinos que desde-usuarios no puede: [desde-usuarios] include => a-extensiones include => a-moviles include => a-fijos [desde-usuarios-vip] include => a-extensiones include => a-moviles include => a-fijos include => a-internacionales Si hubiéramos incluido todo en el mismo contexto sería necesario repetir mucho código. se ha ido completando la instalación de una típica PBX con los servicios elementales. Así.©RA-MA CAPÍTULO 4: LÓGICA DE MARCADO O DIALPLAN 125 Aunque como vemos. es decir. Es importante que un contexto represente un único concepto. por lo que no resultaría fácilmente mantenible. 13 Haciendo un dialplan mantenible En este capítulo. y no precisamente de manera arbitraria. es posible realizar determinadas operaciones sobre una sala de conferencias desde el dialplan. 10 cierto es que esto no es muy práctico. añadiendo las extensiones correspondientes. y cada vez que quisiéramos cambiar algo habría que hacerlo en varios sitios. Para gestionar las salas de forma más operativa existen aplicaciones como WebMeetMe que se conectan con Asterisk a través del AMI y ofrecen bastante más facilidad al administrador. . no a teléfonos fijos nacionales.

$' .

. esporádicamente. y la incorporación de técnicos informáticos cualificados. Ring Group. los sistemas tradicionales han limitado la adquisición de los conocimientos mínimos de administración de las PBXs. esta desventaja se traduce en que el personal no esté preparado para programar a nivel de código los nuevos dispositivos de VoIP como Asterisk. 1 Introducción Con la creación de los Departamentos de Sistemas de la Información en las empresas. Es aquí donde surge la necesidad de un software de administración para Asterisk con el que el personal técnico de la empresa sea capaz de realizar esta "Administración Básica" de Asterisk. Por tanto. etc. se empieza a demandar la posibilidad de gestionar las centralitas telefónicas sin acudir a personal externo.CAPÍTULO 5 GESTION DE ASTERISK MEDIANTE INTERFAZ WEB Juan Antonio García Moreno . Tampoco es objetivo formar expertos en Asterisk para realizar una administración básica como crear Extensiones.. A pesar de la cualificación de dicho personal.

freepbx. FreePBX es un desarrollo Open Source que se encuentra bajo licencia GNU GPL Y ha sido desarrollado principalmente en Perl y PHP por Phillipe Lindheimer. 2. A groso modo. y nos centraremos de manera especial en FreePBX. FreePBX es una interfaz Web que guarda la I t t . IBIírii-_ FreePBX System Status Figura 5-1. FreePBX utiliza Apache como servidor Web y MySQL como servidor de base de datos. principalmente basados en software libre. Página principal de FreePBX Detrás de FreePBX existe una importante comunidad desarrollando y dando soporte a este proyecto (http://www.org). el más extendido.1 FREEPBX Es uno de los interfaces de gestión Web para Asterisk con mayor difusión en el mundo de la VoIP y Asterisk. tanto por instalaciones independientes junto a Asterisk como por las distintas distribuciones precompiladas que lo incorporan y utilizan.128 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA 2 Gestores web En este capítulo hablaremos de varios de los "Gestores WEB" que existen para la Administración de Asterisk.

los datos se guardan en la base de datos. Proporciona un detalle de las llamadas entrantes y salientes en Asterisk. salas de conferencia. se vuelven a crear automáticamente algunos de los ficheros de texto de la configuración de Asterisk. etc. Cada vez que creamos una configuración o la cambiamos con FreePBX. y a la hora de actualizar.©RA-MA CAPÍTULO 5: GESTIÓN DE ASTERISK MEDIANTE INTERFAZ WEB 129 configuración de Asterisk en la bases de datos. Software que visualiza estados y con el que se pueden gestionar las llamadas. • Asterisk Flash Operator Panel (FOP). Fue desarrollado por Dan Littlejohn de Littlejohn Consulting. Este software puede ser instalado independientemente de FreePBX y toda la infonnación y soporte puede ser encontrado en la web "www. entre otras funcionalidades. A parte del propio gestor de administración FreePBX también instala otros tres paquetes que ayudan a la gestión de la centralita: • CaD Detall Record (CDR). colas. . ya que serán reescritos por FreeBX cada vez que se realice algún cambio en la interfaz Web. los buzones de voz y grabaciones de los usuarios desde un entorno gráfico. • Asterisk Recording Interface (ARI). extensiones. Para evitar estas situaciones. Hay que tener muy en cuenta este tema en el caso de que tengamos un servidor Asterisk en explotación y decidamos posterionnente montar FreePBX.org". La filosofia de trabajo de FreePBX implica que no se debe modificar manualmente los ficheros de configuración de Asterisk. FreePBX cuenta con unos ficheros en los que el usuario puede añadir sus propias configuraciones interactuando estas con las que introduzcamos mediante este software de gestión sin ser modificados. reescribe los archivos de configuración de Asterisk con dicha infonnación.Gsternic. Este software gestiona. Lo más probable es que perdamos toda nuestra configuración.

mejorándolo día a día. ASTERISKGUI AsteriskGUI es el gestor oficial de DIGIUM para Asterisk (véase la figura Figura 5-2. VoiceOne está .130 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA 2. Figura 5-3.2 5-2). AsteriskGUI Aun siendo el gestor oficial de Digium. AsteriskGUJ -lfconfig 2. aunque siguen trabajando en él. aunque no gozan de tanta popularidad como los anteriores.3 OTROS Existen multitnd de interfaces que permiten gestionar Asterisk. Entre ellos. no tiene la potencia que tienen otros gestores existentes actnalmente.

..'""".. VoiceOne ..:/!lllE . O ..... ... es preciso que el servicio Asterisk esté instalado y configurado correctamente tal y como se ha visto en capítulos anteriores.. "-I1'#' . En las figuras 5-4 y 5-5 se puede ver un detalle del gestor VoiceOne .. _"""~."'~-. .. lI!lIfoo¡ _~ ú" .©RA-MA CAPÍTULO 5: GESTIÓN DE ASTERISK MEDIANTE INTERFAZ WEB 131 teniendo un gran auge últimamente.... Dos de las distribuciones más utilizadas son Fedora y Debian.-"""'"'~-~ ~JU_'1:it>..--~ Figura 5-5. ~~'4Í ~"":dit~.t:4b~'¡ • Figura 5-4._"-"..JI. VoiceOne (Extensions) 3 Instalación de FreePBX Antes de iniciar la instalación de FreePBX...... por lo que a lo largo del capítulo se irán comentando las diferencias que existen en la instalación de las mismas....

ánipsendtnáHcf .1 es Lame. Para instalar las dependencias en CentOS 5.1 DEPENDENCIAS Para el correcto ftmcionamiento de FreePBX. hay que descargar la última versión de este software en el directorio lusrlsrc/: t # A continuación lo descomprimimos: tar~~f"'~ .. el servidor Apache. y lo haremos de la siguiente forma: http .m -y install pb..freebJ::¡.ii+oti~e-devel l:Ll::>ogg-devel o:penssl-devel . .dErvelnQ~Slea..: debe tener instalado el compilador "gcc ~I y sus aeJ?enafll1cll'JS antes de realizar esta tarea.sourc~fo. gmp ke:rnel..7 # . PHP.i.l.t¡.lame3.devel mysql-se:rverhttp<:1 Otro de los paquetes a instalar y compilar en CentOS 5.x..":l.. 3. dl. servidor de correo Sendmail.97.p-pear plw~pear-OBphp.l.1. # tarl'xvf lame-3.gz # cd lame-3.132 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA En primer lugar. I/eas:ynews .bs". ejecutamos el siguiente comando: # yum . y para comenzar con la instalación de FreePBX..rge .. ejecute el siguiente comando: # apt~get install -y apache2 php5 phpS-cli mysql-server-5. Para instalar las dependencias en Debían. #yu. necesitamos instalar una serie de paquetes. Nota.. entre ellos.<:l/Jfv$lkrb5~ <:1evel:liQpg9 l.0 php-pear phps-rnysql php-d.tar..f..9.:4. .bselinv./configure # make # make install # cd tlJSr!src # wge t .tar .~~"~vell:!~l~:i':devel libtiff-devel.. net I aourceforge!la~j.e'\l'~l<k~~t.97.t..b libapache2-mod-phpSphp5 php5 ­ curl .nstill:lL ~~ f~p:cOgs.u. MySQL y otras tantas librerías. -y i.gd~hp:"':~sgl php-pdo mysqlmysql.de'Vel .s-l.:1ib-devel perl~OateM.de.vel :tiba..

ntsysv . pero en CentOS 5.2 INSTALACIÓN Y CONFIGURACIÓN DE MySQL Tal y como se vio al principio del capítulo.. los servicios instalados se inician automáticamente. Una vez instalado. En Debían. FreePBX utiliza MySQL para almacenar el "dialplan". Figura 5-6. a continuación se va a crear y configurar la base de datos.1 se debe iniciar y configurar manualmente el sistema para que arranquen automáticamente cada vez que se inicie el sistema.© RA-MA CAPÍTULO 5: GESTIÓN DE ASTERISK MEDIANTE INTERFAZ WEB 133 3. y posteriormente generar los ficheros de configuración que usará Asterisk para operar. usuarios. etc. en CentOS debe realizar la siguiente tarea antes de seguir configurando. Para ello. Para configurar que se inicien los servicios al iniciar el sistema: Esta tarea también podemos realizarla utilizando la utilidad ntsysv.

en definitiva.8steriskcdrdb.mysql ~u root Cree las bases de datos: mysql:> create database asterLskcqrdb·. Query OK. 1 rowaffected (Q. tiempos. Almacena la configuración que se usará para generar los ficheros que utilizará Asterisk para funcionar. Acceda al shell de MySQL: #. lo que se conoce corno CDR (Call Detail Record).01 aeo) Las acciones anteriores también puede realizarlas sin entrar en MySQL. canales por los que han salido.ª~te:ri~kcdrdb # rnysqladml. simplemente ejecutando desde la consola los siguientes comandos: # mysqladmin. # .OQ Il!ecl myll!ql> create database asterisk¡ Query OK.134 VOlP y ASTERlSK: REDESCUBRlENDO LA TELEFONÍA ©RA-MA Para arrancar los servicios en CentOS debe ejecutar: # service httpd start # Seviche mysqld start Una vez arrancado el servidor MySQL. • . Almacena los datos de las llamadas realizadas. 1 rowaffected (0.nlisterisk Ahora compruebe que se han creado correctamente las bases de datos: Salga de MySQL ejecutando el comando quit: mysql> quit. procederemos a la creación de las bases de datos necesarias: • 8sterisk.

.©RA-MA CAPÍTULO 5: GESTIÓN DE ASTERlSK MEDIANTE INTERFAZ WEB 135 A continuación cargue la estructura de ambas bases de datos desde los ficheros descargados para FreePBX.tca~Lsql # <:sQ:t:.01 sec) . ~-~~---~------------~---- I Tables in asteriskedr I I edr 1 row in set (0.tlql./edr_my." I devices I extensiQns I I 1 ¡ iax 1 j module xml I mqd1J. mysql> Show tables.::ations I sip I users I zap I mysgl> use aeteriskcdrdb.les I notifi<..sql Entre en MySQL para comprobar que se han creado bien las estructuras de ambas bases de datos: =# t admin 1 I cronmanagel.table.4~.:. Realicemos las tareas que se detallan a continuación: # ed # lusr!..O <' ~?:~¿:~~in¡¡¡.fJIrplt:teep~-2.

hay que asegurarse que tenemos creado el usuario asterisk y el grupo asterisk.lh6st ¡D~lifIED}¡ll 'ampl09'.'" '1.3 INSTALACIÓN Y CONFIGURACIÓN DE APACHE En el apartado Dependencias se instaló el servidor Apache.conf'.136 VOIP y ASTERISK: REDESCUBRIñ"NDO LA TELEFONÍA ©RA-MA A continuación se establecen los permisos sobre las tablas creadas. establezca la contraseña de acceso a las bases de datos para el "root": #mysqladm:i:n ~u rÓQt passwó:rd'Lapaas~ni' 3. QueryQK~ Q r ó w a t a . mysql:¡.0 a.GRAlíI'TA~PR~VII"EGB$OI'.liJte:t'is~u~erq¡¡.. por lo que sólo queda configurarlo aquí. Ejecute los siguientes comandos sin salir de la consola de MySQL: ~. Para ello. Busque las siguientes líneas: User www-data Group www:"data . los creamos de la siguiente forma: asterisk # groupadd asterisk #/o useradd -o "asterisk PBX" -o !var!liblasterisk -g asterisk A continuación cambie el usuario y grupo por defecto de ejecución del Apache por el asterisk ejecutando: DEBIAN: • • Edite el fichero "/etc/apache2/apache2.i asterisk. Por último.* 'l'G tMíPl l1lJ'¡> . .~<.loca. 00 mysql:> quit.i:~. Si no están creados. El usuario y contraseña que configure a continuación debe configurarlos posteriormente en FreePBX para garantizar el acceso a estas bases de datos.

y si no lo está ya. Para ello./ • Para establecer el directorio de origen de los documentos.d/httpd restart En estos momentos lo único que queda es la instalación de FreePBX. edite el fichero /etclapache2/sites-available/dejault y lo modifica de la siguiente manera: OOCl1~l1mtRoot .Oirecto:ry/va.conf. lvar/wwfli/ntlRl/ . • Reinicie el servidor Apache: '# I e.4 INSTALACIÓN DE FREEPBX (AMPORTAL) Para realizar la instalación de FreePBX.© RA·MA CAPÍTULO 5: GESTIÓN DE ASTERISK MEDIANTE INTERFAZ WEB 137 • y se modifican por: • Crea el directorio y asigne los permisos al usuario asterisk: '# 1v:a.~h~ Group apache • y se modifican por: us~r alSteds. puede ejecutar: '# asterisk .k group asterilt • Asigne los permisos al usuario asterisk: # chown asterisk Ivar/lib/phplsessJ.t:p/JJí~~1 '# asterisk Nar..tcl ini t. 3.r/wWiffhttulf? .. es necesario que Asterisk se esté ejecutando. dI apa.che2 resta:rt CentOS: • Edite el fichero /etclhttpd/conflhttpd.on • Reinicie el Servidor Apache: '# /etc/init. • Busque las siguientes líneas: Use.rta~a..J':J~.

passwords.li!ted Una vez hecho lo anterior. edite el fichero /etclselinuxlconfig y lo modifica de la siguiente forma: SELINDX=. A continuación instale el gestor WEB: '# cd /usrfsrc/freepbx-2. El sistema realiza una serie de preguntas relacionadas con los datos que ha ido introduciendo hasta ahora.0 # .rname"'rQQt --Pétssword.r¡¡ave >letc/sysconf:i.abl~d~&echo $? y pararlo sobre la marcha ejecutando: #$ecenfQrce Cl Para hacer esto. debe reiniciar el equipo para que tome los cambios anteriores para poder instalar el gestor.isk by visiting http://xx. Otro de los temas a tener en cuenta para eVItar interferencias en la instalación es deshabilitar el firewall ¡ptables.138 VOIP y ASTERJSK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA En CentOS es necesario tener deshabilitado SELINUX.4.conj y cambiando astrundir /var/run por astrundir => /var/run/asterisk.xx/admin .disabled SEt::rN'(:1r1. en CentOS. para lo que debe ejecutar: #:tptables -<li' #< iptables-. Al finalizar la instalación debe aparecer un texto como el que se presenta a continuación sin haber mostrado errores: Please up{iate yQur modules and raload Aster.gfiptabl. etc.xx. al objeto de evitar incompatibilidades y errores inesperados.finstallamp --use. Conteste con los datos que se han ido planteando (usuarios.es (Para guardar la configuración en CentOS) #.up~rules (}¡lara guardar la conf iguración en DSBIAN) Configure el directorio de trabajo de Asterisk editando el fichero /etclasterisklasterisk. Puede comprobar si SELINUX se está ejecutando con el siguiente comando: # s~linux~n. iptabl~s-sªve :> letc/iptables.='La Pass~o.).xx.YPE=ta:rg.r{i' (Sin las comillas)· .

~. como de passwords y algún que otro cambio de rutas de acceso...lastel:~~k( # ehmod 770 .~...1" que hay delante de la palabra "panef' de la siguiente línea: »t width.. debe realizar una serie de modificaciones tanto de permisos de usuarios..5.p..:iframe width="97%" height". • y debe quedar de la siguiente forma: '.lW?c~tí:p:c.\:0'.**1<**. .....O"align="top" are".JindEjl!x. edite el fichero /etc/amportal.** ** ** '" ***. . '.* 1<*.'!:l'. tiene que cambiar los permisos al contenido de algunos directorios: # c. "97%"heiight="600" ft"amebo:rd¡ar='II0U. .al'llP . edite el fichero /var/www/html/admin/views/panelphp y elimine ". 3..1' ****"'ft**tt **ll>: l' .:'hown asterisk ...'+­ ..." . 1.©RA-MA CAPÍTULO 5: GESTIÓN DE ASTERlSK MEDIANTE INTERFAZ WEB 139 '" '" *"'* *'" '" * *.."EiOO" framelxl7rdet"?". !panel!index.= ..... php?eonte~t=' .t....5 MODIFICACIONES PREVIAS AL INICIO DE FREEPBX Antes de iniciar FreePBX.....conf y modifique la variable AMPWEBADDRESS de la siguiente forma para no limitarlo a ningúnPC concreto: AM.1 Permisos en directorios En este momento.5.. '* ** ***"'* ***~.• $~ptname.. En este caso. 1\:.2 Rutas del FOP y permisos para la IP de Administración Debemos realizar unas modificaciones en el fichero de configuración del Flash Operator Panel (FOP) ..!J. corlf 3.*1< * '" 3. !panel. para ello.Rl etc} amportal. al'llP...PWEBADDRElSS". ' dhmod 775 letf:.><lif't'...• $4ep'~nam. . .ame> I • y a continuación modifique la configuración de los equipos que se podrán conectar al FOP para la administración.

con la siguiente password: ~~RPASS "'.0.5. Para ello. tendíamos que añadir la línea correspondiente permit o comentar la línea actual deny: Por último.conf y modifique la variable AMPMGRPASS. 3. debe reiniciar FreePBX: 4 Utilización de FreePBX FreePBX está fonnado por multitud de módulos que pueden ser cargados según las necesidades de la instalación. muy en la línea de modularidad de Asterisk. por ejemplo el 192. p@liWQrd A continuación.140 VOIP y ASTERlSK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA Si en vez de dejar en blanco escribe una IP. por ejemplo. . edite el fichero /etc/asterisk/manager.200.confy modifique la variable secret de la sección [adminJ con la misma password: En este momento. sólo se pennitirá la gestión desde ese equipo. edite el fichero /etc/amportal. y para que surtan efecto todos los cambios anteriores. se pennite la conexión al Manager a procesos originados por el equipo en el que se está ejecutando: Si desea que se conecten al Manager desde procesos iniciados en otro equipo.168. con la configuración actual.3 Permisos y cambio Password al módulo Manager Por seguridad. también debe cambiar la password por defecto del Manager de Asterisk.

4. Figura 5-7. y otros muchos se descargarán desde Internet previamente a su instalación. Para ello. y debe pulsar sobre ella para aplicar los cambios en la configuración.ttp:ll <Di~e~c. al conectarse aparecerá una barra naranja en la parte superior izquierda de la ventana del navegador (véase la figura 5-7). Una vez iniciado FreePBX. FreePBX (System Status) Esta barra aparece cada vez que se realiza un cambio en FreePBX. .©RA-MA CAPÍTULO 5: GESTIÓN DE ASTERISK MEDIANTE INTERFAZ WEB 141 Parte de estos módulos pueden encontrarse en modo local y pueden ser instalados sin la necesidad de que se descarguen a través de Internet. debe incluir en rc.local el comando anterior.1 INICIO DE FREEPBX Para iniciar FreePBX por primera vez.ri(ic:tr>la&nin Lo primero que debe hacer al conectarse a FreePBX es aplicar los cambios realizados. ejecute: 1/.i6n·¡l? (iel Set. debe conectarse al mismo iniciando un navegador y poniendo la siguiente dirección: b. para ello. Al pulsar en Apply Configuration Changes el sistema solicita confirmación (véase la figura 5-8). debe ejecutar el siguiente comando: #amportal atad Para que FreePBX se inicie automáticamente.

. están en el servidor pero no se han instalado en FreePBX aún. vienen en el paquete de FreePBX que ha instalado. Estos módulos pueden estar instalados en local.). propios y de terceros.142 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA Figura 5-8. FreePBX (Con la configuración aplícada) En estos momentos ya puede empezar a configurar la centralita. con los cuales. se podría montar una configuración básica para el funcionamiento de esta. Adicionalmente. al contrario que los otros. que puede añadir para administrar otras funcionalidades de Asterisk. por lo que puede hacerlo sin necesidad de tener acceso a Internet. se vuelve a la misma pantalla inicial. para lo que necesita acceso a Internet. es decir. FreePBX consta de una serie de módulos base instalados para realizar la configuración de la PBX (extensiones. FreePBX (Aplicar configuración) Una vez confirmados los cambios.2 ADMINISTRACIÓN DE FREEPBX Como se ha comentado anteriormente. Los que están en local. o se pueden descargar de Internet. pero habrá desaparecido la barra naranja (véase la figura 5-9). 4. En este apartado FreePBX Notices aparece si existen actualizaciones de los módulos instalados en FreePBX. Figura 5-9. etc. rutas de entrada y de salida. existen una serie de módulos.

De esta forma. El horario de oficina es de 08:00 a 14:00 y de 16:00 a 18:00. el escenario a diseñar y configurar seria el siguiente: Una empresa con 8 extensiones repartidas de la siguiente forma: • • 1 x Secretaria 1 x Dirección • 2 x Departamento Técnico (Técnico + Responsable Departamento) • 2 x Departamento Comercial (2 Técnicos) • 2 x Departamento Atención al Cliente (2 Técnicos) Cada Extensión tendrá su Buzón de Voz correspondiente. Todo se montará en una tarjeta Analógica de 4 puertos. El IVR constará de tres opciones. dependiendo si es mañana o tarde. • El flujo de las llamadas entrantes será el siguiente: 1. Si no es atendida por la secretaria.©RA-MA CAPÍTULO 5: GESTIÓN DE ASTERlSK MEDIANTE INTERFAZ WEB 143 La mejor forma de ver la administración de la PBX. o menú interactivo de voz. de una implantación de una PBX en una empresa con unas necesidades reales. Los 2 primeros canales serán las líneas directas de la RTB y los 2 últimos los de los enlaces GSM. o esperar y que la llamada sea atendida por la secretaria. de Lunes a Viernes. pulsando una opción. Las llamadas entrantes en horario de oficina serán atendidas por una locución. una para ponerse en contacto con cada uno de los departamentos. 3. Disponen de 2 líneas de entrada desde la PSTN y 2 Enlaces GSM o FCT (Fixed Cellular Terminal) para móviles. que le permitirá al llamante ponerse en contacto con uno de los departamentos en cuestión. Las llamadas entrantes fuera del horario de oficina serán atendidas por una locución que proporcionará el horario de atención al público y serán enviadas al buzón de voz de la secretaria. . saltará el buzón de voz de ésta. es plantear una situación real. y enviadas a un IVR (Interactive Voice Response). 2.

dejando extensiones libres entre las asignadas. Las extensiones quedarían de la siguiente forma: • Secretaria (2010) • Dirección (2000) • Departamento técnico (técnico 01 (2020) + responsable departamento (2029)) • Departamento comercial (técnico 01 (2030) + técnico 02 (2031)) • Departamento atención al cliente (técnico 01 (2040) + técnico 02 (2041)) . para futuras ampliaciones. 2. se pasará la llamada a las 2 extensiones del departamento comercial. pasará la llamada al buzón de voz de la primera de las extensiones de este departamento. se pasará la llamada a la extensión del técnico del departamento técnico. Si pulsa la opción 3. será transferida a la secretaria. Si pulsa la opción 2. los canales están conectados directamente a las 2 líneas de la PSTN. Si no es atendida por ninguna de las extensiones. Si tampoco fuese atendida por esta. 3. Asignaremos la numeración de las extensiones con 4 dígitos. Las llamadas internacionales serán enviadas a través de una conexión ADSL hacia un proveedor de voz sobre IP. Si no es atendida.144 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA Si pulsa la opción 1. Las llamadas nacionales saldrán por los canales 1 y 2 de nuestra tarjeta analógica. Si no es atendida la llamada. pasará al Buzón de Voz de éste. pasaría a su buzón de voz. debido a lo económico de sus precios. los canales están conectados a los FCT o enlaces GSM. Las llamadas a móviles serán enviadas a través de los puertos 3 y 4 de nuestra tarjeta analógica. • El flujo de las llamadas salientes será el siguiente: 1. se pasará la llamada a las 2 extensiones del departamento de atención al cliente.

En lma llamada analógica entrante. tiempo máximo que van a estar sonando las extensiones antes de pasar al buzón o colgar la llamada.. • Extensions. • General Settings. Nota: se el uso de una tarjeta analógica en sistema ptJrque suele ser el caso más habitual. como el J()1)4. canales analógicos. Usado para la creación y administración de pennisos de usuarios de FreePBX. ). simplemente podemos ver por qué canal de nuestra tarjeta analógica ha . que cambiaría 4. efectos de FreePBX sólo 14forma de crear los enlaces con el exterior..Direct Inward Dialing). • Trunks. no podemos disponer del número al que han llamado (DID . A. • Inbound Routes.2..1 Instalación de módulos Los módulos que vienen instalados por defecto en FreePBX son los siguientes: • Administrators. Utilizado para la creación de extensiones y su administración. es decir. • Outbound Routes. • Zap Channel DIDs. Utilizado para la administración de las llamadas entrantes.o Trunk. Utilizado para configurar las rutas que tomarán las llamadas salientes según ciertos patrones.oPrimario. Se utiliza para la administración de parámetros generales a toda la centralita.©RA-MA CAPÍTULO 5: GESTIÓN DE ASTERISK MEDIANTE INTERFAZ WEB 145 lfDta:no se empieza a numerar a partir de la JO:OfJpor existir coincidencia con dlgunos númerós de teltifonos existentes en f?l plan denumeraciónrJe algunos proveedores. etc. . Se utiliza para la administración de los distintos caminos/enlaces existentes con el exterior (canales RDSJ. pero igualmente podría haber sido una RDSI con 4 BRl's. canales IP . qué hará una llamada entrante dependiendo de una serie de parámetros establecidos en este apartado. • Feature Codeso Utilizado para la administración de algunas de las características/aplicaciones de Asterisk que por defecto vienen configuradas en FreePBX. como a quién enviar un correo en caso de que exista una actualización.

dato que sí tenemos en RDSI.-. _ # • •. bien desde una extensión. Pues con este módulo. Como se ha podido apreciar. bien haciendo una descarga de alguna grabación que hayamos creado previamente por otros medios y queramos utilizarla en nuestra PBX. con los módulos precargados. Toda la parte de administración/configuración de centralita se realizará dentro de la pestaña Admin de FreePBX.146 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA entrado. • Music 00 Hold. Esto se utiliza para administrar nuestra propia Música en Espera. Para añadir los módulos necesarios. Desde aquí podremos crear nuestras propias grabaciones. perfectamente se puede poner en funcionamiento una centralita con las funcionalidades más básicas." Figura 5-JO.'. Esto sólo se usa para el entorno de administración de FreePBX y sólo tiene sentido para facilitar la gestión de llamadas entrantes si queremos tener controlada la línea por la que está entrando la llamada. . Module Admlnlstration Check lor updates onlme I Upload module Cusrom ExtensíarlS ~-~"'---~-'------ Basic ". Para disponer de todas las funcionalidades necesarias en nuestro escenario. FreePBX (Administración de módulos) .. podremos asignar un número de teléfono (DID) según el puerto por el que entre la llamada. • System Recordiogs. pero no cubriría los requerimientos del supuesto.' . se tienen que instalar una serie de módulos antes de empezar a configurar la centralita. dentro del apartado "Admin". pulse en Module Admin (véase la figura 5-10). y después podrá ser administrada esa llamada desde el módulo "Inbound Routes" según ese número. o la que viene preinstalada.

©RA-MA

CAPÍTULO 5: GESTIÓN DE ASTERISK MEDIANTE INTERFAZ WEB 147

Pulse en Check for updates online para que muestre los módulos instalados, pendientes por instalar y actualizaciones. A continuación pulse sobre los siguientes módulos y seleccionamos Download and Install: • Announcements. Para poder administrar las locuciones de entrada de nuestra PBX (Saludos, Horarios de Trabajo, etc.).
Inbound Cal! Control
NoActíon ® DownIoad anó lnstaU

o

Oescripbon

Chen¡¡eIo!;¡

Figura 5-11. FreePBX (Inbound Call Control)

• IVR. Para administrar el menú de entrada de nuestra PBX. • Ring Groups. Para administrar los grupos de extensiones. • Time Conditions. Para administrar los horarios de entrada de las llamadas. • CaD Forward. Para administrar los desvíos de llamadas desde la PBX. • CaD Waiting. Para administrar las llamadas en espera desde la PBX. • Do-Not-Disturb (DND). Para administrar el "No Molesten" desde la PBX. • Parking Lot. Para administrar el "aparcamiento" de llamadas desde la PBX. Para temas de gestión y administración del sistema, instalaremos los siguientes módulos: • Asterisk Logfiles. Para la visualización de los Logs de Asterisk. • Asterisk CLI. Para la ejecución de comandos de Asterisk en el CLI. • Asterisk Info. Para ver el estado e información de la PBX (Extensiones, Canales Activos, etc.).

148 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA

©RA-MA

• Bachup & Restore. Para realizar copias de seguridad programadas de la configuración de la PBX. • Java SSH. Para conectarse mediante un Cliente SSH al Servidor de Asterisk.
Por último, vaya al final de la página y pulse sobre el botón Process situado a la derecha para comenzar con la instalación de los módulos. Aparecerá una pantalla (véase la figura 5-12) con la lista de módulos que ha seleccionado para instalar, y pulse Confirmo
Module Administratíon
Please conllrm!he following actlons; • • • • • • • • • Announcemenrs 2AO 1l'iiIJ be downloaded and installed Call Forward 2 4 Ol'iill be inslalled and enabled Call Wamng 24 Ov.111 be downloaded and installed Do-Nol-Disturb (DND) 240 v.111 be downloaded and installed IVR 2 5 162 WlII be downloaded and installed Astensk Logfiles 2AO WlII be downloaded and installed Parking Lot 24 05 will be downloaded and installed Rlllg Groups 2 4.0 1 l'iill be downloaded and inSlallad Time Condltions 2 44.2 W111 be downloaded and inSlallad
Ctmcsl

Confirm

FreePBX'Freect0rnto co~ne~~~o
Figura 5-12. FreePBX (Instalación de módulos)

En estos momentos, y tal como muestra la figura 5-13, aparece una nueva ventana con la información de los procesos que se están realizando para la instalación de los módulos y si su resultado ha sido correcto o no. Si todo ha ido bien, pulse sobre Return. En la siguiente pantalla aparece la barra naranja, que comentamos al principio de este punto, informándonos de que debe aplicar los cambios realizados. Realizamos el proceso ya comentado para aplicar los cambios. En este momento ya tiene todos los módulos necesarios para configurar la PBX según el escenario expuesto.

©RA-MA

CAPÍTULO 5: GESnÓN DE ASTERfSK MEDiANTE INTERFAZ WEB 149

Figura 5-13. FreePBX (Información del proceso de la instalación)

Es importante tener en cuenta el orden en que se deben configurar los módulos, ya que unos hacen uso de otros. Según los módulos que hay que configurar, el orden de configuración será el siguiente:
1.

Trunks.

2. Extensions.
3. System Recordings.

4. Ring Groups.

5. IVR.
6. Announcements. 7. Time Conditions.

8. Zap Channe1 DIDs.
9. Inbound Routes.
10. Outbound Routes.
11. General Settings.

150 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA

©RA-MA

Para realizar la configuración del sistema, se mostrarán los cambios en cada uno de los módulos, teniendo otras muchas opciones que no se comentarán, ya que no son necesarias y se dejan por defecto. El usuario interesado en todas estas opciones cuenta con una herramienta potentísima de ayuda. Al situarnos sobre cualquiera de las descripciones de las distintas opciones, nos muestra una ayuda en la que nos informa de para qué se utiliza esa opción y, en algunos casos, hasta nos muestra un ejemplo (véase la figura 5-14).

f,___L",?;aP!~Eti,~~!itrlJlll:,nil~e)9~
!~ '--'" - 16N~ ~'_"~lf_"P: .i f' ¡~ ~ ~ ~t"~" fn~
1.-~

i

¡t_~~"'_IS~lPüP-~t9)\

L._., '~'¡ ..
\

meI'BX"r.fJdOm

.

to COllnl!ct®

Figura 5-14. FreePBX (Ayuda emergente)

4.2.2

Configuración de Trunks

Las. configuraciones de algunos tipos de trunks dependerán de la configuración establecida previamente en Asterisk, como por ejemplo los Trunks Zap, que depende de la configuración que establecimos en el fichero Zaptel.confy el Zapata.con! En este ejemplo, se va a suponer que ha configurado en el fichero Zapata.con,jlos canales 1 y 2 asociados al grupo 0, y los canales 3 y 4 al grupo 1. Es decir, en nuestro zapata. con!debe tener algo como:

gl:QIlP

o

=:>

qhannel

1,2

Sfl70UP

1

ohannel => 3,4

A continuación se defmen dos Trunks Zap, uno para las 2 líneas analógicC}S y otro para las 2 líneas que están conectadas a los FCT GSM.

©RA-MA

CAPÍTULO 5: GESTIÓN DE ASTERISK MEDIANTE INTERFAZ WEB 151

Como ya se comentó, las líneas analógicas están conectadas a los canales 1 y 2 de la tarjeta, por lo que se corresponderá con el grupo O, y los enlaces GSM en los canales 3 y 4, asociados al grupo l. En el menú del lateral izquierdo, pulse sobre la opción Trunks, y puede ver que, por defecto, FreePBX crea el Trunk ZAPlgO, donde "gO" se corresponde con grupo O, que en el ejemplo será necesario para las 2 líneas analógicas, por lo que sólo hay que crear el trunk de los enlaces GSM. Para ello, pulse sobre Add ZAP Trunk y nos desplazamos hasta Zap Identifier (trunk name):, donde escriba "gl", para que se corresponda con el "grupo 1" definido en nuestro Zapata.con! A continuación pulse sobre Submit Changes para aceptar los cambios en esta pantalla y nos retornará a la pantalla anterior, donde ahora nos muestra los dos Trunks Zap definidos. Estos son los dos Trunks que se utilizarán para las llamadas nacionales y las llamadas a móviles. Ahora queda por crear el Trunk para las llamadas internacionales. Como ya se comentó, las llamadas internacionales saldrán a través de un enlace que crearemos contra un Operador de VoIP (Voz sobre IP). Este enlace se realizará con el protocolo SIP, que es una condición que pone el operador, por lo que el trunk que se creará será un Trunk SIPo Previamente a la creación de este trunk, debe hacer algunos cambios en el sistema para que nuestra PBX sea visible al proveedor desde Internet Modifique el fichero sipJJeneral_ custom. conf y añada las siguientes líneas:
nat",~s

..•

e~t;em~p

de . Asterisk.

.. lo.cal!,1et",
192

A parte, debemos abrir y direccionar los siguientes puertos UDP en el router hacia nuestro Asterisk:

152 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA

©RA-MA

Rango UDP: 10000 al 20000

Audio RTP

Estos puertos son los definidos por defecto y pueden ser modificados, según necesidades, mediante los ficheros rtp. con!y sip---.1teneral_custom. con! Teniendo hecho todo lo anterior, se va a crear el Trunk SIP, por lo que se tiene que pulsar sobre Add SIP Trunk y crear el trunk de la siguiente forma:
Outgoing Settings ; {Podemos darle cualquier Trunk Narne: Proveedor-SIP nombre) PEER Details; disallow '" all allow = gsrn&ulaw&alaw canreirtvite ",no context = frorn-~aptel dtmfmode = rfc2S33 fromdornain =123.123.123.123 T' ! I P6. Dominio de1 Proveedor VoIP) ¡ (El usuario creado por el fromuser = USUARIO Proveedor VoIP) host '" 123.123.1;;13.123 ¡(11) del ProVeedor Vol!?) inseciure'",ver'Y nat; =·.yes ,. qua 1i fy = yes. rtptirneout = 30 secret = PASSWORD ¡(password del USUARIO creado por El1 Proveedor VolP) type "" peer proveed,or 1,lSernarne .. USUARIO ¡(El usuario creado por VoIP) Registration Regist;er "''-''''.1 I1'U USUARIO:PASSWORD®123.l2l.123:123

NtJtll: i04~

Pl1l'41tIfitrQ9 capítulos aiJterigr{i$ pl1l'a

Finalmente pulse en Submit Changes para aceptar los cambios que hemos añadido. Es interesante resaltar que en este módulo hay opciones muy interesantes y que nos pueden ayudar en muchas situaciones que se nos pueden plantear. Por ejemplo, podemos configurar que sólo puedan salir por el Trunk en cuestión llamadas que vayan dirigidas a números que cumplan un determinado patrón, o quitarle dígitos al número destino antes de sacarlo por este enlace, o añadirle

FreePBX (Trunks) En este momento se ha tenninado de añadir los enlaces con el mundo exterior. Las 2 primeras opciones las podremos hacer mediante la opción "Dial Rules" y la última mediante "Outbound Dial Prefix". Para ello.©RA-MA CAPÍTULO 5: GESTIÓN DE ASTERlSK MEDIANTE INTERFAZ WEB 153 prefijos.123. Por ejemplo. En la pantalla principal de Trunks que se muestra en la figura 5-15 aparecen los tres enlaces que se han creado. pulse en Tools ya continuación en el módulo Asterisk CLI en el apartado System Administration. tan sólo queda aplicar los cambios en la configuración pulsando sobre la barra naranja Apply Corifiguration Changes y seguir los pasos de siempre. En la ventana que aparece.2.3 Configuración de Extensions La creación y configuración de extensiones se realiza mediante el módulo Extensions de FreePBX. Add a Trunk TrunkZAPlgO Trunk ZAPlg 1 Trunk SIPlProlieMor-S I\dd ZAP Trunk I\dd 1A-'\2 Trunk Add SIP Trunk . Para configurar las extensiones del sistema pulse sobre el .123. escriba en el campo Command: el comando de Asterisk sip show peers y pulse Execute.123. ahora puede ver si se nos ha registrado el enlace SIP con el proveedor. nos debe aparecer algo similar a lo que aparece a continuación: Name/username Host Dyn Nat ACL Port Status Esto significa que nuestro enlace SIP (Proveedor-SIP) se ha registrado con el usuario (USUARIO) correctamente (OK (58 ms)) en el puerto 5060 con el host 123.I\dd ENUM Tmnk Add Custom Trunk Add DUNDI Trunk FreePBX' Freed~~ to Connect® Figura 5-15. etc. 4. Si todo ha ido bien.

y que se encuentra dentro del apartado Basic de FreePBX.. EtAail Address. En Device seleccione Generíc SfP Device y pulse Submit.: <émail@émail. en la pestaña Setup.E!J:'Wion: 200Q OisplayName:Direc. Para crear la primera extensión debe escribir los siguientes campos: . . Las extensiones que puede crear son de varios tipos: SfP. <ernq. pero en el ejemplo serán todas SIP. .iJ.IIJ:~Qll.Ilift!. Displa'fNatn:e: .ón q~jí:}i ht.i"'..cion DeviceOptions 0000 Voicemail· . A continuación debe realizar el mismo proceso con las siete extensiones restantes. que serán sustituidos por los siguientes: Usar iI:/I:t. COtA:> .!¡le .0 Add .¡¡:~tensi.154 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA módulo Extensions. ~"".cotn:> Play A"'VC.. Password: 0000 Add:r:ess.ilf!ilernq.. 200.e:p. fAX2 y Zap.mensaje. Utilice los mismos valores de la primera extensión. para añadir cada una de las 8 Extensiones de nuestro escenario. Correo al que ..... a excepción de los dos primeros.E!nEl:l0~~.LU~lC Pulse Submit para guardar los cambios en esta Extensión.

<:pr~o a~ EmaU ¡lOOil$Eije •.Correo al gue se ¡mensaje.mens¡¡je.~~l$emaU.~~ae. Ext'Ms:l.~.1>.inc .inc /etc/asterísk/vm_general.com> .com> . C01l10 puede ser $endmail o PostflX.mensaje.il Agql. se configuran en los ficheros: /etc/asterisk/vm email.Correo al que se enviará el ¡mensaje.¡<:9geoal. enviar~ el ExtE!:nsi6n 2040 Add Extenaion Usar Extension. enviar~ el Nota: para que el sistema envíe el mensaje de voz al correo electrónico.~:nsi6n 2041 Add Extension User Extension: 2041 Display Name: Atencion Cliente 02 Eroail Addresa: <email@email. CAPÍnJLO 5: GESTIÓN DE ASTERISK MEDIANTE INTERFAZ WEB 155 <. ~tl!n§~~20Z9 Add E:Ktension Ad'" ExteIl{ild. etc.eman~email.: 20:!(} Display Name: Comercial 01 Ema..0::n Display Name: Comercial 02 Email1\¡ddress: <.COJll.on Uaer Extension.~e~il. el cuerpo del mensaje. Ex!.: 2040 Display ~ame: Atencion Cliep.9Q!J\!!.Ón 2031 Add Extenaion User Extenaion: 2.com> ¡Correo al que se . la dirección de origen.te (}1 Email Address: <email®l:!mail.©RA-MA 1\.se .'ess: <email. El fonnato del correo. previamente debe instalar un servidor de correo.

Ahora debe aparecer. que no aparecían en la ventana cuando estaba creando esta extensión. Si a continuación intenta modificar cualquiera de las extensiones que se han creado. Esta es la parte más tediosa. debido a 10 monótono que es. además. FreePBX (Extensiones) Ahora ya puede configurar los diferentes dispositivos y registrarlos en la PBX. callgroup. en el apartado Device Options. De esta manera.12. se hace interminable. ya que dependiendo del número de extensiones a añadir. Al igual que cuando se crea los Trunks.2. codees permitidos. DirsIXIOO <2000> S<i1C(eraria <2010~ T<i1cmco 01 <2020' Responsable T"cnieo <2029> Comercial 01 <1031» Comercial 02 <2031" Arenci on Chen!e O. como port. pickupgroup. . . Manelon Clien!e 02 " Figura 5-16.156 VOIP y ASTERlSK: REDESCUBRlENDO LA TELEFONÍA ©RA-MA Finalmente aplique los cambios de configuración pulsando en la barra naranja.123.123 Dyn Nat ACL port Statue OK (90 N D N qOGO mal (Unspecifíed) o UNICNOWN 4. puede cambiar opciones de Asterisk.3. cada una de las extensiones que ha creado y los dispositivos que ha configurado deben aparecer registrados: Name/ueername Proveedor-SIP/USUJ\RIO 2041 Host 123. observará que aparece una gran cantidad de opciones. Locución que se reproducirá cuando entre una llamada fuera de horario habitual de oficina. comentadas en capítulos anteriores. etc.4 Configuración de System Recordings Hay que crear cuatro locuciones para el escenario planteado: • Horario. se accede al módulo Asferisk eL! y ejecute el comando de Asterisk sip show peers.

La locución que nos dirá las distintas opciones que hay que marcar para ponerse en contacto con cada departamento. A continuación se va a realizar primero una grabación de una locución desde el sistema. Acceda al módulo System Recordings e indique que va a realizar la grabación desde la extensión. en el campo Name this Recording escriba el nombre de la grabación Horario y pulse en Save para finalizar con la grabación de la primera locución. Locución que reproduciremos cuando nos entre una llamada en horario de mafiana. • Tarde. 2030 y pulse Go. hay que indicar desde qué extensión se va a realizar la grabación. realizar la grabación. • Meou. pulse *99 y se nos reproducirá lo que ha grabado. colgar y continuar con el proceso. sólo habrá que marcar el *77. Para grabar la siguiente locución (Mañana). cuelgue la llamada. La grabación la puede realizar desde el mismo módulo System Recordings o bien con medios externos y posteriormente pasar las grabaciones a la PBX mediante este módulo. A continuación puede colgar y repetir el proceso grabación bien o colgar y seguir adelante. Lo denominaremos Manana para omitir la "ñ" y que no nos dé error en el nombre al grabar la locución. . Una vez terminada la grabación. Si desea escuchar la grabación. SI no ha quedado la Para finalizar con el proceso de la grabación de la primera locución. Desde la extensión 2030 marque *77 para grabar la primera de las locuciones. Si la va a realizar desde la misma extensión que la anterior. Esto se realiza grabando la locución desde una de las extensiones que hay creadas y registradas ya en la centralita. por ejemplo. Locución que se reproducirá cuando entre una llamada en horario de tarde. desde la misma extensión de grabación. Lo primero que hay que hacer es grabar las locuciones para después utilizarla desde los módulos correspondientes.© RA-MA CAPÍTULO 5: GESTIÓN DE ASTERISK MEDIANTE INTERFAZ WEB 157 • Mañana. poniendo el nombre Manana pulsando Save para que quede en nuestra PBX.

Si se realiza esta grabación con medios externos. Por último.t • t.N~'~ _~.~:. añadirle más ficheros a la misma locución.~~ __ ¡.in Recordings Horario Manana r. pulse Abrir y finalmente. evidentemente.l$OU Cnange Neme Descriptive Name Menano Fíles . en la ventana que aparece. el orden de los módulos configurados no tendría que haber sido este. es decir. ya tiene todas las locuciones que va a necesitar grabadas en nuestra centralita. Si pulsa sobre alguna de ellas.~~. A continuación. se realizará con otro método. System Recordings Edlt Recording Add R¡¡cording 8ulH. Tal y como puede ver en la figura 5-17.~~_. etc._. cambiaremos el nombre.158 VOlP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA Para la locución Tarde debe realizar la misma tarea descrita en el párrafo anterior. . en formato WAV PCM Encoded. lo puede hacer. ~. pero los que vienen a continuación sí que dependen de los anteriores para ser configurados. Tarde Figura 5-17. pero esta vez. ". grabe la locución Menu. por ejemplo. 16 Bits. desde el módulo System Recordings pulse en Examinar. J~. at 8000Hz.~'S:C:~.. puede añadirle algún comentario. escribimos Menu como nombre a la locución y pulse Save para terminar con el proceso. pulse Upload para transferir el fichero a nuestra PBX. FreePBX (System Recordings) Nota: hasta aquí. seleccione el fichero que acabamos de guardar. eliminar la locución. ya que ninguno depende de otro de ellos para configurarse. Tras haber pulsado Aceptar en la ventana informativa que aparece. se realiza la grabación con medios externos y después se guarda en la PBX. • .

El módulo Ring Groups de FreePBX se utiliza para realizar estas tareas.i<l. hay que crear dos grupos de extensiones. o puede hacer que salte una locución cuando la llamada llegue a este grupo. Todas las opciones disponen de una ayuda bastante cIara al situarse el ratón sobre las etiquetas. con el que se puede configurar en la forma y orden que sonarán las extensiones. locución que debe haber sido grabada con anterioridad según el método ya comentado en la configuración del módulo System Recordings.© RA-MA CAPÍTULO 5: GESTIÓN DE ASTERISK MEDIANTE INTERFAZ WEB 159 4..a030 Se ha creado el grupo de extensiones 203 que lo forman las extensiones 2030 y 2031 del departamento comercial. Las situaciones en cuestión son las siguientes: 1. si no se contesta se envía a la extensión de la secretaria. 2.2.¡iQn: 1Jt9 C~rG. como pueden ser Ring Strategy. se van a configurar las agrupaciones de extensiones necesarias para realizar el comportamiento en el escenario planteado para algunas situaciones.. con la opción Announcement. será pasada la llamada a la secretaria. se pasará la llamada a las 2 extensiones del departamento de atención al cliente.l . se pasará la llamada a las 2 extensiones del departamento comercial. Si no es atendida la llamada.5 Configuración de Ring Groups A continuación. Si se pulsa la opción 2. Para ambas situaciones. Si se pulsa la opción 3. fliXten~iQn:L:i~~: .¡~ng G. Hay otras tantas opciones que se dejan por defecto. uno para cada situación. A continuación. para la Situación 1.lW4. modifique los siguientes campos: .9ufjI N\1mber: 203 Ring~G:mup GrlP\1p ~sc:ript. y con las que el usuario puede jugar. y cuando entre una llamada. Si no es atendida por ninguna de las extensiones. . pasará la llamada al buzón de voz de la primera de las extensiones de este departamento.

no se puede configurar los grupos de llamadas si antes no se hubieran creado las extensiones.d Ring Grgup Ring-Group Number: 204 Group Description: D):. de la compañia) Enable Direct Dial: MARCADA (Con e¡. modifique los siguientes campos: Aq.i~ n9 answer: V'oicema:U: <2040> Atencion clienté 01 (busy) En este caso hemos creado el grupo de extensiones 204 que lo forman las extensiones 2040 y 2041 del departamento atención al cliente. también llamada Recepcionista Digital. Por ejemplo. Si se pulsa la opción 1. . "que suenen todas a la vez". si no se contesta. A continuación.D~S:MARCADA (Con Opci6n se que se puéda acoeder aldiréctor~o. en estos módulos se han utilizado configuraciones previas de otros módulos. 4. Menu A continuación se van a crear las distintas opciones planteadas para el menú del escenario: 1.¡ta opción se permite que se pueda teclear directamente la ~tensión si se conoce) Announcement. si lo hubiese. con las distintas opciones que se plantean en el escenario. Acceda al módulo IVR y pulse en Add IVR y realice los siguientes cambios: Change Name: Menu-OO Enable Directory:. se pasará la llamada a la extensión del técnico del departamento técnico. para la Situación 2.6 Configuración de IVR En este punto se va a configurar el IVR o Menú Vocal.o Atencion Cliente Elttension List: 2040 2041 Destina-tion. y cuando entre una llamada.160 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA Hay que comentar que el orden en la Lista de la Extensiones interviene en el caso que se escoja otra estrategia a la elegida por nosotros. se envía al buzón de la primera extensión (2040).2. Como se acaba de ver.

©RA-MA CAPÍTULO S: GESTIÓN DE ASTERISK MEDIANTE INTERFAZ WEB 161 2. Comentado esto. Ring Groups: oto Comercial <'203> QPci6n .3 Número a pulsar.IVR Tal y como muestra la figura 5-18. Si se pulsa la opción 3. 3. pero puede añadir más o eliminar según sus necesidades: Flatum lo IVR o Figura 5-18. 3 Acción: Ring Groups: Oto Atencion cliente <204> Para crear la cuarta opción. Esperar y que la llamada sea atendida por la secretaria. Por defecto. Si se pulsa la opción 2. se pasará la llamada a las 2 extensiones del departamento comercial. pulse en Increase Options y aparecerá una nueva opción en blanco al final. en el recuadro que vemos debajo de la opción Refurn fo IVR es donde introducimos el número que hay que pulsar para que se ejecute la acción que seleccionemos de la derecha. FreePBX . se pasará la llamada a las 2 extensiones del departamento de atención al cliente. el sistema permite la posibilidad de introducir tres opciones en nuestro IVR. La realizamos con los siguientes datos: OJ2cíqn 4 Número a pulear: t Acci6n: Extensions: <2010> Secretaria . las tres primeras opciones las realizamos con los siguientes datos: Número a pulsar: 1 Acción: Extensions: <2020> 'reenico 01 QPeión 2 Número a pulsar: 2 Aoción. 4.

Como ya sabe. Para el caso de que la llamada entre fuera de horario de oficina. "f' es una de las extensiones especiales usadas por Asterisk. pulse en Save y posteriormente aplique la configuración a Asterisk. Para ello. y para dar la bienvenida por la mañana o por la tarde.7 Configuración de Announcements Los anuncios o Announcements reproducen una locución y a continuación ejecutan una acción. Con esto. se reproduce la grabación Horario. pase la llamada a la secretaria. dependiendo de la hora de la llamada. que por defecto se ha dejado en 10 segundos. para que las llamadas que se realizan fuera del horario se les reproduzca la locución y a continuación pase la llamada al buzón de voz de la secretaria. y posteriormente. sino que si expira el tiempo establecido en Timeout.162 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA Con la opción "f' está indicando que si se pulsa la "t" pasará la llamada a la secretaria. Los datos a cumplimentar para ambos anuncios son los siguientes: . para guardar el IVR que ha creando. pasa la llamada al buzón de voz de la secretaria. dando la locución de que no está disponible y que se deje un mensaje. que ya se grabó desde el módulo System Recordings. por ejemplo. y que después pase al Menú Voca!. como siempre. por capítulos anteriores. acceda al módulo Announcements de FreePBX. Esto 10 usaremos para varios casos en el supuesto. También puede utilizar la extensión "i" en el IVR si quiere realizar alguna acción en concreto si la pulsación que se produce es incorrecta. y por último. Ahora sólo queda grabar el Anuncio para las llamadas que entren por la mañana y por la tarde.2. 4. introduzca los siguientes datos en los distintos campos: y a continuación pulse Submit Changes para grabar este Anuncio. hay que actualizar los cambios en FreePBX.

­ • Llamadas en Horario de Tarde.­ Aplicamos los cambios y hemos terminado con la configuración de los "Anuncios" . si no ha definido ningún IVR.© RA-MA CAPíTULO 5: GESTIÓN DE ASTERISK MEDIANTE INTERFAZ WEB 163 • Llamadas en Horario de Mañana. el orden de configuración de los módulos tiene su importancia. . no llegaría ni a aparecer la opción de enviar la llamada al IVR después de reproducir la locución. ACId Announcement Horario de Manana Horario de OfiCIna Horarro de Tarde Figura 5-19.Anuncios Como puede ver. ya que. por ejemplo. FreePBX .

Figura 5-20.8 Configuración de Time Conditions Definidos ya los anuncios. por lo tanto. Si no se encuentra en horario de mañana comprueba si es el horario de tarde y si es el horario de tarde. sino. se empieza por la última condición. ya que desde la pnmera la tendremos que mandar a la segunda condición.164 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA 4. pasa a la llamada al anuncio Horario de Oficina. . cuando entra una llamada se comprueba si se encuentra en horario de mañana y se reproduce el anuncio de mañana. Para realizar la configuración de las condiciones. tal y como se muestra en el diagrama de la figura 5-20.2. se van a definir ahora los horarios de atención de llamadas según nuestro caso particular. pasa la llamada el anuncio de la tarde. Secuencia de comprobación de anuncios Es decir. El horario que se ha planteado es el siguiente: • • • Mañana: 08:00 a 14:00 Tarde: 16:00 a 18:00 Días: Lunes a Viernes En la figura 5-20 se puede ver un diagrama del orden o secuencia de comprobación del supuesto. ya que no está ni en el horario de mañana ni en el de tarde. quiere decir que está fuera de horario de oficina.

Announcements: Horario de Oficina Subrni t Changas Para añadir la primera condición.be.tart:16:0Ó Time to fini¡:. Annpuncements: Horario de Tarde Desti!JatiQ!J if time does not matohfts i.r Tar~ D§sti!Jation i f timematqpe. ¡imes:. .December pestinatio!J ti time matqpes: Announcements: Horario de Manana De¡:.h: Month start: January Month finish: Decem.líi!.©RA-MA CAPÍTULO 5: GESTIÓN DE ASTERlSK MEDIANTE INTERFAZ WEB 165 Acceda al módulo Time Conditions de FreePBX.tination i f time does !Jot matches: Time Conditions: Horario Tarde Subrnit Changes Por último aplique la configuración a Asterisk pulsando en Apply Configuration Changes y ya tendrá las condiciones creadas tal y como muestra la figura 5-21.t. pulse en Add Time Condition y rellene los campos de la segunda condición con los siguientes datos: Add Time .Condition Time Condition name: Rorarío Time to ¡:. rellene los campos con los siguientes datos: Adg.ondition· Time Condition name: Rorario Manana Time to start: 08:00 Time to finish: 14:00 Week Day Start: Monday Week Day finish: Fríday Month Day start: 1 Month Day finish: 31 Month start: January Month finish: .: Mondqy Week Day p<riday Month Day I!!tart: 1 Month Di'iY finif...h: 18:00 Week oay StaJ.

A partir de aquí. podria gestionar las llamadas según el 010. Lo que sí se puede hacer es distinguir por qué puerto entra la llamada. HÓrar1~M~~ lioianQr~ Figura 5-21. se dispone de los siguientes elementos hardware: una tarjeta analógica con 4 puertos FXO. Por lo tanto. dos de ellos conectados directamente a dos líneas telefónicas. Es decir. es decir. 954xxxxOl Ó 954xxxx02.166 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA Add Time Coodltion .. puede averiguar por qué puerto FXO de nuestra trujeta entró la llamada. con dos números distintos.Aplicar corifiguración de anuncios 4. FreePBX . y los otros dos FXO estarán conectados a dos enlaces FeT GSM. acceda al módulo y rellene los campos según los datos que se detallan a continuación: Add Channel Channel: 1 .2. el DIO que se asigne para esa llamada será 954xxxxOl y si entra por el FXO 02. el OIO será 954xxxx02. la Línea 2. la Línea 1. si nos entra una llamada en nuestra PBX. al que el remoto llamó. Supongamos los números: • • Línea 1 -----> 954xxxxO 1 Línea 2 -----> 954xxxx02 En las llamadas analógicas entrantes no se dispone de la información del número llamado (010). resulta imposible discriminar las llamadas entrantes según el número DIO al que han llamado. no es posible conocer el número. si la llamada entra por el puerto FXO 01. como mucho. Para configurar estos detalles. y posteriormente se discrimina por este número 010. Para ello se asocia un valor al DIO según el puerto FXO por el que entra la llamada.9 Configuración de Zap Channel DIDs Tal y como se expuso en la descripción del supuesto. Estas tareas las puede realizar mediante el módulo Zap Channel DIDs de FreePBX.

©RA-MA CAPÍTULO 5: GESTIÓN DE ASTERISK MEDIANTE INTERFAZ WEB 167 Description: Linea 1 DID: 954xxxxOl Suhmit· Changes Add Channel Channel: 2 Description:Linea 2 DIO: 954xxxx02 Suhmit Changes Los enlaces GSM se asignan de la fonna: Add channel Channel: 3 Description: GSM DIO: 6xxxxxxOl 1 Suhmit Changes Add Channel Channel: 4 Description: GSM 2 DID: 6xxxxxx02 Suhmit Changes El último paso. Add Zap Channel Zap Channel DIOs allow you to assign a DIO 10 spocific Zap Channels. como siempre. Ilke context '" from-zaptel AddChannel 1 Linea 1 2. podrá ver los canales creados en el sistema. es aplicar la configuración a Asterisk y. You can supp~ Ihe same DIO 10 multipla channals. Linea 2 3:GSM1 4 GSM2 in yourzapata conf configuraoon effecting Ihe spsClfied channel(s). Figura 5-22. FreePBX. Thls would be a common scenano if you have multiple POTS línes Ihal are on a hunt group from your providar You MUST assign lhe channel's context to frorn-zaptel for Ihese setlings to have effee! tt will be a hne Iha! look. Once you have assignad DIDsyou can use standard Inbound Routes wilh Ihe specified DIOs lO route your calls. tal como muestra la figura 5-22.Canelez Zap .

y es que. 6xxx. 4. DID Numbre. debe aparecer algo similar a lo siguiente: conte.2. Acceda a este módulo y configure el sistema con los siguientes datos: &l!.4 En estos momentos ya podemos hacer discriminaciones según el número al que está llamando la gente. es decir. en el fichero zapata. Esta tarea se realizará a través del módulo lnbound Routes.xxxOl Time Conditiops: Horario Manana Submi t Changes ·' .i Incom~ng' 'Rou:t~ DE!-scription: Lipea 1 DIO Numbre.168 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA Sólo nos queda un detalle para poder utilizar esta configuración.ltt". con! o zapata-channels. los canales deben estar asignados al contexto from-zaptel..10 Configuración de Inbound Routes Ahora únicamente queda configurar el nexo entre las líneas externas y toda la configuración. para que siga el proceso de actuación que hemos venido definiendo.conf.frPtll-zaptel channel => 1. 954:lOOQC{l1 aorario Manana Submit Ch~l)HeS Oescription: Linea 2 DrO Numbre: 9S4xxxx02 Set Destination Time Conditions: Horario Manana Submit Chapges Add Incoming Route Description: GSM l.

:onditions Horario Manana. etc. Un campo que puede ser interesante es Caller ID Number. cuando entran van a parar al módulo Time (. Finalmente aplique la configuración a Asterisk. realizar alguna discriminación según la )ínea por la que entra una llamada.©RA-MA CAPÍTULO 5: GESTIÓN DE ASTERISK MEDIANTE INTERFAZ WEB 169 Ada Incoming RQute Desc:dptic:>IHGSM 2 DID Numbre: 6xxxxxx02 Time Conditions: Horario Manana Submit Changas Como puede observar. Si lo desea así. por ejemplo. que es el número del lIamante. todas las llamadas siguen el mismo camino. los datos para la única "Inbound Route" que habría que añadir son los siguientes: A9d Incoming ~yte Description: TODO Set De-sÜnati on Time Conditiona: Submit Changes ~orario Mánana En este caso. sin tener que añadir las cuatro anteriores. y si coincide con el dado. el usuario puede. o al departamento técnico. etc. al realizar el Submit Changes nos avisa de que esta ruta afectará a todas las llamadas entrantes. mandarla directamente a dirección o al departamento técnico. En esta fase. puede añadir una única lnbound Route y que todo lo que llegue sea enviado al módulo Time Conditions Horario Manana. Si no ha pensado realizar estas discriminaciones. Puede definir alguna ruta de entrada que compruebe el número desde el que se está llamando. pasarlo directamente a dirección. . y desde aquí comienza toda la secuencia.

ahora hay que añadir las tres rutas de salida. No se pueden realizar llamadas salientes aún. Acceda al módulo Outbound Routes y eliminémosla pinchando sobre ella y a continuación pulse en De/ete Route 9_outside". ya que no están aún configurados los caminos de salida para estas llamadas. Por 10 tanto.170 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONlA ©RA-MA ~l/enyClO < GSM1 GSM2 ~l¡anyCID Línea 1 954xloo:Dl I any CID Unea2 < 954mx021 any CID Figura 5-23. las llamadas a móviles salen por los dos últimos FXO que es donde están conectados los 2 FCT GSM. Aplique la configuración para que sea reconocida por Asterisk. FreePBX crea una ruta de salida O llamada 9_ outside.2. FreePBX . Las llamadas nacionales deben salir por los dos primeros canales FXO de la tarjeta. Por defecto. Acceda de nuevo al módulo Outbound Routes y cumplimente los campos de la siguiente forma: Ruta Nacionales Raute Mame: Nacionalee Dial Patterns: 010 012 061 083 - . por el proveedor de VoIP. 4.11 Configuración de Outbound Routes En este punto se va a configurar el flujo de las llamadas salientes. y las llamadas internacionales.Incomming Route Este es el momento la centralita está totalmente operativa para recibir llamadas desde el exterior y que sigan la operatoria que se ha definido.

'~......l.tkM$. Sequ.. .. ~1z.te Name.Changes Tal y como muestra la figura 5-24._... ~ WIHI~ l'NlOb .Rou... ~~~~~ :~~"'~_~"'~-"' -~: =:::'~~..ta Méviles . (O·Cu. sIplProvee!iior-SIP Submit . 1ft.e nos venga Tnxk Sequ..~ __ ~~~ "~ ~_. MmJh.~.1 SfJHP.enee..» 4i..o 1'If~ MY dljIt-froa 24 .. ' .. submit Changea 'ZMIigQ IJ.~tiYlft'ltIAt.. Patterns~ . puede verlos situándose sobre la etiqueta Dial Patterns...!iftG ~ fI'UI . .a lnt€rnacional~~ Rou...X 1'I\.~~~~_ '-.©RA-MA CAPÍTULO 5: GESTIÓN DE ASTERISK MEDIANTE INTERFAZ WEB 171 G!il...Diierotroque nos venga T~.f_- Dial Patterns ~~ Z .'. .. :J~.. .~-.H '-. __ or hrlkr m-tt.... FreePBX . 092 11. MoviJ.. ~~mtfto-~&w-otl.eydigilYfontA mlllcM5 '1'Jy ittlt1lom t.-. . ____~ lVfwovkt on'Y . ....te Name: Moviles Dlal Patterns: oo.al(. ..~c~~...?1.~(~.es pial.!i~ lO eualquiertíCro qu. puede ver los códigos que puede utilizar en el Dial Pattern.2 118XX ¡XXX 'rnxk Sequenc~.IIdI• ..2M' .M' .. ~... 1*Mt:'-'-'-~ a::~t*r) .....¡(1~.ence: ZAP/gl Submi t Changes B\!t. .:::fM~ ch .. ~~ :~~-~-~---~- __ ___ _ _____ Figura 5-24.Códigos de Dial Patterns ....

2. Configuración regional. Para ello acceda al módulo General Settings y cambie los siguientes campos: h !Ir! .172 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA Por último. Si se permiten llamadas SIP entrantes anónimas. Si se permite o no la transferencia de la llamada al que llama. Formato de hora. aplique los cambios para que sean reconocidos por Asterisk. Etc. Si se permite o no la transferencia de la llamada al que es llamado. FreePBX . Con la configuración de este módulo. sólo tiene que cambiar un par de parámetros. Para el ejemplo. puede configurar parámetros como: • • • • • • • Tiempo que suena una extensión antes de ser enviada la llamada al buzón. Ya puede ponerla en pruebas e ir afinando configuraciones según sus necesidades.12 Configuración de General Settings Por último. existe un módulo en FreePBX que ayuda a configurar parámetros generales de la PBX denominado General Settings.Routes Ahora sí tiene totalmente configurada la centralita PBX en cuanto a llamadas entrantes y salientes. oNacionaj¡¡¡s Figura 5-25. 4.

2.©RA-MA CAPÍTULO 5: GESTIÓN DE ASTERISK MEDIANTE INTERFAZ WEB 173 Asterisk Outbound Dial command options! T Count.13 Otros módulos interesantes Se puede encontrar en la situación de que el cliente quiera tener la opción de modificar la secuencia de entrada de llamadas. llamado Day/Night Control y que se utiliza para permitir estas situaciones. y retomarlo a su situación normal cuando se marchen. Este módulo es una especie de "interruptor" para activar la configuración especial o dejar la habitual simplemente con realizar una pulsación desde el teléfono. Bien. quedando totalmente operativa y en producción. tenga la posibilidad de que entren las llamadas a la extensión 2010 de la secretaria en vez de saltar el buzón. Hasta aquí ha llegado la configuración de nuestra PBX mediante el interface gráfico FreePBX. FreePBX dispone para estas situaciones de un módulo. que no se instala por defecto. es decir. además de establecer las indicaciones para España y configurar una cuenta de correo a la que mandar la información de actualizaciones disponibles para ser instaladas.¡t Mode Control Day/Night Feature Code: O Description: Activa Secretaria CUrrent Mode: Day Day Time Conditions: Horario Manana ~ Extensions: <2010> Secretaria Save . 4.ry Indicationsz Spain Onlipe Upd¡il.te§ Update Email: <Nuestro Eroail> La anterior configuración permite que las llamadas salientes se puedan transferir. si un día se queda alguien en la oficina fuera del horario habitual. Da}' I Nigl.

hay que pulsar "*280" para Activar I Desactivar esta configuración. ". si ha creado el índice O (Day/Night Feature Code: O). . Day I Night Mode Control Delete DaylN.ghl Feature Code '::tso Used as Destinatíon by 1 Object Use faature code "2SO lo toggle DAYINIGHT moda Deyll'. Habrá que acordarse siempre de retornar el "interruptor" a su estado de operatoria habitual cuando nos marchemos de la oficina. De esta forma.DayNight Code Otra de las situaciones que nos podemos encontrar es que en un momento dado se necesite agregar una extensión. o cosas triviales que podria hacer un usuario avanzado sin la necesidad de que tenga que intervenir el administrador.174 VOIP y ASTERlSK: REDESCUBRlENDO LA TELEFONÍA ©RA-MA donde Day/Night F eature Code es el índice y puede tener hasta 10 índices o interruptores. FreePBX . Para activar o desactivar la Modalidad Día / Noche hay que pulsar "*28<indice>" en cualquier extensión.J¡ght Feature Code Index: Curran! Moda: üptlooal Password Figura 5-26. A continuación hay que cambiar las Inbound Routes y direccionar las llamadas a: Dayl en vez de "Time Conditions" al que se dirigía la llamada entrante. o cambiar algún dato de las existentes. por ejemplo. y se reproduce una locución indicando si la hemos activado o desactivado.

A continuación puede crear los usuarios que desea y establezca los permisos que estimemos oportunos. Esta aplicación ha sido desarrollada por Coalescent Systems Inc bajo licencia GPL. para añadir un usuario en Admin Access seleccione la opción Extensíons. Al entrar en el sistema acceda al módulo Administrators y cambie la contraseña por defecto. .conf y cambiando la variable AUTHTYPE=none por AUTHTYPE=database. como se indica al entrar en el módulo Administrators. 4.3REPORTS Uno de los paquetes que incorpora la instalación de FreePBX se puede encontrar en la pestaña Reports y permite ver toda la información de las llamadas recibidas y enviadas. pero nada más. FreePBX crea un usuario admin con la contraseña admin y que tiene todos los permisos.©RA-MA CAPÍTULO 5: GESTIÓN DE ASTERlSK MEDIANTE INTERFAZ WEB 175 Si se permite el acceso a la configuración de FreePBX a cualquier usuario se corre el riesgo de que la PBX deje de funcionar por una manipulación indebida. A continuación. hay que permitir esta opClon editando el fichero letc/amportal. En primer lugar. verá que el sistema ahora le pide un nombre de usuario y contraseña. y después de reiniciar FreePBX. por ejemplo. y aplique la configuración. y manteniendo la tecla Control pulsada. pulse también el Apply Changes Bar. Por lo que la configuración del Díalplan estará a salvo. Con esto. A continuación se detallan otros paquetes también instalados con FreePBX. Por defecto. el cual permite agregar usuarios y otorgar los permisos sobre las acciones que pueden realizarse en FreePBX. ha creado un usuario que puede cambiar la configuración de las extensiones. FreePBX cuenta con el módulo Admin istrators. y antes de configurar este módulo.

176 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA Figura 5-27.CSV y tratarlos posteriormente.Reports (Traffic) Además. Figura 5-28. FreePBX . FreePBX . por meses. entre fechas.PDF o . etc. puede obtener los listados en formato .Reports Este paquete es de gran utilidad si desea realizar informes de llamadas con gráficos. .

-1151OZ1-s.ed for the. Si pulsa sobre una determinada carpeta puede ver los mensajes que contiene (véase la figura 5-31)..t3t lOOfJ.¡!i"9'S1) Figura 5-29. Este paquete es conocido como ARJ.4 VOICEMAIL & RECORDINGS (ARI) Otra de los paquetes interesantes que se instalan junto con FreePBX es el que se sitúa bajo la pestaña Recordings de FreePBX..---... Con él. .(lEI "11 1:< ~lt-2é.n» lOOj.phonE:? Figura 5-30.mo:)4.1&2fI~ 100(1. Voicemail Mailbox Una vez dentro de la aplicación.1tim. bajo licencia GPL.~7H!I :ze111 11 lOO84\M& 10 11n ¡l. el usuario puede administrar su buzón de voz y alguna que otra prestación interesante sobre su extensión en particular.> CAPÍTULO 5: GESTIÓN DE ASTERISK MEDIANTE INTERFAZ WEB 177 ---.­ ~lt¡'l"..1l6-~1¡']¡Jn1l1: lOOR-!J6. se puede ver un listado con los mensajes de voz.!)6. y está desarrollado por Dan Littlejohn de Littlejohn Consulting.5&-'6m:~ .-rr.1)$..Reports (I'ipos de listados) 4. \& lítll. antiguos (carpeta Old) y nuevos (carpeta INBOX).O'1.1<fOO :lCl:l&-1J&H. login o Pf'm!tmber PaS:Jword Use 'tour VolcemaU MaRbo)t and Pass""Ol"d Th!:s 15 the same pas5wQrd uo.. l(i -~UfNJ. FreePBX . ~O\I.© RA-MA 9..

buscar llamadas. . Volcemafl for Comercial 01 (2030) Figura 5-32. VoiceMail (Reenvío de mensajes) Desde la opción Cal! Monitor se puede ver el reporte de toda la actividad de su extensión. etc. Volcemail for Comercial 01 (20)0) Figura 5-33. también puede seleccionar uno o varios mensajes y reenviárselos a otra extensión. y borrarlos o moverlos a otra carpeta.178 VOIP y ASTERlSK: REDESCUBRlENDO LA TELEFONÍA ©RA-MA Volc~malt fur Com~rcl" 01 (2030) ~ Figura 5-31. Desde esta misma pantalla. o varios. Voicemail (Mover mensajes) Por otra parte. ordenarlas. puede marcar un mensaje. Ejemplo de buzón de voz de un usuario Para reproducir un mensaje hay que pulsar sobre el enlace play que aparece en la columna Message en la línea del mensaje que deseamos oir.

.©RA-MA CAPÍTULO 5: GESTIÓN DE ASTERlSK MEDIANTE INTERFAZ WEB 179 -""'" tall MonItor ror Comercial 01 (2030) l rs. como pueden ser desvíos. Finalmente.u FOIWil'dillll iJncond¡t¡ona[: ~=-=-~=-~ DE. Phone Felltures for Coméretal 01 (2030) - Ga e. VoiceMail (Monitor de llamadas) En la opción Phone Features el usuario puede configurar algunas opciones de su extensión.hQ OÚClN. . .¡""" J L4l1_~~ Figura 5-34. el formato del fichero de audio. en la opción Settings podrá configurar opciones del buzón de voz.U W. VoiceMail (Configuración de la extensión) Si pulsa en la opción Feature Codes le aparece al usuario una lista con los Códigos de Servicio disponibles para esa extensión..bkt Figura 5-35. la dirección de correo de las notificaciones. DND.ab-lfl o Entt.>tCo¡thlrb e. etc. además de opciones de monitorización como la grabaciones de llamadas entrantes y salientes.¡t. la contraseña. llamada en espera.

.. murt b ..-.l ~_~ ~ E __ '.a:i"t. .180 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA Settlngs for Comercial 01 (2030) Vole_U Sett¡ngs voic~ma!l Password' Enter agalf1 to confirrn' P-lIu. Flash Operator Panel .---.~·E'c i. .~b2'~ . ' ..'..i~\------- ¡t.on To.~ .' ~JtL~~j~i~~.: :} jl9ltJ Email Notlficatlon Enl.11 nurnbert. ..r Eme" Not.5 FLASH OPERATOR PANEL (FOP) Otra de las aplicaciones que se comentará y que se instala por defecto junto con FreePBX es el Flash Operator Panel (FOP)...i" ". l' Audio F orm~t: Calt Monitor Settlngs Record INCOMiNG' Record OIJTGOING O O A!wavs Always O O Never Nevar ® ® On-Demaf"ld On-Oernand Figura 5-36. .:.. '0' ~-~-~<~\~. VoiceMail (Settings) 4. ..-~bl.tit ~i~i '" r_ i ".. ".". ­ Pag..!""...ficat..t !• .t..-'­ Figura 5-37.crd...··YJté...l VOlcemail Te D Er.1~"ii1í§.:..

Para poder interactuar con la PBX desde el FOP. esté ocupado FOP mostrará el icono que haya su izquierda en rojo. debe tener acceso introduciendo la clave configurada.conf. se puede apreciar que aparecen dos extensiones que resaltan sobre el resto. colas. comienza a vibrar. están registradas y el resto no. Esto indica que esas extensiones. Flash Operator Panel gestionando llamadas Por ejemplo. siendo esto configurable en /etclasterisk/manager. En dicha figura. Cuando entra una llamada a una extensión. como se detalla en la instalación de FreePBX. . Esta aplicación se enlaza con Asterisk a través del puerto 5038 del manager. el icono del teléfono. En el caso de que alguna extensión. puede ver que la extensión 2030 está hablando con la extensión 2010 y que esta última tiene "aparcada" una llamada en la posición 71. que aparece a su derecha.©RA-MA CAPÍTULO 5: GESTIÓN DE ASTERISK MEDIANTE rNTERFAZ WEB 181 El FOP es un panel de operadora en el que podemos visualizar el estado de las extensiones. Además de visualizar los estados.conf En la figura 5-37. abajo a la derecha. la 2010 y la 2030. en la imagen de la figura 5-38. el listado de los Trunks que hay definidos en la centralita PBX. también se puede apreciar. trunk:s. Figura 5-38. podremos realizar distintas tareas propias de una operadora. y en /var/www/html/panel/op_server. etc. o trunk.

En ese momento. y en el momento que descuelgue. establecer la comunicación entre dos extensiones. Por defecto. Esto implica que ya podemos interactuar con nuestra PBX desde el FOP. nos aparecerá el icono de un candado abierto. También puede. Esta tarea se realiza tanto para desbloquear como para bloquear el FOP. la extensión correspondiente comenzará a sonar. estableciéndose así la comunicación. Figura 5-39.conf y cambie la contras efta en la variable FOPPASSWORD=passwOrd.: REDESCUBRlli'NDO LA TELEFONÍA ©RA-MA Si observa en la figura 5-38. Esto indica que esa extensión tiene mensajes pendientes de leer. por ejemplo. . este código es passwOrd. Una vez introducido el código y refrescada la pantalla. Para ello. empezará a sonar la primera extensión. pulse sobre el icono y le pide el código de seguridad. teniendo en cuenta que la "O" es un CERO. en la parte superior izquierda. Como podemos apreciar. Flash Operator Panel (Protegido) Para desbloquearlo. nos aparece el icono de un candado cerrado. y una vez descuelgue ésta. pulse y arrastre el icono del teléfono de una extensión hasta el icono del teléfono de otra extensión. Es muy recomendable cambiar el código de seguridad editando el fichero /etc!amportal. Si se sitúa encima del sobre y pulsa dos veces en él.182 VOIP y ASTERlSK. entrará en el proceso para reproducir los mensajes de voz pendientes en su buzón. nos aparece un "sobre". Esto implica que el FOP está protegido y no puede realizar en él ninguna tarea sin introducir la clave. a la izquierda del icono del teléfono de la extensión 2030. comenzará a sonar la segunda extensión.

nos crea el fichero usuarios en /varlwww. Para realizar esto. en Debían. a monitorizar. 5 5.org/documentation.rjwww/usuarios. son configurables en el fichero /var/www/html/panel/op_server. usuario con permisos. puede forzar que sólo ciertos usuarios se puedan conectar al servidor web.asternic.conf. uauario~ (nos pedirá que int.d !va. Los pasos que debe realizar son los siguientes: • Creación del fichero de usuarios: # htpaeswd ~C !var!www/ueuaripsusuaripl (nospedi:iá..+ll. • A continuación configure Apache para darle a los usuarios permisos sobre los directorios en concreto a los que podrán acceder.conf. etc.html.1~~fue 1iuehNamé . que introduzcamos la password para el "usuarioi") De esta forma. hay que crear el fichero de usuarios y los usuarios que tendrán permiso a acceder al servidor Web.ec~Ór'f :.1 Varios AUTENTIFICACIÓN SERVIDOR WEB Independientemente de los usuarios que puede crear para la administración de FreePBX en el módulo Administrators. Repita esta tarea para todos los usuarios que desee añadir.roduzcamos la pasaword para el "uSuario. y añada las siguientes líneas: <D~7. en el caso de estar usando CentOS. o /etc/httpd/conf/httpd. creando así una doble barrera de seguridad. Edite el fichero de configuración /etc/apache2/httpd. tiempos de refresco. • Para crear los demás usuarios debe ejecutar el siguiente comando: # htpa:¡¡s".©RA-MA CAPÍTULO 5: GESTIÓN DE ASTERISK MEDIANTE INTERFAZ WEB 183 La configuración de parámetros corno la centralita o centralitas.a"') De esta forma añade el usuario2 al fichero /var/www/usuarios.conf Toda la documentación de instalación y configuración de esta aplicación la puede encontrar en http://www. puertos. y hemos añadido nuestro primer usuario usuariol. que contendrá los usuarios permitidos.

IV1:r. • Por último.estart Es recomendable que si utiliza los mismos usuarios que los creados en el módulo Administrators de FreePBX. los cree con las mismas passwords y así evitar confusiones. la password. Esto se hace estableciendo la comunicación a través del Manager de Asterisk..:1:tei!l>. iniciar llamadas. y por ende.conf . . hay que modificar el fichero de configuración /etc/asterisk/manager. etc.'WJ. .l:i~p'iC..z:FlÍ. '#lat. ~~~ife •. .l. Para definir el puerto de comunicación.cl init· d.. sólo se le pedirá una vez.184 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA At¡.. le pedirá validación para ambas áreas. los hosts que tienen permisos.... cambiar la operativa del dialplan...'i' ..e: ©RA-MA </DiX=éQtP~? . el usuario.2 AJUSTES EN ASTERISK MANAGER Los programas de terceros pueden tener acceso a la operativa de Asterisk como obtener información de eventos.U~~. 5. y validará tanto el Area Restringida como el acceso a la Administración de FreePBX. .e. Si desea que sólo algunos de los usuarios definidos en ese fichero tengan acceso a este directorio.:ios Esto implica que al directorio /var/www/html sólo podrán acceder los usuarios definidos en el fichero de usuarios /var/www/usuarios. sólo los usuarios listados en esta línea podrán acceder al directorio.tI:l. •.:I:wwwi 13.fI. hay que reiniciar el servidor Apache para que surtan cfecto los cambios: En Debian.. etc..t:t En CantOs: #·¡service httpd :¡. tiene que cambiar la línea Require valid­ user por Require user usuario1 usuario2 . a la aplicación.~t?¿a. . En caso contrario. tal y como hace FOP. . y~lia-~~l(" . Si crea el mismo usuario y password que el definido en este módulo.r. De esta forma.

org y lo descomprime ejecutando: # cd fusrlsre .©RA·MA CAPÍTULO 5: GESTIÓN DE ASTERISK MEDIANTE INTERFAZ WEB 185 EadminJ Como puede ver.n~29.a:ste:rnic.29 desde http://www.swf de la instalación por los de la versión 0..o1!:'s/fQe¡¡¡/op p{tnel. Con FreePBX se instala FOP versión 0. debe actualizar algunos ficheros a la versión 0.o . sino que nos muestra los Botones de Estado conmutando entre verde y rojo.. Si tiene instalada la última versión de Flash Player puede encontrarse con que FOP no se refresca correctamente. #: tar xfpvz op-'panel-O.ta:r. el fichero tiene parte de configuración general y después la definición de cada usuario y sus permisos.el.pl y operatoryanel.asternic.O.3 AJUSTES EN FOP Este paquete utiliza la tecnología Flash de Adobe para trabajar.29: # .tar.gz • Reemplace los ficheros op_server. Las tareas a realizar son las siguientes: • Descargue FOP v.28. . 5.g. Para solucionar este problema. #wgE!tnttp:IIW\llW.c 4 op-'pap.29 del FOP y realizar algún cambio en la configuración.. 49 .29.

justamente al principio de la sección [general}.l • Reinicie Amportal para que se tomen todos los cambios: #: ampo:r:tal resta:r:t Ahora si se conecta al FOP se deben de haber solucionado estos problemas. Si .186 VQIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA # cp I.conf de la instalación actual y añada. swf /var!wwwlhtml/panel • Edite el fichero /var/www/html/panel/op_server. la siguiente línea: uae_amportal~cClnf".l i cp flash/opéz.-atoryanel.:.Ípserve:¡.pl /var/WW1of/html/paI+{!.

askozia.-.-- ..-.."...."...x Distribución precompilada de http://www.....------'----------------------------~BiltÍllg Platafonna de tarificación para http://www..-~~-.--..~......:....:..APÉNDICE 1 HERRAMIENTAS Y URLS REFERENCIADAS Consolación Gil Montoya yMaría Dolores Gil Montoya A continuación se muestran las herramientas y las páginas web referenciadas a lo largo del libro...org Asterisk realizada en php A$k<)~~..:.--..asterisk2billing.com Asterisk basada en FreeBSD y derivada de monowall _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ _' -_" _.._. Nombre Descripción URL Centralita para http://www .:.asterisk..c.--"-~..:~'--.org comunicaciones de código libre .......

específica para dispositivos de recursos limitados Paquete de software que permite gestionar mediante interfaz web los faxes que envía y recibe un sistema Asterisk Distribución GNUlLinux basada en RedHAT Distribución GNUlLinux Distribución precompilada de Asterisk basada en CentOS y con un interfaz web basado en FreePBX Distribución GNUlLinux Interfaz flash para el manejo de extensiones vía web Interfaz web para la gestión de las tareas más habituales de un sistema Asterisk (Código abierto) Gestor de faxes mediante software Software que emula un módem telefónico Enrutador para el protocolo SIP Herramienta paga gestión de bases de datos de código abierto ¡>B"milF~ Distribución precompilada de AsterÍsk basada en CentOS y con un interfaz web basado en FreePBX Enrutador para el protocolo SIP Cancelador de eco GPL Enrutador para el protocolo SIP Teléfono software con soporte http://www.centos.elastix.debian.org http://www.astlinux.org h http://www.net http://pbxinaflash.kamalio.org http://www.ipteLorglser http://www.sjlabs.netlprojects/iaxmodem http://www.orgl Distribución precompilada con Asterisk.mysqLcoml http://pbxinaflash.freepbx.hylafax.com .com http://sourceforge.or http://www.roweteLcom http://www.avantfax.com ··qiMsIfS http://www.188 VOIP y ASTERlSK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA Nombre Descripción URL http://www.org htt ://www.com http://www.opensips.org htt ://www.

vendedores e investigadores. Asociación de ingenieros.sugarcrm.zoiper..voiceone.trixbox.!/www.vtiger.voipnovatos.com http://www.com Zoiper Teléfono software con soporte URL Descripción IETF.com http://www.wikipedia. operadores.~!a para virtualización http://www.sure!eg.es .org http://www. . CRM de código abierto Teléfono software con soporte SIP http://www.org http://www. diseñadores.com http://www.coml http://www.org Asterisk basada en CentOS y con un interfaz web basado en .es bttp:llwww. orientada al correcto diseño de la arquitectura de Internet así como su operación BIog sobre VozIP y Asterisk Página web dedicada a la Administración de Sistemas Operativos y en la que puede encontrar material relacionado con la obra Comunidad de usuario de Linux en Ecuador GNU.~b6X< ~~:.counterpath.it de sistemas operativos ~Viii(:eOne Distribución que incluye Asterisk y un gestor web del mismo Wiki sobre Asterisk VTi¡erCRM . Sistema operativo basado en UNIX Web que contiene numerosos tutoriales para configuración de diferente software (en inglés) Blog sobre VozlP y Asterisk Web especializada en soporte técnico en redes y administración Web donde se alojan sonidos en español para Asterisk Biblioteca on-line http. que se integra con URL http://www.voip-info.virtualbox.©RA-MA APÉNDICE 1: HERRAMIENTAS Y URLS REFERENCIA DAS 189 Nombre Descripción Plataforma CRM para la gestión de recursos y relación con los clientes de una empresa.

-- SI· .

Pronto todos querían aportar sus conocimientos para que Linux se convirtiera en un sistema operativo estable. Finalmente llegó la primera versión estable del Kernel. robusto y potente. Luego Linus anunció en Internet su proyecto de la siguiente manera: "Si suspiras al recordar aquellos días cuando lo hombres eran hombres y escribían sus propios manejadores (drivers). Si te resulta frustrante tener sólo Minix. estudiante de la Universidad de Helsinki. Entonces este artículo es para ti" De esa forma Linux fue liberado en Internet y la respuesta de los programadores y usuarios de UNIX fue contundente. la . Si te sientes sin ningún proyecto interesante y te gustaría tener un verdadero sistema operativo que pudieras modificar a placer.02 ya que la 0.01 nunca llegó a ser compilada con éxito. quien comenzó trabajando sobre el código fuente de Minix (un pequeño UNIX desarrollado por Andy Tanembaum) para lograr un Unix mínimo.APÉNDICE II ADMINISTRACIÓN BÁSICA DE LINUX Consolación Gil Montoya yMaría Dolores Gil Montoya 1 Introducción Linux fue concebido por el finlandés Linus Torvalds. capaz de ejecutar al menos un shell y un compilador. Primero fue la versión 0.

Se puede ver la existencia de estos modos como un esquema de protección ya que en modo núcleo se pueden ejecutar todas las instrucciones. mientras que en modo usuario las instrucciones de E/S.. etc. De allí en adelante Linux fue evolucionando a un ritmo vertiginoso hasta convertirse en un fuerte rival de los actuales sistemas operativos. supervisar la transmisión de datos entre memoria principal y periféricos. Se encarga de interpretar las órdenes y convertirlas en peticiones al kernel. y satisfacer las peticiones de servicios de los procesos existentes. lo que permite poder elegir el que más se adapte a nuestras necesidades . Sólo se permiten algunas instrucciones como las relacionadas con las operaciones aritméticas. y otras no están permitidas. Por ello. Figura JJ-J. Las llamadas al sistema lo que hacen es conmutar la máquina de modo usuario al modo kernel (también llamado modo núcleo o supervisor) y transfieren el control al sistema operativo. Se encarga de secuenciar los procesos. es el núcleo del sistema operativo Unix. de acceso a memoria principal. capa más interna en la figura.192 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA versión 1.0. Todos los servicios los proporciona el shell o los programas de utilidades (ambos actúan de interfaz entre los usuarios y el Kernel).. los programas de usuario se ejecutan en modo usuario y el sistema opetativo se ejecuta en modo núcleo. Unix podemos verla en la figura 11-1. La estructura básica del S. El shell es el intérprete de órdenes y se encuentra por encima del kernel. Estructura del Unix Para requerir un servicio del sistema operativo se utiliza lo que se denomina l/amadas al sistema (system cal/s). Normalmente se incluyen con cualquier sistema operativo Unix distintos tipos de shell. por ejemplo. reservar espacio de memoria y de disco. . . El kernel. El kernel nunca trabaja directamente para los usuarios.O.

Cuando un usuario se conecta al sistema. enlazarlo a la estructura de directorios ya existente. o File System. pero entre ellas destacamos las siguientes: • Interactivo. • Independencia respecto de los dispositivos. es una estructura de directorios completa. Al disponer de un sistema de ficheros flexible permite trabajar con sistemas de ficheros en red como NFS y RFS. utilidades de depuración de código. etc. Puede realizar varias tareas (llamados procesos) al mismo tiempo. se encuentra un único árbol de directorios formado por los distintos Sistemas de ficheros que se encuentran montados en ese instarIte. Esto permite dar un tratamiento uniforme a todos los dispositivos. Más de una persona puede usar el sistema al mismo tiempo e incluso con el mismo nombre de usuario. en la figura 11-2. organiza la información del sistema en una estructura de árbol jerárquico de directorios compuesta de ficheros. • Multitarea. • Facilidad de trabajo en red. • Portabilidad. Para poder utilizar un Sistema de ficheros hay que montarlo. 2 Sistema de ficheros Linux. • Multiusuario. La estructura que aparece al usuario será similar a la que se muestra. Son muchas las características que podemos encontrar en el sistema operativo UNIX. Esta estructura se forma mediante un sistema de ficheros raíz (file system root) y un conjunto de sistemas de ficheros montables. Los Sistemas de ficheros se montan automáticamente cada vez que se inicia el sistema operativo. lenguajes de programación. o sea. ADMINISTRACIÓN BÁSICA DE LINUX 193 La capa más externa está formada por utilidades para la manipulación de ficheros. Al estar escrito en C permite transportarlo a otros sistemas. Se escribe órdenes y el sistema operativo obedece presentarIdo las respuestas apropiadas. . Un Sistema de ficheros. El acceso a la información es el mismo sin importar donde se encuentre el fichero o dispositivo. al igual que UNIX.©RA-MA APÉNDICE n. Además incluye la posibilidad de ejecutar órdenes o programas que se ejecuten de forma no interactiva. aplicaciones de usuarios. de forma abreviada.

. ¡nit. update. reboot. El directorio X11 R6 se utiliza para el sistema X-Windows (XFree86 en Linux). halt. y sólo contiene los necesarios para arrancar y montar el directorio lusr y ejecutar operaciones de restablecimiento del sistema.194 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA dev horne prof alumn hin etc Olih Figura JI-2. arp. route. Normalmente este directorio se encuentra en su propia partición por motivos de seguridad. bin es para ejecutables. Algunos de los subdirectorios que contiene son los siguientes. lilo. Estructura de directorios del Unix Analicemos los directorios más importantes que tiene un sistema operativo Linux: • El directorio letc está reservado para ficheros de configuración de la máquina local. • El directorio llib contiene normalmente las bibliotecas necesarias para ejecutar los programas residentes en Ibin y Isbin. • El directorio ¡usr contiene los ficheros que pueden ser utilizados por cualquier usuario del sistema. getty. mkswap. Algunos de los programas que aparecen son: clock.fdisk. shutdown. ifconfig. etc. lib para . doc para documentación diversa (no incluye páginas de manual). • El directorio Isbin contiene los programas de uso exclusivo por el administrador del sistema (root). swapojf. swapon. include para ficheros cabecera de e. in/o para ficheros info de GNU. para los ficheros de configuración del sistema.- .

números. pueden contener cualquier carácter. se considera el fichero como oculto). El directorio /var/lib contiene también las bases de datos del sistema RPM. sin embargo. En un direccionamiento absoluto se toma como origen el directorio raíz seguido del resto del camino que hay que seguir para llegar al nombre del directorio o fichero. El directorio /usr/local tiene una estructura similar a la del directorio /usr. Recuerde que en Linux las letras mayúsculas y minúsculas son significativas en los nombres de ficheros. el carácter de subrayado y el punto (si está al principio. así como ficheros transitorios y temporales. Al elegir los nombres de ficheros. y los ficheros de bloqueo en /var/lock. es decir. por lo que deberían evitarse los caracteres especiales al nombrar ficheros y directorios. no es lo mismo decir 'Dato' que 'dato'.1 REGLAS PARA NOMBRAR FICHEROS Los nombres de los ficheros pueden constar de hasta 255 caracteres y. En la práctica. • Cada usuario dispone de un directorio de trabajo. Una es mediante un camino o direccionamiento absoluto y la otra mediante un direccionamiento relativo. ADMINISTRACIÓN BÁSICA DE LINUX 195 bibliotecas.2 NOMBRES DE CAMINOS ABSOLUTO Y RELATIVO Linux permite que los directorios y ficheros puedan especificarse de dos formas distintas. con propósito similar a los de /usr. Esto incluye los directorios y ficheros de spool y datos de administración y registro. serían nombres distintos. y src es para código fuente. Los ficheros de registro del sistema como wtmp y lastlog habitan en /var/log. El directorio /var/spool contiene subdirectorios para los diversos sistemas que necesitan almacenar ficheros de datos. Contiene los siguientes subdirectorios. man para las páginas del manual. al menos en teoría. muchos de los caracteres ASCII pueden significar algo especial para el intérprete de órdenes. como regla general es mejor limitarse a utilizar nombres que contengan sólo letras. 2. 2. sbin para binarios de administración del sistema (los que no pertenecen a /sbin).©RA-MA APÉNDICE II. Las páginas del manual formateadas se encuentran en /var/catman'. • En el directorio /var se guardan los ficheros de datos variables. Normalmente este directorio se encuentra dentro del directorio /home. como por ejemplo: .

si queremos Irnos al directorio /home/alumnos/moises.3 ÓRDENES DE MANIPULACIÓN DE DIRECTORIOS Para cambiar el directorio donde se encuentra actualmente se utiliza la orden cd (Change Directory). Veamos dos ejemplos: bolÍ\e/alu~s/ln\:Ii$esl. podemos hacerlo así: mkdir Ihome/alumnos/moises/ejemplos . Los otros dos casos penniten situamos automáticamente en el directorio de trabajo (home directory). Si estando en el directorio Ihome/alumnos/moises queremos crear un subdirectorio llamado ejemplos.cshré . Si lo que desea es mostrar el directorio actual..:¡ises Para crear un directorio se utiliza la orden mkdir (MaKe DIRectory).. Su sintaxis es la siguiente: cd [<directorio:.. la orden que se utiliza para esta operación es pwd (Path Work Directory). Existen algunos casos especiales cuando se usa esta orden: ca . El nombre del directorio aparece expresado de fonna absoluta. I . como se ha indicado anterionnente.. se toma como origen el directorio actual seguido del resto del camino que hay que seguir para llegar al directorio o fichero especificado.196 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA En un direccionamiento relativo.] Por ejemplo. Su sintaxis es la siguiente: mkdir <directorio> donde <directorio> identifica el directorio que queremos crear. cd$H0ME <> cd $home El primer caso nos pennite situamos en el directorio padre del directorio actual. podemos escribir lo siguiente: cd IhOlÍ\el alumnosfmoises El directorio también se puede escribir de fonna relativa partiendo del directorio actual. cshrc 2. Veamos un ejemplo: $ p'wo. lhome/alumnQs/mc.

o sea. se utiliza la orden rmdir (ReMove DIRectory). Esta orden no cambia el contenido del directorio. Su sintaxis es: 113 [<ditectQriQ. cambiar el directorio padre del que depende ese directorio.. Su sintaxis es: rmd.. Por ejemplo..ant. la orden que nos permite realizar esta operación es mv (MoVe). debemos estar fuera de ese directorio y ejecutar la orden siguiente: :rmd.>\ donde <directorio> identifica el directorio que deseamos borrar.©RA-MA APÉNDICE II. Si el directorio a copiar incluye subdirectorios.. iguo> <dir"puevo> <dir_antiguo> identifica el nombre del directorio que queremos renombrar y <dir nuevo> identifica el nuevo nombre. sólo su nombre.:. También se puede usar mv para mover el directorio de un lugar a otro. El empleo de uno u otro dependerá del caso..r La copia de directorios se realiza mediante cp (CoPy).i:t': <diree't::.r <:dir_origen:> <dir_destino> <dir_origen> identifica el directorio que queremos copiar y <dir_destino> el directorio donde será copiado toda la información. para borrar el directorio Ihomelalumnoslmoiseslejemplos. ADMINISTRACIÓN BÁSICA DE LINUX 197 o indicando un direccionamiento relativo.ejetnpJ.oris. Su sintaxis es la siguiente: t!IV<:dir. La forma de utilizarla es la siguiente: cp. Si lo que queremos es borrar un directorio. se debe usar la opción -r o -R (indistintamente) para poder realizar una copia recursiva. si queremos cambiar el nombre del directorio Ihomelmoiseslejem (suponiendo que éste exista).ir·· ¡home!alumnos ltn6:ieres/e'jetnplps Si deseamos renombrar un directorio. por el nombre Ihomelmoiseslejer.$s Es importante recordar que siempre podemos usar cualquiera de los dos modos de direccionamiento. el ejemplo anterior quedará de la forma: ~dir ··. Por ejemplo.>] . se puede realizar utilizando la siguiente orden: mv /home/moise$/ejem/home/lllQiJ3es/ejé. Para mostrar el contenido de un directorio se puede utilizar la orden ls (LiSt).

head.. copiarlos. se mostrará el contenido del directorio actual. Si es mayor de 1 indica que existen entradas en otros directorios apuntando a ese fichero. Algunas de estas órdenes son more. tamaño del fichero. lo que hace es actualizar las fechas del fichero.:45 hQme 27 root 1024 No" 1118:05 usr El primer campo indica el modo del fichero (-) o si es un directorio (d). Linux incluye una orden que nos pennite crear un fichero de O bytes si éste no existía. y por último. Veamos un ejemplo: $ ls*l·j· drwx:r-xr-x drW. ver su contenido. en bytes. 2."xr-x 5 rOQt 512 Mar 15 1$. etc. Algunas de estas operaciones pennitirán mostrar el tipo de un fichero. La opción -1 (Large) de Is es la que muestra infonnación más detallada. el nombre del fichero. Si no se especifica ninguno. Su sintaxis es la siguiente: .. siguiente campo es el número de enlaces. en ambos estos pennisos son r-x). El resto del campo nos indica los pennisos del fichero para el propietario (en nuestro ejemplo es rwx para ambos directorios). Estudiemos cada una de estas órdenes. indica el número de entradas de subdirectorios que contiene. La orden es touch y su sintaxis es: touch <fichero> donde <fichero> identifica el fichero que queremos crear o actualizar. Para ficheros es nonnalmente 1. En cuyo caso. grupo al que pertenece el propietario y para el resto de los usuarios (en el ejemplo.198 VOIP y ASTERlSK: REDESCUBRlENDO LA TELEFONÍA ©RA-MA donde <directorio> identifica el directorio que queremos visualizar. cat. La orden more visualiza un fichero de texto pantalla a pantalla. crearlos. Para directorios. .ll:r. taíl.4 ÓRDENES DE MANIPULACIÓN DE FICHEROS Las órdenes de manipulación de ficheros penniten realizar detenninadas operaciones sobre ficheros ordinarios. fecha y hora de la última modificación. Son diversas las órdenes que existen para visualizar el contenido de un fichero. Los campos que van a continuación son el nombre del propietario del fichero.

si deseamos ver todas las cuentas que hay en el sistema. Si le antecede un +.profile . Si el fichero que vamos a visualizar tiene más de 24 líneas. sin paradas. mientras que el segundo ejemplo visualiza el fichero group a partir de la línea 10.exrc La orden pg permite paginar la salida. J donde <fichero> identifica el fichero a visualizar. Si se utiliza la opción +<número>.©RA-MA APÉNDICE II. ADMINISTRACIÓN BÁSICA DE LINUX 199 moxe [<fichero>] donde <fichero> identifica el fichero que queremos visualizar. Su sintaxis es: tail [+1 <número>] <fichero:> Por defecto visualizará las diez últimas líneas del fichero <fichero>. éstos deberán separarse por espacios en blanco. la cuenta comenzará por la última línea. Veamos la sintaxis de esta orden: cat [<fichero> . la pantalla.. y el fichero no tiene tantas líneas. En algunos sistemas se puede detener la imagen pulsando <CTRL> <S>. podemos modificar ese valor. y continuar pulsando <CTRL> <Q>. aunque como en el caso de la orden fail. Por ejemplo. Veamos un ejemplo: $ cat . Veamos unos ejemplos: $ tail -3 /etc/passwd $ tail +10 /etc/group En el primer ejemplo se visualizan las tres últimas líneas del fichero passwd. Si deseamos ver el contenido de varios ficheros. Dos posibles órdenes son: • • pulsar <retomo> para ver la siguiente página. la cuenta comenzará por la primera línea mientras que si le antecede un -. pg visualizará las 23 primeras y presentará en la línea 24 un carácter: para solicitar una orden. Su sintaxis es la siguiente: head [-<número:>} <fichero> . La orden head nos permite visualizar las diez primeras líneas de un fichero. pulsando "q". no se visualizará nada.. abandonar la ejecución de pg. a través del dispositivo de salida por defecto. podemos hacer lo siguiente: $ more /etc/passwd La orden cat permite visualizar el contenido de uno o más ficheros. La orden tail permite examinar el final de un fichero. pero es posible modificar dicho número usando la opción <número>.

Dependiendo de lo que queramos hacer.!ttelÍ'Ql. la orden que nos permite realizar esta operación es mv (Mo Ve). mv se utiliza para mover el 'fichero <fichero> al directorio <directorio>. La sintaxis para esta orden es la siguiente: cp. cp permite copiar varios ficheros a otro directorio.::fJehexol. Por tanto necesitamos utilizar <fichero2> para indicar otro nombre al fichero. por lo que se necesita indicarle un nombre distinto. !etcltell\P.<fiéhe17o. en cuyo caso no puede tener el mismo nombre.ad-2:Q..01 La primera orden nos permite cambiar el nombre del fichero mensaje_O1. o copiarlo en un directorio distinto. Unix no permite tener dos ficheros con el mismo nombre en el mismo directorio. El argumento <directorio> indicará el directorio destino de la copia. '::.(.Ol éste cambiaría su contenido por el de mensaje_O1. En el segundo caso. Por ejemplo.aje . $ cp /etclmotdmens.::directoriQ.~. si deseamos copiar en el directorio actual el fichero motd y renombra el fichero llamándole mensaje. Se puede mover más de un fichero a la vez. .200 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA La opción -<número> indica la cantidad de líneas a visualizar del fichero <fichero>. veamos cómo se pueden visualizar las primeras 20 líneas de un fichero: . movemos el fichero mbox del directorio moises al directorio erik. se utiliza la segunda forma.$< <fi<:her02:> o cp . La copia se puede realizar en el mismo directorio. .> El primer caso se utiliza para copiar el fichero <fichero1> en el mismo directorio donde se encuentra éste.:. Si la copia se realiza a otro directorio. Veamos unos ejemplos: $ $···mV. mesj . Como ejemplo. .. Con la segunda orden.ftc. su sintaxis será: mv··~U. Y en el caso de que existiese mesj. l'Ifofses!mbo~'edk ~V<Ult~ru!flt~eol.her02:> o El primer caso se utilizará para renombrar el fichero <ficherol> por el nombre de fichero especificado en <fichero2>. El sisteIl)a operativo incluye la orden cp (CoPy) para copiar ficheros. escribiríamos lo siguiente.bf.cap Si lo que queremos es mover o renombrar un fichero.> .

los enlaces fijos y los simbólicos. La opción -r permite borrar el contenido del directorio actual. Su sintaxis es: In . y de Jos posibles subdirectorios que existan a partir de él (de forma recursiva). para compartir información entre grupos de usuarios. El fichero puede estar en otro sistema de ficheros.©RA-MA APÉNDICE IL ADMINISTRACIÓN BÁSICA DE LINUX 201 Estamos suponiendo que en el directorio actual no existía un subdirectorio llamado mensaje. por ejemplo. después de realizar la copia. Esto permite no tener dupllcados ficheros o directorios y se puede emplear. rm le informaría del modo real del fichero. En el caso de que uno de los ficheros a suprimir estuviese protegido contra escritura. el modo del fichero es el mismo que tenía el fichero original. La opción -i (Interactiva) lo utiliza rm para pedir confirmación de cada uno de ficheros que va a borrar. Su sintaxis es: rm [ifr} <ficherQ> . De cualquier forma. existen tres tipos de usuarios a los que se les pueden dar o denegar permisos sobre un fichero: • (u) user propietario del fichero . Unix permite que un fichero o directorio pueda ser referenciado desde el mismo o desde distinto directorio más de una vez.(:':sl <ifi. Para borrar uno o más ficheros de un directorio se utiliza la orden rm (ReMove).•. no afecta ni altera al propio enlace simbólico. Los enlaces simbólicos se realizan con la opción -s. Para eliminar un fichero. y esperaría una respuesta: si pulsa y procede a borrarlo y si pulsa cualquier otra tecla no lo borrará. Si se elimina el fichero al que apunta. esta orden hubiera copiado el fichero motd en dicho subdirectorio. en cuyo caso. Es una entrada de directorio especial que apunta a otro fichero existente.5. ACCESO A LOS FICHEROS Desde el punto de vista del acceso a un fichero. La opción -f se puede utilizar si se quiere forzar la supresión de ficheros aunque estén protegidos.. 2. La forma de conseguirlo es mediante la orden In. independientemente de que esté o no protegido. Los enlaces fijos sólo se hacen a ficheros existentes y dentro del Sistema de ficheros (file system) al que pertenezca el fichero. se tienen que eliminar todos los enlaces fijos (incluyendo el primer nombre que se le dio al fichero).all$ró:i Hay dos tipos de enlaces a un determinado fichero especificado con <fichero>.

crear nuevos ficheros y suprimir los existentes (este último caso depende de los pennisos de escritura de los propios ficheros). • Penniso de búsqueda (x): se debe hablar más bien de penniso de búsqueda ya que pennite situarse en dicho directorio y según el resto de los pennisos. el directorio tiene que tener el penniso de ejecución para dicho usuario. Los accesos disponibles son: Para un fichero: • Penniso de lectura (r): pennite ver el contenido del fichero. modificar o copiar ficheros.202 VOIP y ASTERlSK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA • (g) group usuarios pertenecientes a su grupo other resto de usuarios que no pertenecen a su grupo • (o) La capacidad de un usuario para trabajar con ficheros depende del tipo de acceso que tenga a dicho fichero. Opcionalmente se .para el propietario y r-. si queremos darle los pennisos de rw. Por ejemplo. Unix pennite cambiar al propietario de cualquier fichero o directorio. Para un directorio: • Penniso de lectura (r): pennite ver los nombres de los ficheros de un directorio. .6 MODIFICACIÓN DE PERMISOS Y PROPIETARIOS El propietario de un fichero es aquel usuario que creó dicho fichero. Si se quiere infonnación detallada sobre dichos ficheros (mediante la opción -1 de ls). • Penniso de escritura (w): pennite cambiar el contenido del fichero. borrar. Para definir los pennisos de creación de un fichero o directorio se emplea el comando chmod. • Penniso de ejecución (x): pennite ejecutar un fichero (como cualquier orden del Unix. pennitirá crear.para el resto. • Penniso de escritura (w): pennite cambiar el contenido de dicho directorio. el comando que se debe utilizar es: $chmod 644 fichero 2. Su sintaxis es: chmod <modo> fichero donde <modo> indica los pennisos que le queremos dar al fichero.

©RA-MA

APÉNDICE 11. ADMINISTRACIÓN BÁSICA DE LINUX 203

puede cambiar también al grupo al que pertenece dicho fichero o directorio. Para ello se utiliza la orden chown. Veamos su sintaxis:
chown
<:Nomb;¡;eUs~aI'io;:.

[. <:NQmbI'eGI'UPO>1 <:f ichero> •.•

<Nombre Usuario> identifica el nuevo propietario de fichero o directorio. <NombreGrupo> el nuevo grupo y <fichero> identifica el fichero o directorio sobre el que se va a actuar.

La limitación que tiene esta orden es que sólo el súper usuario puede utilizarlo. Por otro lado, para cambiar el grupo al que pertenece un directorio se utiliza chgrp. Su sintaxis es:
chgrp <:NombreGrupo> <:fichero> ••.

<NombreGrupo> identifica el nuevo nombre de grupo que se le va a asignar al fichero o directorio <fichero>. Se puede actuar sobre varios ficheros a la vez.

3

Comandos más importantes

A modo de reswnen en la tabla II-l puede ver los comandos más importantes de Linux.

Categoría

Comando

Descripción

Sistema de ficheros cp <origen> <destino> mv <actual> <nuevo> rm <fichero> cd <directorio> pwd mkdir <directorio> less <fichero> cat <fichero> Copia ficheros Mueve o cambia el nombre de un fichero o directorio Borra un fichero o directorio Cambia de directorio Muestra el directorio actual de trabajo Crea W1 directorio Muestra el contenido de W1 fichero Muestra el contenido de un directorio

Is

204 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA

©RA-MA

Particiooamiento {disk fsck mkfs df du mouot umouot Comandos generales startx halt Reboot Date clear mao Procesos
---------~----------------_

Permite administrar las particiones del sistema Permite comprobar el estado de un sistema de ficheros Permite formatear un sistema de ficheros Indica el espacio libre de un sistema de ficheros Indica el espacio utilizado por un usuario en el sistema de ficheros Permite montar sistemas de ficheros Permite desmontar sistemas de ficheros

Inicia el modo gráfico Apaga el equipo Reinicia el equipo Muestra y permite cambiar la fecha del sistema Borra la pantalla Permite obtener ayuda del sistema

....

_ _...­
y
su

ps top
kilI

Muestra los procesos activos del sistema Muestra los rendimiento procesos del sistema

Permite matar un proceso

Cuotas de usuario edquota <usuario> edquota -g <grupo> quota <usuario> quota -g <grupo> repquota <directorio> checkquota -cug <directorio> quotaoff -aug quotaoo -aug
Permite modificar la cuota de un usuario o grupo Muestra la cuota de un usuario o grupo Muestra las cuotas de usuario de un sistema de un directorio Crea las cuotas de usuario de un directorio Desactiva las cuotas de usuario Activa las cuotas de usuario

~p~-

.....",,--­

©RA-MA

APÉNDICE II. ADMINISTRACIÓN BÁSICA DE LINUX 205

Permisos chmod <permisos> <fichero/directorio> chown <usuario> <fichero/directorio> chgrp <grupo> <fichero/directorio> Redes ifconfig iwconfig ping <host> route iptables service Usuarios adduser <usuario> userdel <usuario> usermod passwd addgroup su id Da de alta un usuario Borra un usuario

"--"--"---­
Establece los permisos de un fichero o directorio Cambia el usuario propietario de un fichero o directorio Cambia el grupo propietario de un fichero o directorio

Permite obtener información y configurar los adaptadores de red Permite obtener información y configurar los adaptadores de red inalámbrica Permite realizar un ping para comprobar la comunicación con un equipo Muestra y configura la tabla de enrutado del sistema Muestra y configura el cortafuegos del sistema Permite administrar los servil;ios del sistema

Permite modificar las propiedades de un usuario Cambia la contraseña de un usuario Permite dar de alta un usuario dentro de un grupo Permite cambiar de usuario Muestra el usuario que se está utilizando

groups groupadd groupdel

Muestra los grupos a los que pertenece el usuario Permite dar de alta a un grupo Permite borrar un grupo de usuarios

APENDICE III

,

ASPECTOS BÁSICOS DE REDES
Consolación Gil Montoya y María Dolores Gil Montoya

1

Introducción

Podría decirse que Internet se ha convertido en la entidad virtual más variada que ha desarrollado el hombre. El número de usuarios crece periódicamente en cientos de miles por todo el mundo, sin que parezca que vaya a dejar de aumentar. Internet es un lugar virtual donde todo el mundo es bienvenido para hacer negocios, comunicarse, buscar información o, simplemente, divertirse navegando por la red. En este capítulo vamos a ver todos los pasos que son necesarios para la puesta en marcha de una red: • Creación de la red a nivel f'ISico: se crea la infraestructura necesaria para poner la red en funcionamiento. Para ello se instala el cableado de la red y luego se ponen en marcha los dispositivos de interconexión (hub, switch, routers ... ). • Creación de la red a nivel lógico: se crean las diferentes redes lógicas y se asignan las direcciones IP a los diferentes equipos de la red.

208 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA

©RA-MA

• Configuración de los routers: se configuran los routers para permitir aceptar o denegar la comunicación que se realizan a través de él.

2

Tipos de cable

Los diferentes tipos de cables ofrecen distintas características de funcionamiento. La variedad de velocidad de transmisión que un sistema de cableado puede soportar se conoce como el ancho de banda utilizable. La capacidad del ancho de banda está condicionada por las características fisicas que tienen los componentes del sistema de cableado. El funcionamiento del sistema de cableado deberá ser considerado no sólo cuando se está cubriendo las necesidades actuales sino también con las necesidades del mañana. Conseguir esto permitirá la migración a aplicaciones de redes más rápidas sin necesidad de incurrir en costosas actualizaciones del sistema de cableado. A continuación veremos los medios de comunicación más utilizados en la actualidad.

• Coaxial. Este tipo de cable está compuesto de un hilo conductor central de cobre rodeado por una malla de hilos de cobre. El espacio entre el hilo y la malla lo ocupa un conducto de plástico que separa los dos conductores y mantiene las propiedades eléctricas. Todo el cable está cubierto por un aislamiento de protección para reducir las emisiones eléctricas. El ejemplo más común de este tipo de cables es el cable coaxial de televisión.
Originalmente fue el cable más utilizado en las redes locales debido a su alta capacidad y resistencia a las interferencias, pero en la actualidad su uso está en declive. Presenta dos grandes limitaciones, como es la seguridad y la velocidad de transmisión. En la tabla IlI-l y IlI-2 se puede ver la estructura del cable así como sus datos técnicos.

• Par trenzado. Es el tipo de cable más común y se originó como solución para conectar teléfonos, terminales y ordenadores sobre el mismo cableado.
Cada cable de este tipo está compuesto por una serie de pares de cables trenzados. Los pares se trenzan para reducir la interferencia entre pares adyacentes. Normalmente una serie de pares se agrupan en una única funda

integridad. Se transmiten varios haces de luz a la vez por lo que su velocidad es mayor pero la distancia de segmento es menor ya que a mayor distancia.©RA-MA APÉNDICE II1: ASPECTOS BÁSICOS DE REDES 209 de color codificado para reducir el número de cables físicos que se introducen en un conducto. Tal y como muestra la tabla JIl-I. cada fibra de vidrio consta de: un núcleo central de fibra con un alto índice de refracción. • Fibra óptica. Dependiendo del número de haces de luz que se transmiten a la vez. . alta seguridad y larga duración. conectores. es posible que un haz "adelante" a otro haz produciéndose un error en la transmisión. Este cable está constituido por uno o más hilos de fibra de vidrio. una cubierta que rodea al núcleo. a la vez que proporciona protección al núcleo. Su mayor desventaja es su coste de producción superior al resto de los tipos de cable. En las fibras monomodo tan sólo se envía un único haz de luz a través del cable. debido a las necesidades de empleo de vidrio de alta calidad y la fragilidad de su manejo en producción. con un índice de refracción ligeramente menor. Este cable es el más utilizado en la actualidad y permite velocidades de hasta 1Gb/s. de material similar. En la tabla I11-1 y 111-2 puede ver la estructura del cable. La fibra óptica es un medio excelente para la transmisión de información debido a sus excelentes características: gran ancho de banda. o Multimodo. En la tabla 111-1 y III-2 puede ver la estructura de la fibra óptica y sus características. su velocidad es menor pero la distancia máxima del segmento es mucho mayor. así como sus características físicas. baja atenuación de la señal. y una envoltura que aísla las fibras y evita que se produzcan interferencias entre fibras adyacentes. inmunidad a interferencias electromagnéticas. Por lo tanto. se distinguen dos tipos de fibra óptica: o Monomodo. Cada una de ellas está rodeada por un revestimiento y reforzada para proteger a la fibra.

210 VOIP y ASTERISK: REDESCUBRIb'NDO LA TELEFONÍA ©RA-MA Coaxial Estructura interna del Cable Par trenzado Fibra óptica Conectores Coaxial Velocidad 10 Mb/s Par trenzado 10 Mb/s (10 Base. Tal y como puede ver en la figura III-1. si . cualquier medio físico tiene una longitud máxima de segmento. de esta forma se puede ampliar la longitud del cable que soporta la red. o redes diferentes. el repetidor es un dispositivo que regenera la señal transmitida evitando su atenuación. Por ejemplo. Por ejemplo. Los dispositivos que se utilizan en una red son: • Repetidores.TX) 100 Mb/s (100 Base-TX) 1000 Mb/s 100 metros Fibra óptica Hasta 10 Tb/s Distancia máxima de 185 metros segmento Monomodo: 100 Km Multimodo: 2.4 Km 3 Dispositivos de interconexión Los dispositivos de interconexión permiten conectar segmentos de una misma red. en la señal eléctrica existe demasiada atenuación o interferencias que hacen que la comunicación tenga muchos errores o que incluso sea impracticable. la longitud máxima de un cable UTP Cat 5 es de 100 metros. Tal y como hemos visto en el apartado anterior. Esto quiere decir que si utilizamos un cable con una longitud mayor.

De esta fonna. Esquema dé un repetidor • Hub. .2 podemos ver un Hub de la familia 3Com. necesitaremos un repetidor que divida el cable en dos partes. Figura IlI-I. Entrada de la señal~~~L. Por lo tanto. de fonna que ninguna exceda la longitud máxima del segmento del cable (100m). HUB • Switch. Figura IlI-2. En la figura III. La diferencia entre un Hub y un Switch es que un Switch tiene una pequeña memoria asociativa en la que guarda la dirección fisica (MAC) del equipo que está conectado a cada uno de sus puertos. El funcionamiento interno del Hub es como el de un "enchufe ladrón". Un hub tiene dos grandes desventajas: es un dispositivos lento e inseguro ya que toda la infonnación de un puerto se envía a los demás puertos. un Switch es un dispositivo de interconexión que pennite conectar varios host o varios segmentos de una misma red. Existen Hub desde 4 puertos a 128 puertos. El Hub recibe una señal por un puerto y lo que hace es enviar la señal recibida por todos los demás puertos. al recibir un mensaje el switch mira la dirección de destino y lo envía sólo a su destinatario. una restricción que tiene un Hub es evitar que se produzcan colisiones cuando recibe una señal por varios puertos.©RA-MA APÉNDICE III: ASPECTOS BÁSICOS DE REDES 211 queremos conectar dos equipos que se encuentran a una distancia de 150 metros. Al igual que un Hub. Un Hub es un dispositivo de interconexión que pennite conectar varios host o varios segmentos de una misma red. El tamaño de un hub viene detenninado por el número de entradas que tiene (puertos).

En la figura I1I-4. como por ejemplo las pasarelas de correo electrónico. por lo que pueden interconectar redes que cumplan las normas del modelo 802 (3. Si los protocolos por encima de estos niveles son diferentes en ambas redes.212 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA El switch resuelve los problemas de rendimiento y de seguridad de la red que tienen los hubs. Los Bridges o puentes son dispositivos que ayudan a resolver el problema de limitación de distancias. se puede ver un ejemplo de un switch Catalyst de Cisco System. • Gateways. control y redundancia entre dominios broadcast. junto con el problema de limitación del número de nodos de una red. También puede dar servicio de firewall. "'JJf!'''''' . acelerar la salida de paquetes. para reducir la carga de una red o para unir redes de diferente topología. Un router es un dispositivo de propósito general diseñado para segmentar la red. En la figura IlI-3. Switch Cisco Catalyst 2950 • Bridges. el bridge no es consciente. Son capaces de traducir información de una red a otra. • Routers. Se trata de un ordenador u otro dispositivo que interconecta redes radicalmente distintas. Trabajan al nivel de enlace del modelo OSI. Los Bridges se utilizan para ampliar la extensión de la red. y por tanto no puede resolver los problemas que puedan presentarse. podemos encontrar un ejemplo de utilización de un router para conectar una red interna con Internet. reducir el tiempo de espera y bajar el coste por puerto. El switch puede agregar mayor ancho de banda. Figura lJI-3. Un gateway trabaja en la capa de aplicación ya que necesita conocer el tipo de información que tiene que traducir de una red a otra. 4 y 5). con la idea de limitar el tráfico de broadcast y proporcionar seguridad.

El router es responsable de crear y mantener las tablas de enmtamiento para cada capa de protocolo de red.©RA-MA APÉNDICE III: ASPECTOS BÁSICOS DE REDES 213 Un router opera en la capa de red del modelo TCP/IP y tiene más prestaciones que un switch. Por lo tanto un router es un dispositivo que nos puede ayudar a mantener la seguridad de una red. De esta manera. • Filtrado de paquetes. AppleTalk. Figura 1//-4. El router distingue entre los diferentes protocolos de red tales como IP. Estas tablas son creadas estáticamente o dinámicamente. las condiciones del tráfico. . el coste de la transmisión. etc. la velocidad de línea. A partir de las tablas de enrntado (o tablas de filtrado de paquetes) el router toma la decisión de qué acción tiene que realizar con cada paquete. IPX. El router al comunicar varias redes es el encargado ideal para decidir qué información tiene que pasar o qué información tiene que ser bloqueada. etc. Ejemplo de utilización de un router En la figura III-S. El router tiene dos funciones básicas: • Enrutamiento. Estos factores pueden incluir el número de saltos hacia el destino. el router extrae del paquete IP la dirección de destino y selecciona el mejor camino basándose en diversos factores. Para poder trabajar un router en la capa de red es necesario que tenga una dirección IP por cada interfaz del router. podemos ver un ejemplo de un router hardware.

en particular enlaces por radio y vía satélite. por lo que se diseñó un nuevo conjunto o pila de protocolos. nombre que provenía de los dos protocolos más importantes que componían la pila.214 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA Figura JJI-5. y pronto se hicieron experimentos utilizando otros medios de transmisión de datos. un principio básico de disefio era que la red debía poder resistir la destrucción de parte de su infraestructura (por ejemplo a causa de un ataque nuclear). que se creó como consecuencia de la fusión de ARPAnet con las red~s basadas en otras tecnologías de transmisión. desarrollado por militares en plena Guerra Fría. la nueva arquitectura se llamó sencillamente modelo TCPIIP. . y luego se defmió el modelo como una simple descripción de los protocolos ya existentes. Al ser un proyecto . La aproximación adoptada por los disefiadores del TCPIIP fue mucho más pragmática que la de los autores del modelo OSI. Mientras que en el caso de OSI se emplearon varios años en definir con sumo cuidado una arquitectura de capas donde la función y servicios de cada una estaban perfectamente definidas. Router Cisco 2821 4 El protocolo TCPIIP En 1969 la agencia ARPA (Advanced Researeh Projeets Agency) del Departamento de Defensa de los Estados Unidos inició un proyecto de interconexión de ordenadores mediante redes telefónicas. los nuevos protocolos fueron especificados por vez primera por Cerfy Kahn en un artículo publicado en 1974. Por este motivo el modelo TCPIIP es mucho más simple que el OSI. Este nuevo conjunto se denominó TCP/IP (Transmission Control Protoeolllnternet Protoeol). se la denominó Internet. y sólo después se planteó desarrollar los protocolos para cada una de ellas. A la nueva red. ARPAnet fue creciendo paulatinamente. primero se especificaron los protocolos. en el caso de TCPIIP la operación fue a la inversa. La conmutación de paquetes unida al uso de topologías malladas mediante múltiples líneas punto a punto dio como resultado una red altamente fiable y robusta. los protocolos existentes tuvieron problemas para interoperar con estas redes. Esto se consiguió en 1972 creando una red de conmutación de paquetes denominada ARPAnet. de fonna que dos nodos cualesquiera pudieran seguir comunicados siempre que hubiera alguna ruta que los uniera. y con ellos una arquitectura. la primera de este tipo que operó en el mundo.

y también evitar la congestión. Cuando se encuentra en un medio broadcast. La dirección MAC es un número serie único que tiene cada adaptador de red. El primero. El objetivo de la capa de red es entregar paquetes IP donde se supone que deben ir. el proceso TCP receptor reensambla los mensajes recibidos para formar el flujo de salida. TCP (Transmission Control Protocol). el origen y destino de un paquete se obtiene a través de la dirección MAC del adaptador de red. El objetivo de esta capa es permitir que los nodos introduzcan paquetes en cualquier red y lo hagan viajar de forma independiente a su destino (que podría estar en una red diferente). 2. mientras que el modelo TCP/IP nunca suele emplearse para describir otras arquitecturas que no sean la suya propia. Aquí la consideración más importante es decidir el camino que tienen que seguir los paquetes (encaminamiento). TCP también se encarga del control de flujo para asegurar que un emisor rápido no pueda saturar a un receptor lento con más mensajes de los que pueda gestionar. La capa de transporte. Esta capa permite enviar la información a través del medio fisÍco y nos permite el direccionamiento fisico. La capa host-red. Aquí se definieron dos protocolos punto a punto. La capa de red define un formato de paquete y protocolo oficial llamado IP (Internet Protocol). por ejemplo un cable ethemet. El direccionamiento fisÍco permite que los equipos puedan comunicarse. Por ejemplo. Tal y como se muestra en la figura IU.©RA·MA APÉNDICE IIl: ASPECTOS BÁSICOS DE REDES 215 También por este motivo el modelo OSI se utiliza a menudo para describir otras arquitecturas. es un protocolo orientado a la conexión que permite que un flujo de bytes originado en una máquina se entregue sin errores en cualquier máquina destino. En el diseño. es totalmente diferente el envío de información a través de un cable coaxial que a través de una fibra óptica. La capa de transporte se diseñó para permitir que las entidades pares en los nodos de origen y destino lleven a cabo una conversación. Para enviar la información a través del medio fisico es necesario conocer las características fisicas del medio. en cuyo caso corresponde a las capas superiores reordenándolos. La capa de red. como por ejemplo TCP/IP. . el modelo TCPIIP tiene sólo cuatro capas: 1. Este protocolo fragmenta el flujo entrante de bytes en mensajes y pasa cada uno a la capa de interred. si se desea la entrega ordenada. 3. Los paquetes pueden llegar incluso en un orden diferente a aquel en que se enviaron.6.

el protocolo que se utiliza para transferir noticias.208. La capa de aplicación. Por ejemplo una dirección IP válida seria 147. etc. Modelo TePIlP 5 Direccionamiento IP Cada interfaz de red de cada nodo (host o router) en una red IP se identifica mediante una dirección única de 32 bits. la información se envíe a la aplicación adecuada (mediante un determinado puerto). la de interred. dentro del ordenador. HTTP. el de correo electrónico (SMTP). . es un protocolo sin conexión. el protocolo que se usa para ver páginas Web. NNTP. En esta capa además se realiza el direccionamiento por puertos. Gracias a la capa anterior. Figura Ill-6. Por encima de la capa de transporte está la capa de aplicación. 4.216 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA El segundo protocolo de esta capa. Con los años se han añadido muchos otros protocolos. que contiene todos los protocolos de alto niveL El protocolo de terminal virtual (TELNET). como el servicio de nombres de dominio (DNS) para relacionar los nombres de los nodos con sus direcciones de red. UDP (User Datagram Protocol). que equivalen al valor de cada uno de los cuatro bytes que componen la dirección. para aplicaciones que no necesitan la asignación de secuencia ni el control de flujo TCP y que desean utilizar los suyos propios.23. y muchos más. los paquetes viajan de un ordenador origen a un ordenador destino. el de transferencia de ficheros (FTP).156. Las direcciones IP se suelen representar por cuatro números decimales separados por puntos. La capa de transporte se encarga de que.

Para dar mayor flexibilidad y permitir diferentes tamaños se optó por dividir el rango de direcciones en tres partes adecuadas para redes grandes. y la otra al host dentro de la red (hostid). Cuando un router recibe un datagrama (mensaje) por una de sus interfaces. una parte de la dirección corresponde a la red (netid). definir varias direcciones IP asociadas a una misma interfaz fisica. Netid Figura IJI-l. el campo red ocupa los 14 bits siguientes.· ©RA-MA APÉNDICE III: ASPECTOS BÁSICOS DE REDES 217 Si un nodo dispone de varias interfaces fisicas (cosa habitual en los routers) cada una de ellas deberá tener necesariamente una dirección IP distinta. y el campo host los 16 últimos bits. el campo red ocupa los 7 bits siguientes y el campo host los últimos 24 bits. B Y C. . 5. el campo red ocupa los siguientes 21 bits. • Una red de clase B tiene el primer bit a 1 y el segundo a O. Tal y como muestra la figura I1I-7. conocidas como redes de clase A. no de host) y envía el datagrama por la interfaz correspondiente. dejando los 24 restantes para el host. compara la parte de red de la dirección con las entradas contenidas en sus tablas (que normalmente sólo contienen direcciones de red. Partes de una dirección IP En el diseño inicial de Internet se reservaron los ocho primeros bits para la red. medianas y pequeñas.1 CLASES DE DIRECCIONES Las direcciones IP tienen una estructura jerárquica. y el campo host los 8 últimos. Puede haber hasta 126 redes de clase A con 16 millones de hosts cada una. se creía que con 254 redes habría suficiente para una red experimental que era fruto de un proyecto de investigación del Departamento de Defensa americano. Puede haber hasta dos millones de redes de clase C con 254 hosts cada una. y en algunas situaciones resulta útil. Puede haber 16382 redes clase B con 65534 hosts cada una. Ya en 1980 se vio que esto resultaba insuficiente. • Una red clase C tiene los primeros tres bits a 110. Es posible además. por lo que se reorganizó el espacio de direcciones reservando una parte para poder definir redes más pequeñas. respectivamente: • Una red de clase A (que corresponde a las redes originalmente diseñadas) se caracteriza por tener a O el primer bit de dirección.

218 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA Para indicar qué parte de la dirección corresponde a la red y qué parte al host. 12.0. en la figura III-8 puede ver un esquema de las diferentes clases de direcciones y en la tabla 1Il-9 puede ver las características principales de las clases de direcciones.19.255. la clase E. lo cual equivale a decir que los ocho primeros bits especifican la red y los 24 restantes el host.15. por ejemplo. Por último.0. Además existen direcciones de clase D (no redes) cuyos primeros cuatro bits valen 1110. se suele utilizar una notación denominada "máscara de red". diremos que una red clase A tiene una máscara 255. está reservada para usos futuros.19.1/8. consistente en poner a 1 los bits que corresponden a la parte de red y a O los que corresponden a la parte host.0 y una clase e una máscara 255.15. que se utilizan para definir grupos multicast (el grupo viene definido por los 28 bits siguientes). Otra notación utilizada en muchos sistemas es expresar de forma conjunta con la dirección IP el número de bits de la máscara de red. Así. La siguiente tabla resume toda la información esencial sobre los tipos de direcciones de Internet. A modo de resumen.1124 de clase C. en la práctica es inmediato saber a qué clase pertenece una dirección determinada sin más que leer el primer byte de su dirección.15. Análogamente decimos que una red clase B tiene una máscara 255.0. Así por ejemplo.255.0.19. Clases de direcciones .255. Así pues. que corresponde al valor 11110 en los primeros cinco bits. • ClassA Class B ClassC 1 110 Class D Class E Netid Hostid I 1110 Multicast address Figura ///-8.1/16 de clase B y 12.0. se puede deducir el rango de direcciones que corresponde a cada una de ellas. para expresar una dirección de clase A sería 12. A partir de los valores de los primeros bits de cada una de las clases mencionadas anteriormente.

255 192.0.2 DIRECCIONES ESPECÍFICAS Existen unas reglas y convenios en cuanto a determinadas direcciones IP que es importante conocer: l.255 240. La dirección 255. Al principio había un NIC para toda Internet pero luego se crearon NICs regionales (por continentes).255.0. y por tanto no se utiliza para ningún host Por ejemplo la dirección 193.255.255.-L:c'~. 5.7. La dirección con el campo host todo a unos se utiliza como la dirección broadcast de la red indicada.0. así ocurre en España donde el NIC es administrado por RedIRIS.255.255 10-1101110 14/16 21/8 iiE! <'~'. La dirección con el campo red todo a ceros identifica a un kost en la propia red.0 239. La dirección con el campo host todo a ceros se utiliza para indicar la red misma. " 1111 La asignación de direcciones válidas de Internet la realizan los NICs (NIC Network Information Center). 2. utilizaríamos la dirección 193.0.0.0 identifica la red clase B que pertenece a la Universidad de Valencia.255 128. 4.©RA-MA APÉNDICE III: ASPECTOS BÁSICOS DE REDES 219 Bits Clase Reservados Bits red/host 7/24 Número de redes 126 16384 2097152 Número de ordenadores 16777214 65334 Rango 1.0.0 127.255. por ejemplo si queremos enViar un .255.255 224.255. cualquiera que sea.7.0.0 191. y por tanto no se utiliza para ningún host. 5.255.255.255. La dirección 0. Por ejemplo para enviar un mensaje broadcast en la red anterior.147.255.255 se utiliza para indicar broadcast en la propia red.0 255.0.0.0.0. 3.0.0 identifica al host actual.0 223. cualquiera que sea (y sea del tipo que sea). Actualmente muchos países tienen un NIC propio.255.255.147.

0.0. sin riesgo de entrar en conflicto de acceso a redes válidas de Internet.0.168.32/24) 193.32 127. Hostid Todo a O Todo al Todo al Todo aO Específica Cualquiera.255 0.16. Esto permite enviar datagramas sin saber en qué red nos encontramos.7.220 VOlP y ASlliRISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA datagrama al primer host (1) de una red clase B podemos utilizar la dirección 0. B o C para saber qué parte de la dirección es red y qué parte es host.3 DIRECCIONES PRIVADAS La tabla I1I-5 nos muestra que las direcciones de red 10. Como consecuencia de las reglas 3 y 4 siempre hay dos direcciones no asignables a hosts en una red.255.0 0.7. Por ejemplo.0.147.200.200.200. 6.200.255.0. Ejemplo Dirección especial Netid Específica Específica Todo al Todo aO Todo aO 127.168. 172.255.0.200.7.255 para envíos broadcast a toda la red. si tenemos la red 200. .0. dispondremos pues de 254 direcciones para hosts. aunque es preciso conocer si es clase A. Por ejemplo detrás de un cortafuegos.0.0.0 (clase C) tendremos que reservar la dirección 200.0 para denotar la red misma. Estos números no se asignan a ninguna dirección válida en Internet y por tanto pueden utilizarse para construir redes privadas.0. no de 256.200.0. y 192. todas las implementaciones de IP devuelven a la dirección de origen los datagramas enviados a esta dirección sin intentar enviarlos a ninguna parte.0 están reservadas para redes privadas (intranets) por el RFC 1918.0 a 172. y la dirección 200. A modo de resumen.0.0.1.0 193.0.1 5.255 255.147. La dirección 127.0 a 192.0.147.0.0.31. (193. en la tabla I1I-4 puede ver un ejemplo de las diferentes direcciones específicas.1 se utiliza para pruebas loopback.

las reglas utilizadas para encaminar los paquetes se basan.x.168.1.x a 192. no llega a comunicar dos redes.x. en la dirección destino que aparece en la cabecera del paquete.31. Existen dos tipos de encaminamiento: "encaminamiento clásico" y "encaminamiento regulado". Pero la desventaja es que un router no se configura por sí solo. simplemente. En ella se guardan las acciones que hay que realizar sobre los mensajes que recibe el router para redirigirlos a su destino. Pennitir cualquier equipo de otra red. Un router es muy útil a la hora de defendemos de posibles intrusiones o ataques externos. 6.x De 192. Pennitir un equipo de otra red.168.x 16 256 6 Configuración de routers Como hemos visto anterionnente. Así se distinguen las siguientes reglas: • • • • Permitir un equipo de nuestra red. un router es un dispositivo de interconexión que pennite regular el tráfico que pasa entre varias redes. . Mientras que un router bien configurado puede ser muy útil. un router mal configurado no nos proporciona ningún tipo de protección o.255.1 TABLAS DE ENRUTADO Para configurar un router debemos crear lo que se denomina "tabla de enrotado". 6. Pennitir cualquier equipo de nuestra red. exclusivamente.©RA-MA APÉNDICE III: ASPECTOS BÁSICOS DE REDES 221 Clase Rango Número de redes e 172.1 Encaminamiento clásico Con el "encaminamiento clásico".

o Denegar: no deja pasar la información.222 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA La última regla (por defecto) se aplica en el caso de que no se cumpla ninguna de las anteriores y se suele utilizar para poder enviar los mensajes a la puerta de enláce de la red. Por ejemplo un servidor web trabaja en el puerto 80. pero algunos routers permiten utilizar como dirección origen y destino usuarios o grupos de usuarios. ~ . un servidor de FTP en el puerto 21. Normalmente el origen y el destino de un mensaje es una dirección IP. con la explosión del uso de Internet y la llegada del concepto de calidad de servicio (QoS) y la seguridad. • Origen / Destino: origen y destino del mensaje. • Acciól}.2 Encaminamiento regulado Sin embargo. los routers utilizan el llamado "encaminamiento regulado". en la actualidad. o Reenviar: envía el paquete a ~rección IP. a la hora de escribir la tabla de enrutado. Un router puede realizar las siguientes acciones: o Aceptar: dejar pasar la información.1. • Protocolo: permitir o denegar el acceso a los puertos es importante porque las aplicaciones servidoras (que aceptan conexiones originadas en otro ordenador) deben 'escuchar' en un puerto para que un cliente (que inicia la conexión) pueda conectarse. etc. con el que. se pueden utilizar los siguientes elementos: A la hora de escribir una tabla de enrutado se pueden utilizar los siguientes elementos: • Interfaz: interfaz de red por donde se recibe la información. • Autentificación de usuarios: indica si el usuario debe estar autentificado para utilizar la regla. 6.: especifica la acción que debe realizar el router. • Tiempo: espacio temporal en el que es válida la regla. • Seguimiento: indica si el router debe realizar un seguimiento de los lugares por los que pasa un mensaje.

Modelo .165. .!P :¡ 11.!:! " " .2.. E r e "" .2. -< * Distingue entre puerto de origen y destino ** Permiten especificar corno origen o destino direcciones IPs o usuarios. estamos disminuyendo el número de direcciones IP a-~i.~q1re'~ hace referencia y si . Los router más utilizados son: • • • • • • FireWalli de CheckPoint Privale internet Exchange (PIX) de Cisco System lOS Firewall Feature Set de Cisco System Firewall del núcleo de Linux.2.~ VJ 2 :2 " 2 8.S! " . ~ fI:i Il. Q oe ..1 65. A la hora de indicar la dirección de origen o la dirección de destino es importante utilizar la máscara de red para indicar un mayor o menor número de ordenadores.!! ..1 . Si utiliza la dirección de clase C 192. si en la dirección destino utiliza la dirección de clase B 142.. hace referencia a las direcciones del tipo 192.x. Iptables Enterprise Firewall de Symantec Internet Security and Acelerador (ISA Server) de Microsoft Si comparamos los elementos que utilizan los diferentes routers (ver tabla III-6) podemos ver cómo los más utilizados a la hora de realizar una tabla de enrutado son la interfaz.x.x.165.Si .!:! " ='0 '< "" " ~ .1. Así por ejemplo.~.165. Por 10 tanto.Si o .. si aumentamos la máscara de red.:: : á: ..0/24.0/16 se hace referencia a todas las direcciones IP del tipo 142.: "" .©RA-MA APÉNDICE IlI: ASPECTOS BÁSICOS DE REDES 223 Existen diferentes tipos de routers por lo que en un principio podemos caer en la tentación de pensar que el proceso de configuración para cada router es totalmente diferente a los demás.. la dirección origen y destino. el puerto y la acción que debe realizar el router.

en caso contrario.X. las dos que se describen a continuación son las más utilizadas por los especialistas de seguridad: • Construir reglas desde la más específica a la más general. " " ".74. Esto no significa que se rechace el paquete o que se elimine. Esto se hace así para que una regla general no "omita" a otra más específica. de arriba hacia abajo. Normalmente. Todos los criterios de la regla tienen que coincidir con el paquete entrante.X.5 y el servidor de correo se encuentra en la dirección 195.X Re res~nta a todas las direcciones IP del tipo 192.2 EJEMPLO DE CREACIÓN DE UNA TABLA DE ENRUTADO La figura IJI-9 muestra un router conectado a tres redes diferentes. que entra dentro del ámbito de la regla general.74.~_.20. 6..'. pero conflictiva.X.X Representa a todas las direcciones IP del tipo X. puede ver algunas de las posibilidades más habituales. entonces se hace referencia a un mayor número de direcciones IP. sino que la regla no entra en vigor..2.l65. . ~ .X.X _ _ __ _ Representa a todas las direcciones IP 4el tipo 192.. Ejemplo Comentario Re resenta a un único ordenador (por ejemplo.X Durante el filtrado de paquetes se aplica la regla de "coincidencia total".. Aunque hay varias estrategias para implementar filtros de paquetes. Normalmente un router detiene el procesamiento de una lista cuando encuentra una coincidencia total.165.. Esto se hace por cuestiones de rendimiento. La tabla de enrotado renresenta el conjunto de reglas que actúan como medida de seguridad para deterrÍÍinar si s?Petmite que un paquete pase o no. servidor web) Re resenta a todas las direcciones IP del ti o 192. Debemos crear el conjunto de reglas para permitir que: la red pública se conecte a Internet y que los servidores sean accesibles desde Internet.20. En la tabla IJI-7. • Las reglas deberían ordenarse de tal forma que las que más se utilizan estén en la parte superior de la lista. las reglas se aplican en orden secuencial.224 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA disminuimos la máscara de red. el servidor web se encuentra en la dirección 195. no se aplica la regla.5.

0.0. La organización no puede predecir quién va a tener acceso a su sitio Web.20.0. por lo que no hay restricción en las direcciones IP de origen.0.89.0/24 0.0/24 125.0/0 0.0.74.7.0/0 125. Ejemplo de red y de tabla de enrotado • Regla 1.0/0 0.89. .0. 110 Acción Aceptar Aceptar Denegar Aceptar Aceptar Denegar Figura lJI-9.7/32 195.7.74.0/0 Puerto 80 25.0. El host que está en 195. Esta regla permite el acceso entrante en el puerto 80. destino 195.0/24 Dir.20.5 es el servidor web.20. La complejidad de las reglas tiene propósitos educativos para mostrar los conceptos del procesamiento de reglas (directiva) del filtrado de paquetes. Las reglas 4 y 5 permiten la comunicación entre Internet y la red pública.0/0 0.5/32 195.20. Interfaz Ethl 2 3 4 5 Eth2 Ethl Dir. y la última regla se utiliza siempre para indicar que el tráfico que no cumpla las reglas anteriores debe ser denegado.74. Las reglas están agrupadas en tres grandes grupos: las primeras tres reglas se aplican al tráfico que tiene como origen Internet y como destino la red de servidores. Las notas acerca de la implementación se incluyen siguiendo la descripción de cada línea del conjunto de reglas.0.0.©RA-MA APÉNDICE JII: ASPECTOS BÁSICOS DE REDES 225 El conjunto de reglas está formado por seis reglas sencillas. origen 0. que normalmente se utiliza para el tráfico http.74.0.

La mayoría de los dispositivos de análisis realizan este paso de forma predeterminada. • Regla 6. Al igual que en la regla anterior. no se podrá acceder a ningún servidor. como no se puede predecir quién va a tener acceso al servidor de correo no se restringen las direcciones IP de origen.74. se permite el tráfico que va dirigido a los servidores web y correo electrónico. si se ejecuta antes. Esto es útil por motivos jurídicos y administrativos. La cuarta regla deja pasar el tráfico que va desde Internet a la red pública. pero es útil incluir esta última regla de limpieza. Esta regla elimina todos los paquetes que tienen como destino la red donde se encuentran los servidores. que normalmente se utiliza para correo electrónico (el puerto 25 es el servidor smtp o correo saliente y el puerto 110 es el servidor pop3 o correo entrante).226 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA • Regla 2. permite registrar los paquetes que coinciden con ella. • Regla 3.20. • Reglas 4 y 5.7. Si se pone esta regla al principio de la tabla de emutado. Incluirla aclara la aplicación de la directiva predeterminada y. El servidor de correo está en la dirección 195. Como la regla 1 y 2. Esta regla permite el acceso entrante a los puertos 25 y 110. en la mayoría de los casos. . y la quinta regla deja pasar el tráfico que va desde la red pública a la red de Internet. Esta regla bloquea explícitamente todos los paquetes que no han coincidido con ningún criterio de las reglas anteriores.

en señales cuyo nivel de tensión y/o corriente es proporcional a la presión sonora recogida por los mÍcros o emitida por los altavoces. Hardphones o Teléfonos IP. Ahora. Introducción Para que se pueda mantener una conversaClOn telefónica se necesitan terminales que puedan procesar la voz humana. esto era así hasta la llegada de la telefonía IP. las siguientes: • • • Softphones o Teléfonos software. O al menos. es decir. Esta labor se puede realizar de diversas formas hoy en día. transformándola en impulsos eléctricos que son enviados por la red RTC. siendo las más utilizadas.APÉNDICE IV CLIENTES DE VOIP Francisco Gil Montoya yJulio Gómez López 1. Bajo este nuevo enfoque. Webphones o Teléfonos web. . la voz es codificada/decodificada mediante conversores analógico/digitales y posteriormente (ya digital) paquetizada y lista para ser enviada por redes Ethernet (u otro tipo de redes IP) mediante TCPIIP. las conversaciones ya no son codificadas en impulsos eléctricos analógicos.

grabación.iua. Existe una larga lista de ellos.r'Y'-r'YY'''''. con un sinfin de características interesantes.Y'. Quizá entre los más usados 'se~ncuentren dos muy conocidos: X-lite y SJphone. Esquema del proceso de conversión analógico-digital de una se¡"ial de voz (Fuente: http://www.up!es/~ramon/redes/digital/digital. \ . ya sea de pago o ~ uso libre.Y' .··J 035"1. Teléfono software o softphone Los softphones son programas informáticos que simulan las funcionalidades de un teléfono convencional. ". hay que destacar que todavía se sigue manteniendo el componente analógico a la hora de transfonnar la voz en señales eléctricas. Esta fase sigue la técnica tradicional del muestreo de señales tal y como se aprecia en la figura IV-l. etc. Estos últimos dispositivos. los softphones incorporan diversas funcionalidades avanzadas. conectados al ordenador. Además de las típicas características de up teléfono. ser transformada en paquetes IP. chat. CODlFUCIÓN (código binorio) yc. como son videoconferencia. pero ayudados de dos periféricos habituales: micrófono y auriculares o altavoces. muy presentes en el ámbito de la VozIP. permiten que la voz pueda ser tratada por el softphone y así.htm) 2. •• 4<0 000011101111111111110 101 l0001000C ¡ ¡ j i T\\\~\"- Figura IV-l... mu~tilínea.228 VOlP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA Aun a pesar de la mejora tecnológica que implica el uso de la VozIP.

C'iI Cflt1Cd~dl4) " """"".(""""""".com). X-Lite. 11"_IhoIJ'OU':"""_~_ ~ \ CickNe!d !OCOfÚllJe-. pulse Finish.counterpath. Inicio del proceso de instalación . wilorn1a1Xu. reinicie el ordenador para completar la instalación. 2. \ n. X-LITE El siguiente desarrollo se detalla para un sistema Windows. Pulse Next para continuar.1. • En la pantalla que aparece en la figura IV-3 indique los accesos directos que desea crear y si quiere que x-lite se ejecute automáticamente al iniciar el programa. • En la pantalla que aparece a continuación.lOJ. Figura IV-2. • Ejecute el proceso de instalación (véase la figura IV-2).. inclusive con Asterisk.©RA-MA APÉNDICE IV: CLIENTES DE VOIP 229 En este apéndice se darán unas instrucciones acerca de cómo se deben configurar para que puedan funcionar con un proxy SIP cualquiera. Welcome to the X-Lite SelUp Wizard. aunque es muy similar para cualquier otro sistema operativo. • Por último.. • Se inicia el proceso de instalación y una vez finalizado. acepte la licencia y pulse Next. • A continuación especifique el directorio de instalación y pulse Next. Para instalar X-Lite debe realizar los siguientes pasos: • Descargue el ejecutable de la página web del fabricante Counterpath (http://www.

~~.... s.m. pulse con el botón derecho y seleccione SIP Account Settings) y aparecerá la pantalla que aparece en la figura IV-6. cldttleol AdIiIioIwII irlonot !!Ifi!jii..~ Cl ~"Q<ieI< Uouno:h.......230 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA StIItt!hoao:ldlionella$b.""'*I. se abrirá automáticamente el programa para realizar la configuración de la cuenta de acceso (si esto no es así....\\Ihdowo_ Figura Ill-3. X-Lite...1he ..... X Figura lV-4. X-Lite .... . Tareas adicionales Seguidamente.... Uouno:h~ !!1J l.SIP Accounts Introduzca los datos de configuración de la cuenta SIP tal y como muestra la figura IV-7...".... Pulse Add SIP ActQuot..IDPI"f<m. .

Figura IV-6.Configuración de una cuenta SIP Introduzca los datos de la cuenta SIP. X-Lite .·1'<' . Una vez configurada la cuenta SIP.!11.©RA-MA APÉNDrCE IV: CLIENTES DE VOIP 231 Número de la extensión asignada Dirección del setVidorde YolP Figura IV-5. pulse Aceptar y seguidamente Close. X-Lite •••••••••••••••••••••••••••••••••••• _tilll!llllmll!~I'lj¡II. X-Lite ya está listo para realizar llamadas.

sjlabs.232 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA 2. • A continuación acepte la licencia del software. Figura IV-7.Inicio del proceso de instalación . SJphone . la configuración para el SJphone se presenta en entorno Windows.Ihen dote lII'6' PIOIIIams JIOU hIp. SJPHONE Al igual que el detalle de X-lite. aunque como se dijo. Ckk Neli lo ~!he ~ WARNING: Tm I'JIOO'IIIItÍ$protedIId Iw ~ Iaw eI1d ~~ UIllMhorizéd~or~oI IM!lIOIJaII\ Cf lII'6' podi:lnol it.com) y ejecútelo. pulse Next para iniciar el asistente de instalación.~mdÍ'l~cM lJI1daímínal ~. Welcome to the SJphone 1. es muy similar para otro sistema operativo. pulse Next y automáticamente se inicia el proceso de instalación.e fImÍ'I!I. • En la ventana que aparece en la figura IV-7.1JI1d wilbelll~tohmaxi'numI!liblnl~tm!lIaw. • Una vez finalizado el proceso pulse Finish (véase la figura IV-8).2.65 Installatlon Wlzard It ~ slJOO!ÍIltC(lRIIIlIlIldedlhalJIQU eIt aI~ lIQ9ams bebe IImiIIIIIIIs teI\4I ~ Ckk Cancel 10 ~!he teI\4I Pf\'IPII. Para realizar el proceso de instalación debe realizar los siguientes pasos: • Lo primero es descargar el archivo ejecutable desde la web del fabricante SJLabs (http://www.

debe configurarlo para ser utilizado con el servicio de VoIP escogido. .I!\o.Proceso de instalación finalizado Si por casualidad tiene instalado algún tipo de Firewall (Panda. SJphone .bj.~. Norton. ... etc.Alerta de seguridad de WlOdo\'ls \ >"1Ít Z " \JI Para ayudar a proteger su equIpo. Fllewall de Wlndows bloqueó algunas características de este programa . SJphone ..©RA-MA APÉNDICE IV: CLIENTES DE VOlP 233 SJphone 1. ."'!i!i' Figura IV-9. Una vez instalado el sistema. 1& . '¡i5J:t.).·· .~.65 has been successfUlly Installed.. se abrirá automáticamente el asistente para realizar una configuración automática del audio. 1 Figura IV-8.Permitir tráfico Seguidamente. Pulse Next y realice los ajustes necesarios para comprobar que el micro y el altavoz (o auriculares) funcionan correctamente. cuando ejecute por primera vez SJphone debe permite las comunicaciones del softphone (véase la figura IV-9).'.

Inmediatamente utilice el interfaz en modo avanzado.houId be • 32><32 bmp. Xlite en modo inicial (izquierda) y modo avanzado (derecha) . Para ello ejecute la opción To Advanced Mode que se encuentra dentro de Menu. !han 10 Kb.234 VOIP y ASTERlSK: REDESCUBRlENDO LA TELEFONÍA ©RA-MA La vista inicial del software se muestra una pantalla como la de la figura IV-lO. png 0' jpeg I~e ~" Figura IV-I J. Figura lV-lO. Para ello pulse en Options dentro de Menú y seleccione Profiles. Debe añadir un nuevo perfil pulsando en New (pantalla izquierda de la figura IV-11). Xlite en modo inicial (izquierda) y modo avanzado (derecha) Seguidamente configure la cuenta de su proveedor. lmage .

©RA-MA APÉNDICE IV: CLIENTES DE VOIP 235 Tal y como muestra la figura IV-12..I1e ""die..:¡te caIer WcrmatIoncen be eedI/ r.' PfOXlI~ts~st1:ndln t.- ~ . pulse OK y el sistema nos pedirá el nombre de usuario y la contrasefia de acceso (véase la figura IV-14). "'* SIP ~tlllllr.Mnged by~.~~~-~ . . ~. ~ SlPPtoxy: PI'cIIIe fQra cel ~. rnod!t. Oúbound PlOIIj> ~~~ '''~.~~. o UM MPOIb OIAbourd F'l0IIj> loo NAT Figura IV-13. Figura IV-12. Xlite en modo inicial (izquierda) Seguidamente configure los parámetros de conexión al servidor SIPo O~ Cl u. introduzca el nombre del nuevo perfil y pulse OK. . . Xlíte en modo l !¿ial (izquierda) Una vez introducidos los datos de la figura IV-13..SIP fIfOlCr.

pulsamos OK y ya estamos listos para hacer y recibir llamadas.236 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA r Service: UAL X Please enter thís Infurmaoon to initia~tl the ser'o/il:e profíle Account: Password: •••• ¡jI2.a'le servíce informatlon permanently Figura IV-l4. generalmente. Su gran ventaja es que no requiere. Xlile en modo inicial (izquierda) y modo avanzado (derecha) Introducimos nuestros datos de usuario. Teléfono web o webphone Un teléfono web no es más que un cliente de VozIP pero que está desarrollado completamente para funcionar en una página web. Jphone 3. de la descarga de ningún tipo de software. Esta característica puede ser muy importante en ciertos entornos donde las políticas de . Figura IV-15.

dejando al lector que pueda investigar por su cuenta.ru) . El uso de teléfonos web no está tan extendido como el de los softphones. A modo de ejemplo se pueden apreciar algunos modelos de webphones en las figuras IV-16 y IV-l7. aunque los que gozan de mayor popularidad son los basados en la tecnología Java de Sun Microsystems. Esto se debe a que el navegador web utiliza el puerto 80 para comunicarse con el exterior y habitualmente este puerto suele estar libre y abierto. NAT y. toda aquella técnica que tenga que ver con el trasiego de paquetes desde algún software instalado en el ordenador. Otra punto fuerte es la escasez de problemas relacionados con los cortafuegos. están apareciendo otros sistemas que usan la tecnología Flash de Adobe Systems. Figura IV-16. Últimamente. aunque cada vez se pueden encontrar con más frecuéncia. La tecnología empleada puede ser muy variada.©RA-MA APÉNDICE IV: CLIENTES DE VOIP 237 seguridad que aplican los administradores en los equipos impiden la instalación de programas no autorizados. Teléfono web con tecnología Flash (www. en general.flashphone. La configuración de estas utilidades es muy similar a la de Jos softphones. por lo que no se ahondará en los mismos.

~ El teléfono IP es el dispos~celencia en las redes de VozIP. .__ "_M~.~l t!'l~GSIII. hoy en día incluso es posible que dentro de un teléfono IP encontremos una placa base con un microprocesador (más o menos potente) corriendo como sistema operativo. hoy en día existen numerosos fabricantes que ponen al alcance del usuario una gama extensa donde elegir. Teléfono IP o tI'~rdphone . Debido al gran auge de la VozIP.J lIpeiIfIar~ ¡~ ¡O~~~J. un micro con auricular. Teléfono web con tecnología JA VA 4. En el capítulo 2. Valga a modo de ejemplo.238 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA ~-~~~~-~~--~~. Por tanto.tO t!'l~1IJIC __ ~Codec [j Mute ~Yolltllte ~ CodecG. Internet Figura IV-17. Está compuesto por la unión de un ATA. pueden trabajar con código XML e incluso permiten configurarse ellos solos para recibir instrucciones específicas de algún servidor local o externo. Por tanto. podemos considerar que un teléfono IP es el resultado en la evolución de los teléfonos tradicionales.1t111 EJ ~GlllllcontnlI ~JiQIIIII~ fJE<:IIo~ ~AnIIIog~ ~ ComtmtN!Ue O ~toTaIIc. un teléfono IP puede llegar a hacer prácticamente cualquier cosa que el fabricante desee incorporar. que ciertos teléfonos IP contienen navegadores web. pantalla LeD y botones. y al cual se le ha aftadido una pantalla LeD más o menos avanzada junto al adaptador analógico-IP. Es más. Linux. L~~~· ~ ___ ~ __ ~~_. y teniendo en cuenta la potencia de dicho sistema.

NI '1111111111/1111111111111""'"' . Teléfono IP marca CISCO de altas prestaciones y precio La configuración de los teléfonos IP es exactamente igual que la de los adaptadores analógicos (muchos de ellos suelen ser un ATA de la marca más pantalla y teclado. con funciones avanzadas y pantalla a color Figura IV-l9. siguiendo un patrón parecido al de la figura IV-20. Teléfono IP modelo Linksys SPA962.©RA-MA APÉNDICE IV: CLIENTES DE VOlP 239 ya se habló de las diversas categorías que se han creado en función del precio final y de las características que ofrecen Figura IV-l8. como se ha dicho anteriormente). _ _ _ _ _ _ _ _ _ _.

Página de configuración de un teléfono IP de Linksys • • • • • • • • • • •_ _ 111"'1'1" .240 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA Figura IV-20.

existe una necesidad de poder trabajar con Asterisk de una forma más accesible e inmediata. en un tiempo razonable.) supone una barrera inicial muy fuerte. Por si fuera poco. por lo que el hecho de trabajar con Linux (o cualquier otro sistema operativo que no sea Windows. de manera que sea posible poder "echar a andar" . Además de no conocer el sistema operativo sobre el cual se asienta Asterisk. con lo que esto supone un factor en contra.APÉNDICE V DISTRIBUCIONES PRECOMPILADAS DE ASTERISK Francisco Gil Montoya yJulio Gómez López 1 Introducción'~ Gran parte del auge que ha tenido Asterisk. Realmente. como FreeBSD. las nociones técnicas mínimas que serían deseables para dicho usuario inexperto. habitualmente. sólo con entornos Windows. se ha basado en hacer accesible su instalación y configuración. Hay que recordar que la gran mayoría de usuarios que se acercan a Asterisk por primera vez suelen estar familiarizados. a nivel empresarial. es dificil conseguir. muchos de los usuarios novatos tampoco presentan destrezas en el uso de sistemas informáticos o en el manejo de dispositivos de red. etc. Solaris. y la VozIP en general. Si hay algo que no sobra en una empresa es tiempo. por ejemplo.

Por otro lado. Existen muchos detractores del uso de sistemas automatizados. los entusiastas de estas distribuciones defienden la facilidad de instalación y manejo. esta funcionalidad la aportan los sistemas precompilados para Asterisk. ayuda a ahorrar costes y a optimizar muchas de las rutinas de la propia empresa.argument~pfincipalmente. el usuario debe ser consciente de que no puede descuidar la investigación y el aprendizaje sobre Asterisk. Así mismo. De la experiencia obtenida al "juguetear" con el sistema. Es el usuario final el que debe entender las bondades del uso de estos sistemas precompilados. de forma automatizada. sería cuanto menos interesante verlo en funcionamiento. Pero a 10 mejor sí pueden dedicar una pequeña fracción de tiempo en probar un sistema que está listo en 30 minutos. etc. 1 El front-end es la parte de un software que interactúa con el usuario. GUI: Graphical User Interface o Interfaz Gráfica de Usuario.) y que permiten añadir nuevas funcionalidades en el manejo diario del sistema. de entre lo cuales se puede citar al archiconocido Trixbox. y que. 2 . Además. MySQL. Mucho se ha escrito acerca de la conveniencia en el uso de distribuciones precompiladas frente a la utilización de Asterisk "a pelo" (en cualquier Linux). por más que pueda ayudarse de un front-end1 o GU¡2 para determinadas labores concretas. Pues bien. relacionarse. que desnaturaliza y enmascara el uso y aprendizaje de la filOsofia de Asterisk.242 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA un sistema. así como que se acaba desconociendo la potencia real del sistema en su conjunto. etc. una empresa que no dispone de servicio informático propio o. si lo posee. No conocer la filosofia de trabajo de Asterisk es un grave error en el que no debe incurrir aquel usuario que pretenda mantener o instalar servidores de telefonía basados en Asterisk. ciertas distribuciones (como Trixbox o Elastix) suelen incorporar. los cuak:s. o los más novedosos como Elastix. Si ese sistema precompilado existe. es escaso. se podrían inferir conclusiones que desembocasen (o no) en una mayor profundización en sus características y posibilidades. de cara al aprendizaje del usuari() no iniciado. de serie. y decidir dónde le es más conveniente su Jltilización (si es que realmente le interesa). Desde una perspectiva económica. PiaF o Voicebunfu. la sencillez de configuración y el elevado grado de automatización de tareas que conlleva. más o menos completo. otras herramientas adicionales al propio servidor Asterisk (corno Apache. efectivamente. no se puede permitir el lujo de emplear el valioso tiempo de sus técnicos en entender la idiosincrasia de cientos de sistemas novedosos que afloran en el mercado y que prometen "revolucionar" la manera de trabajar.

Elastix es: " . se ha considerado oportuno hacer esta mención por su relevancia. Para dar una idea de la potencia y facilidad de uso de las mismas. Cabe destacar que casi todas ellas son de código abierto (OpenSource) y. Para ello. 2.© RA-MA APÉNDICE V: DISTRIBUCIONES PRECOMPILADAS DE ASTERISK 243 2 Sistemas para servidor Seguidamente se pasará a describir las distribuciones que incluyen Asterisk y que tienen más aceptación en el mercado.. Ver http://es.org/wiki/PBX . Puesto que este libro está dirigido especialmente al mercado hispanohablante. podamos estar en condiciones de efectuar llamadas y usar servicios. Además añade su propio conjunto de utilidades y permite la creación de módulos de terceros para hacer de este el mejor paquete de software disponible para la telefonía de código abierto. modularidad y fácil uso. un software que integra las mejores herramientas disponibles para PBx'l basadas en Asterisk pero con una interfaz simple y fácil de usar. añadidas a la robustez para reportar. el cual ha irrumpido fuertemente en el mercado gracias al apoyo inicial de un grupo de usuarios latinoamericanos.wikipedia. . Centralita telefónica.iso que incluye todo lo necesario para ser instalado en un servidor (o PC convencional) de forma que tras el reinicio del mismo. La meta de Elastix son la confiabilidad. Estas características. el usuario tiene cierta libertad para usar. se hace uso de una imagen .1 ELASTIX Tal y como lo describen sus propios autores. modificar y/o distribuir el código con las personalizaciones que estime oportunas. hacen de él la mejor opción para implementar un PBX basada en Asterisk". se detallará de manera particular y más específica el uso de Elastix. por tanto. La idea que subyace tras Elastix (igual que en las otras distribuciones) es poder tener una centralita telefónica avanzada en menos de 30 minutos..

. "~"-~ • Reportes de uso de recursos.rámetrosde red. se enumeran a continuación: • Soporte de video para realizar video llamadas (gracias al soporte de video en Asterisk 1.asterisk2billing. org http://www. • Sección de descargas con software de uso común. • Interfaz Web con sistema de tarificación incluido.244 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA Elastix está basado en Centos 5 e incluye una larga lista de módulos incorporados que. a modo de resumen. • Opciones para reiniciar/apagar remotamente. • Soporte para virtualización que pennite múltiples máquinas virtuales Elastix sobre el mismo servidor.'asterinic . • Interfaz Web para el usuario realmente amigable.sugarcrrn. • Módulos extras: aplicación para CRM SugarCRM5 y aplicación para gestión de ta1:jetas de llamadas "Calling Carcf. • Interfaz Web para correo de voz.com/crrn/ 5 http://www. • Módulo de panel operador integrado (Flash Operador Panel FOr). • "Fax a email" para faxes entrantes. • Detalle de llamadas entrantes/salientes y uso de canales (Call Detail Recording o CDR en inglés). • Configuración gráfica de ¡XI.6 . También se pueden enviar documentos para fax a través de una impresora virtual.org . • Módulo de correo de voz integrado (buzón de voz). http://www .4).

serbio. • Soporte multi-Ienguaje: inglés.---. e inicie el ordenador. GnomeMaker. 7 http://www.~/r' Lo primero que debe-rea1i:Zares descargar la versión ISO disponible en http://www. Una vez descargada. polaco.) como para Linux (K3B.). húngaro. español. • Módulo para Call Center o Centro de Atención Telefónica. El proceso de instalación debe ser como el que seguidamente se detalla en la figura V-1. chino.1. esloveno. danés. alemán. MagicISO. rumano. búlgaro. croata y persa. etc. inserte el CD en el servidor donde desea instalar el sistema.1 Instalación " ___ <. ruso. etc. teniendo en cuenta las instrucciones que se proporCionan en las esquinas inferiores derechas.© RA-MA APÉNDICE V: DISTRIBUCIONES PRECOMPILADAS DE ASTERISK 245 • Interfaz de ayuda empotrado. • Servidor de mensajería instantáneo Openfire 7 integrado. • Interfaz web para correo electrónico.igníterealtime. coreano. Existen multitud de ellos en versión libre tanto para Windows (Express Bum. grábela en un CD mediante algún software específico. • Servidor de correo integrado que incluye soporte multi-dominio.org/projects/openfire/index.jsp . 2.elastix. griego. francés.org. Finalmente. portugués. italiano.

por lo que deberá examinarse el mismo para verificarlo. ya que lo más probable es que haya algún conflicto con el hardware del equipo. e introducir contrasefias. Si ocurriese algún error. el proceso de instalación no tiene mayor . misterio que presionar la tecla Intro o Enter alguna que otra vez. . se deberá empezar desde el principio. Proceso de instalación de Elastix Como se ha podido apreciar.246 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA Figura V-l.

el tiempo que lleva el sistema encendido y el estado de uso de los discos duros. Sistema . Permite monitorizar la carga de la CPU. Es importante resaltar. por lo que puede configurar el sistema. para los no iniciados. . escriba la dirección IP asignada al servidor Elastix y aparecerán las pantallas que puede ver en la figura V-2. si desea acceder desde fuera de nuestra red.Inicio Ya tiene acceso a la interfaz web. hay de configurar el router para que redirija las peticiones del puerto 80 (http) hacia la IP del servidor.©RA-MA APÉNDICE V: DISTRIBUCIONES PRECOMPILADAS DE ASTERISK 247 Una vez que tiene el sistema completamente instalado. Además.2 Configuración A continuación se va a describir cada una de las funcionalidades que incorpora Elastix. también muestra información gráfica que relaciona el número de llamadas simultáneas con el uso de CPU y memoria. Para acceder a la interfaz web necesita otro PC que esté en la misma red del servidor o bien. ya puede acceder a la interfaz web de administración. Habiendo realizado lo anterior. que el servidor Elastix está montado sin la funcionalidad de escritorio. el uso de memoria. por lo que sólo dispone de la consola de comandos. inicie el navegador (una buena elección puede ser Mozilla Firefox).1.Información de sistema Se presenta información sobre el estado de los recursos del sistema. Elastix . 2. Pulsa' "Enter" para aC<>Ptar el cert~lcado Figura V-2. deteniéndonos a explicar en detalle qué se puede conseguir con las mismas.

_---------------­ : íní.------. Elastix incorpora uno propio que puede configurar pulsando en Servidor DHCP...~' Figura V-3...- . E/astix .248 VOIP y ASTERISK: REDESCUBRIENDO LA TELEFONÍA ©RA-MA • Sistema ....-..Red "­ ----------.. Si no se dispone de servidor DHCP en la red. Por defecto. el sistema se configura para obtener una IP automáticamente (DHCP). pero