curso de voip / parte 01: voip y asterisk

96
http://www.irontec.com Introducción a la VoIP y Asterisk

Upload: irontec-internet-y-sistemas-sobre-gnulinux

Post on 12-Jun-2015

3.348 views

Category:

Business


5 download

DESCRIPTION

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 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

TRANSCRIPT

Page 1: Curso de VoIP / Parte 01: VoIP y Asterisk

http://www.irontec.com

Introducción a la VoIP y Asterisk

Page 2: Curso de VoIP / Parte 01: VoIP y Asterisk

Welcome :)

Page 3: Curso de VoIP / Parte 01: VoIP y Asterisk

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.

Page 4: Curso de VoIP / Parte 01: VoIP y Asterisk

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

Page 5: Curso de VoIP / Parte 01: VoIP y Asterisk

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

– C8H

10N

4O

2

● ¿Qué sabes de Asterisk?– ¿Lo has utilizado?– ¿Qué intenciones de uso tienes?

Page 6: Curso de VoIP / Parte 01: VoIP y Asterisk

http://www.irontec.com

Parte I: VoIP y Asterisk

Page 7: Curso de VoIP / Parte 01: VoIP y Asterisk

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.

Page 8: Curso de VoIP / Parte 01: VoIP y Asterisk

Historia de la telefonía

Page 9: Curso de VoIP / Parte 01: VoIP y Asterisk

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.

Page 10: Curso de VoIP / Parte 01: VoIP y Asterisk

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.

Page 11: Curso de VoIP / Parte 01: VoIP y Asterisk

Curso: Introducción a la VoIP y Asterisk

11

Topología mallada

Page 12: Curso de VoIP / Parte 01: VoIP y Asterisk

Curso: Introducción a la VoIP y Asterisk

12

Topología en estrella

I own you...

¿?

Page 13: Curso de VoIP / Parte 01: VoIP y Asterisk

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.

Page 14: Curso de VoIP / Parte 01: VoIP y Asterisk

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)

Page 15: Curso de VoIP / Parte 01: VoIP y Asterisk

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

Page 16: Curso de VoIP / Parte 01: VoIP y Asterisk

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

Page 17: Curso de VoIP / Parte 01: VoIP y Asterisk

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...

Page 18: Curso de VoIP / Parte 01: VoIP y Asterisk

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

Page 19: Curso de VoIP / Parte 01: VoIP y Asterisk

¿Qué es la VoIP?

Page 20: Curso de VoIP / Parte 01: VoIP y Asterisk

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'.

Page 21: Curso de VoIP / Parte 01: VoIP y Asterisk

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.

Page 22: Curso de VoIP / Parte 01: VoIP y Asterisk

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.

Page 23: Curso de VoIP / Parte 01: VoIP y Asterisk

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.

Page 24: Curso de VoIP / Parte 01: VoIP y Asterisk

Conceptos de VoIP

Page 25: Curso de VoIP / Parte 01: VoIP y Asterisk

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.

Page 26: Curso de VoIP / Parte 01: VoIP y Asterisk

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

Page 27: Curso de VoIP / Parte 01: VoIP y Asterisk

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

Page 28: Curso de VoIP / Parte 01: VoIP y Asterisk

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 KbpsG.729 8 kbps 10ms 31,2 KbpsSpeex 4-44,2 Kbps 30 17,63 – 59,63 KbpsILBC 13,3 Kbps 30 30,83 KbpsG.723.1 6,3 Kbps 37 21,9 KbpsGSM 13,2 Kbps 20 28,63Kbps

Page 29: Curso de VoIP / Parte 01: VoIP y Asterisk

VoIP: Elementos implicados

Page 30: Curso de VoIP / Parte 01: VoIP y Asterisk

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

Page 31: Curso de VoIP / Parte 01: VoIP y Asterisk

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:

Page 32: Curso de VoIP / Parte 01: VoIP y Asterisk

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:

Page 33: Curso de VoIP / Parte 01: VoIP y Asterisk

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

Page 34: Curso de VoIP / Parte 01: VoIP y Asterisk

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

Page 35: Curso de VoIP / Parte 01: VoIP y Asterisk

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

Page 36: Curso de VoIP / Parte 01: VoIP y Asterisk

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, ...

Page 37: Curso de VoIP / Parte 01: VoIP y Asterisk

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

Page 38: Curso de VoIP / Parte 01: VoIP y Asterisk

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.

Page 39: Curso de VoIP / Parte 01: VoIP y Asterisk

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.

Page 40: Curso de VoIP / Parte 01: VoIP y Asterisk

Curso: Introducción a la VoIP y Asterisk

40

Softphones PrivativosSkype

● 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.

Page 41: Curso de VoIP / Parte 01: VoIP y Asterisk

Curso: Introducción a la VoIP y Asterisk

41

Softphones PrivativosSkype: 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

Page 42: Curso de VoIP / Parte 01: VoIP y Asterisk

Curso: Introducción a la VoIP y Asterisk

42

Softphones PrivativosSkype: 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.

Page 43: Curso de VoIP / Parte 01: VoIP y Asterisk

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.

Page 44: Curso de VoIP / Parte 01: VoIP y Asterisk

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.

Page 45: Curso de VoIP / Parte 01: VoIP y Asterisk

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.

Page 46: Curso de VoIP / Parte 01: VoIP y Asterisk

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.

Page 47: Curso de VoIP / Parte 01: VoIP y Asterisk

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.

Page 48: Curso de VoIP / Parte 01: VoIP y Asterisk

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.

Page 49: Curso de VoIP / Parte 01: VoIP y Asterisk

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

Page 50: Curso de VoIP / Parte 01: VoIP y Asterisk

Curso: Introducción a la VoIP y Asterisk

50

Gateways Voz IPGateways: 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.

Page 51: Curso de VoIP / Parte 01: VoIP y Asterisk

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

Page 52: Curso de VoIP / Parte 01: VoIP y Asterisk

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.

Page 53: Curso de VoIP / Parte 01: VoIP y Asterisk

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.

Page 54: Curso de VoIP / Parte 01: VoIP y Asterisk

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 ...

Page 55: Curso de VoIP / Parte 01: VoIP y Asterisk

Curso: Introducción a la VoIP y Asterisk

55

Proveedores de Servicios VozIP

Algunos Proveedores

Dependencia de Internet.

Page 56: Curso de VoIP / Parte 01: VoIP y Asterisk

Asterisk

Page 57: Curso de VoIP / Parte 01: VoIP y Asterisk

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!

Page 58: Curso de VoIP / Parte 01: VoIP y Asterisk

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.

Page 59: Curso de VoIP / Parte 01: VoIP y Asterisk

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.

Page 60: Curso de VoIP / Parte 01: VoIP y Asterisk

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)

Page 61: Curso de VoIP / Parte 01: VoIP y Asterisk

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

Page 62: Curso de VoIP / Parte 01: VoIP y Asterisk

Distintos usos de Asterisk

Page 63: Curso de VoIP / Parte 01: VoIP y Asterisk

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.

Page 64: Curso de VoIP / Parte 01: VoIP y Asterisk

Curso: Introducción a la VoIP y Asterisk

64

Asterisk como PBX “normal”

Page 65: Curso de VoIP / Parte 01: VoIP y Asterisk

Curso: Introducción a la VoIP y Asterisk

65

Una PBX VoIP

Page 66: Curso de VoIP / Parte 01: VoIP y Asterisk

Curso: Introducción a la VoIP y Asterisk

66

Complemento/ampliación de una PBX tradicional

Page 67: Curso de VoIP / Parte 01: VoIP y Asterisk

Curso: Introducción a la VoIP y Asterisk

67

Gateway VoIP - PSTN

Page 68: Curso de VoIP / Parte 01: VoIP y Asterisk

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.

Page 69: Curso de VoIP / Parte 01: VoIP y Asterisk

Curso: Introducción a la VoIP y Asterisk

69

Muy bonito, pero...

Console roolz!!

Page 70: Curso de VoIP / Parte 01: VoIP y Asterisk

Arquitectura de Asterisk

Page 71: Curso de VoIP / Parte 01: VoIP y Asterisk

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.

Page 72: Curso de VoIP / Parte 01: VoIP y Asterisk

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

Page 73: Curso de VoIP / Parte 01: VoIP y Asterisk

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

Page 74: Curso de VoIP / Parte 01: VoIP y Asterisk

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.

Page 75: Curso de VoIP / Parte 01: VoIP y Asterisk

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.

Page 76: Curso de VoIP / Parte 01: VoIP y Asterisk

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,...

Page 77: Curso de VoIP / Parte 01: VoIP y Asterisk

Instalación de Asterisk

Page 78: Curso de VoIP / Parte 01: VoIP y Asterisk

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

Page 79: Curso de VoIP / Parte 01: VoIP y Asterisk

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

Page 80: Curso de VoIP / Parte 01: VoIP y Asterisk

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

Page 81: Curso de VoIP / Parte 01: VoIP y Asterisk

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

Page 82: Curso de VoIP / Parte 01: VoIP y Asterisk

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

Page 83: Curso de VoIP / Parte 01: VoIP y Asterisk

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]

Page 84: Curso de VoIP / Parte 01: VoIP y Asterisk

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.

Page 85: Curso de VoIP / Parte 01: VoIP y Asterisk

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.

Page 86: Curso de VoIP / Parte 01: VoIP y Asterisk

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'

Page 87: Curso de VoIP / Parte 01: VoIP y Asterisk

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

Page 88: Curso de VoIP / Parte 01: VoIP y Asterisk

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

Page 89: Curso de VoIP / Parte 01: VoIP y Asterisk

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...

Page 90: Curso de VoIP / Parte 01: VoIP y Asterisk

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

Page 91: Curso de VoIP / Parte 01: VoIP y Asterisk

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

Page 92: Curso de VoIP / Parte 01: VoIP y Asterisk

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

...

Page 93: Curso de VoIP / Parte 01: VoIP y Asterisk

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

...

Page 94: Curso de VoIP / Parte 01: VoIP y Asterisk

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

Page 95: Curso de VoIP / Parte 01: VoIP y Asterisk

Ejercicios

Page 96: Curso de VoIP / Parte 01: VoIP y Asterisk

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! :)