CONTENIDO
INTRODUCCION
Software Libre y Licencias
Breve historia de Linux y Asterisk
Distribuciones de Linux y Asterisk
Características de Linux y Asterisk
Estructura básica del sistema
Aplicaciones específicas para trabajo con Asterisk
Instalación Linux
Configuración sistema base
Introducción a Asterisk
Arquitectura de Asterisk
Canales e interfases
Interfaces de hardware
Protocolos de VoIP
Codecs y formatos de archivos
Calidad de servicio
Organización del sistema de archivos
Aplicaciones
Práctica
Configuración de una tarjeta zaptel
Módulos
Configuración de Asterisk
Archivos de configuración
Sintaxis de archivos de configuración
Planes de marcación
Aplicaciones específicas
Asterisk Realtime
Introducción
Realtime estático
Realtime dinámico
Configuración
Interconexión entre servidores Asterisk
Usos avanzados del diaplan
AGIs
Software Libre y Licencias
Breve historia de Linux y Asterisk
Distribuciones de Linux y Asterisk
Características de Linux y Asterisk
Estructura básica del sistema
- Comandos básicos
- ls, nano, pwd, ps, top, iptraf, find, grep, cat, man, make, subversion, apt,wget, more
- Operadores básicos
Aplicaciones específicas para trabajo con Asterisk
- Apache, MySQL, PHP
- Scripts
- Trabajo remoto con SSH
Instalación Linux
Configuración sistema base
- Configuración de red
- Uso de SSH y tuneles
- Uso de operadores
- Descarga de aplicaciones con apt
Introducción a Asterisk
- Diferencias con un PBX tradicional
- Características
- Requisitos de hardware
- Requisitos de software
- Práctica
- Descarga de Asterisk, zaptel y libpri
- Compilación de Asterisk.
Arquitectura de Asterisk
Canales e interfases
- SIP
- IAX2
- ZAP
Interfaces de hardware
Protocolos de VoIP
- SIP
- IAX2
- H323
Codecs y formatos de archivos
Calidad de servicio
Organización del sistema de archivos
Aplicaciones
Práctica
Configuración de una tarjeta zaptel
- Creación de usuarios SIP
- Creación de usuarios IAX2
Módulos
- CDR
- AGI
- Agentes
- Codecs
- Instalación de addons
- Configuración de CDR
- Instalación de codec G729
Configuración de Asterisk
Archivos de configuración
Sintaxis de archivos de configuración
- Comentarios
- Líneas
- Secciones
- Variables
- Objetos
- Comandos
Planes de marcación
- Extensiones
- Patrones
- Aplicaciones
- Prioridades
- Contextos de extensión
- Variables
- Funciones
- Macros
- Práctica
- Creación de contextos
- Inclusión de contextos
- Creación de extensiones
- Patrones de marcado
- Procesamiento básico mediante funciones
Aplicaciones específicas
- Wait
- Answer
- Playback
- Background
- Meetme
- Voicemail
- VoicemailMain
- Práctica
- Armado de un plan de llamadas básico
Asterisk Realtime
Introducción
Realtime estático
Realtime dinámico
Configuración
- Usuarios SIP
- Extensiones
- Voicemail
- Práctica
Interconexión entre servidores Asterisk
- Introducción
- Características de IAX
- Alta de usuarios
- Envio de llamadas
- Práctica
Usos avanzados del diaplan
- Uso de realtime
- Ciclos
- anipulación de cadenas
- Menu de voz
- Practica
AGIs
- Introducción
- Usos
- Entrada y salida de datos
- Re-utilización de clases
- Integración con bases de datos
- Práctica
1. Qué es Asterisk?
Es un motor de telefonía, el cual permite convertir cualquier computador en una PBX que maneja canales SIP, Troncales Analogas, Extensiones,IVR, etc. Es un software de central telefónica con capacidad para voz sobre IP, que se distribuye bajo licencia libre. (por lo cual su popularidad)
Esta desarrollado en C, y hace el procesamiento de las comunicaciones de voz a nivel de Software, lo cual es muy diferente a los sistemas de telefonia tradicional que lo realizaban con hardware fabricado especialmente para ello. Aunque actualmente la mayoria de los sistemas telefonicos procesan las comunicaciones de voz a nivel de software.
El proyecto Asterisk esta asociado con los drivers DAHDI o los antiguos ZAPTEL, que manejan las tarjetas de interface para la PSTN o red publica conmutada (por ejemplo reciben y convierte, las lineas analogas FXS, FXO) y tambien las digitales como las de PRIMARIOS (E1/T1/J1, RDSI,R2, etc).
Con la siguiente imagen les queda mas claro:
(Al final todo se reduce a un archivo)
Esta combinacion permite que se tenga una central telefonica con potentes características que antiguamente eran muy costosas.
2. Distribuciones Asterisk
Debido a la gran popularidad del proyecto Asterisk y ser libre, mucha gente al rededor del mundo ha desarrollado sobre este motor, y han creado distribuciones entre las más conocidas tenemos:
*ElastiX (www.elastix.org)
*TRIBOX (www.trixbox.org)
*Asterisk NOW (http://www.asterisk.org/asterisknow)
Y muchas más....
Cuál de ellas utilizar? Con la que se sientan más cómodos......Incluso pueden instalar el solo motor sin necesidad de una interface gráfica.
3. Funcionalidades que se pueden tener en Asterisk:
Asterisk como central telefónica tiene las siguientes funciones:
*ACD
*Operadora Automática
*IVR
*VoIP GATEWAY
*Voicemail o Buzon de voz
*Comunicaciones Unificadas o UC
*Grabacion de llamadas
*Conferencia de llamadas
*Mensajeria unificada
*IP PBX
*Aplicaciones de voz
*Transferencia de llamadas
*Opcion de no molestar
*Parqueo de llamadas
*Reporte de llamadas
*Colas de Atencion
*Llamada en espera
*Recepcion de fax
*Bloqueo de llamada entrante
*Identificador de llamadas
*Musica en espera
*Listado interactivo de extensiones
*Condiciones de tiempo que permiten manejar el comportamiento del PBX segun una hora o fecha determinada
*Follow me, o sigueme.
4. Directorios de Asterisk
Es importante tener en cuenta estos directorios, para futuras configuraciones o para soporte tecnico a issues en la plataforma.
5. Modulos de Asterisk
Asterisk tiene diferentes modulos que le permiten extender su funcionalidad, lo cual lo hace interesante, para multiples aplicaciones que veremos mas adelante. Estos modulos estan en el siguiente directorio:
/usr/lib/asterisk/modules/
Se controlan por medio del archivo de configuracion modules.conf, este archivo le indica al Asterisk que módulos carga y cuales no.
Tambien por la linea de comandos se pueden cargar con "load" o "noload".
6. Archivos de Configuracion:
Se encuentran en la siguiente ruta:
/etc/asterisk
7. DIAL PLAN
El DIAL PLAN o PLAN DE MARCADO, es el corazon del sistema Asterisk, y define la manera como Asterisk maneja las llamadas tanto entrantes como salientes. Consiste en una serie de instrucciones o pasos que sigue el sistema. A diferencia de los sistemas tradicionales, el DIAL PLAN de Asterisk es completamente personalizable.
El archivo de configuracion del DIAL PLAN es:
extensions.conf
El cual se localiza en el directorio: /etc/asterisk/
Tiene 4 componentes que son: los contextos, las extensiones, las prioridades y las aplicaciones.
Para entenderlo mejor, lo que no este en el DIAL PLAN no existe para el Asterisk, por eso es importante definir las direfentes entidades en el Plan de Marcacion.
En el DIAL PLAN definimos: Extensiones, la ruta de las llamadas entrantes y salientes.
CONTEXTOS: Son partes del plan de marcacion, que tienen diferentes propositos. Sirve para agrupar la logica del plan de marcado y pueden incluir otros contextos. Por ejemplo tiene la logica para crear la funcionalidad de un reloj despertador o de la validacion de un PIN, o el enrutamiento de la llamada al marcar deteminado Prefijo.
La sintaxis consiste en nombrar un contexto entre corchetes cuadrados: [ ].
Ejemplo
[mi_contexto]
Instrucciones
Los contextos contienen instrucciones. Estas instrucciones son líneas de plan de
marcado que tienen la siguiente sintaxis.
[app-pickup]
include => app-pickup-custom
exten => _**.,1,Noop(Attempt to Pickup ${EXTEN:2})
exten => _**.,n,Pickup(${EXTEN:2})
[ext-test]
include => ext-test-custom
exten => 7777,1,Goto(from-pstn,s,1)
exten => 666,1,Goto(ext-fax,in_fax,1)
exten => h,1,Macro(hangupcall,)
exten => nombre_extension, prioridad, aplicación