SlideShare ist ein Scribd-Unternehmen logo
1 von 21
Integración de servicios de telefonía y datos en redes de empresa

Diego Llanes Gomez
Luz Marina Prieto
Ingeniería de sistemas
Ciclo profesional

Configuración de escenarios reales con Asterisk

Docente
Jarvey Gonzalez

Corporación Unificada Nacional de Educación Superior CUN
Bogotá

Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios
reales con Asterisk
Integración de servicios de telefonía y
datos en redes de empresa:
Configuración de escenarios reales con
Asterisk
OBJETIVOS
El objetivo de la presente práctica es familiarizarnos con la central de software de
telefonía IP (Telephony over IP, ToIP) de código abierto Asterisk. Esta central ofrece
muchas de las facilidades de las centrales telefónicas tradicionales, pero adaptadas al
mundo de la Voz sobre IP (Voice over IP, VoIP). El hecho de estar basada en IP hace
que sea capaz de proporcionar multitud de características de alto nivel como son el
correo de voz, creación de conferencias, menús de voz interactivos, enrutamiento
automático de llamadas y muchas otras. A lo largo de esta sesión veremos cómo
configurarla y obtener el máximo partido de la misma

LA CENTRAL ASTERISK

La central Asterisk es una implementación software de una central telefónica tradicional
(Private Branch eXchange, PBX). Fue creada en 1999 por Mark Spencer, de la
empresa Digium. Como cualquier PBX, permite realizar llamadas entre teléfonos
conectados a ella (tanto IP como analógicos, aunque estos últimos con hardware
especial) y conexiones tanto a la red IP como a la red telefónica conmutada (RTC).
Asterisk cuenta con un esquema de doble licencia, la licencia de software libre GNU
(GNU General Public License, GPL) y otra licencia propietaria para permitir código
propietario como el del códec G.729. Gracias a la licencia GPL cuenta con una gran
comunidad de programadores que han contribuido a añadirle multitud de características.
Además, su código ha sido portado a las plataformas más utilizadas en la actualidad
(Windows, Linux, MacOS, Solaris, FreeBSD, etc.).
Asterisk soporta diferentes protocolos de VoIP: SIP (Session Initiation Protocol, ver
RFC 3261), MGCP (Media Gateway Control Protocol) y H.323. No obstante, en esta
Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios
reales con Asterisk
sesión nos vamos a centrar en el protocolo SIP por ser el más extendido en la
actualidad. De esta forma, Asterisk puede interactuar con la mayoría de teléfonos SIP y
ejerce tanto de servidor de registro SIP (SIP registrar) como de proxy SIP, e incluso de
gateway o pasarela entre teléfonos IP y la RTC si se cuenta con el hardware adecuado.
Los desarrolladores de Asterisk han creado un nuevo protocolo, el IAX2 (Inter-Asterisk
eXchange), para realizar trunking de llamadas entre centrales Asterisk y entre
proveedores de servicio de VoIP que lo soporten. Incluso existen teléfonos que
soportan el protocolo IAX2 de forma nativa para comunicarse con la central Asterisk.
Al soportar una mezcla de la telefonía tradicional y los servicios de VoIP, Asterisk
permite a los desarrolladores construir nuevos sistemas telefónicos de forma eficiente o
migrar de forma gradual los sistemas existentes a las nuevas tecnologías. Algunos sitios
usan Asterisk para reemplazar a antiguas centrales propietarias, otros para proveer
funcionalidades adicionales y algunas otras para reducir costes en llamadas a larga
distancia utilizando Internet.
Desde el punto de vista de la clasificación funcional de servidores SIP, las
funcionalidades de Asterisk son varias: Por una parte, actúa de Registrar y Location
Server, ya que acepta peticiones de registro de los usuarios y suministra un servicio de
localización y traducción de direcciones en el dominio que controla. Por otro lado,
también actúa como un Proxy Server con estado (Stateful Proxy), ya que conoce en todo
momento el estado de la llamada y posee funcionalidades que dependen del estado de la
llamada como servicios de respuesta automática (Interactive Voice Response, IVR) que
le permiten actuar sobre el flujo RTP (Real Time Protocol), que es el que contiene la
comunicación de voz. Cabe recordar que en contraste con este tipo de proxy nos
encontramos los proxy server sin estado (Stateless Proxy) como SER (SIP Express
Router), que no tienen sentido más que para redes completamente SIP, ya que solo
conocen y actúan sobre los paquetes SIP que negocian las direcciones IP, los puertos a
utilizar, el códec a utilizar, etc., pero no sobre el flujo RTP.
A continuación se recogen diversas funciones básicas que se pueden realizar sobre
Asterisk:
- Ring Group o Grupo de timbrado: permite llamar al mismo tiempo a todos los
teléfonos de un grupo. Los teléfonos del grupo también pueden consistir en
números telefónicos externos como teléfonos móviles.
- Queue o Cola: es un almacén de llamadas entrantes. Así, las personas que
llaman pueden esperar la respuesta de alguien en lugar de obtener una señal de
ocupado o ser forzadas a dejar un mensaje. Esta extensión también puede decir a
la persona que llama su lugar en la cola y el tiempo estimado de espera.
- Trunk o Tronco: es un circuito que define una configuración de conexión de
entrada o salida.
- OutBound Rules o Reglas de salida: definen las rutas que tomará una llamada
saliente.
- DiD o Direct In Dial: son reglas que definen dónde ira una llamada de un
determinado número telefónico.
- Auto Attendant: es un sistema para llamadas entrantes con respuestas de voz
interactivas.
- Incoming calls: junta todas las configuraciones entrantes y fija dónde van las
llamadas entrantes.

Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios
reales con Asterisk
También se pueden realizar configuraciones avanzadas como las que siguen:
- NAT: se configura cuando el servidor funciona detrás de un router y no tiene
direccón IP pública. Así, se deben fijar la red local y la IP externa.
- Tiempo y Red: aquí se utiliza “netconfig” para configurar la IP en el servidor y
“timeconfig” para fijar la hora y fecha actuales.
- Web MeetMe: es un cuarto de conferencias para uso de todos los usuarios.
- Extensiones Remotas: para poder aceptar un usuario remoto teniendo en cuenta
el funcionamiento de NAT con los protocolos utilizados por Asterisk (IAX y
SIP).

INSTALACIÓN Y USO DE ASTERISK
La central de Asterisk puede descargarse de forma gratuita desde su web principal:
http://www.asterisk.org. Este código puede ser compilado y ejecutado en el sistema que
se desee, aunque resulta una tarea complicada y tediosa. Por ello, resulta mucho más
útil partir de paquetes precompilados para los diferentes sistemas (ejecutable de
instalación en Windows, paquetes RPM para Linux, etc.).
Sin embargo, tanto para la realización de esta sesión o si lo que simplemente se desea es
usar Asterisk y probar su funcionalidad de una forma rápida y sencilla, existe una
versión precompilada y lista para usar, desarrollada por la empresa Fonality,
denominada Trixbox: http://www.trixbox.org/. Esta versión cuenta además con el
front-end web FreePBX para una configuración mucho más sencilla de Asterisk, así
como muchas otras facilidades adicionales.

Finalmente, existe una versión de Trixbox para máquinas virtuales VMWare, que será la
que utilicemos en esta sesión. Para poder usar Asterisk en pocos minutos, basta con
descargar gratuitamente el software de virtualización VMWare Player
(http://www.vmware.com/products/player/) y la imagen para VMWare de Trixbox
(http://www.vmware.com/appliances/directory/1299). La versión actual de la máquina
virtual con Trixbox es la 2.6.1, pero por motivos de estabilidad usaremos la 2.4.

DESCRIPCIÓN DE LA PRÁCTICA
El esquema de trabajo se muestra en la siguiente figura:

Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios
reales con Asterisk
Como se puede observar, se cuenta con una red de datos IP y de voz analógica a través
de la RTC. Dentro de la red de datos también podrán realizarse llamadas VoIP (desde
un teléfono conectado al gateway VoIP o desde un sofphone), y un servidor de telefonía
IP Asterisk o externo (iptel.org) que podrá almacenar extensiones VoIP y enrutar las
llamadas. Además, los gateway VoIP-RTC servirán de puente para las llamadas que se
quieran enrutar hacia la RTC usando diferentes tecnologías.

DESARROLLO DE LA PRÁCTICA
A lo largo de la descripción del desarrollo de la práctica se van a incluir algunas
imágenes con los parámetros a configurar. Los valores de dichos parámetros que
aparecen en las imágenes no son los que deben configurarse en cada caso, sino
simplemente un ejemplo para localizar la posición de los parámetros a modificar.
Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios
reales con Asterisk
1.- Arranque de los servidores Asterisk
En primer lugar, ejecutaremos el programa VMWare Player en las máquinas que vayan
a ejercer de servidor Asterisk y comprobaremos que la máquina virtual Trixbox cuente
con un interfaz de red virtual Ethernet en modo bridged (Edit Virtual Machine Settings
 Ethernet). De esta forma, la máquina virtual tendrá acceso a la red física a la que
esté conectada el ordenador desde el que ejecutamos VMWare Player.

La dirección IP la obtendrá por medio de DHCP (Dynamic Host Configuration
Protocol) si está disponible, o bien la configuraremos manualmente mediante el
comando ifconfig de Linux. Una vez comprobado todo, lanzaremos la máquina virtual
Trixbox (botón Power on), obteniendo lo siguiente:

El nombre de usuario y la contraseña son root/trixbox. Una vez dentro de la máquina
virtual, ejecutaremos el comando ifconfig para comprobar la dirección IP de la máquina
y así poder conectarnos a Asterisk desde el interfaz web.
2.- Conexión inicial al interfaz web

Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios
reales con Asterisk
Una vez conozcamos la dirección IP de la máquina virtual, podemos simplemente
minimizar el VMWare Player con el Asterisk corriendo dentro, ya que toda la gestión
del servidor la realizaremos desde un navegador web. Para comprobarlo, lanzamos el
navegador web desde cualquier ordenador y vamos a la página de configuración de
Trixbox: http://<Dirección IP de la máquina virtual>.

Desde esta página podemos acceder a diferentes características añadidas alrededor de
Asterisk, como son el Flash Operator Panel (FOP), el correo de voz o la gestión de
conferencias Web MeetMe. No obstante, hemos accedido a la gestión como usuario
normal, por lo que para poder tener acceso a las características avanzadas más potentes,
debemos entrar como superusuario. Al lado de User mode pulsamos en switch e
introducimos como nombre de usuario y contraseña maint/password. Desde esta nueva
página disponemos de todo un abanico de posibilidades a explorar. La más importante
de ellas es la configuración de Asterisk, la cual se encuentra bajo AsteriskFreePBX.
3.- Instalación de softphone
Como software cliente de VoIP utilizaremos el cliente Sjphone. Este cliente es
compatible tanto con H.323 como con SIP, pero en esta práctica nos vamos a centrar en
el protocolo SIP. Si no está instalado en el ordenador, podemos descargarlo a través de
la página web http://www.sjlabs.com/.

Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios
reales con Asterisk
3.1 Una vez instalado en los PCs que actúan de cliente, comprueba que funciona el
cliente llamando a un compañero. Vamos a recordar la captura del tráfico generado.
Para ello, lanzamos la aplicación WireShark antes de iniciar la llamada y
posteriormente analizamos el tráfico generado.
3.2 Tras verificar el correcto funcionamiento de los clientes de VoIP en modo directo
(PC to PC), vamos a proceder a configurarlos para realizar las llamadas a través del
servidor Asterisk. Para ello, debemos definir un nuevo perfil. En primer lugar,
deberemos de pulsar el botón de configuración (botón del medio). Para añadir un
perfil de uso en SIP, presionar New...

Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios
reales con Asterisk
3.3 Asignamos un nombre al nuevo perfil (Profile name) y configuramos el cliente para
el uso con Asterisk, como proxy SIP (Profile type: Calls through SIP Proxy).

3.4 En Proxy Domain tenemos que poner la dirección IP del Asterisk . En cuanto al
puerto, podemos especificar el 5060, que es el puerto que utilizar SIP, aunque si lo
dejamos a 0, cogerá directamente este valor por defecto. Es importante asegurarse
de que la casilla Register with proxy se encuentra seleccionada.

Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios
reales con Asterisk
3.5 A continuación debe configurarse el usuario y contraseña asociados al cliente, que
posteriormente utilizaremos para dar de alta en el servidor Asterisk.

Por motivos de uniformidad, y para facilitar la gestión de la práctica se propone emplear
los siguientes valores:
Account: emplearemos números de 4 dígitos. Empleamos el siguiente criterio
arbitrario: El primero dígito será el número de hub (1, 2), el segundo será 0 y los dos
últimos, los dos últimos dígitos del último octeto de la dirección IP (con un 0 delante si
es un único dígito.
Password: empleamos una contraseña fácil de recordar. Por ejemplo, el mismo número
configurado en Account.
3.6 Con esto finaliza la configuración de los clientes SIP. Puede comprobarse que el
interfaz gráfico del Sjphone se modifica respecto al original, mostrándose el aspecto
que aparece en la siguiente figura:

Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios
reales con Asterisk
4.- Configuración de extensiones en Asterisk
Tanto los softphone como los Linksys cuentan con extensiones que ahora debemos dar
de alta en el servidor Asterisk.
4.1 Para llevar a cabo la configuración del Asterisk, retomamos la página web que
hemos dejado abierta en el apartado 2 (Asterisk  FreePBX):

Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios
reales con Asterisk
4.2 Entramos en el submenú “Extensions” (menú de la parte izquierda) donde vamos a
configurar las extensiones. El menú a configurar se muestra en la figura siguiente.
Los parámetros que debemos configurar son los siguientes:
- User extension: el número de 4 dígitos que hemos definido en el campo account
en el Sjphone.
- Display name: el nombre de usuario asociado a esta extensión. Para mantener la
uniformidad, empleamos los mismos 4 dígitos de user extensión.
- Secret (en Device Options): la contraseña que hemos configurado en el campo
password del Sjphone.
Existen otra serie de parámetros que se pueden modificar que se explicarán a lo largo de
la práctica. No es necesario modificar ningún otro parámetro. Finalmente, pulsamos
“Submit” para confirmar la configuración. No olvides pulsar sobre “Apply
Configuration Changes” (botón naranja en la parte superior izquierda de la
página) para que los cambios surtan efecto en Asterisk.

Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios
reales con Asterisk
5.- Análisis de la señalización SIP y del tráfico RTP
5.1 Una vez configuradas las extensiones, comprobamos que funciona la conexión
haciendo una llamada a uno de los números que hemos creado o al *43, que
realizará una llamada “de eco” para verificar que funciona bien la línea. Tras
comprobar que podemos realizar llamadas entre los equipos, vamos a analizar el
tráfico de VoIP:
-

-

Captura tráfico con Wireshark, realiza una llamada entre 2 PCs del mismo hub y
analiza la señalización SIP. ¿Qué semejanzas y diferencias observas respecto al
caso de comunicación directa entre 2 PCs?
Ahora analiza el tráfico RTP. ¿Observas alguna diferencia respecto a lo esperado
según lo visto en teoría?

5.2 Vamos a modificar algunos de los parámetros de la configuración del Asterisk.
Concretamente:
- En “Setup  General Settings”, en el campo Asterisk dial command options
aparecen una t y una r. Borramos la t.
- En “Setup  Extensions”, pinchamos en cada una de las extensiones, y en Device
Options, modificamos el parámetro canreinvite de no a yes.
De nuevo, realizamos llamada y capturamos tráfico.
-

¿Qué ocurre ahora tanto con la señalización SIP como con los flujos RTP?

Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios
reales con Asterisk
6.- Pruebas con alguna de las funcionalidades que ofrece Asterisk
6.1 Vamos a realizar pruebas con algunas de las funcionalidades adicionales que nos
ofrece Asterisk. En el menú Feature Codes aparecen todos los números asociados a
funciones de la central. Algunos de esos números se muestran a continuación:
Números Interesantes
*411 Directory
*43 Echo Test
*60 Time
*61 Weather
*62 Schedule wakeup call
*65 festival test (your extension is XXX)
*70 Activate Call Waiting (deactivated by default)
*71 Deactivate Call Waiting
*72 Call Forwarding System
*73 Disable Call Forwarding
*77 IVR Recording
*78 Enable Do-Not-Disturb
*79 Disable Do-Not-Disturb
*90 Call Forward on Busy
*91 Disable Call Forward on Busy
*97 Message Center (does no ask for extension)
*98 Enter Message Center
*99 Playback IVR Recording
666 Test Fax
7777 Simulate incoming call
6.2 Comprueba el correcto funcionamiento de las siguientes funcionalidades y analiza
con Wireshark la nueva señalización que aparece para llevarlas a cabo. En el caso
de la multiconferencia, analiza también los flujos RTP implicados. ¿Qué se observa
en este último caso?
-

-

-

Llamada en espera: con el botón hold del Sjphone.
Redirección de llamada: con el botón transfer del Sjphone, nos pedirá que
introduzcamos el número al que queremos redirigir.
Voice mail o Buzón de voz: para utilizar el buzón de voz tenemos que marcar *98
seguido de la extensión de la que queremos consultar el buzón. A continuación se
nos pedirá que introduzcamos el password asociado al buzón, que hemos
configurado anteriormente.
Call Forward on Busy: permite redirigir automáticamente la llamada a otro
número predeterminado. Para activarlo, se debe introducir *90 seguido del número
al que queremos redirigir.
MultiConferencia: con el botón CONF del Sjphone, permite realizar
multiconferencias. Para ello, desde un PC puedes llamar a los otros dos, y una vez
establecidas y activas las dos comunicaciones, pulsar el botón CONF.

Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios
reales con Asterisk
6.3 Grupos de llamada: En “Setup  Inbound call control  Ring groups” crea un
nuevo grupo de llamada y añade a él las extensiones que prefieras. A continuación
modifica el parámetro “Ring strategy” y comprueba su funcionamiento.
6.4 Creación de conferencias gestionadas por Asterisk: En “Setup  Internal Options
& Configuration  Conferences” crea una nueva conferencia y únete a ella desde
varios ordenadores. Cambia los parámetros de la conferencia y observa sus efectos.

7.- Configuración de enlaces troncales entre Asterisk
Hasta ahora solo podemos realizar llamadas entre las extensiones que se encuentran
bajo el mismo servidor Asterisk (lo que vamos a denominar una sucursal). Para poder
realizar llamadas VoIP a extensiones de otras sucursales vamos a configurar un enlace
troncal (trunk) entre Asterisk. Cada Asterisk sólo conoce sus propias extensiones, de
forma que sin un trunk deberíamos conocer la dirección IP de cada Asterisk para poder
hacer llamadas entre sucursales. Con el trunk sólo es necesario conocer la dirección IP
del Asterisk de la sucursal propia, ya que es éste el que redirige las llamadas hacia el
otro Asterisk en caso necesario.
7.1 Vamos a establecer un trunk entre las sucursales de los hub 1 y 2. En el menú
“Setup  Basic  Trunks” de ambos Asterisk usaremos “Add Trunk  Add SIP
Trunk”. La figura siguiente muestra el menú que nos debe aparecer con los
parámetros que tenemos que configurar.
- Una vez realizada la configuración, comprueba que pueden realizarse
correctamente llamadas entre cualquier PC de una sucursal con cualquier PC de la
otra.
- De nuevo, captura tráfico con Wireshark, realiza una llamada entre 2 PCs de la
bancada y analiza la señalización SIP y el flujo RTP.

Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios
reales con Asterisk
En el campo Trunk Name simplemente ponemos un nombre al enlace que vamos a
crear. En PEER Details tenemos que configurar los parámetros del Asterisk remoto, tal
y como se indica en la figura. Vamos a configurar el nombre de usuario y contraseña
usados para conectarse al otro Asterisk. Es importante darse cuenta que el campo
fromuser no aparece por defecto al crear el trunk y debe añadirse para el correcto
funcionamiento del enlace.
En Incoming Settings deben configurarse los parámetros del Asterisk propio (el nombre
de usuario y contraseña usados para que el otro Asterisk se conecte al que estamos
configurando). El campo USER Context debe contener el nombre de usuario que deberá
configurarse como username en los PEER Details del otro Asterisk, del mismo modo
que el campo secret debe contener el mismo password que deberá configurarse en el
campo secret en los PEER Details del otro Asterisk
Una vez hecho esto, se añadirá una ruta de salida para las llamadas que vayan hacia la
sucursal remota, la cual usará el trunk previamente configurado. Para ello, en el menú
“Setup  Basic  Outbound Routes” elegiremos “Add Route” y configuraremos 3
parámetros: el nombre de la ruta, el plan de numeración (los números que serán
enviados siguiendo esta ruta, separados por enters) y el trunk usado por la ruta, tal y
como se muestra en la figura siguiente.

Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios
reales con Asterisk
ANEXO A ASTERISK
1.

Historia y Arquitectura

El proyecto Asterisk se inició como un proyecto de la empresa Digium. Casi todo fue
programado por Mark Spencer. Al principio tenía como objetivo crear una PBX híbrida
entre TDM y paquetes, con IVR y manejo de agentes. Sin embargo, Asterisk es una
PBX diseñada para conectar cualquier dispositivo de telefonía hardware o software con
cualquier tipo de aplicación telefónica, de manera transparente y consistente. Gracias a
este diseño orientado a la integración Asterisk puede ser utilizado en una gran variedad
de soluciones de telefonía.
2.

Tecnologías Soportadas

Las tecnologías que soporta Asterisk pueden dividirse en tres: Hardware Zaptel, Otro
Hardware y Paquetes de voz.

Hardware Zaptel
La característica principal de estas tarjetas, es que el procesamiento es más software
que hardware, por lo que la señalización se hace en el computador. Hay otras tarjetas
que son hechas con DSP y por lo tanto el procesamiento es más hardware que software
(un DSP de 166MHz maneja un E1 sin problemas y en el mercado existen tarjetas PCI
para poner varios DSP). Estas tarjetas, producidas por Digium y que funcionan con el
módulo zaptel del kernel de linux, tienen un diseño libre pero Digium tiene el diseño de
los impresos y las produce más barato. Esta situación se presentó porque al ser Asterisk
un proyecto libre y abierto, el hardware debía ser asequible. La diferencia de precio es
del orden de 10 veces inferior al de las tarjetas de empresas como Intel y Natural.
La conexión hardware se puede hacer con líneas digitales o analógicas. Las líneas
analógicas normalmente cuentan con puertos FXS y/o FXO. Los puertos FXS entregan
señalización y potencia (entregan una troncal), mientras los puertos FXO reciben
señalización y potencia (reciben una troncal) Los tipos de señalización analógica que
soporta Zaptel son:
LS (Loop): cambio de polaridad para detectar cuelgue 48V/48V > en el ILA.
GS (Ground): pone tierra (0V) para detección de cuelgue.
KS (Kewll): LS+GS (ambas), es la que más se usa.
Las Tarjetas Wildcards Digum disponibles al momento de escribir este documento se
resumen a continuación:
X100P: recibe una línea FXO. Tiene una densidad muy baja, problemas graves de
detección de cuelgue y un pobre manejo de eco. Sirve para laboratorio y hogar.
TDM400 (TDMXY): TDM de 4 slots (líneas), pueden ser FXO ó FXS. X > # puertos
FXS, Y > # puertos FXO. Pocos problemas de cuelgue. Puede generar eco, pero se
puede corregir por software de cancelación de eco.
TX00P: (T1) X = 1 ó 4 líneas (descontinuada).
EX00P: (E1) X = 1 ó 4 líneas (descontinuada).
TE110P: 1 T1 o 1 E1. Sirve para usar los bancos de canales de rhino, que sólo vienen
con T1 y son baratos.
Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios
reales con Asterisk
S100P: 1 línea FXS, no es PCI sino USB.
IAXY: Pasarela de IAX a FXS (ATA IAX).
TE410P: PCIX (express, a 3.3V): 4 líneas, E1 o T1
TE405P: PCI (5V): 4 líneas, E1 o T1.
Nota: Con TDMoE se puede tener un canal de voz con una tarjeta PCI en un equipo de
bajo procesamiento, pero estable, y redireccionarlo a otro equipo que no tenga PCI y
tenga buen procesamiento, a través de ethernet. En la segunda máquina se usan los
módulos ztdynamic y zteth para emular algunos procesos de las tarjetas zaptel.

2.2. Otro Hardware
-

Hardware SIP y H.323: H.323 es soportado, pero todos los esfuerzos están enca
minados a SIP.
Algunos módems ISA.
OSS/ALSA.
Tarjetas linejack o quicknet, cuyos módulos ya vienen en el kernel de linux.
Voicetronix: 6FXSFXO, 12 FXSFXO, configurables.
Dialogic (pagando otra licencia).
Otras tarjetas europeas que soportan RDSI.

2.3. Paquetes de Voz
Asterisk soporta varias tecnologías de paquetes de voz, incluyendo SIP, IAX versión 1 y
2, MGCP (Media Gateway Control Protocol), H.323 y VoFR. IAX es un protocolo
avanzado diseñado por el proyecto Asterisk. Con IAX se da un mejor manejo a
comunicaciones a través de NAT y se puede hacer trunking: un canal GSM ocupa
20Kbps de cabecera y 12Kbps de carga útil (voz). Con IAX, cuando hay más de un
canal GSM sólo el primer canal tiene las cabeceras y luego se adicionan sólo 12Kbps
por cada canal de voz.
3. Canales y Aplicaciones
Los canales son las unidades lógicas de las llamadas que se cursan a través de las tecnol
ogías vistas en
1 El eco se presenta cuando hay un cambio de medio.
2 El E1, bien sea por coaxial o por UTP, se rige por G.703. El conversor de coaxial a U
TP haceel cambio de impedancia con un Balum, de 75 ohmios a 120 ohmios,
respectivamente. El cable UTP debe ser cableado con una norma especial, pero algunos
equipos vienen con interfaz RJ45 para cable UTP normal. el apartado anterior. Cada
canal tiene un identificador y puede ser de tipo ZAP, SIP, IAX, IAX2, Modem, Unicall
(R2), etc. Los canales son manejados indistintamente por Asterisk y combinados con
las aplicaciones. Existen numerosas aplicaciones (por ejemplo: Dial, Goto, Hangup,
Vicemail, etc.) que se combinan con tecnologías y prioridades en el DialPlan o Plan de
Marcado para indicar la forma como se enruta una llamada desde que se origina hasta su
destino final.

Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios
reales con Asterisk
4. Configuración
Hay varios tipos de archivos de configuración, entre ellos los de configurar canales, el
dialplan y varias aplicaciones. Estos ficheros se encuentran en /etc/asterisk.

4.1. Configuración de Canales
Los principales archivos de configuración de canales son:
● zapata.conf
● sip.conf
● iax.conf
● h323.conf
● oss.conf
● alsa.conf

4.1.1. Ejemplo del sip.conf
[general] ; esto se agrega a cada uno de los de abajo
language=es ; para tomar los sonidos en el idioma deseado
disallow=all ; desactiva todos los codecs que tiene por defecto
allow=gsm ; luego activa los que quiere en orden de prioridad
allow=ilbc ; si el cliente no soporta gsm, usa ilbc.
[telefono1] ; canal para el telefono 1, éste es el "User ID"
type=friend ; puede ser: peer(puede ser llamado), user(puede llamar) o friend(llamado y llamar)
secret=passwordxyz;
dtmfmode=rfc2833 ; puede ser: rfc2833(tonos como frecuencias en la parte de la voz), info
(tonos
como datos en las cabeceras), inband(tonos en la banda, tal vez no audibles).
calerid="juan"<1> ; hay que ponerlo así para que los identificadores alfanuméricos y numéricos
lo
muestren bien.
defaultip=0.0.0.0; restringir el acceso desde donde se puede conectar.
dynamic=yes ; autenticarse desde diferentes IP.
nat=no ; No se puede conectar a través de un nat.
context=extsip; con este contexto se manejan las llamas provenientes de este canal en el
dialplan.
[telefono20]
. context=locales ; puede llamar a _82XXXXX
Se puede ver un ejemplo extenso en el /etc/asterisk/sip.conf.sample que instala asterisk.

4.1.2. Ejemplo del zapata.conf
[channels]
language=es
usercallerid=yes ; identificador de llamadas
threewaycalling=yes ; si me llaman, puedo transferir con flash/hook y luego llamando al
segundo
transfer=yes
txgain=1.0 ; en dB
rxgain=2.0
callerid=asreceived ;también se puede poner uno fijo
busydetect=yes ; detección de cuelgue (ver “detección de cadencias”)
Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios
reales con Asterisk
busycount=8
musiconhold=default ;se puede poner cualquiera del voicemail.conf
group=1 ; los canales se pueden agrupar
;Si hay una TDM22 con los puertos 1 y 2 FXO, y los puertos 3 y 4 FXS:
channel=1,2 ; puertos que son del grupo
callgroup=1 ; para usar pickupgroup
pickupgroup=1 ; entre estas extensiones se pueden tomar las llamadas unas a otras, marcando
*8#
signallig=fxs_ks ; se usa la señalización contraria.
context= pstn_incoming ; contexto para manejar las llamadas que vienen de la pstn
group=2
channel=3,4
callgroup=1
pickupgroup=2
signallig=fxo_ks ; se usa la señalización contraria.
context= otro_contexto
Detección de cadencias
Es otra forma de detectar el cuelgue. Al detectar la cadencia 'tutuutúúú' se hace el HangUp
(cuando a
uno lo llaman y le cuelgan).
Para configurar esto hay que incluir en el zapata.conf estas dos líneas:
Busydetect=yes
BusyCount=8 (8 repeticiones para asegurarse de que sí sea el tutuutúúú)
También se pueden editar las fuentes de zaptel y poner la opción de cadencia en 300.
4.2. Ejemplo de dialplan (extensions.conf)
Aquí se pone la lógica del negocio representada en el plan de marcado.
[general]
#include macros.inc ; se pueden incluir otros archivos para organizar mejor todo
;Se definen contextos independientes para agrupar las extensiones
[extsip]; si un canal está asociado a este contexto, puede llamar a los números que están dentro
de este
contexto.
exten=100,1,Dial(SIP/telefono1,30) ;llamada al número 100 (timbra por 30 segundos),
;lo primero que se hace(prioridad 1),
;es llamar al canal SIP/telefono1
;si Dial no termina con éxito, se le suma 101 a la prioridad
;si en Dial contestan, se acaba el proceso
;si se acaba el tiempo, retorna y suma 1 a la prioridad.
exten=100,2,Voicemail(n${exten}) ; voicemail para cuando no contestan. ${exten} es una de
las
variables disponibles. Se reproduce el archivo de audio llamado n100
exten=100,102,Voicemail(b${exten}) ; voicemail para cuando no está disponible (archivo
b100).
;tambén se podía hacer aquí: exten=100,2,Goto(100,1) ó exten=100,102,Hangup()
exten=103,1,Dial(SIP/telefono1,30); otro número para llamar al canal SIP/telefono1
.
.
.
exten=120,1,Dial(SIP/telefono20,60)
include=>extsip2 ; los canales asociados al contexto extsip1, también pueden llamar a las
extensiones
del extsip2
[extsip2]
Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios
reales con Asterisk
exten=200,...
exten=i,1,HangUp ; la 'i' es para ver qué se hace cuando alguien marca un número que no está
definido
en el contexto.
[locales]
exten=_82XXXXX,1,Dial(ZAP/g1,${exten}); también se puede llamar al ZAP/1 o ZAP/2, pero
si está
cupado, no sirve.
exten=_82XXXXX,102,Bakground,ocupados_esperar
exten=_82XXXXX,103,Wait(10)
exten=_82XXXXX,104,Goto(_82XXXXX,1)
include=>extsip ; también puede llamar a los de extsip
[pstn_incoming]
exten=s,1,Background,bienvenida
include=>extsip
Para saber más de Dial u otra aplicación, en el CLI se pone 'show applications' y/o 'show
application Dial'.

4.3. Archivos para configurar aplicaciones
Por ejemplo voicemail.conf, meetme.conf, etc.
5. Más Información
● http://www.asterisk.org
● http://www.voipforo.org
● http://www.voipinfo.org
● http://developer.berlios.de/projects/destar/
● http://openfacts.berlios.de/indexen.phtml?title=DeStar
● http://gluc.unicauca.edu.co/wiki/index.php/Acerca_de_DeStar
● http://www.astricon.net/

Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios
reales con Asterisk

Weitere ähnliche Inhalte

Was ist angesagt?

Course 102: Lecture 13: Regular Expressions
Course 102: Lecture 13: Regular Expressions Course 102: Lecture 13: Regular Expressions
Course 102: Lecture 13: Regular Expressions Ahmed El-Arabawy
 
Course 102: Lecture 28: Virtual FileSystems
Course 102: Lecture 28: Virtual FileSystems Course 102: Lecture 28: Virtual FileSystems
Course 102: Lecture 28: Virtual FileSystems Ahmed El-Arabawy
 
Curso de VoIP / Parte 02: SIP
Curso de VoIP / Parte 02: SIPCurso de VoIP / Parte 02: SIP
Curso de VoIP / Parte 02: SIPIrontec
 
The basic concept of Linux FIleSystem
The basic concept of Linux FIleSystemThe basic concept of Linux FIleSystem
The basic concept of Linux FIleSystemHungWei Chiu
 
DNS (Bind) con Fedora.
DNS (Bind) con Fedora.DNS (Bind) con Fedora.
DNS (Bind) con Fedora.Vellidin
 
Javaクラスファイルの読み方
Javaクラスファイルの読み方Javaクラスファイルの読み方
Javaクラスファイルの読み方y torazuka
 
A Journey to Boot Linux on Raspberry Pi
A Journey to Boot Linux on Raspberry PiA Journey to Boot Linux on Raspberry Pi
A Journey to Boot Linux on Raspberry PiJian-Hong Pan
 
OpenWRT manual
OpenWRT manualOpenWRT manual
OpenWRT manualfosk
 
Step for installing linux server
Step for installing linux serverStep for installing linux server
Step for installing linux serversyed mehdi raza
 
Introduction to Router and Routing Basics
Introduction to Router and Routing BasicsIntroduction to Router and Routing Basics
Introduction to Router and Routing BasicsDarwish Ahmad
 
Course 102: Lecture 20: Networking In Linux (Basic Concepts)
Course 102: Lecture 20: Networking In Linux (Basic Concepts) Course 102: Lecture 20: Networking In Linux (Basic Concepts)
Course 102: Lecture 20: Networking In Linux (Basic Concepts) Ahmed El-Arabawy
 
Dead Lock Analysis of spin_lock() in Linux Kernel (english)
Dead Lock Analysis of spin_lock() in Linux Kernel (english)Dead Lock Analysis of spin_lock() in Linux Kernel (english)
Dead Lock Analysis of spin_lock() in Linux Kernel (english)Sneeker Yeh
 
Installation windows server 2019 standard
Installation windows server 2019 standardInstallation windows server 2019 standard
Installation windows server 2019 standardMr Cuong
 
CCCNA R&S-02-The TCP-IP and OSI Networking Models
CCCNA R&S-02-The TCP-IP and OSI Networking ModelsCCCNA R&S-02-The TCP-IP and OSI Networking Models
CCCNA R&S-02-The TCP-IP and OSI Networking ModelsAmir Jafari
 
CSW2017 Qiang li zhibinhu_meiwang_dig into qemu security
CSW2017 Qiang li zhibinhu_meiwang_dig into qemu securityCSW2017 Qiang li zhibinhu_meiwang_dig into qemu security
CSW2017 Qiang li zhibinhu_meiwang_dig into qemu securityCanSecWest
 

Was ist angesagt? (20)

Interrupts
InterruptsInterrupts
Interrupts
 
Course 102: Lecture 13: Regular Expressions
Course 102: Lecture 13: Regular Expressions Course 102: Lecture 13: Regular Expressions
Course 102: Lecture 13: Regular Expressions
 
Course 102: Lecture 28: Virtual FileSystems
Course 102: Lecture 28: Virtual FileSystems Course 102: Lecture 28: Virtual FileSystems
Course 102: Lecture 28: Virtual FileSystems
 
Curso de VoIP / Parte 02: SIP
Curso de VoIP / Parte 02: SIPCurso de VoIP / Parte 02: SIP
Curso de VoIP / Parte 02: SIP
 
The basic concept of Linux FIleSystem
The basic concept of Linux FIleSystemThe basic concept of Linux FIleSystem
The basic concept of Linux FIleSystem
 
DNS (Bind) con Fedora.
DNS (Bind) con Fedora.DNS (Bind) con Fedora.
DNS (Bind) con Fedora.
 
Javaクラスファイルの読み方
Javaクラスファイルの読み方Javaクラスファイルの読み方
Javaクラスファイルの読み方
 
A Journey to Boot Linux on Raspberry Pi
A Journey to Boot Linux on Raspberry PiA Journey to Boot Linux on Raspberry Pi
A Journey to Boot Linux on Raspberry Pi
 
VLSM & SUPERNETTING
VLSM & SUPERNETTINGVLSM & SUPERNETTING
VLSM & SUPERNETTING
 
Shell scripting
Shell scriptingShell scripting
Shell scripting
 
OpenWRT manual
OpenWRT manualOpenWRT manual
OpenWRT manual
 
Eigrp.ppt
Eigrp.pptEigrp.ppt
Eigrp.ppt
 
Step for installing linux server
Step for installing linux serverStep for installing linux server
Step for installing linux server
 
Introduction to Router and Routing Basics
Introduction to Router and Routing BasicsIntroduction to Router and Routing Basics
Introduction to Router and Routing Basics
 
Course 102: Lecture 20: Networking In Linux (Basic Concepts)
Course 102: Lecture 20: Networking In Linux (Basic Concepts) Course 102: Lecture 20: Networking In Linux (Basic Concepts)
Course 102: Lecture 20: Networking In Linux (Basic Concepts)
 
Dead Lock Analysis of spin_lock() in Linux Kernel (english)
Dead Lock Analysis of spin_lock() in Linux Kernel (english)Dead Lock Analysis of spin_lock() in Linux Kernel (english)
Dead Lock Analysis of spin_lock() in Linux Kernel (english)
 
Networking on z/OS
Networking on z/OSNetworking on z/OS
Networking on z/OS
 
Installation windows server 2019 standard
Installation windows server 2019 standardInstallation windows server 2019 standard
Installation windows server 2019 standard
 
CCCNA R&S-02-The TCP-IP and OSI Networking Models
CCCNA R&S-02-The TCP-IP and OSI Networking ModelsCCCNA R&S-02-The TCP-IP and OSI Networking Models
CCCNA R&S-02-The TCP-IP and OSI Networking Models
 
CSW2017 Qiang li zhibinhu_meiwang_dig into qemu security
CSW2017 Qiang li zhibinhu_meiwang_dig into qemu securityCSW2017 Qiang li zhibinhu_meiwang_dig into qemu security
CSW2017 Qiang li zhibinhu_meiwang_dig into qemu security
 

Andere mochten auch

Escalado y balanceo de carga de sistemas SIP
Escalado y balanceo de carga de sistemas SIPEscalado y balanceo de carga de sistemas SIP
Escalado y balanceo de carga de sistemas SIPPaloSanto Solutions
 
Escalado de sistemas VoIP Jon Bonilla, Consultor Especializado en VoIP
Escalado de sistemas VoIP Jon Bonilla, Consultor Especializado en VoIPEscalado de sistemas VoIP Jon Bonilla, Consultor Especializado en VoIP
Escalado de sistemas VoIP Jon Bonilla, Consultor Especializado en VoIPElastix México
 
MANUAL PARA CONFIGURACIÓN DE ELASTIX
MANUAL PARA CONFIGURACIÓN DE ELASTIXMANUAL PARA CONFIGURACIÓN DE ELASTIX
MANUAL PARA CONFIGURACIÓN DE ELASTIXmiguelangelperezhenao
 
Tecnicas monitoreo reportes con Asterisk
Tecnicas monitoreo reportes con AsteriskTecnicas monitoreo reportes con Asterisk
Tecnicas monitoreo reportes con AsteriskNicolás Gudiño
 
Diseño de PBX multitenant basada en Asterisk
Diseño de PBX multitenant basada en AsteriskDiseño de PBX multitenant basada en Asterisk
Diseño de PBX multitenant basada en AsteriskJon Bonilla
 
Como monitorear asterisk utilizando nrpe de nagios
Como monitorear asterisk utilizando nrpe de nagiosComo monitorear asterisk utilizando nrpe de nagios
Como monitorear asterisk utilizando nrpe de nagiosMcp Servicios
 
Servidor Asterisk (Instalacion y Configuracion)
Servidor Asterisk (Instalacion y Configuracion)Servidor Asterisk (Instalacion y Configuracion)
Servidor Asterisk (Instalacion y Configuracion)javi belenguer
 
Contextos avanzados en Asterisk útiles para implementaciones Elastix
Contextos avanzados en Asterisk útiles para implementaciones ElastixContextos avanzados en Asterisk útiles para implementaciones Elastix
Contextos avanzados en Asterisk útiles para implementaciones ElastixPaloSanto Solutions
 
Extensiones remotas seguras en Elastix
Extensiones remotas seguras en ElastixExtensiones remotas seguras en Elastix
Extensiones remotas seguras en ElastixPaloSanto Solutions
 
Cómo implementar supervivencia en oficinas remotas con Elastix y Vega de Sangoma
Cómo implementar supervivencia en oficinas remotas con Elastix y Vega de SangomaCómo implementar supervivencia en oficinas remotas con Elastix y Vega de Sangoma
Cómo implementar supervivencia en oficinas remotas con Elastix y Vega de SangomaPaloSanto Solutions
 
Seguridad en Asterisk: Un acercamiento detallado
Seguridad en Asterisk: Un acercamiento detalladoSeguridad en Asterisk: Un acercamiento detallado
Seguridad en Asterisk: Un acercamiento detalladoPaloSanto Solutions
 
Para montar una red se necesita
Para montar una red se necesitaPara montar una red se necesita
Para montar una red se necesitaScreenMedia
 
Negociacion de codecs en asterisk
Negociacion de codecs en asteriskNegociacion de codecs en asterisk
Negociacion de codecs en asteriskPaloSanto Solutions
 
Vtiger CRM and asterisk
Vtiger CRM and asteriskVtiger CRM and asterisk
Vtiger CRM and asteriskRommel León
 
Tutorial voz ip packet tracer
Tutorial voz ip packet tracerTutorial voz ip packet tracer
Tutorial voz ip packet tracerJosé Guerrero
 
Escalabilidad “horizontal” en soluciones VoIP basadas en Asterisk / Kamailio
Escalabilidad “horizontal” en soluciones VoIP basadas en Asterisk / KamailioEscalabilidad “horizontal” en soluciones VoIP basadas en Asterisk / Kamailio
Escalabilidad “horizontal” en soluciones VoIP basadas en Asterisk / KamailioIrontec
 
Diseño de una centralita telefónica con elastix
Diseño de una centralita telefónica con elastix Diseño de una centralita telefónica con elastix
Diseño de una centralita telefónica con elastix Oscar Medianero Chiscul
 

Andere mochten auch (20)

Escalado y balanceo de carga de sistemas SIP
Escalado y balanceo de carga de sistemas SIPEscalado y balanceo de carga de sistemas SIP
Escalado y balanceo de carga de sistemas SIP
 
Escalado de sistemas VoIP Jon Bonilla, Consultor Especializado en VoIP
Escalado de sistemas VoIP Jon Bonilla, Consultor Especializado en VoIPEscalado de sistemas VoIP Jon Bonilla, Consultor Especializado en VoIP
Escalado de sistemas VoIP Jon Bonilla, Consultor Especializado en VoIP
 
MANUAL PARA CONFIGURACIÓN DE ELASTIX
MANUAL PARA CONFIGURACIÓN DE ELASTIXMANUAL PARA CONFIGURACIÓN DE ELASTIX
MANUAL PARA CONFIGURACIÓN DE ELASTIX
 
Tecnicas monitoreo reportes con Asterisk
Tecnicas monitoreo reportes con AsteriskTecnicas monitoreo reportes con Asterisk
Tecnicas monitoreo reportes con Asterisk
 
Diseño de PBX multitenant basada en Asterisk
Diseño de PBX multitenant basada en AsteriskDiseño de PBX multitenant basada en Asterisk
Diseño de PBX multitenant basada en Asterisk
 
Como monitorear asterisk utilizando nrpe de nagios
Como monitorear asterisk utilizando nrpe de nagiosComo monitorear asterisk utilizando nrpe de nagios
Como monitorear asterisk utilizando nrpe de nagios
 
E15 01 comunicación cap2
E15 01 comunicación cap2E15 01 comunicación cap2
E15 01 comunicación cap2
 
Servidor Asterisk (Instalacion y Configuracion)
Servidor Asterisk (Instalacion y Configuracion)Servidor Asterisk (Instalacion y Configuracion)
Servidor Asterisk (Instalacion y Configuracion)
 
Contextos avanzados en Asterisk útiles para implementaciones Elastix
Contextos avanzados en Asterisk útiles para implementaciones ElastixContextos avanzados en Asterisk útiles para implementaciones Elastix
Contextos avanzados en Asterisk útiles para implementaciones Elastix
 
Extensiones remotas seguras en Elastix
Extensiones remotas seguras en ElastixExtensiones remotas seguras en Elastix
Extensiones remotas seguras en Elastix
 
Cómo implementar supervivencia en oficinas remotas con Elastix y Vega de Sangoma
Cómo implementar supervivencia en oficinas remotas con Elastix y Vega de SangomaCómo implementar supervivencia en oficinas remotas con Elastix y Vega de Sangoma
Cómo implementar supervivencia en oficinas remotas con Elastix y Vega de Sangoma
 
Seguridad en Asterisk: Un acercamiento detallado
Seguridad en Asterisk: Un acercamiento detalladoSeguridad en Asterisk: Un acercamiento detallado
Seguridad en Asterisk: Un acercamiento detallado
 
Para montar una red se necesita
Para montar una red se necesitaPara montar una red se necesita
Para montar una red se necesita
 
Negociacion de codecs en asterisk
Negociacion de codecs en asteriskNegociacion de codecs en asterisk
Negociacion de codecs en asterisk
 
Elastix, TLS, SRTP y OpenVPN
Elastix, TLS, SRTP y OpenVPNElastix, TLS, SRTP y OpenVPN
Elastix, TLS, SRTP y OpenVPN
 
Presentacion Hacking Asterisk
Presentacion Hacking AsteriskPresentacion Hacking Asterisk
Presentacion Hacking Asterisk
 
Vtiger CRM and asterisk
Vtiger CRM and asteriskVtiger CRM and asterisk
Vtiger CRM and asterisk
 
Tutorial voz ip packet tracer
Tutorial voz ip packet tracerTutorial voz ip packet tracer
Tutorial voz ip packet tracer
 
Escalabilidad “horizontal” en soluciones VoIP basadas en Asterisk / Kamailio
Escalabilidad “horizontal” en soluciones VoIP basadas en Asterisk / KamailioEscalabilidad “horizontal” en soluciones VoIP basadas en Asterisk / Kamailio
Escalabilidad “horizontal” en soluciones VoIP basadas en Asterisk / Kamailio
 
Diseño de una centralita telefónica con elastix
Diseño de una centralita telefónica con elastix Diseño de una centralita telefónica con elastix
Diseño de una centralita telefónica con elastix
 

Ähnlich wie Configuración de Asterisk

Ähnlich wie Configuración de Asterisk (20)

Configuracindeescenariosrealesconasterisk 131117194346-phpapp02
Configuracindeescenariosrealesconasterisk 131117194346-phpapp02Configuracindeescenariosrealesconasterisk 131117194346-phpapp02
Configuracindeescenariosrealesconasterisk 131117194346-phpapp02
 
Práctica VOIP
Práctica VOIPPráctica VOIP
Práctica VOIP
 
voz ip
voz ipvoz ip
voz ip
 
Proyecto final
Proyecto finalProyecto final
Proyecto final
 
principios de voz ip
principios de voz ipprincipios de voz ip
principios de voz ip
 
Software de VOIP
Software de VOIPSoftware de VOIP
Software de VOIP
 
Instalacion de un servidor proxy
Instalacion de un servidor proxyInstalacion de un servidor proxy
Instalacion de un servidor proxy
 
Configuración básica asterisk sixbell - v2.0
Configuración básica asterisk   sixbell - v2.0Configuración básica asterisk   sixbell - v2.0
Configuración básica asterisk sixbell - v2.0
 
Seguridad perimetral
Seguridad perimetralSeguridad perimetral
Seguridad perimetral
 
0. trabajo-de-investigación (1)
0. trabajo-de-investigación (1)0. trabajo-de-investigación (1)
0. trabajo-de-investigación (1)
 
Charla Asterisk - UPCI
Charla Asterisk - UPCICharla Asterisk - UPCI
Charla Asterisk - UPCI
 
visual fox pro
visual fox provisual fox pro
visual fox pro
 
Manual asterisk oigaa
Manual asterisk oigaaManual asterisk oigaa
Manual asterisk oigaa
 
VoIP con Asterisk Marzo 2010
VoIP con Asterisk Marzo 2010VoIP con Asterisk Marzo 2010
VoIP con Asterisk Marzo 2010
 
Implementado Sistemas de VoIP con FOSS
Implementado Sistemas de VoIP con FOSSImplementado Sistemas de VoIP con FOSS
Implementado Sistemas de VoIP con FOSS
 
Pfc fransico cap3
Pfc fransico cap3Pfc fransico cap3
Pfc fransico cap3
 
Nfs y xenserver[1]
Nfs y xenserver[1]Nfs y xenserver[1]
Nfs y xenserver[1]
 
Elastix Manual Español
Elastix Manual EspañolElastix Manual Español
Elastix Manual Español
 
Ngn elastix
Ngn elastixNgn elastix
Ngn elastix
 
Bridges Avanzadas
Bridges AvanzadasBridges Avanzadas
Bridges Avanzadas
 

Configuración de Asterisk

  • 1. Integración de servicios de telefonía y datos en redes de empresa Diego Llanes Gomez Luz Marina Prieto Ingeniería de sistemas Ciclo profesional Configuración de escenarios reales con Asterisk Docente Jarvey Gonzalez Corporación Unificada Nacional de Educación Superior CUN Bogotá Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios reales con Asterisk
  • 2. Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios reales con Asterisk OBJETIVOS El objetivo de la presente práctica es familiarizarnos con la central de software de telefonía IP (Telephony over IP, ToIP) de código abierto Asterisk. Esta central ofrece muchas de las facilidades de las centrales telefónicas tradicionales, pero adaptadas al mundo de la Voz sobre IP (Voice over IP, VoIP). El hecho de estar basada en IP hace que sea capaz de proporcionar multitud de características de alto nivel como son el correo de voz, creación de conferencias, menús de voz interactivos, enrutamiento automático de llamadas y muchas otras. A lo largo de esta sesión veremos cómo configurarla y obtener el máximo partido de la misma LA CENTRAL ASTERISK La central Asterisk es una implementación software de una central telefónica tradicional (Private Branch eXchange, PBX). Fue creada en 1999 por Mark Spencer, de la empresa Digium. Como cualquier PBX, permite realizar llamadas entre teléfonos conectados a ella (tanto IP como analógicos, aunque estos últimos con hardware especial) y conexiones tanto a la red IP como a la red telefónica conmutada (RTC). Asterisk cuenta con un esquema de doble licencia, la licencia de software libre GNU (GNU General Public License, GPL) y otra licencia propietaria para permitir código propietario como el del códec G.729. Gracias a la licencia GPL cuenta con una gran comunidad de programadores que han contribuido a añadirle multitud de características. Además, su código ha sido portado a las plataformas más utilizadas en la actualidad (Windows, Linux, MacOS, Solaris, FreeBSD, etc.). Asterisk soporta diferentes protocolos de VoIP: SIP (Session Initiation Protocol, ver RFC 3261), MGCP (Media Gateway Control Protocol) y H.323. No obstante, en esta Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios reales con Asterisk
  • 3. sesión nos vamos a centrar en el protocolo SIP por ser el más extendido en la actualidad. De esta forma, Asterisk puede interactuar con la mayoría de teléfonos SIP y ejerce tanto de servidor de registro SIP (SIP registrar) como de proxy SIP, e incluso de gateway o pasarela entre teléfonos IP y la RTC si se cuenta con el hardware adecuado. Los desarrolladores de Asterisk han creado un nuevo protocolo, el IAX2 (Inter-Asterisk eXchange), para realizar trunking de llamadas entre centrales Asterisk y entre proveedores de servicio de VoIP que lo soporten. Incluso existen teléfonos que soportan el protocolo IAX2 de forma nativa para comunicarse con la central Asterisk. Al soportar una mezcla de la telefonía tradicional y los servicios de VoIP, Asterisk permite a los desarrolladores construir nuevos sistemas telefónicos de forma eficiente o migrar de forma gradual los sistemas existentes a las nuevas tecnologías. Algunos sitios usan Asterisk para reemplazar a antiguas centrales propietarias, otros para proveer funcionalidades adicionales y algunas otras para reducir costes en llamadas a larga distancia utilizando Internet. Desde el punto de vista de la clasificación funcional de servidores SIP, las funcionalidades de Asterisk son varias: Por una parte, actúa de Registrar y Location Server, ya que acepta peticiones de registro de los usuarios y suministra un servicio de localización y traducción de direcciones en el dominio que controla. Por otro lado, también actúa como un Proxy Server con estado (Stateful Proxy), ya que conoce en todo momento el estado de la llamada y posee funcionalidades que dependen del estado de la llamada como servicios de respuesta automática (Interactive Voice Response, IVR) que le permiten actuar sobre el flujo RTP (Real Time Protocol), que es el que contiene la comunicación de voz. Cabe recordar que en contraste con este tipo de proxy nos encontramos los proxy server sin estado (Stateless Proxy) como SER (SIP Express Router), que no tienen sentido más que para redes completamente SIP, ya que solo conocen y actúan sobre los paquetes SIP que negocian las direcciones IP, los puertos a utilizar, el códec a utilizar, etc., pero no sobre el flujo RTP. A continuación se recogen diversas funciones básicas que se pueden realizar sobre Asterisk: - Ring Group o Grupo de timbrado: permite llamar al mismo tiempo a todos los teléfonos de un grupo. Los teléfonos del grupo también pueden consistir en números telefónicos externos como teléfonos móviles. - Queue o Cola: es un almacén de llamadas entrantes. Así, las personas que llaman pueden esperar la respuesta de alguien en lugar de obtener una señal de ocupado o ser forzadas a dejar un mensaje. Esta extensión también puede decir a la persona que llama su lugar en la cola y el tiempo estimado de espera. - Trunk o Tronco: es un circuito que define una configuración de conexión de entrada o salida. - OutBound Rules o Reglas de salida: definen las rutas que tomará una llamada saliente. - DiD o Direct In Dial: son reglas que definen dónde ira una llamada de un determinado número telefónico. - Auto Attendant: es un sistema para llamadas entrantes con respuestas de voz interactivas. - Incoming calls: junta todas las configuraciones entrantes y fija dónde van las llamadas entrantes. Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios reales con Asterisk
  • 4. También se pueden realizar configuraciones avanzadas como las que siguen: - NAT: se configura cuando el servidor funciona detrás de un router y no tiene direccón IP pública. Así, se deben fijar la red local y la IP externa. - Tiempo y Red: aquí se utiliza “netconfig” para configurar la IP en el servidor y “timeconfig” para fijar la hora y fecha actuales. - Web MeetMe: es un cuarto de conferencias para uso de todos los usuarios. - Extensiones Remotas: para poder aceptar un usuario remoto teniendo en cuenta el funcionamiento de NAT con los protocolos utilizados por Asterisk (IAX y SIP). INSTALACIÓN Y USO DE ASTERISK La central de Asterisk puede descargarse de forma gratuita desde su web principal: http://www.asterisk.org. Este código puede ser compilado y ejecutado en el sistema que se desee, aunque resulta una tarea complicada y tediosa. Por ello, resulta mucho más útil partir de paquetes precompilados para los diferentes sistemas (ejecutable de instalación en Windows, paquetes RPM para Linux, etc.). Sin embargo, tanto para la realización de esta sesión o si lo que simplemente se desea es usar Asterisk y probar su funcionalidad de una forma rápida y sencilla, existe una versión precompilada y lista para usar, desarrollada por la empresa Fonality, denominada Trixbox: http://www.trixbox.org/. Esta versión cuenta además con el front-end web FreePBX para una configuración mucho más sencilla de Asterisk, así como muchas otras facilidades adicionales. Finalmente, existe una versión de Trixbox para máquinas virtuales VMWare, que será la que utilicemos en esta sesión. Para poder usar Asterisk en pocos minutos, basta con descargar gratuitamente el software de virtualización VMWare Player (http://www.vmware.com/products/player/) y la imagen para VMWare de Trixbox (http://www.vmware.com/appliances/directory/1299). La versión actual de la máquina virtual con Trixbox es la 2.6.1, pero por motivos de estabilidad usaremos la 2.4. DESCRIPCIÓN DE LA PRÁCTICA El esquema de trabajo se muestra en la siguiente figura: Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios reales con Asterisk
  • 5. Como se puede observar, se cuenta con una red de datos IP y de voz analógica a través de la RTC. Dentro de la red de datos también podrán realizarse llamadas VoIP (desde un teléfono conectado al gateway VoIP o desde un sofphone), y un servidor de telefonía IP Asterisk o externo (iptel.org) que podrá almacenar extensiones VoIP y enrutar las llamadas. Además, los gateway VoIP-RTC servirán de puente para las llamadas que se quieran enrutar hacia la RTC usando diferentes tecnologías. DESARROLLO DE LA PRÁCTICA A lo largo de la descripción del desarrollo de la práctica se van a incluir algunas imágenes con los parámetros a configurar. Los valores de dichos parámetros que aparecen en las imágenes no son los que deben configurarse en cada caso, sino simplemente un ejemplo para localizar la posición de los parámetros a modificar. Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios reales con Asterisk
  • 6. 1.- Arranque de los servidores Asterisk En primer lugar, ejecutaremos el programa VMWare Player en las máquinas que vayan a ejercer de servidor Asterisk y comprobaremos que la máquina virtual Trixbox cuente con un interfaz de red virtual Ethernet en modo bridged (Edit Virtual Machine Settings  Ethernet). De esta forma, la máquina virtual tendrá acceso a la red física a la que esté conectada el ordenador desde el que ejecutamos VMWare Player. La dirección IP la obtendrá por medio de DHCP (Dynamic Host Configuration Protocol) si está disponible, o bien la configuraremos manualmente mediante el comando ifconfig de Linux. Una vez comprobado todo, lanzaremos la máquina virtual Trixbox (botón Power on), obteniendo lo siguiente: El nombre de usuario y la contraseña son root/trixbox. Una vez dentro de la máquina virtual, ejecutaremos el comando ifconfig para comprobar la dirección IP de la máquina y así poder conectarnos a Asterisk desde el interfaz web. 2.- Conexión inicial al interfaz web Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios reales con Asterisk
  • 7. Una vez conozcamos la dirección IP de la máquina virtual, podemos simplemente minimizar el VMWare Player con el Asterisk corriendo dentro, ya que toda la gestión del servidor la realizaremos desde un navegador web. Para comprobarlo, lanzamos el navegador web desde cualquier ordenador y vamos a la página de configuración de Trixbox: http://<Dirección IP de la máquina virtual>. Desde esta página podemos acceder a diferentes características añadidas alrededor de Asterisk, como son el Flash Operator Panel (FOP), el correo de voz o la gestión de conferencias Web MeetMe. No obstante, hemos accedido a la gestión como usuario normal, por lo que para poder tener acceso a las características avanzadas más potentes, debemos entrar como superusuario. Al lado de User mode pulsamos en switch e introducimos como nombre de usuario y contraseña maint/password. Desde esta nueva página disponemos de todo un abanico de posibilidades a explorar. La más importante de ellas es la configuración de Asterisk, la cual se encuentra bajo AsteriskFreePBX. 3.- Instalación de softphone Como software cliente de VoIP utilizaremos el cliente Sjphone. Este cliente es compatible tanto con H.323 como con SIP, pero en esta práctica nos vamos a centrar en el protocolo SIP. Si no está instalado en el ordenador, podemos descargarlo a través de la página web http://www.sjlabs.com/. Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios reales con Asterisk
  • 8. 3.1 Una vez instalado en los PCs que actúan de cliente, comprueba que funciona el cliente llamando a un compañero. Vamos a recordar la captura del tráfico generado. Para ello, lanzamos la aplicación WireShark antes de iniciar la llamada y posteriormente analizamos el tráfico generado. 3.2 Tras verificar el correcto funcionamiento de los clientes de VoIP en modo directo (PC to PC), vamos a proceder a configurarlos para realizar las llamadas a través del servidor Asterisk. Para ello, debemos definir un nuevo perfil. En primer lugar, deberemos de pulsar el botón de configuración (botón del medio). Para añadir un perfil de uso en SIP, presionar New... Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios reales con Asterisk
  • 9. 3.3 Asignamos un nombre al nuevo perfil (Profile name) y configuramos el cliente para el uso con Asterisk, como proxy SIP (Profile type: Calls through SIP Proxy). 3.4 En Proxy Domain tenemos que poner la dirección IP del Asterisk . En cuanto al puerto, podemos especificar el 5060, que es el puerto que utilizar SIP, aunque si lo dejamos a 0, cogerá directamente este valor por defecto. Es importante asegurarse de que la casilla Register with proxy se encuentra seleccionada. Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios reales con Asterisk
  • 10. 3.5 A continuación debe configurarse el usuario y contraseña asociados al cliente, que posteriormente utilizaremos para dar de alta en el servidor Asterisk. Por motivos de uniformidad, y para facilitar la gestión de la práctica se propone emplear los siguientes valores: Account: emplearemos números de 4 dígitos. Empleamos el siguiente criterio arbitrario: El primero dígito será el número de hub (1, 2), el segundo será 0 y los dos últimos, los dos últimos dígitos del último octeto de la dirección IP (con un 0 delante si es un único dígito. Password: empleamos una contraseña fácil de recordar. Por ejemplo, el mismo número configurado en Account. 3.6 Con esto finaliza la configuración de los clientes SIP. Puede comprobarse que el interfaz gráfico del Sjphone se modifica respecto al original, mostrándose el aspecto que aparece en la siguiente figura: Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios reales con Asterisk
  • 11. 4.- Configuración de extensiones en Asterisk Tanto los softphone como los Linksys cuentan con extensiones que ahora debemos dar de alta en el servidor Asterisk. 4.1 Para llevar a cabo la configuración del Asterisk, retomamos la página web que hemos dejado abierta en el apartado 2 (Asterisk  FreePBX): Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios reales con Asterisk
  • 12. 4.2 Entramos en el submenú “Extensions” (menú de la parte izquierda) donde vamos a configurar las extensiones. El menú a configurar se muestra en la figura siguiente. Los parámetros que debemos configurar son los siguientes: - User extension: el número de 4 dígitos que hemos definido en el campo account en el Sjphone. - Display name: el nombre de usuario asociado a esta extensión. Para mantener la uniformidad, empleamos los mismos 4 dígitos de user extensión. - Secret (en Device Options): la contraseña que hemos configurado en el campo password del Sjphone. Existen otra serie de parámetros que se pueden modificar que se explicarán a lo largo de la práctica. No es necesario modificar ningún otro parámetro. Finalmente, pulsamos “Submit” para confirmar la configuración. No olvides pulsar sobre “Apply Configuration Changes” (botón naranja en la parte superior izquierda de la página) para que los cambios surtan efecto en Asterisk. Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios reales con Asterisk
  • 13. 5.- Análisis de la señalización SIP y del tráfico RTP 5.1 Una vez configuradas las extensiones, comprobamos que funciona la conexión haciendo una llamada a uno de los números que hemos creado o al *43, que realizará una llamada “de eco” para verificar que funciona bien la línea. Tras comprobar que podemos realizar llamadas entre los equipos, vamos a analizar el tráfico de VoIP: - - Captura tráfico con Wireshark, realiza una llamada entre 2 PCs del mismo hub y analiza la señalización SIP. ¿Qué semejanzas y diferencias observas respecto al caso de comunicación directa entre 2 PCs? Ahora analiza el tráfico RTP. ¿Observas alguna diferencia respecto a lo esperado según lo visto en teoría? 5.2 Vamos a modificar algunos de los parámetros de la configuración del Asterisk. Concretamente: - En “Setup  General Settings”, en el campo Asterisk dial command options aparecen una t y una r. Borramos la t. - En “Setup  Extensions”, pinchamos en cada una de las extensiones, y en Device Options, modificamos el parámetro canreinvite de no a yes. De nuevo, realizamos llamada y capturamos tráfico. - ¿Qué ocurre ahora tanto con la señalización SIP como con los flujos RTP? Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios reales con Asterisk
  • 14. 6.- Pruebas con alguna de las funcionalidades que ofrece Asterisk 6.1 Vamos a realizar pruebas con algunas de las funcionalidades adicionales que nos ofrece Asterisk. En el menú Feature Codes aparecen todos los números asociados a funciones de la central. Algunos de esos números se muestran a continuación: Números Interesantes *411 Directory *43 Echo Test *60 Time *61 Weather *62 Schedule wakeup call *65 festival test (your extension is XXX) *70 Activate Call Waiting (deactivated by default) *71 Deactivate Call Waiting *72 Call Forwarding System *73 Disable Call Forwarding *77 IVR Recording *78 Enable Do-Not-Disturb *79 Disable Do-Not-Disturb *90 Call Forward on Busy *91 Disable Call Forward on Busy *97 Message Center (does no ask for extension) *98 Enter Message Center *99 Playback IVR Recording 666 Test Fax 7777 Simulate incoming call 6.2 Comprueba el correcto funcionamiento de las siguientes funcionalidades y analiza con Wireshark la nueva señalización que aparece para llevarlas a cabo. En el caso de la multiconferencia, analiza también los flujos RTP implicados. ¿Qué se observa en este último caso? - - - Llamada en espera: con el botón hold del Sjphone. Redirección de llamada: con el botón transfer del Sjphone, nos pedirá que introduzcamos el número al que queremos redirigir. Voice mail o Buzón de voz: para utilizar el buzón de voz tenemos que marcar *98 seguido de la extensión de la que queremos consultar el buzón. A continuación se nos pedirá que introduzcamos el password asociado al buzón, que hemos configurado anteriormente. Call Forward on Busy: permite redirigir automáticamente la llamada a otro número predeterminado. Para activarlo, se debe introducir *90 seguido del número al que queremos redirigir. MultiConferencia: con el botón CONF del Sjphone, permite realizar multiconferencias. Para ello, desde un PC puedes llamar a los otros dos, y una vez establecidas y activas las dos comunicaciones, pulsar el botón CONF. Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios reales con Asterisk
  • 15. 6.3 Grupos de llamada: En “Setup  Inbound call control  Ring groups” crea un nuevo grupo de llamada y añade a él las extensiones que prefieras. A continuación modifica el parámetro “Ring strategy” y comprueba su funcionamiento. 6.4 Creación de conferencias gestionadas por Asterisk: En “Setup  Internal Options & Configuration  Conferences” crea una nueva conferencia y únete a ella desde varios ordenadores. Cambia los parámetros de la conferencia y observa sus efectos. 7.- Configuración de enlaces troncales entre Asterisk Hasta ahora solo podemos realizar llamadas entre las extensiones que se encuentran bajo el mismo servidor Asterisk (lo que vamos a denominar una sucursal). Para poder realizar llamadas VoIP a extensiones de otras sucursales vamos a configurar un enlace troncal (trunk) entre Asterisk. Cada Asterisk sólo conoce sus propias extensiones, de forma que sin un trunk deberíamos conocer la dirección IP de cada Asterisk para poder hacer llamadas entre sucursales. Con el trunk sólo es necesario conocer la dirección IP del Asterisk de la sucursal propia, ya que es éste el que redirige las llamadas hacia el otro Asterisk en caso necesario. 7.1 Vamos a establecer un trunk entre las sucursales de los hub 1 y 2. En el menú “Setup  Basic  Trunks” de ambos Asterisk usaremos “Add Trunk  Add SIP Trunk”. La figura siguiente muestra el menú que nos debe aparecer con los parámetros que tenemos que configurar. - Una vez realizada la configuración, comprueba que pueden realizarse correctamente llamadas entre cualquier PC de una sucursal con cualquier PC de la otra. - De nuevo, captura tráfico con Wireshark, realiza una llamada entre 2 PCs de la bancada y analiza la señalización SIP y el flujo RTP. Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios reales con Asterisk
  • 16. En el campo Trunk Name simplemente ponemos un nombre al enlace que vamos a crear. En PEER Details tenemos que configurar los parámetros del Asterisk remoto, tal y como se indica en la figura. Vamos a configurar el nombre de usuario y contraseña usados para conectarse al otro Asterisk. Es importante darse cuenta que el campo fromuser no aparece por defecto al crear el trunk y debe añadirse para el correcto funcionamiento del enlace. En Incoming Settings deben configurarse los parámetros del Asterisk propio (el nombre de usuario y contraseña usados para que el otro Asterisk se conecte al que estamos configurando). El campo USER Context debe contener el nombre de usuario que deberá configurarse como username en los PEER Details del otro Asterisk, del mismo modo que el campo secret debe contener el mismo password que deberá configurarse en el campo secret en los PEER Details del otro Asterisk Una vez hecho esto, se añadirá una ruta de salida para las llamadas que vayan hacia la sucursal remota, la cual usará el trunk previamente configurado. Para ello, en el menú “Setup  Basic  Outbound Routes” elegiremos “Add Route” y configuraremos 3 parámetros: el nombre de la ruta, el plan de numeración (los números que serán enviados siguiendo esta ruta, separados por enters) y el trunk usado por la ruta, tal y como se muestra en la figura siguiente. Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios reales con Asterisk
  • 17. ANEXO A ASTERISK 1. Historia y Arquitectura El proyecto Asterisk se inició como un proyecto de la empresa Digium. Casi todo fue programado por Mark Spencer. Al principio tenía como objetivo crear una PBX híbrida entre TDM y paquetes, con IVR y manejo de agentes. Sin embargo, Asterisk es una PBX diseñada para conectar cualquier dispositivo de telefonía hardware o software con cualquier tipo de aplicación telefónica, de manera transparente y consistente. Gracias a este diseño orientado a la integración Asterisk puede ser utilizado en una gran variedad de soluciones de telefonía. 2. Tecnologías Soportadas Las tecnologías que soporta Asterisk pueden dividirse en tres: Hardware Zaptel, Otro Hardware y Paquetes de voz. Hardware Zaptel La característica principal de estas tarjetas, es que el procesamiento es más software que hardware, por lo que la señalización se hace en el computador. Hay otras tarjetas que son hechas con DSP y por lo tanto el procesamiento es más hardware que software (un DSP de 166MHz maneja un E1 sin problemas y en el mercado existen tarjetas PCI para poner varios DSP). Estas tarjetas, producidas por Digium y que funcionan con el módulo zaptel del kernel de linux, tienen un diseño libre pero Digium tiene el diseño de los impresos y las produce más barato. Esta situación se presentó porque al ser Asterisk un proyecto libre y abierto, el hardware debía ser asequible. La diferencia de precio es del orden de 10 veces inferior al de las tarjetas de empresas como Intel y Natural. La conexión hardware se puede hacer con líneas digitales o analógicas. Las líneas analógicas normalmente cuentan con puertos FXS y/o FXO. Los puertos FXS entregan señalización y potencia (entregan una troncal), mientras los puertos FXO reciben señalización y potencia (reciben una troncal) Los tipos de señalización analógica que soporta Zaptel son: LS (Loop): cambio de polaridad para detectar cuelgue 48V/48V > en el ILA. GS (Ground): pone tierra (0V) para detección de cuelgue. KS (Kewll): LS+GS (ambas), es la que más se usa. Las Tarjetas Wildcards Digum disponibles al momento de escribir este documento se resumen a continuación: X100P: recibe una línea FXO. Tiene una densidad muy baja, problemas graves de detección de cuelgue y un pobre manejo de eco. Sirve para laboratorio y hogar. TDM400 (TDMXY): TDM de 4 slots (líneas), pueden ser FXO ó FXS. X > # puertos FXS, Y > # puertos FXO. Pocos problemas de cuelgue. Puede generar eco, pero se puede corregir por software de cancelación de eco. TX00P: (T1) X = 1 ó 4 líneas (descontinuada). EX00P: (E1) X = 1 ó 4 líneas (descontinuada). TE110P: 1 T1 o 1 E1. Sirve para usar los bancos de canales de rhino, que sólo vienen con T1 y son baratos. Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios reales con Asterisk
  • 18. S100P: 1 línea FXS, no es PCI sino USB. IAXY: Pasarela de IAX a FXS (ATA IAX). TE410P: PCIX (express, a 3.3V): 4 líneas, E1 o T1 TE405P: PCI (5V): 4 líneas, E1 o T1. Nota: Con TDMoE se puede tener un canal de voz con una tarjeta PCI en un equipo de bajo procesamiento, pero estable, y redireccionarlo a otro equipo que no tenga PCI y tenga buen procesamiento, a través de ethernet. En la segunda máquina se usan los módulos ztdynamic y zteth para emular algunos procesos de las tarjetas zaptel. 2.2. Otro Hardware - Hardware SIP y H.323: H.323 es soportado, pero todos los esfuerzos están enca minados a SIP. Algunos módems ISA. OSS/ALSA. Tarjetas linejack o quicknet, cuyos módulos ya vienen en el kernel de linux. Voicetronix: 6FXSFXO, 12 FXSFXO, configurables. Dialogic (pagando otra licencia). Otras tarjetas europeas que soportan RDSI. 2.3. Paquetes de Voz Asterisk soporta varias tecnologías de paquetes de voz, incluyendo SIP, IAX versión 1 y 2, MGCP (Media Gateway Control Protocol), H.323 y VoFR. IAX es un protocolo avanzado diseñado por el proyecto Asterisk. Con IAX se da un mejor manejo a comunicaciones a través de NAT y se puede hacer trunking: un canal GSM ocupa 20Kbps de cabecera y 12Kbps de carga útil (voz). Con IAX, cuando hay más de un canal GSM sólo el primer canal tiene las cabeceras y luego se adicionan sólo 12Kbps por cada canal de voz. 3. Canales y Aplicaciones Los canales son las unidades lógicas de las llamadas que se cursan a través de las tecnol ogías vistas en 1 El eco se presenta cuando hay un cambio de medio. 2 El E1, bien sea por coaxial o por UTP, se rige por G.703. El conversor de coaxial a U TP haceel cambio de impedancia con un Balum, de 75 ohmios a 120 ohmios, respectivamente. El cable UTP debe ser cableado con una norma especial, pero algunos equipos vienen con interfaz RJ45 para cable UTP normal. el apartado anterior. Cada canal tiene un identificador y puede ser de tipo ZAP, SIP, IAX, IAX2, Modem, Unicall (R2), etc. Los canales son manejados indistintamente por Asterisk y combinados con las aplicaciones. Existen numerosas aplicaciones (por ejemplo: Dial, Goto, Hangup, Vicemail, etc.) que se combinan con tecnologías y prioridades en el DialPlan o Plan de Marcado para indicar la forma como se enruta una llamada desde que se origina hasta su destino final. Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios reales con Asterisk
  • 19. 4. Configuración Hay varios tipos de archivos de configuración, entre ellos los de configurar canales, el dialplan y varias aplicaciones. Estos ficheros se encuentran en /etc/asterisk. 4.1. Configuración de Canales Los principales archivos de configuración de canales son: ● zapata.conf ● sip.conf ● iax.conf ● h323.conf ● oss.conf ● alsa.conf 4.1.1. Ejemplo del sip.conf [general] ; esto se agrega a cada uno de los de abajo language=es ; para tomar los sonidos en el idioma deseado disallow=all ; desactiva todos los codecs que tiene por defecto allow=gsm ; luego activa los que quiere en orden de prioridad allow=ilbc ; si el cliente no soporta gsm, usa ilbc. [telefono1] ; canal para el telefono 1, éste es el "User ID" type=friend ; puede ser: peer(puede ser llamado), user(puede llamar) o friend(llamado y llamar) secret=passwordxyz; dtmfmode=rfc2833 ; puede ser: rfc2833(tonos como frecuencias en la parte de la voz), info (tonos como datos en las cabeceras), inband(tonos en la banda, tal vez no audibles). calerid="juan"<1> ; hay que ponerlo así para que los identificadores alfanuméricos y numéricos lo muestren bien. defaultip=0.0.0.0; restringir el acceso desde donde se puede conectar. dynamic=yes ; autenticarse desde diferentes IP. nat=no ; No se puede conectar a través de un nat. context=extsip; con este contexto se manejan las llamas provenientes de este canal en el dialplan. [telefono20] . context=locales ; puede llamar a _82XXXXX Se puede ver un ejemplo extenso en el /etc/asterisk/sip.conf.sample que instala asterisk. 4.1.2. Ejemplo del zapata.conf [channels] language=es usercallerid=yes ; identificador de llamadas threewaycalling=yes ; si me llaman, puedo transferir con flash/hook y luego llamando al segundo transfer=yes txgain=1.0 ; en dB rxgain=2.0 callerid=asreceived ;también se puede poner uno fijo busydetect=yes ; detección de cuelgue (ver “detección de cadencias”) Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios reales con Asterisk
  • 20. busycount=8 musiconhold=default ;se puede poner cualquiera del voicemail.conf group=1 ; los canales se pueden agrupar ;Si hay una TDM22 con los puertos 1 y 2 FXO, y los puertos 3 y 4 FXS: channel=1,2 ; puertos que son del grupo callgroup=1 ; para usar pickupgroup pickupgroup=1 ; entre estas extensiones se pueden tomar las llamadas unas a otras, marcando *8# signallig=fxs_ks ; se usa la señalización contraria. context= pstn_incoming ; contexto para manejar las llamadas que vienen de la pstn group=2 channel=3,4 callgroup=1 pickupgroup=2 signallig=fxo_ks ; se usa la señalización contraria. context= otro_contexto Detección de cadencias Es otra forma de detectar el cuelgue. Al detectar la cadencia 'tutuutúúú' se hace el HangUp (cuando a uno lo llaman y le cuelgan). Para configurar esto hay que incluir en el zapata.conf estas dos líneas: Busydetect=yes BusyCount=8 (8 repeticiones para asegurarse de que sí sea el tutuutúúú) También se pueden editar las fuentes de zaptel y poner la opción de cadencia en 300. 4.2. Ejemplo de dialplan (extensions.conf) Aquí se pone la lógica del negocio representada en el plan de marcado. [general] #include macros.inc ; se pueden incluir otros archivos para organizar mejor todo ;Se definen contextos independientes para agrupar las extensiones [extsip]; si un canal está asociado a este contexto, puede llamar a los números que están dentro de este contexto. exten=100,1,Dial(SIP/telefono1,30) ;llamada al número 100 (timbra por 30 segundos), ;lo primero que se hace(prioridad 1), ;es llamar al canal SIP/telefono1 ;si Dial no termina con éxito, se le suma 101 a la prioridad ;si en Dial contestan, se acaba el proceso ;si se acaba el tiempo, retorna y suma 1 a la prioridad. exten=100,2,Voicemail(n${exten}) ; voicemail para cuando no contestan. ${exten} es una de las variables disponibles. Se reproduce el archivo de audio llamado n100 exten=100,102,Voicemail(b${exten}) ; voicemail para cuando no está disponible (archivo b100). ;tambén se podía hacer aquí: exten=100,2,Goto(100,1) ó exten=100,102,Hangup() exten=103,1,Dial(SIP/telefono1,30); otro número para llamar al canal SIP/telefono1 . . . exten=120,1,Dial(SIP/telefono20,60) include=>extsip2 ; los canales asociados al contexto extsip1, también pueden llamar a las extensiones del extsip2 [extsip2] Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios reales con Asterisk
  • 21. exten=200,... exten=i,1,HangUp ; la 'i' es para ver qué se hace cuando alguien marca un número que no está definido en el contexto. [locales] exten=_82XXXXX,1,Dial(ZAP/g1,${exten}); también se puede llamar al ZAP/1 o ZAP/2, pero si está cupado, no sirve. exten=_82XXXXX,102,Bakground,ocupados_esperar exten=_82XXXXX,103,Wait(10) exten=_82XXXXX,104,Goto(_82XXXXX,1) include=>extsip ; también puede llamar a los de extsip [pstn_incoming] exten=s,1,Background,bienvenida include=>extsip Para saber más de Dial u otra aplicación, en el CLI se pone 'show applications' y/o 'show application Dial'. 4.3. Archivos para configurar aplicaciones Por ejemplo voicemail.conf, meetme.conf, etc. 5. Más Información ● http://www.asterisk.org ● http://www.voipforo.org ● http://www.voipinfo.org ● http://developer.berlios.de/projects/destar/ ● http://openfacts.berlios.de/indexen.phtml?title=DeStar ● http://gluc.unicauca.edu.co/wiki/index.php/Acerca_de_DeStar ● http://www.astricon.net/ Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios reales con Asterisk