Curso de introducción a la VoIP y Asterisk de Irontec.com
En esta primera parte veremos cómo instalar Asterisk y el lugar ocupa dentro de la VoIP profesional.
¿Deseas formación en Voz IP y Asterisk?
http://www.irontec.com/cursos/curso-asterisk-avanzado
Resto del curso:
Parte 2: http://bit.ly/curso-voip-2
Parte 3: http://bit.ly/curso-voip-3
Parte 4: http://bit.ly/curso-voip-4
3. Curso: Introducción a la VoIP y Asterisk
3
Planteamiento
● A continuación se expondrá el temario del curso completo
pero...
– No es un temario rígido: es un temario abierto a
sugerencias.
– El objetivo es aprender de la forma más amena posible: si
algo es un sopor, stop!!
– El curso pretende ser eminentemente práctico, pero es
imprescindible cierta base teórica.
– Os animo a interrumpirme todo lo queráis:
● Desde el respeto :D
● Para profundizar más en algo, explicar mejor algo que no
haya quedado claro.
● Etc.
4. Curso: Introducción a la VoIP y Asterisk
4
Temario completo
● El curso está dividido en 4 bloques, un bloque por día.
● Estos son los bloques y su objetivo principal:
I. VoIP y Asterisk:
Instalar Asterisk sabiendo qué lugar ocupa dentro de la VoIP
II. SIP:
Conocer los conceptos básicos de SIP y realizar llamadas con Asterisk
utilizando SIP
III. Dialplan:
Ver la potencia que el Dialplan (lógica de llamadas) aporta a Asterisk
IV. Conceptos avanzados:
Pinceladas de conceptos avanzados
5. Curso: Introducción a la VoIP y Asterisk
5
Antes de empezar
● Conocimientos previos recomendados:
– Manejo básico de la consola de GNU/Linux.
– Interés
– Ganas de aprender
– C8
H10
N4
O2
● ¿Qué sabes de Asterisk?
– ¿Lo has utilizado?
– ¿Qué intenciones de uso tienes?
7. Curso: Introducción a la VoIP y Asterisk
7
Antes de hackear con Asterisk...
● Este bloque sirve como introducción a todo el curso:
– Haremos un poco de historia de la telefonía.
– Veremos el nacimiento de la tecnología VoIP.
– Explicaremos en qué consiste y qué elementos implica.
– Analizaremos el papel de Asterisk dentro de la VoIP.
– Instalaremos Asterisk.
9. Curso: Introducción a la VoIP y Asterisk
9
Telefonía tradicional
● Teléfono inventado en 1876 por Antonio Meucci (atribuido
a Alexander Graham Bell hasta el 2002).
● Idea principal:
– Hacer audible la palabra hablada a largas distancias.
● Originalmente: Transmisión sobre un hilo de hierro,
comunicación punto a punto.
● Hoy en día: 1000 millones de teléfonos repartidos por todo
el mundo.
10. Curso: Introducción a la VoIP y Asterisk
10
Conmutación de circuitos
● La telefonía tradicional se basaba en conmutación de
circuitos.
● Desde el comienzo hasta el final de una llamada se
establecía un camino físico.
– Establecimiento: reserva de recursos.
– Consumo de recursos.
– Liberación.
● Inicialmente -> redes totalmente malladas
– 0% escalable.
– Cambio a estructura en estrella.
13. Curso: Introducción a la VoIP y Asterisk
13
Digitalización de la red de telefonía
● Al principio, telefonía 100% analógica.
● Gestión del crecimiento
– Analógico: FDM
– Digital: TDM
● Posteriormente los switches se sustituyeron por switches
digitales.
● Digital vs. Analógico
– Digital es más barato.
– Digital tiene mejor calidad.
– Analógico más rápido (switching).
– Complejidad de los terminales digitales.
● Solución: terminales analógicos y red troncal digital.
14. Curso: Introducción a la VoIP y Asterisk
14
Señalización
● Necesidad de comunicación entre distintos sistemas.
● Ligado a la evolución de centrales/terminales de usuario
● Señalización analógica
– Inband
● Señalización digital
– Access signalling (del terminal a la central)
● Ex. DTMF
– Trunk signalling (entre centrales)
● CAS (señalización asociada al canal)
● CCS (señalización por canal común)
15. Curso: Introducción a la VoIP y Asterisk
15
Señalización (2)
● Actualmente se usa SS7 (CCS)
– Señalización asociada al circuito
● Relativa a la llamada
– Señalización no asociada al circuito
● Consulta de tablas de enrutado
– Servicios suplementarios
● Desvíos de llamada...
● Paradigma de SS7
– La inteligencia reside en la red (terminales 'tontos')
– El acceso a la red determina los servicios disponibles
16. Curso: Introducción a la VoIP y Asterisk
16
El paradigma IP
● Su ÚNICO propósito es proporcionar conectividad.
● La red es independiente de la tecnología subyacente.
● Las aplicaciones pueden utilizar una infraestructura
común IP.
Ethernet | ATM | ...
Conectividad IP
Aplicaciones
17. Curso: Introducción a la VoIP y Asterisk
17
El paradigma IP (2)
● Protocolos de extremo a extremo
– IP solo 'lleva' cosas
– La INTELIGENCIA esta en los extremos
● Internet es idiota :)
● A priori, justo lo contrario que en la telefonía
tradicional...
18. Curso: Introducción a la VoIP y Asterisk
18
Conmutación de paquetes VS. Conmutación de circuitos
● Conmutación de circuitos
– Más rápida
– No se examina el contenido de los paquetes
– Establecimiento, uso y liberación
– Una vez establecida la conexión, como si hubiera una
conexión dedicada
● Conmutación de paquetes
– Cada paquete se encamina de forma independiente
– Mejor gestión de recursos
– Precio
20. Curso: Introducción a la VoIP y Asterisk
20
Voz sobre IP: ¿Qué es?
Utilizar redes de datos IP para realizar llamadas de Voz.
● En particular: Realizar llamadas por Internet (IP =
Internet Protocol).
● Internet: La mayor red de datos del mundo.
● La tecnología Voz sobre IP se encuentra ahora
mismo en su madurez, pero comenzó por los años
90.
● Tecnología conocida como 'VoIP'.
21. Curso: Introducción a la VoIP y Asterisk
21
Características Principales
● Se utiliza una única red. Si dos empresas están unidas a
través de Internet, ¿Por qué no aprovecharlo?
● Se administra una única red.
● Finalmente se puede hablar de: Estándares abiertos e
internacionales. Interoperabilidad, Bajada de precios en
proveedores y fabricantes de hardware VoIP.
● Calidad: Es posible conseguir la misma calidad e incluso
mayor gracias a nuevos codecs.
● Fiabilidad: En LAN, se puede lograr una gran fiabilidad. En
Internet también, pero existen más factores a controlar.
22. Curso: Introducción a la VoIP y Asterisk
22
Razones del éxito de VoIP
● Gran expansión actual de las redes de datos
– LAN, WAN...
– Internet: ADSL, ADSL2+, VDSL
– WIFI, WiMax...
● Posibilidad de desarrollar nuevos servicios
rápidamente.
● Menor inversión inicial para los proveedores.
● Costes más bajos para los clientes.
23. Curso: Introducción a la VoIP y Asterisk
23
Problemas de la VoIP
VoIP: Problemas
● NAT: El 'cáncer' de la VoIP. Distintos tipos, no es fácilmente
manejable.
● QoS: Necesidad de ofrecer calidad de servicio, al ser la voz
crítica en tiempo real.
● Latencia: Tiempo que tarda la voz en llegar al destino.
● Jitter: Variación de la latencia.
● Ancho de banda: En España conexiones asimétricas. El ancho
de banda es muy caro.
25. Curso: Introducción a la VoIP y Asterisk
25
Protocolos
● Señalización: Es el 'lenguaje' que se utiliza para
negociar y establecer las comunicaciones de voz sobre
IP. Los más importantes: SIP, H323 e IAX2.
● Transporte de las tramas de audio: Una vez
establecida la sesión, se necesita gestionar el propio
envío del audio. Los más usados: RTP y RTCP.
26. Curso: Introducción a la VoIP y Asterisk
26
RTP y RTCP
● Protocolo de transporte en Tiempo Real.
● Requerimiento de aplicaciones con
retardo ~ 0.
● Internet es un medio hostil
– Latencias
– Jitter
● Para solucionarlo:
– Timestamps
– Números de secuencia
● Si tenemos varios streams de audio/vídeo, es necesaria la
sincronización
– RTCP
● Asocia los timestamps con un RealTime Clock
27. Curso: Introducción a la VoIP y Asterisk
27
Codecs
● Los codecs se utilizan para digitalizar la voz humana,
analógica por naturaleza.
● Los softphones, hardphones o centralitas IP soportan
una serie de codecs cada uno. Cuando hablan entre si
negocian un codec común (SDP).
● Aspectos a tener en cuenta:
– Calidad de sonido
– Ancho de banda requerido
– Coste de computación
28. Curso: Introducción a la VoIP y Asterisk
28
Tecnologías Voz sobre IP
Comparativa de Codecs
● Fuentes: cisco.com (ID:7934), terracal.com (FAQ),
asteriskguru.com Bandwith calculator)
CODEC Codec Bitrate Intervalo A.Banda(Ethernet)
G.711 64 Kbps 10ms 87 Kbps
G.729 8 kbps 10ms 31,2 Kbps
Speex 4-44,2 Kbps 30 17,63 – 59,63 Kbps
ILBC 13,3 Kbps 30 30,83 Kbps
G.723.1 6,3 Kbps 37 21,9 Kbps
GSM 13,2 Kbps 20 28,63Kbps
30. Curso: Introducción a la VoIP y Asterisk
30
Teléfonos IP
● Teléfonos IP: Físicamente, son teléfonos normales,
con apariencia tradicional. Incorporan un conector
RJ45 para conectarlo directamente a una red IP en
Ethernet. No pueden ser conectados a lineas
telefónicas tradicionales.
SNOM 360 SIPURA 841
31. Curso: Introducción a la VoIP y Asterisk
31
Teléfonos IP
Características Principales
● Normalmente soportan un único protocolo de VozIP (SIP,
IAX2, H323).
● Soportan una serie de codecs, el famoso G.729 casi siempre está
entre ellos.
● Se conectan directamente a la Red IP:
32. Curso: Introducción a la VoIP y Asterisk
32
Teléfonos IP
Características Principales (II)
● Se configuran desde los menús del propio teléfono o
por interfaz web:
33. Curso: Introducción a la VoIP y Asterisk
33
Teléfonos IP
Características Avanzadas
● Dual LAN: La mayoría de los teléfonos disponen de
dos conectores RJ45 e implementan funciones de
switch, de esta forma no es necesario tirar cableado
nuevo para los nuevos dispositivos IP
34. Curso: Introducción a la VoIP y Asterisk
34
Teléfonos IP
Características Avanzadas (II)
● Manos Libres
● Conector auriculares/micrófono:
● Display LCD: Caller ID / Agenda
● “Autoprovisioning”: Autoconfiguración automática de
los parámetros de configuración desde un servidor
remoto.
● PoE
35. Curso: Introducción a la VoIP y Asterisk
35
Adaptadores IP
Adaptadores análogicos IP
(Analog Telephone Adapter, ATA)
● Permiten aprovechar los teléfonos analógicos actuales,
transformando su señal analógica en los protocolos de
VozIP.
LINKSYS PAP2
36. Curso: Introducción a la VoIP y Asterisk
36
Adaptadores IP
● Tienen un conector FXS para teléfono analógico
normal y envían por VozIP a través del conector LAN.
● Soportan SIP o IAX2 normalmente, varios codecs
(entre ellos el G.729).
● Soportan caller ID, tonos de llamada distintivos,
llamada en espera, ...
37. Curso: Introducción a la VoIP y Asterisk
37
Softphones
¿ Qué son ?
● Se trata de software que se ejecuta en estaciones o
servidores de trabajo.
● Permiten establecer llamadas de Voz sobre IP.
● El audio es capturado desde:
– Micrófono Incorporado
– Entrada de linea (Micrófono Externo).
– Dispositivos de entrada de audio USB
– Dispositivos Bluetooth
38. Curso: Introducción a la VoIP y Asterisk
38
Softphones
Tipos de Softphones
● Propietarios
– Protocolos estándar: SIP, H323 ...
– Protocolos propios abiertos.
– Protocolos propios cerrados.
● Libres
– Protocolos estándar.
– Protocolos propios abiertos.
39. Curso: Introducción a la VoIP y Asterisk
39
Softphones
Características Principales
● Integración con el entorno (Escritorio)
– Icono en systray, dock ...
– Aviso visual de llamadas entrantes.
● Integración con plataformas de acceso y validación de
usuarios (LDAP).
● Importación / Exportación de datos: libretas de
contactos en XML.
● Soporte de varias conversaciones simultáneamente y
en algunos casos de varias lineas.
40. Curso: Introducción a la VoIP y Asterisk
40
Softphones Privativos
Skype
● El más conocido de los softphones y quizás un responsable
importante de la popularización de la VozIP
● Creado por los fundadores de Kazaa: Zennström y Friis.
● En 2011 Microsoft anunció la compra completa de Skype por
8.500 millones de dólares.
● Las comunicaciones de Voz viajan cifradas por la red, utiliza un
protocolo propietario.
41. Curso: Introducción a la VoIP y Asterisk
41
Softphones Privativos
Skype: Ventajas
● Disponible para muchas plataformas: MS Windows, Mac OSX,
GNU Linux, Pocket PC
● Codificación de audio con mucha calidad y gran compresión: 3-
16 kilobytes / segundo
● Conferencias de llamadas. Envío de Video (V2.x)
● Firewall / Nat discover: En casi todas las situaciones funciona
sin necesidad de configurar PNAT
42. Curso: Introducción a la VoIP y Asterisk
42
Softphones Privativos
Skype: Problemas, protocolo cerrado
● ¿ Qué están haciendo con mis paquetes de voz ?
– Creadores de la Red Kazaa bajo sospecha de distribuir spyware de
forma intencionada.
● ¿ Qué están haciendo con mi ancho de banda ?
– Utilizarlo para otros clientes de Skype.
● Interconexión con otra redes: el salto a la red telefónica pública solo
puede realizarse con el sistema propietario de Skype, lo cual no
favorece la competencia.
43. Curso: Introducción a la VoIP y Asterisk
43
Softphones Privativos
Counterpath Eyebeam / Bria
● Software privativo, con licencia para distribución con marca
propia o compartida.
● Disponible para MS Windows, GNU Linux, Mac OSX y
Pocket PC.
● Soporta el estándar SIP y prácticamente todos los codecs
disponibles.
44. Curso: Introducción a la VoIP y Asterisk
44
Softphones libres
Twinkle
● Softphone para GNU/Linux.
● Licencia GPL.
● Interfaz de configuración muy amigable.
● Soporta múltiples perfiles.
● Soporta llamadas utilizando SRV DNS.
● Permite la utilización de STUN.
● Buena implementación de estándares.
45. Curso: Introducción a la VoIP y Asterisk
45
Softphones libres
Blink
● Softphone para Mac, versiones para GNU/Linux
● Desarrollado por AG Projects
● Muy buena implementación de estándares.
● Interfaz intuitiva y minimalista.
● Funcionalidades avanzadas: presencia, share desktop,
video, chat, etc.
46. Curso: Introducción a la VoIP y Asterisk
46
Gateways Voz IP
Gateways: ¿Qué son?
● Por definición aceptada, permiten interconectar la
telefonía tradicional con la telefonía por IP (Voz IP).
● Se integran con la red telefónica pública con interfaces
analógicos o enlaces digitales.
● Los adaptadores también pueden ser considerados
como gateways, a pequeña escala.
47. Curso: Introducción a la VoIP y Asterisk
47
Gateways Voz IP
Gateways: Características Principales
● Generalmente funcionan en dos sentidos: las llamadas
recibidas por IP se envían a PSTN/FXS o las llamadas
recibidas por interfaces FXS se envían por IP.
● Soportan generalmente SIP o H.323, así como
numerosos codecs (G.711, G.729, ...).
● Pueden ser utilizados de forma integrada con las
centralitas tradicionales: transformando la llamada
analógica de la centralita en llamada por IP, de forma
totalmente transparente.
48. Curso: Introducción a la VoIP y Asterisk
48
Concepto FXS/FXO
● FXS – La interfaz de abonado externo es el puerto que efectivamente
envía la línea analógica al abonado. En otras palabras, es el “enchufe de
la pared” que envía tono de marcado, corriente para la batería y tensión
de llamada
● FXO – Interfaz de central externa es el puerto que recibe la línea
analógica. Es un enchufe del teléfono o aparato de fax, o el enchufe de
su centralita telefónica analógica. Envía una indicación de
colgado/descolgado (cierre de bucle).
● FXO y FXS son siempre pares, es decir, similar a un enchufe
macho/hembra.
49. Curso: Introducción a la VoIP y Asterisk
49
Gateways Voz IP
Gateways: FXS -> VozIP
● Disponen 1 o más interfaces FXS para conectar
teléfonos o lineas de enlace de centralitas
50. Curso: Introducción a la VoIP y Asterisk
50
Gateways Voz IP
Gateways: FXO -> VozIP
● Interfaz FXO para conectar una línea de operador.
● Tres funciones principalmente:
– Discriminar en salida: llamar por IP o PSTN
– Utilizar la linea como backup, es decir, en caso de fallo de Internet o
del proveedor VoIP, las llamadas pueden ser encaminadas por PSTN
tradicional.
– Recibir llamadas por PSTN y encaminarlas por VozIP.
51. Curso: Introducción a la VoIP y Asterisk
51
Centralitas IP
● Centralitas de telefonía que permiten utilizar de forma
combinada la tecnología VozIP (mixtas) o
exclusivamente IP (puras).
Avaya IP Office
52. Curso: Introducción a la VoIP y Asterisk
52
Proveedores de Servicios VozIP
Función Principal
● El principal servicio de los diferentes proveedores de
Voz sobre IP es el de hacer de pasarela hacia la red
telefónica pública (conocida como PSTN/POTS) a
costes muy reducidos.
53. Curso: Introducción a la VoIP y Asterisk
53
Proveedores de Servicios VozIP
Características Principales
● Soportan determinados protocolos estándar (SIP, H323
normalmente).
● Algunos tienen protocolos propietarios: Skype, ...
● Soportan determinados codecs (GSM, G.729
normalmente).
● Casi siempre permiten realizar más de una llamada a la
vez.
● Las llamadas entre usuarios de un mismo proveedor
son gratuitas, en algunos casos existen 'prefijos' para
saltar entre redes de proveedores conocidos.
54. Curso: Introducción a la VoIP y Asterisk
54
Proveedores de Servicios VozIP
Características Avanzadas
● Enlace PSTN -> VoIP
– Numeración geográfica: 944, 91...
– Numeración 902, 700 ...
55. Curso: Introducción a la VoIP y Asterisk
55
Proveedores de Servicios VozIP
Algunos Proveedores
Dependencia de Internet.
57. Curso: Introducción a la VoIP y Asterisk
57
¿Qué es Asterisk?
– Cumple todas las funcionalidades de una centralita tradicional y más.
– Antes: “Asterisk is an OpenSource Multiprotocol PBX”
– Not PBX anymore!
58. Curso: Introducción a la VoIP y Asterisk
58
Historia
● Inicialmente desarrollado por Mark Spencer (creador
de GAIM).
● Tenía una empresa (Linux Support Services Inc.) y
necesitaba una centralita.
● Decidió hacerla él mismo.
● Se juntó con Jim Nixon, originalmente soportaba las
tarjetas de Zapata Telephony
● Liberó el código bajo licencia GPL.
59. Curso: Introducción a la VoIP y Asterisk
59
Historia (2)
● Viendo la evolución de Asterisk, la empresa cambió de
nombre a Digium.
● Actualmente Mark no es el CEO, es el CTO.
● Adquisiciones y alianzas con diversas empresas para
aumentar el “ecosistema”.
● Recientemente se han lanzado al mundo hardware, más alla
de las tarjetas.
60. Curso: Introducción a la VoIP y Asterisk
60
Modelo de desarrollo de Asterisk
● Modelo de desarrollo cambiado recientemente.
● Cuando sale una nueva versión, atraviesa 3 fases:
– Soporte inicial: bugs reportados.
– Solo security fixes.
– End of life.
● 2 tipos de versiones, de forma alterna:
– Long Term Support (LTS):
● 4 años bug fixing
● 1 año security fixes
– Standard releases:
● 1 año bug fixing
● 1 año security fixes
● Certified Asterisk: Testado más a fondo (hardware Digium)
61. Curso: Introducción a la VoIP y Asterisk
61
Versiones actuales
● A día de hoy:
● Fuentes:
http://www.asterisk.org/downloads/asterisk/all-asterisk-versions
https://wiki.asterisk.org/wiki/display/AST/Asterisk+Versions
63. Curso: Introducción a la VoIP y Asterisk
63
Funcionalidades de Asterisk
● Características típicas de centralita:
– Transferencias
– Música en espera
– ...
● Multiprotocolo y OpenSource!!
● Extensiones, DIDs para usuarios.
● Buzones de voz, desvíos de llamada, follow-me, ...
● Colas y agentes.
● Menús IVR.
● Protocolos: SIP, IAX2, H.323, MGCP, ...
● PSTN: T1/E1, ISDN BRI, FXO/FXS.
68. Curso: Introducción a la VoIP y Asterisk
68
Asterisk easy-way
● Distribuciones con Asterisk:
– AsteriskNow: Basada en
CentOS, incluye FreePBX
(antes Asterisk-GUI).
– TrixBox (antes
Asterisk@Home): Basado en
CentOS, incluye FreePBX.
● GUIs para Asterisk:
– FreePBX: Desarrollada por
terceros.
71. Curso: Introducción a la VoIP y Asterisk
71
Arquitectura de Asterisk
● Asterisk es muy modular.
● Nos permite ajustarlo a nuestras necesidades
(escalabilidad).
– Asterisk en dispositivos empotrados.
72. Curso: Introducción a la VoIP y Asterisk
72
Arquitectura de Asterisk (2)
Canales
Canal SIP Canal IAX2 Canal DAHDI
PBX CoreCDR Aplicaciones y funciones
Recursos Formatos Codecs
CSV
MySQL
Dial
Voicemail
AGI
config
.gsm
.wav
G.729
G.711
73. Curso: Introducción a la VoIP y Asterisk
73
Formatos
● Asterisk soporta multitud de formatos: wav, mp3,
gsm, h.264, etc ...
● Los necesitamos para reproducir ficheros, p.e. en un
IVR, Playback, Voicemail, …
*CLI> core show file formats
74. Curso: Introducción a la VoIP y Asterisk
74
Llamadas en Asterisk
Dispositivo que origina
la llamada: SIP,
DAHDI, IAX2, ...
Receptor de la
llamada.Asterisk recoge la llamada y
la procesa su lógica de
enrutado (dialplan).
Después se encamina al
destino.
En una llamada hay 2 canales: el que origina la llamada y el que la recibe.
75. Curso: Introducción a la VoIP y Asterisk
75
AstChannels: La magia
● Si asterisk es multiprotocolo, ¿como se realiza una
llamada entre 2 dispositivos de distinta tecnología?
● Hay 4 canales!! 2 dependientes de la tecnología
utilizada y 2 AstChannels.
● Asterisk crea los AstChannels para poder llevar a cabo
el bridging.
– Transferencias.
– Parking.
76. Curso: Introducción a la VoIP y Asterisk
76
Bridging
Canal dependiente de la
tecnología. SIP, DAHDI,
IAX2,...
Canales independientes de
la tecnología. Asterisk los
genera y lleva a cabo el
mecanismo de “bridging”.
Canal dependiente de la
tecnología. SIP, DAHDI,
IAX2,...
78. Curso: Introducción a la VoIP y Asterisk
78
Requisitos previos
● Recursos servidor: Dependen directamente de:
– Llamadas concurrentes.
– Conferencias y Aplicaciones complejas simultáneas.
– Transcoding?
● Principalmente, Asterisk requiere microprocesador.
● Difícil determinar con exactitud, mejor apuntar alto para poder escalar.
● Requisitos Hardware extra:
– Teléfonos IP?
– Tarjetas de telefonía?
● Requisitos Software
– Debian GNU/Linux
– http://www.voip-info.org
– San Google
79. Curso: Introducción a la VoIP y Asterisk
79
Dependencias
Instalación de dependencias
● Asterisk necesita para su correcta compilación y
funcionamiento los siguientes paquetes:
– build-essential
– libncurses5-dev
– libssl-dev
– libxml2-dev
– linux-headers-`uname -r`
– libnewt-dev
● Además se recomiendan los siguientes paquetes:
– vim
– openssh-server
80. Curso: Introducción a la VoIP y Asterisk
80
Dependencias
● Pasos previos:
apt-get update && apt-get upgrade
apt-get install ntp
ntpq -p
mkdir -p /usr/src/asterisk-complete/{libpri,dahdi,asterisk}
● Instalamos dependencias:
apt-get install build-essential libncurses5-dev libssl-dev
libxml2-dev linux-headers-`uname -r` vim libnewt-dev
81. Curso: Introducción a la VoIP y Asterisk
81
Descargas necesarias
● Necesitaremos:
– Asterisk: Núcleo (core) del sistema.
– Libpri: Librería para gestionar señalización
PRI/RDSI.
– DAHDI-linux-complete: Drivers del Kernel
para acceder a tarjetas de comunicaciones
para lineas analógicas o digitales.
Herramientas para interactuar con los drivers
de las tarjetas de comunicaciones.
● Orden 'histórico': libpri, dahdi, asterisk
● Orden desde utilidades añadidas en libpri
1.4.13: dahdi, libpri, asterisk
82. Curso: Introducción a la VoIP y Asterisk
82
Asterisk PBX: Instalación
● DAHDI:
cd /usr/src/asterisk-complete/dahdi/
wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-
linux-complete-current.tar.gz
tar xzf dahdi-linux-complete-current.tar.gz
cd $FOLDER
make
make install
make config
● LibPRI:
cd /usr/src/asterisk-complete/libpri/
wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-1.4-
current.tar.gz
tar xzf libpri-1.4-current.tar.gz
cd $FOLDER
make
make install
83. Curso: Introducción a la VoIP y Asterisk
83
Asterisk PBX: Instalación
● Asterisk:
cd /usr/src/asterisk-complete/asterisk/
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-1.8-
current.tar.gz
tar xzf asterisk-1.8-current.tar.gz
cd $FOLDER
./configure
make menuselect
make
make install
make config
[make samples]
84. Curso: Introducción a la VoIP y Asterisk
84
Estructura de directorios
● /etc/asterisk: Contiene los ficheros de configuración. Si al
compilar ejecutamos “make samples”, tendremos ejemplos en este
directorio.
● /usr/lib/asterisk/modules: Contiene los módulos de Asterisk que
hemos compilado.
● /var/lib/asterisk: Contiene diferentes “librerías” de Asterisk.
● /var/lib/asterisk/agi-bin: Directorio para contener los AGI.
● /var/spool/asterisk: Directorio para archivos que genera Asterisk
(voicemail, etc.)
● /var/log/asterisk: Aquí se guardan los log de Asterisk.
● /var/run/asterisk: PID file y socket para pasar comandos.
85. Curso: Introducción a la VoIP y Asterisk
85
Ejecutando Asterisk
● Hay que ser root.
● Modificadores de arranque:
– -c: Modo consola. Asterisk se inicia en primer plano.
– -v: Verbose. Cuantas más uves se añadan más mensajes
descriptivos veremos en la consola.
– -d: Debug. Cuantas más des, más mensajes de debug.
– -r: Remote console. Si hemos ejecutado Asterisk en
segundo plano, nos permite conectarnos al CLI.
86. Curso: Introducción a la VoIP y Asterisk
86
Ejecutando Asterisk (2)
● Para lanzar Asterisk en background:
# asterisk
# service asterisk start
● Para lanzar Asterisk en primer plano (nos
permite observar errores en el arranque):
# asterisk -cvvvvvvvvvv
● Para conectarnos a la consola si Asterisk
esta en segundo plano:
# asterisk -rvvvvvvvvvv
● Comandos desde la shell:
# asterisk -rx 'core show uptime'
87. Curso: Introducción a la VoIP y Asterisk
87
El CLI
● El CLI (Command Line Interpreter) es la consola de
Asterisk.
● Nos permite interactuar con Asterisk.
● Auto-completa los comandos pulsando TAB.
● Múltiples comandos nos resultan útiles para “ver lo que
esta pasando”
*CLI>core show channels
*CLI>core show application Dial
*CLI>module show
88. Curso: Introducción a la VoIP y Asterisk
88
'core restart now' vs 'core reload'
● Ambos sirven para reiniciar Asterisk, pero...
● 'core reload':
– No todos los módulos se reconfiguran con reload.
– No corta las llamadas en curso.
● 'core restart now':
– Se cortan las llamadas en curso.
– Reconfigura todos los módulos.
– gracefully / when convenient
89. Curso: Introducción a la VoIP y Asterisk
89
Ficheros de Configuración
● Todos los ficheros de configuración de Asterisk tienen
una estructura muy similar:
[general]
param=valor
...
[seccion]
param=valor
...
90. Curso: Introducción a la VoIP y Asterisk
90
asterisk.conf
● Configuración global de Asterisk:
– [directories]: Directorios de Asterisk. Útil si varias
instancias sobre la misma máquina.
– [options]: Configuración de varios aspectos globales.El
asterisk.conf sample está comentado con las opciones
posibles. Destacar:
● verbose
● nocolor
● runuser
● maxcalls
91. Curso: Introducción a la VoIP y Asterisk
91
modules.conf
● Indica a Asterisk qué módulos cargar en el arranque.
● No es necesario, pero sin módulos Asterisk es inútil.
● 2 opciones:
– Declaración 'a lo positivo'. Indicas los módulos que quieres
cargar con 'load'. ¡Ojo con el orden!
– Declaración 'a lo negativo'. Cargas todos los módulos con
'autoload' menos los indicados con 'noload'.
RECOMENDADO.
● Para ver los módulos cargados:
*CLI> module show
92. Curso: Introducción a la VoIP y Asterisk
92
indications.conf
● La telefonía, en cada sitio, tiene sus tonos, sus
frecuencias, su sonido.
● Este archivo determina qué sonidos ha de emitir
Asterisk:
[general]
country=es ; default location
[es]
description = Spain
ringcadence = 1500,3000
Dial = 425
...
93. Curso: Introducción a la VoIP y Asterisk
93
indications.conf
● La telefonía, en cada sitio, tiene sus tonos, sus
frecuencias, su sonido.
● Este archivo determina qué sonidos ha de emitir
Asterisk:
[general]
country=es ; default location
[es]
description = Spain
ringcadence = 1500,3000
Dial = 425
...
94. Curso: Introducción a la VoIP y Asterisk
94
Hay mucho más
● 'make samples' genera muchos más archivos de
configuración. A lo largo del curso se irán viendo
más.
● Destacan:
– extensions.conf
– voicemail.conf
– musiconhold.conf
– sip.conf
– features.conf
– iax.conf
– queues.conf
96. Curso: Introducción a la VoIP y Asterisk
96
Ejercicio
● Instalar Asterisk:
– Configuración mínima: sin 'make samples'.
– Copiar samples necesarios para arrancar.
– Probar distintos métodos de arranque
– Familiarizarse con el CLI
– 'core show version'
– 'core show uptime'
– 'core show file formats'
– 'core show codecs'
– 'core show translation'
– 'core show settings'
● Y sobre todo... enjoy! :)