InstalaciónDependencias   $ sudo apt-get install python-software-propertiesImportación de llave pública   $ sudo apt-key a...
¿Qué es? •Asterisk es software. Exclusivamente software. •Es software open source, desarrollado  principalmente por la emp...
¿Qué es?
¿Qué es?
¿Qué es?
¿Qué es?Pagina web basica (HTML)                      Extension básica (Dialplan Script)
Conocimientos básicos            •Administración sistemas Linux            •Arquitectura TCP/IP            •VoIP y Telefon...
Redes y protocolos • LAN, WAN, ... • Protocolos:    - Capa de Transporte:    ‣ TCP    ‣ UDP   - Capa de Aplicacion:    ‣ S...
Telefonía • PSTN: Public Switched Telephony  Network • FXS: Foreign eXchange Station    - Lo que hay en nuestra pared    -...
Asterisk: System Service (Daemon) S.O. Linux  ast_cli(a->fd, "nn");         return CLI_SUCCESS;  }  static char *handle_sh...
Asterisk: System Service (Daemon) S.O. Linux  ast_cli(a->fd, "nn");         return CLI_SUCCESS;  }  static char *handle_sh...
Asterisk: Arquitectura base S.O. Linux
Asterisk: Arquitectura base S.O. Linux         SIP   IAX2   Skype   XMPP   DAHDI
Asterisk: Arquitectura base S.O. Linux           SIP              IAX2              Skype             XMPP              DA...
Asterisk: Arquitectura base S.O. Linux           SIP              IAX2              Skype             XMPP              DA...
Asterisk: Arquitectura base S.O. Linux           SIP              IAX2              Skype             XMPP              DA...
Asterisk: Arquitectura base S.O. Linux           SIP              IAX2              Skype             XMPP               D...
Asterisk: Arquitectura base S.O. Linux           SIP              IAX2               Skype                 XMPP          D...
Asterisk: Arquitectura base S.O. Linux           SIP              IAX2               Skype                 XMPP          D...
Asterisk: Arquitectura base S.O. Linux           SIP              IAX2               Skype                 XMPP          D...
Estructura de archivos •/etc/asterisk/     archivos de configuración de Asterisk •/usr/lib/asterisk/modules/ formats los mo...
Escenario • Múltiplesanalógico. SIP: terminal WiFi, softphone y   terminal             dispositivos • Gateway SIP para rea...
Configuración SPA 3102 •IP por DHCPa la red (boca WAN) para que coja  Conectarlo •Consultar la IP usando el IVR:    -****  ...
Configuración SPA 3102
Configuración SPA 3102 •Deshabilitar el router:    - Entrar como Admin > Advanced.    - Pestaña Router > LAN Setup.    - Ne...
Configuración SPA 3102
Configuración SPA 3102 •   Configurar la FXO:     -   Pestaña Voice > PSTN Line.     -   En la sección “Proxy and Registrati...
Configuración SPA 3102 • Configurar la FXO:    - En la sección “PSTN-To-VoIP-Gateway Setup”:        ‣ PSTN-To-VoIP-Gateway E...
Configuración SPA 3102
Configuración SPA 3102
Configuración SPA 3102
Configuración SPA 3102 • Configurar la FXS:    - Pestaña Voice > Line 1.    - Encampo “Proxy” ponemos la dirección en      e...
Configuración SPA 3102
Configuración terminales SIP •Terminales SIP softphone: 3cx, Bria, XLite...   -3CXPhone5.msi     http://www.3cx.com/downloa...
Configuración terminales SIP
Configuración terminales SIP
Configuración terminales SIP
Configuración terminales SIP/etc/asterisk/sip.conf   [general]   context=default      ; Contexto por defecto para llamadas ...
Configuración terminales SIP/etc/asterisk/sip.conf   [softphones](!)   type=friend   context=terminales   secret=1234   hos...
Configuración terminales SIP/etc/asterisk/extensions.conf    [general]    [globals]    [default]    [terminales]    exten =...
Relacion entre sip.conf y extensions.conf
DialPlan - Contextos •llamadas contextos  extensions.conf dividido en secciones    -[nombre-contexto] •Podemos tenerestán ...
DialPlan - Extensiones •de los que asterisk vapasos únicos llamada  definen una serie de                         a coger un...
DialPlan - Aplicaciones • Son el caballo de batalla del DialPlan     -Reproducir un sonido     -Descolgar una llamada     ...
DialPlan - Variables •Tres tipos de variables en el DialPlan    -Globales: se definen en el contexto [globals]    -Channel:...
Configuración terminales SIP/etc/asterisk/extensions.conf    [general]    [globals]    FUCKENPHONE=SIP/2001    [default]   ...
Configuración terminales SIP/etc/asterisk/extensions.conf    [fun-stuff]    exten => 501,1,Answer()    exten => 501,2,Playb...
DialPlan - Concordancia de patrones • _ indica que la extensión tiene concordancia de   patrones • N concuerda con cualqui...
DialPlan - Extensiones predefinidas •‘s’ Es la extensiónsin necesidadla que una  llamada empieza                      están...
DialPlan - IVR para llamadas entrantes/etc/asterisk/extensions.conf    [from-SPA3102]    exten => s,1,Answer()       same ...
¿Preguntas?
Asterisk
Asterisk
Upcoming SlideShare
Loading in …5
×

Asterisk

2,460 views

Published on

Presentacion de Asterisk a nivel basico.

Published in: Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,460
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
52
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • Lo primero y los mas importante que tenemos que hacer es entender el software de Asterisk en si.\nLa gente suele llamarle the asterisk open source PBX refiriendose a un sistema PBX que tiene un Asterisk ejecutandose. El creador del software escogio el simbolo del asterisco, que puede representar cualquier cosa en una linea de codigo o en una expresion comun. Lo eligio para representar que Asterisk no es solo un sistema PBX sino un completo motor telefonico\n
  • Lo primero y los mas importante que tenemos que hacer es entender el software de Asterisk en si.\nLa gente suele llamarle the asterisk open source PBX refiriendose a un sistema PBX que tiene un Asterisk ejecutandose. El creador del software escogio el simbolo del asterisco, que puede representar cualquier cosa en una linea de codigo o en una expresion comun. Lo eligio para representar que Asterisk no es solo un sistema PBX sino un completo motor telefonico\n
  • Lo primero y los mas importante que tenemos que hacer es entender el software de Asterisk en si.\nLa gente suele llamarle the asterisk open source PBX refiriendose a un sistema PBX que tiene un Asterisk ejecutandose. El creador del software escogio el simbolo del asterisco, que puede representar cualquier cosa en una linea de codigo o en una expresion comun. Lo eligio para representar que Asterisk no es solo un sistema PBX sino un completo motor telefonico\n
  • Lo primero y los mas importante que tenemos que hacer es entender el software de Asterisk en si.\nLa gente suele llamarle the asterisk open source PBX refiriendose a un sistema PBX que tiene un Asterisk ejecutandose. El creador del software escogio el simbolo del asterisco, que puede representar cualquier cosa en una linea de codigo o en una expresion comun. Lo eligio para representar que Asterisk no es solo un sistema PBX sino un completo motor telefonico\n
  • Lo primero y los mas importante que tenemos que hacer es entender el software de Asterisk en si.\nLa gente suele llamarle the asterisk open source PBX refiriendose a un sistema PBX que tiene un Asterisk ejecutandose. El creador del software escogio el simbolo del asterisco, que puede representar cualquier cosa en una linea de codigo o en una expresion comun. Lo eligio para representar que Asterisk no es solo un sistema PBX sino un completo motor telefonico\n
  • Lo primero y los mas importante que tenemos que hacer es entender el software de Asterisk en si.\nLa gente suele llamarle the asterisk open source PBX refiriendose a un sistema PBX que tiene un Asterisk ejecutandose. El creador del software escogio el simbolo del asterisco, que puede representar cualquier cosa en una linea de codigo o en una expresion comun. Lo eligio para representar que Asterisk no es solo un sistema PBX sino un completo motor telefonico\n
  • \n
  • \n
  • Asterisk transforma un ordenador comun en un servidor de telecomunicaciones. Maneja todos los detalles a bajo nivel de las señales de datos, interactua con el hardware telefonico, implementa los protocolos VoIP, codifica y descodifica el audio. Y todo eso mediante el uso de scripts creados por los usuarios y administradores, que permiten personalizar el funcionamiento \n
  • Asterisk transforma un ordenador comun en un servidor de telecomunicaciones. Maneja todos los detalles a bajo nivel de las señales de datos, interactua con el hardware telefonico, implementa los protocolos VoIP, codifica y descodifica el audio. Y todo eso mediante el uso de scripts creados por los usuarios y administradores, que permiten personalizar el funcionamiento \n
  • Asterisk transforma un ordenador comun en un servidor de telecomunicaciones. Maneja todos los detalles a bajo nivel de las señales de datos, interactua con el hardware telefonico, implementa los protocolos VoIP, codifica y descodifica el audio. Y todo eso mediante el uso de scripts creados por los usuarios y administradores, que permiten personalizar el funcionamiento \n
  • Asterisk transforma un ordenador comun en un servidor de telecomunicaciones. Maneja todos los detalles a bajo nivel de las señales de datos, interactua con el hardware telefonico, implementa los protocolos VoIP, codifica y descodifica el audio. Y todo eso mediante el uso de scripts creados por los usuarios y administradores, que permiten personalizar el funcionamiento \n
  • Asterisk transforma un ordenador comun en un servidor de telecomunicaciones. Maneja todos los detalles a bajo nivel de las señales de datos, interactua con el hardware telefonico, implementa los protocolos VoIP, codifica y descodifica el audio. Y todo eso mediante el uso de scripts creados por los usuarios y administradores, que permiten personalizar el funcionamiento \n
  • Asterisk transforma un ordenador comun en un servidor de telecomunicaciones. Maneja todos los detalles a bajo nivel de las señales de datos, interactua con el hardware telefonico, implementa los protocolos VoIP, codifica y descodifica el audio. Y todo eso mediante el uso de scripts creados por los usuarios y administradores, que permiten personalizar el funcionamiento \n
  • Asterisk transforma un ordenador comun en un servidor de telecomunicaciones. Maneja todos los detalles a bajo nivel de las señales de datos, interactua con el hardware telefonico, implementa los protocolos VoIP, codifica y descodifica el audio. Y todo eso mediante el uso de scripts creados por los usuarios y administradores, que permiten personalizar el funcionamiento \n
  • Asterisk transforma un ordenador comun en un servidor de telecomunicaciones. Maneja todos los detalles a bajo nivel de las señales de datos, interactua con el hardware telefonico, implementa los protocolos VoIP, codifica y descodifica el audio. Y todo eso mediante el uso de scripts creados por los usuarios y administradores, que permiten personalizar el funcionamiento \n
  • Asterisk transforma un ordenador comun en un servidor de telecomunicaciones. Maneja todos los detalles a bajo nivel de las señales de datos, interactua con el hardware telefonico, implementa los protocolos VoIP, codifica y descodifica el audio. Y todo eso mediante el uso de scripts creados por los usuarios y administradores, que permiten personalizar el funcionamiento \n
  • Asterisk transforma un ordenador comun en un servidor de telecomunicaciones. Maneja todos los detalles a bajo nivel de las señales de datos, interactua con el hardware telefonico, implementa los protocolos VoIP, codifica y descodifica el audio. Y todo eso mediante el uso de scripts creados por los usuarios y administradores, que permiten personalizar el funcionamiento \n
  • De hecho, Asterisk es para las aplicaciones telefonicas como lo es Apache web server para las aplicaciones web. Si alguno a trabajado antes con apache sabra que lo primero es descargarlo e instalarlo para tener nuestro servidor web. Una vez que tenemos el servidor instalado, solo tenemos que escribir los codigos HTML, CSS, Javascript, crear nuestras bases de datos, cargar el contenido y probar nuestra aplicacion con diferentes navegadores. Del mismo modo podemos usar este razonamiento para Asterisk: una vez instalado tenemos que decirle que hacer y eso incluye: dialplan, voicemail, usuarios, agentes y colas de llamda. Como en el caso del servidor web Asterisk es la plataforma en la que desarrollamos nuestro producto. \n
  • Las aplicaciones web pueden ser tan simples como una simple e independiente pagina en HTML. De igual modo las aplicaciones telefonicas pueden ser simples scripts independientes o sistemas interconectados complejos.\n
  • \n
  • \n
  • SIP: protocolo de inicio de sesion. Es un protocolo de señalizacion, legible por el ser humano similar al HTTP. Es principalmente un protocolo de señalizacion de capa de aplicacion para iniciacion, modificacion, y terminacion de sesiones de comunicacion multimedia entre usuarios. Los principales elementos implicados son el User Agent (usuario), Registrar y SIP proxy. El sector de la VOIP tiende cada vez mas a usar este protocolo. Funciones: localizacion del usuario, determina la disponibilidad, capacidad del medio, gestion de la sesion.\n
  • \n
  • Asterisk es un servicio del sistema o demonio lo que significa que se ejecuta en 2º plano permanentemente. En muchos sistemas productivos el servicio asterisk se inicia automaticamente en el arranque.\nAsterisk es una aplicacion multitarea que realiza numerosas operaciones al mismo tiempo. En maquinas con multiples procesadores esto sucede de forma literal. Pero en maquinas con un solo procesador es el propio sistema asterisk quien gestiona los procesos.\nEsta programado en C, pero no tenemos que conocer C para trabajar con asterisk. Como ocurre con Apache que tambien esta escrito en C pero las paginas web y aplicaciones web usan un lenguaje de scripts\n
  • Asterisk es un servicio del sistema o demonio lo que significa que se ejecuta en 2º plano permanentemente. En muchos sistemas productivos el servicio asterisk se inicia automaticamente en el arranque.\nAsterisk es una aplicacion multitarea que realiza numerosas operaciones al mismo tiempo. En maquinas con multiples procesadores esto sucede de forma literal. Pero en maquinas con un solo procesador es el propio sistema asterisk quien gestiona los procesos.\nEsta programado en C, pero no tenemos que conocer C para trabajar con asterisk. Como ocurre con Apache que tambien esta escrito en C pero las paginas web y aplicaciones web usan un lenguaje de scripts\n
  • Asterisk es un servicio del sistema o demonio lo que significa que se ejecuta en 2º plano permanentemente. En muchos sistemas productivos el servicio asterisk se inicia automaticamente en el arranque.\nAsterisk es una aplicacion multitarea que realiza numerosas operaciones al mismo tiempo. En maquinas con multiples procesadores esto sucede de forma literal. Pero en maquinas con un solo procesador es el propio sistema asterisk quien gestiona los procesos.\nEsta programado en C, pero no tenemos que conocer C para trabajar con asterisk. Como ocurre con Apache que tambien esta escrito en C pero las paginas web y aplicaciones web usan un lenguaje de scripts\n
  • Asterisk es un servicio del sistema o demonio lo que significa que se ejecuta en 2º plano permanentemente. En muchos sistemas productivos el servicio asterisk se inicia automaticamente en el arranque.\nAsterisk es una aplicacion multitarea que realiza numerosas operaciones al mismo tiempo. En maquinas con multiples procesadores esto sucede de forma literal. Pero en maquinas con un solo procesador es el propio sistema asterisk quien gestiona los procesos.\nEsta programado en C, pero no tenemos que conocer C para trabajar con asterisk. Como ocurre con Apache que tambien esta escrito en C pero las paginas web y aplicaciones web usan un lenguaje de scripts\n
  • Asterisk es un servicio del sistema o demonio lo que significa que se ejecuta en 2º plano permanentemente. En muchos sistemas productivos el servicio asterisk se inicia automaticamente en el arranque.\nAsterisk es una aplicacion multitarea que realiza numerosas operaciones al mismo tiempo. En maquinas con multiples procesadores esto sucede de forma literal. Pero en maquinas con un solo procesador es el propio sistema asterisk quien gestiona los procesos.\nEsta programado en C, pero no tenemos que conocer C para trabajar con asterisk. Como ocurre con Apache que tambien esta escrito en C pero las paginas web y aplicaciones web usan un lenguaje de scripts\n
  • Asterisk es un servicio del sistema o demonio lo que significa que se ejecuta en 2º plano permanentemente. En muchos sistemas productivos el servicio asterisk se inicia automaticamente en el arranque.\nAsterisk es una aplicacion multitarea que realiza numerosas operaciones al mismo tiempo. En maquinas con multiples procesadores esto sucede de forma literal. Pero en maquinas con un solo procesador es el propio sistema asterisk quien gestiona los procesos.\nEsta programado en C, pero no tenemos que conocer C para trabajar con asterisk. Como ocurre con Apache que tambien esta escrito en C pero las paginas web y aplicaciones web usan un lenguaje de scripts\n
  • Asterisk es un servicio del sistema o demonio lo que significa que se ejecuta en 2º plano permanentemente. En muchos sistemas productivos el servicio asterisk se inicia automaticamente en el arranque.\nAsterisk es una aplicacion multitarea que realiza numerosas operaciones al mismo tiempo. En maquinas con multiples procesadores esto sucede de forma literal. Pero en maquinas con un solo procesador es el propio sistema asterisk quien gestiona los procesos.\nEsta programado en C, pero no tenemos que conocer C para trabajar con asterisk. Como ocurre con Apache que tambien esta escrito en C pero las paginas web y aplicaciones web usan un lenguaje de scripts\n
  • Asterisk es un servicio del sistema o demonio lo que significa que se ejecuta en 2º plano permanentemente. En muchos sistemas productivos el servicio asterisk se inicia automaticamente en el arranque.\nAsterisk es una aplicacion multitarea que realiza numerosas operaciones al mismo tiempo. En maquinas con multiples procesadores esto sucede de forma literal. Pero en maquinas con un solo procesador es el propio sistema asterisk quien gestiona los procesos.\nEsta programado en C, pero no tenemos que conocer C para trabajar con asterisk. Como ocurre con Apache que tambien esta escrito en C pero las paginas web y aplicaciones web usan un lenguaje de scripts\n
  • Asterisk es un servicio del sistema o demonio lo que significa que se ejecuta en 2º plano permanentemente. En muchos sistemas productivos el servicio asterisk se inicia automaticamente en el arranque.\nAsterisk es una aplicacion multitarea que realiza numerosas operaciones al mismo tiempo. En maquinas con multiples procesadores esto sucede de forma literal. Pero en maquinas con un solo procesador es el propio sistema asterisk quien gestiona los procesos.\nEsta programado en C, pero no tenemos que conocer C para trabajar con asterisk. Como ocurre con Apache que tambien esta escrito en C pero las paginas web y aplicaciones web usan un lenguaje de scripts\n
  • Asterisk es un servicio del sistema o demonio lo que significa que se ejecuta en 2º plano permanentemente. En muchos sistemas productivos el servicio asterisk se inicia automaticamente en el arranque.\nAsterisk es una aplicacion multitarea que realiza numerosas operaciones al mismo tiempo. En maquinas con multiples procesadores esto sucede de forma literal. Pero en maquinas con un solo procesador es el propio sistema asterisk quien gestiona los procesos.\nEsta programado en C, pero no tenemos que conocer C para trabajar con asterisk. Como ocurre con Apache que tambien esta escrito en C pero las paginas web y aplicaciones web usan un lenguaje de scripts\n
  • Asterisk es un servicio del sistema o demonio lo que significa que se ejecuta en 2º plano permanentemente. En muchos sistemas productivos el servicio asterisk se inicia automaticamente en el arranque.\nAsterisk es una aplicacion multitarea que realiza numerosas operaciones al mismo tiempo. En maquinas con multiples procesadores esto sucede de forma literal. Pero en maquinas con un solo procesador es el propio sistema asterisk quien gestiona los procesos.\nEsta programado en C, pero no tenemos que conocer C para trabajar con asterisk. Como ocurre con Apache que tambien esta escrito en C pero las paginas web y aplicaciones web usan un lenguaje de scripts\n
  • Asterisk es un servicio del sistema o demonio lo que significa que se ejecuta en 2º plano permanentemente. En muchos sistemas productivos el servicio asterisk se inicia automaticamente en el arranque.\nAsterisk es una aplicacion multitarea que realiza numerosas operaciones al mismo tiempo. En maquinas con multiples procesadores esto sucede de forma literal. Pero en maquinas con un solo procesador es el propio sistema asterisk quien gestiona los procesos.\nEsta programado en C, pero no tenemos que conocer C para trabajar con asterisk. Como ocurre con Apache que tambien esta escrito en C pero las paginas web y aplicaciones web usan un lenguaje de scripts\n
  • Asterisk es un servicio del sistema o demonio lo que significa que se ejecuta en 2º plano permanentemente. En muchos sistemas productivos el servicio asterisk se inicia automaticamente en el arranque.\nAsterisk es una aplicacion multitarea que realiza numerosas operaciones al mismo tiempo. En maquinas con multiples procesadores esto sucede de forma literal. Pero en maquinas con un solo procesador es el propio sistema asterisk quien gestiona los procesos.\nEsta programado en C, pero no tenemos que conocer C para trabajar con asterisk. Como ocurre con Apache que tambien esta escrito en C pero las paginas web y aplicaciones web usan un lenguaje de scripts\n
  • Asterisk conecta los telefonos y servicios de comunicacion usando una serie de controladores de canal. Los controladores implementan la señal en las caracteristicas requeridas por el medio para ser manejado. Y esto con toda la variedad de protocolos de comunicacion que soporta asterisk.\nLos canales traducen la señal entrante usada por estos portocolos en un formato comun que se usa dentro de asterisk y que es el que nostros usamos. esto permite a Asterisk establecer la comunicacion entre los distintos elementos de la red que usen distintos protocolos.\nSIP: maneja la implementacion del protocolo SIP, que es el protocolo de VoIP mas extendido en la actualidad. SIP se usa para conectar telefonos IP y con ISP que ofrezcan servicios SIP\nIAX2: se usa para conectar asterisk entre si y crear clusters\nDADHI es el canal que interactua con el hardware que conecta a Asterisk a la red PSTN\nExisten otros drivers. Como CDR:call details record. Es un modulo que captura los detalles de llamada y los guarda en ficheros de texto por defecto. pero se puede configurar para que almacene toda la informacion en bases de datos.\nModulos de codecs de audio y video que permiten la codificacion y descodificacion del audio y video para la transmision del contenido multimedia.\nFile format driver permite el manejo del sistema de ficheros. Realizar operaciones de escritura sobre discos duros.\nLos drivers de configuracion proveen de los medios necesarios para la configuracion del sistema en tiempo de ejecucion. Por defecto asterisk lee la configuracion de archivos de texto pero esto se puede modificar para que lo tome de una base de datos o de una aplicacion web.\nTodos estos modulos son Open Source por lo que el codigo fuente esta a nuestra disposicion y es suceptible de cambios para modificarlo a nuestro gusto/necesidades.\nEn el nucleo de asterisk se encuentran algunos otros modulos y componentes.\nEl CLI:command line interface. permite conectar con asterisk mediante una interfaz de linea de comandos, que nos permite ejecutar comandos y monitorizar el estado de Asterisk\nLas aplicaciones y funciones son los otros modulos que proporcionan las habilidades a nuestro sistema Asterisk. Cada modulo de aplicacion incluye una o mas aplicaciones que pueden ser llamadas desde el DialPlan. Hay cientos desde la mas simple a la mas compleja como puede ser el Mailbox\nEn el corazon de asterisk se encuentra un juego de instrucciones que se llama Dialplan. Controla y llama a los procesos. Determina el flujo de la llamada basandose en el nº marcado.\nToda llamada empieza con la solicitud de entrada a traves del canal. El proceso de manejo empieza buscando en el dialplan un patron de extension que concuerde con el nº marcado. Una vez encontrado el dialplan ejecuta una serie de instrucciones asociadas a esa extension. Las instrucciones son un conjunto de aplicaciones y funciones como son: descolgar, reproducir un sonido, detectar digitos marcados, ejecutar una consulta en una Base de datos...\nPor ultimo una breve mencion al AMI: Asterisk mannager interface. es un socket al que conectarnos mediante una serie de aplicaciones y que permiten controlar asterisk de forma remota.\n
  • Asterisk conecta los telefonos y servicios de comunicacion usando una serie de controladores de canal. Los controladores implementan la señal en las caracteristicas requeridas por el medio para ser manejado. Y esto con toda la variedad de protocolos de comunicacion que soporta asterisk.\nLos canales traducen la señal entrante usada por estos portocolos en un formato comun que se usa dentro de asterisk y que es el que nostros usamos. esto permite a Asterisk establecer la comunicacion entre los distintos elementos de la red que usen distintos protocolos.\nSIP: maneja la implementacion del protocolo SIP, que es el protocolo de VoIP mas extendido en la actualidad. SIP se usa para conectar telefonos IP y con ISP que ofrezcan servicios SIP\nIAX2: se usa para conectar asterisk entre si y crear clusters\nDADHI es el canal que interactua con el hardware que conecta a Asterisk a la red PSTN\nExisten otros drivers. Como CDR:call details record. Es un modulo que captura los detalles de llamada y los guarda en ficheros de texto por defecto. pero se puede configurar para que almacene toda la informacion en bases de datos.\nModulos de codecs de audio y video que permiten la codificacion y descodificacion del audio y video para la transmision del contenido multimedia.\nFile format driver permite el manejo del sistema de ficheros. Realizar operaciones de escritura sobre discos duros.\nLos drivers de configuracion proveen de los medios necesarios para la configuracion del sistema en tiempo de ejecucion. Por defecto asterisk lee la configuracion de archivos de texto pero esto se puede modificar para que lo tome de una base de datos o de una aplicacion web.\nTodos estos modulos son Open Source por lo que el codigo fuente esta a nuestra disposicion y es suceptible de cambios para modificarlo a nuestro gusto/necesidades.\nEn el nucleo de asterisk se encuentran algunos otros modulos y componentes.\nEl CLI:command line interface. permite conectar con asterisk mediante una interfaz de linea de comandos, que nos permite ejecutar comandos y monitorizar el estado de Asterisk\nLas aplicaciones y funciones son los otros modulos que proporcionan las habilidades a nuestro sistema Asterisk. Cada modulo de aplicacion incluye una o mas aplicaciones que pueden ser llamadas desde el DialPlan. Hay cientos desde la mas simple a la mas compleja como puede ser el Mailbox\nEn el corazon de asterisk se encuentra un juego de instrucciones que se llama Dialplan. Controla y llama a los procesos. Determina el flujo de la llamada basandose en el nº marcado.\nToda llamada empieza con la solicitud de entrada a traves del canal. El proceso de manejo empieza buscando en el dialplan un patron de extension que concuerde con el nº marcado. Una vez encontrado el dialplan ejecuta una serie de instrucciones asociadas a esa extension. Las instrucciones son un conjunto de aplicaciones y funciones como son: descolgar, reproducir un sonido, detectar digitos marcados, ejecutar una consulta en una Base de datos...\nPor ultimo una breve mencion al AMI: Asterisk mannager interface. es un socket al que conectarnos mediante una serie de aplicaciones y que permiten controlar asterisk de forma remota.\n
  • Asterisk conecta los telefonos y servicios de comunicacion usando una serie de controladores de canal. Los controladores implementan la señal en las caracteristicas requeridas por el medio para ser manejado. Y esto con toda la variedad de protocolos de comunicacion que soporta asterisk.\nLos canales traducen la señal entrante usada por estos portocolos en un formato comun que se usa dentro de asterisk y que es el que nostros usamos. esto permite a Asterisk establecer la comunicacion entre los distintos elementos de la red que usen distintos protocolos.\nSIP: maneja la implementacion del protocolo SIP, que es el protocolo de VoIP mas extendido en la actualidad. SIP se usa para conectar telefonos IP y con ISP que ofrezcan servicios SIP\nIAX2: se usa para conectar asterisk entre si y crear clusters\nDADHI es el canal que interactua con el hardware que conecta a Asterisk a la red PSTN\nExisten otros drivers. Como CDR:call details record. Es un modulo que captura los detalles de llamada y los guarda en ficheros de texto por defecto. pero se puede configurar para que almacene toda la informacion en bases de datos.\nModulos de codecs de audio y video que permiten la codificacion y descodificacion del audio y video para la transmision del contenido multimedia.\nFile format driver permite el manejo del sistema de ficheros. Realizar operaciones de escritura sobre discos duros.\nLos drivers de configuracion proveen de los medios necesarios para la configuracion del sistema en tiempo de ejecucion. Por defecto asterisk lee la configuracion de archivos de texto pero esto se puede modificar para que lo tome de una base de datos o de una aplicacion web.\nTodos estos modulos son Open Source por lo que el codigo fuente esta a nuestra disposicion y es suceptible de cambios para modificarlo a nuestro gusto/necesidades.\nEn el nucleo de asterisk se encuentran algunos otros modulos y componentes.\nEl CLI:command line interface. permite conectar con asterisk mediante una interfaz de linea de comandos, que nos permite ejecutar comandos y monitorizar el estado de Asterisk\nLas aplicaciones y funciones son los otros modulos que proporcionan las habilidades a nuestro sistema Asterisk. Cada modulo de aplicacion incluye una o mas aplicaciones que pueden ser llamadas desde el DialPlan. Hay cientos desde la mas simple a la mas compleja como puede ser el Mailbox\nEn el corazon de asterisk se encuentra un juego de instrucciones que se llama Dialplan. Controla y llama a los procesos. Determina el flujo de la llamada basandose en el nº marcado.\nToda llamada empieza con la solicitud de entrada a traves del canal. El proceso de manejo empieza buscando en el dialplan un patron de extension que concuerde con el nº marcado. Una vez encontrado el dialplan ejecuta una serie de instrucciones asociadas a esa extension. Las instrucciones son un conjunto de aplicaciones y funciones como son: descolgar, reproducir un sonido, detectar digitos marcados, ejecutar una consulta en una Base de datos...\nPor ultimo una breve mencion al AMI: Asterisk mannager interface. es un socket al que conectarnos mediante una serie de aplicaciones y que permiten controlar asterisk de forma remota.\n
  • Asterisk conecta los telefonos y servicios de comunicacion usando una serie de controladores de canal. Los controladores implementan la señal en las caracteristicas requeridas por el medio para ser manejado. Y esto con toda la variedad de protocolos de comunicacion que soporta asterisk.\nLos canales traducen la señal entrante usada por estos portocolos en un formato comun que se usa dentro de asterisk y que es el que nostros usamos. esto permite a Asterisk establecer la comunicacion entre los distintos elementos de la red que usen distintos protocolos.\nSIP: maneja la implementacion del protocolo SIP, que es el protocolo de VoIP mas extendido en la actualidad. SIP se usa para conectar telefonos IP y con ISP que ofrezcan servicios SIP\nIAX2: se usa para conectar asterisk entre si y crear clusters\nDADHI es el canal que interactua con el hardware que conecta a Asterisk a la red PSTN\nExisten otros drivers. Como CDR:call details record. Es un modulo que captura los detalles de llamada y los guarda en ficheros de texto por defecto. pero se puede configurar para que almacene toda la informacion en bases de datos.\nModulos de codecs de audio y video que permiten la codificacion y descodificacion del audio y video para la transmision del contenido multimedia.\nFile format driver permite el manejo del sistema de ficheros. Realizar operaciones de escritura sobre discos duros.\nLos drivers de configuracion proveen de los medios necesarios para la configuracion del sistema en tiempo de ejecucion. Por defecto asterisk lee la configuracion de archivos de texto pero esto se puede modificar para que lo tome de una base de datos o de una aplicacion web.\nTodos estos modulos son Open Source por lo que el codigo fuente esta a nuestra disposicion y es suceptible de cambios para modificarlo a nuestro gusto/necesidades.\nEn el nucleo de asterisk se encuentran algunos otros modulos y componentes.\nEl CLI:command line interface. permite conectar con asterisk mediante una interfaz de linea de comandos, que nos permite ejecutar comandos y monitorizar el estado de Asterisk\nLas aplicaciones y funciones son los otros modulos que proporcionan las habilidades a nuestro sistema Asterisk. Cada modulo de aplicacion incluye una o mas aplicaciones que pueden ser llamadas desde el DialPlan. Hay cientos desde la mas simple a la mas compleja como puede ser el Mailbox\nEn el corazon de asterisk se encuentra un juego de instrucciones que se llama Dialplan. Controla y llama a los procesos. Determina el flujo de la llamada basandose en el nº marcado.\nToda llamada empieza con la solicitud de entrada a traves del canal. El proceso de manejo empieza buscando en el dialplan un patron de extension que concuerde con el nº marcado. Una vez encontrado el dialplan ejecuta una serie de instrucciones asociadas a esa extension. Las instrucciones son un conjunto de aplicaciones y funciones como son: descolgar, reproducir un sonido, detectar digitos marcados, ejecutar una consulta en una Base de datos...\nPor ultimo una breve mencion al AMI: Asterisk mannager interface. es un socket al que conectarnos mediante una serie de aplicaciones y que permiten controlar asterisk de forma remota.\n
  • Asterisk conecta los telefonos y servicios de comunicacion usando una serie de controladores de canal. Los controladores implementan la señal en las caracteristicas requeridas por el medio para ser manejado. Y esto con toda la variedad de protocolos de comunicacion que soporta asterisk.\nLos canales traducen la señal entrante usada por estos portocolos en un formato comun que se usa dentro de asterisk y que es el que nostros usamos. esto permite a Asterisk establecer la comunicacion entre los distintos elementos de la red que usen distintos protocolos.\nSIP: maneja la implementacion del protocolo SIP, que es el protocolo de VoIP mas extendido en la actualidad. SIP se usa para conectar telefonos IP y con ISP que ofrezcan servicios SIP\nIAX2: se usa para conectar asterisk entre si y crear clusters\nDADHI es el canal que interactua con el hardware que conecta a Asterisk a la red PSTN\nExisten otros drivers. Como CDR:call details record. Es un modulo que captura los detalles de llamada y los guarda en ficheros de texto por defecto. pero se puede configurar para que almacene toda la informacion en bases de datos.\nModulos de codecs de audio y video que permiten la codificacion y descodificacion del audio y video para la transmision del contenido multimedia.\nFile format driver permite el manejo del sistema de ficheros. Realizar operaciones de escritura sobre discos duros.\nLos drivers de configuracion proveen de los medios necesarios para la configuracion del sistema en tiempo de ejecucion. Por defecto asterisk lee la configuracion de archivos de texto pero esto se puede modificar para que lo tome de una base de datos o de una aplicacion web.\nTodos estos modulos son Open Source por lo que el codigo fuente esta a nuestra disposicion y es suceptible de cambios para modificarlo a nuestro gusto/necesidades.\nEn el nucleo de asterisk se encuentran algunos otros modulos y componentes.\nEl CLI:command line interface. permite conectar con asterisk mediante una interfaz de linea de comandos, que nos permite ejecutar comandos y monitorizar el estado de Asterisk\nLas aplicaciones y funciones son los otros modulos que proporcionan las habilidades a nuestro sistema Asterisk. Cada modulo de aplicacion incluye una o mas aplicaciones que pueden ser llamadas desde el DialPlan. Hay cientos desde la mas simple a la mas compleja como puede ser el Mailbox\nEn el corazon de asterisk se encuentra un juego de instrucciones que se llama Dialplan. Controla y llama a los procesos. Determina el flujo de la llamada basandose en el nº marcado.\nToda llamada empieza con la solicitud de entrada a traves del canal. El proceso de manejo empieza buscando en el dialplan un patron de extension que concuerde con el nº marcado. Una vez encontrado el dialplan ejecuta una serie de instrucciones asociadas a esa extension. Las instrucciones son un conjunto de aplicaciones y funciones como son: descolgar, reproducir un sonido, detectar digitos marcados, ejecutar una consulta en una Base de datos...\nPor ultimo una breve mencion al AMI: Asterisk mannager interface. es un socket al que conectarnos mediante una serie de aplicaciones y que permiten controlar asterisk de forma remota.\n
  • Asterisk conecta los telefonos y servicios de comunicacion usando una serie de controladores de canal. Los controladores implementan la señal en las caracteristicas requeridas por el medio para ser manejado. Y esto con toda la variedad de protocolos de comunicacion que soporta asterisk.\nLos canales traducen la señal entrante usada por estos portocolos en un formato comun que se usa dentro de asterisk y que es el que nostros usamos. esto permite a Asterisk establecer la comunicacion entre los distintos elementos de la red que usen distintos protocolos.\nSIP: maneja la implementacion del protocolo SIP, que es el protocolo de VoIP mas extendido en la actualidad. SIP se usa para conectar telefonos IP y con ISP que ofrezcan servicios SIP\nIAX2: se usa para conectar asterisk entre si y crear clusters\nDADHI es el canal que interactua con el hardware que conecta a Asterisk a la red PSTN\nExisten otros drivers. Como CDR:call details record. Es un modulo que captura los detalles de llamada y los guarda en ficheros de texto por defecto. pero se puede configurar para que almacene toda la informacion en bases de datos.\nModulos de codecs de audio y video que permiten la codificacion y descodificacion del audio y video para la transmision del contenido multimedia.\nFile format driver permite el manejo del sistema de ficheros. Realizar operaciones de escritura sobre discos duros.\nLos drivers de configuracion proveen de los medios necesarios para la configuracion del sistema en tiempo de ejecucion. Por defecto asterisk lee la configuracion de archivos de texto pero esto se puede modificar para que lo tome de una base de datos o de una aplicacion web.\nTodos estos modulos son Open Source por lo que el codigo fuente esta a nuestra disposicion y es suceptible de cambios para modificarlo a nuestro gusto/necesidades.\nEn el nucleo de asterisk se encuentran algunos otros modulos y componentes.\nEl CLI:command line interface. permite conectar con asterisk mediante una interfaz de linea de comandos, que nos permite ejecutar comandos y monitorizar el estado de Asterisk\nLas aplicaciones y funciones son los otros modulos que proporcionan las habilidades a nuestro sistema Asterisk. Cada modulo de aplicacion incluye una o mas aplicaciones que pueden ser llamadas desde el DialPlan. Hay cientos desde la mas simple a la mas compleja como puede ser el Mailbox\nEn el corazon de asterisk se encuentra un juego de instrucciones que se llama Dialplan. Controla y llama a los procesos. Determina el flujo de la llamada basandose en el nº marcado.\nToda llamada empieza con la solicitud de entrada a traves del canal. El proceso de manejo empieza buscando en el dialplan un patron de extension que concuerde con el nº marcado. Una vez encontrado el dialplan ejecuta una serie de instrucciones asociadas a esa extension. Las instrucciones son un conjunto de aplicaciones y funciones como son: descolgar, reproducir un sonido, detectar digitos marcados, ejecutar una consulta en una Base de datos...\nPor ultimo una breve mencion al AMI: Asterisk mannager interface. es un socket al que conectarnos mediante una serie de aplicaciones y que permiten controlar asterisk de forma remota.\n
  • Asterisk conecta los telefonos y servicios de comunicacion usando una serie de controladores de canal. Los controladores implementan la señal en las caracteristicas requeridas por el medio para ser manejado. Y esto con toda la variedad de protocolos de comunicacion que soporta asterisk.\nLos canales traducen la señal entrante usada por estos portocolos en un formato comun que se usa dentro de asterisk y que es el que nostros usamos. esto permite a Asterisk establecer la comunicacion entre los distintos elementos de la red que usen distintos protocolos.\nSIP: maneja la implementacion del protocolo SIP, que es el protocolo de VoIP mas extendido en la actualidad. SIP se usa para conectar telefonos IP y con ISP que ofrezcan servicios SIP\nIAX2: se usa para conectar asterisk entre si y crear clusters\nDADHI es el canal que interactua con el hardware que conecta a Asterisk a la red PSTN\nExisten otros drivers. Como CDR:call details record. Es un modulo que captura los detalles de llamada y los guarda en ficheros de texto por defecto. pero se puede configurar para que almacene toda la informacion en bases de datos.\nModulos de codecs de audio y video que permiten la codificacion y descodificacion del audio y video para la transmision del contenido multimedia.\nFile format driver permite el manejo del sistema de ficheros. Realizar operaciones de escritura sobre discos duros.\nLos drivers de configuracion proveen de los medios necesarios para la configuracion del sistema en tiempo de ejecucion. Por defecto asterisk lee la configuracion de archivos de texto pero esto se puede modificar para que lo tome de una base de datos o de una aplicacion web.\nTodos estos modulos son Open Source por lo que el codigo fuente esta a nuestra disposicion y es suceptible de cambios para modificarlo a nuestro gusto/necesidades.\nEn el nucleo de asterisk se encuentran algunos otros modulos y componentes.\nEl CLI:command line interface. permite conectar con asterisk mediante una interfaz de linea de comandos, que nos permite ejecutar comandos y monitorizar el estado de Asterisk\nLas aplicaciones y funciones son los otros modulos que proporcionan las habilidades a nuestro sistema Asterisk. Cada modulo de aplicacion incluye una o mas aplicaciones que pueden ser llamadas desde el DialPlan. Hay cientos desde la mas simple a la mas compleja como puede ser el Mailbox\nEn el corazon de asterisk se encuentra un juego de instrucciones que se llama Dialplan. Controla y llama a los procesos. Determina el flujo de la llamada basandose en el nº marcado.\nToda llamada empieza con la solicitud de entrada a traves del canal. El proceso de manejo empieza buscando en el dialplan un patron de extension que concuerde con el nº marcado. Una vez encontrado el dialplan ejecuta una serie de instrucciones asociadas a esa extension. Las instrucciones son un conjunto de aplicaciones y funciones como son: descolgar, reproducir un sonido, detectar digitos marcados, ejecutar una consulta en una Base de datos...\nPor ultimo una breve mencion al AMI: Asterisk mannager interface. es un socket al que conectarnos mediante una serie de aplicaciones y que permiten controlar asterisk de forma remota.\n
  • Asterisk conecta los telefonos y servicios de comunicacion usando una serie de controladores de canal. Los controladores implementan la señal en las caracteristicas requeridas por el medio para ser manejado. Y esto con toda la variedad de protocolos de comunicacion que soporta asterisk.\nLos canales traducen la señal entrante usada por estos portocolos en un formato comun que se usa dentro de asterisk y que es el que nostros usamos. esto permite a Asterisk establecer la comunicacion entre los distintos elementos de la red que usen distintos protocolos.\nSIP: maneja la implementacion del protocolo SIP, que es el protocolo de VoIP mas extendido en la actualidad. SIP se usa para conectar telefonos IP y con ISP que ofrezcan servicios SIP\nIAX2: se usa para conectar asterisk entre si y crear clusters\nDADHI es el canal que interactua con el hardware que conecta a Asterisk a la red PSTN\nExisten otros drivers. Como CDR:call details record. Es un modulo que captura los detalles de llamada y los guarda en ficheros de texto por defecto. pero se puede configurar para que almacene toda la informacion en bases de datos.\nModulos de codecs de audio y video que permiten la codificacion y descodificacion del audio y video para la transmision del contenido multimedia.\nFile format driver permite el manejo del sistema de ficheros. Realizar operaciones de escritura sobre discos duros.\nLos drivers de configuracion proveen de los medios necesarios para la configuracion del sistema en tiempo de ejecucion. Por defecto asterisk lee la configuracion de archivos de texto pero esto se puede modificar para que lo tome de una base de datos o de una aplicacion web.\nTodos estos modulos son Open Source por lo que el codigo fuente esta a nuestra disposicion y es suceptible de cambios para modificarlo a nuestro gusto/necesidades.\nEn el nucleo de asterisk se encuentran algunos otros modulos y componentes.\nEl CLI:command line interface. permite conectar con asterisk mediante una interfaz de linea de comandos, que nos permite ejecutar comandos y monitorizar el estado de Asterisk\nLas aplicaciones y funciones son los otros modulos que proporcionan las habilidades a nuestro sistema Asterisk. Cada modulo de aplicacion incluye una o mas aplicaciones que pueden ser llamadas desde el DialPlan. Hay cientos desde la mas simple a la mas compleja como puede ser el Mailbox\nEn el corazon de asterisk se encuentra un juego de instrucciones que se llama Dialplan. Controla y llama a los procesos. Determina el flujo de la llamada basandose en el nº marcado.\nToda llamada empieza con la solicitud de entrada a traves del canal. El proceso de manejo empieza buscando en el dialplan un patron de extension que concuerde con el nº marcado. Una vez encontrado el dialplan ejecuta una serie de instrucciones asociadas a esa extension. Las instrucciones son un conjunto de aplicaciones y funciones como son: descolgar, reproducir un sonido, detectar digitos marcados, ejecutar una consulta en una Base de datos...\nPor ultimo una breve mencion al AMI: Asterisk mannager interface. es un socket al que conectarnos mediante una serie de aplicaciones y que permiten controlar asterisk de forma remota.\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • language=es\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Asterisk

    1. 1. InstalaciónDependencias $ sudo apt-get install python-software-propertiesImportación de llave pública $ sudo apt-key adv --keyserver pgp.mit.edu --recv-keys 175E41DFAñadir repositorio $ sudo add-apt-repository "deb http://packages.asterisk.org/deb `lsb_release -cs` main" $ sudo add-apt-repository "deb-src http://packages.asterisk.org/deb `lsb_release -cs` main"Instalar Asterisk $ sudo apt-get update $ sudo apt-get intall asterisk-1.8 asterisk-dahdi
    2. 2. ¿Qué es? •Asterisk es software. Exclusivamente software. •Es software open source, desarrollado principalmente por la empresa americana DIGIUM. •Liberado con la licencia GPL. •Se ejecuta en PC estandar (arquitectura x86,x86_64, ppc) bajo GNU/Linux, BSD o MacOSX. •Soporta todas las funcionalidades de las centralitas tradicionales y muchas más !
    3. 3. ¿Qué es?
    4. 4. ¿Qué es?
    5. 5. ¿Qué es?
    6. 6. ¿Qué es?Pagina web basica (HTML) Extension básica (Dialplan Script)
    7. 7. Conocimientos básicos •Administración sistemas Linux •Arquitectura TCP/IP •VoIP y Telefonía •Programación de Script
    8. 8. Redes y protocolos • LAN, WAN, ... • Protocolos: - Capa de Transporte: ‣ TCP ‣ UDP - Capa de Aplicacion: ‣ SIP: Session Initiation Protocol ‣ IAX2: Inter Asterisk eXchange
    9. 9. Telefonía • PSTN: Public Switched Telephony Network • FXS: Foreign eXchange Station - Lo que hay en nuestra pared - Alimenta dispositivos - Utiliza señalización FXO • FXO: Foreign eXchange Office - El conector de nuestro teléfono domestico donde entra la linea - Recibe alimentación - Utiliza señalización FXS
    10. 10. Asterisk: System Service (Daemon) S.O. Linux ast_cli(a->fd, "nn"); return CLI_SUCCESS; } static char *handle_show_threads(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) { int count = 0; struct thread_list_t *cur; switch (cmd) { case CLI_INIT: e->command = "core show threads"; e->usage = "Usage: core show threadsn" "! List threads currently active in the system.n"; return NULL; case CLI_GENERATE: return NULL; } AST_RWLIST_RDLOCK(&thread_list); AST_RWLIST_TRAVERSE(&thread_list, cur, list) { ast_cli(a->fd, "%p %sn", (void *)cur->id, cur->name); count++; } AST_RWLIST_UNLOCK(&thread_list); ast_cli(a->fd, "%d threads listed.n", count); return CLI_SUCCESS; #if defined(HAVE_SYSINFO) /*! brief Give an overview of system statistics */ static char *handle_show_sysinfo(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) { struct sysinfo sys_info; switch (cmd) { case CLI_INIT:
    11. 11. Asterisk: System Service (Daemon) S.O. Linux ast_cli(a->fd, "nn"); return CLI_SUCCESS; } static char *handle_show_threads(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) { int count = 0; struct thread_list_t *cur; switch (cmd) { case CLI_INIT: e->command = "core show threads"; e->usage = "Usage: core show threadsn" "! List threads currently active in the system.n"; return NULL; case CLI_GENERATE: return NULL; } AST_RWLIST_RDLOCK(&thread_list); AST_RWLIST_TRAVERSE(&thread_list, cur, list) { ast_cli(a->fd, "%p %sn", (void *)cur->id, cur->name); count++; } AST_RWLIST_UNLOCK(&thread_list); ast_cli(a->fd, "%d threads listed.n", count); return CLI_SUCCESS; #if defined(HAVE_SYSINFO) /*! brief Give an overview of system statistics */ static char *handle_show_sysinfo(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) { struct sysinfo sys_info; switch (cmd) { case CLI_INIT:
    12. 12. Asterisk: Arquitectura base S.O. Linux
    13. 13. Asterisk: Arquitectura base S.O. Linux SIP IAX2 Skype XMPP DAHDI
    14. 14. Asterisk: Arquitectura base S.O. Linux SIP IAX2 Skype XMPP DAHDI Drivers de canal para conectar teléfonos y líneas exteriores (chan_*.so)
    15. 15. Asterisk: Arquitectura base S.O. Linux SIP IAX2 Skype XMPP DAHDI Drivers de canal para conectar teléfonos y líneas exteriores (chan_*.so) CDR CODEC Format Config
    16. 16. Asterisk: Arquitectura base S.O. Linux SIP IAX2 Skype XMPP DAHDI Drivers de canal para conectar teléfonos y líneas exteriores (chan_*.so) CLI CDR CODEC Format Config
    17. 17. Asterisk: Arquitectura base S.O. Linux SIP IAX2 Skype XMPP DAHDI Drivers de canal para conectar teléfonos y líneas exteriores (chan_*.so) CLI Aplicaciones Funciones CDR CODEC Format Config
    18. 18. Asterisk: Arquitectura base S.O. Linux SIP IAX2 Skype XMPP DAHDI Drivers de canal para conectar teléfonos y líneas exteriores (chan_*.so) CLI exten => 100,1,Answer() [default] Aplicaciones DialPlan exten => 100,n,Wait(1) exten => 100,n,Playback( exten => 100,n,Dial(SIP/ exten => 100,n,Hangup() include -> local Funciones CDR CODEC Format Config
    19. 19. Asterisk: Arquitectura base S.O. Linux SIP IAX2 Skype XMPP DAHDI Drivers de canal para conectar teléfonos y líneas exteriores (chan_*.so) CLI exten => 100,1,Answer() [default] Aplicaciones DialPlan exten => 100,n,Wait(1) exten => 100,n,Playback( exten => 100,n,Dial(SIP/ exten => 100,n,Hangup() include -> local Funciones CDR CODEC Format Config
    20. 20. Asterisk: Arquitectura base S.O. Linux SIP IAX2 Skype XMPP DAHDI Drivers de canal para conectar teléfonos y líneas exteriores (chan_*.so) CLI exten => 100,1,Answer() [default] Aplicaciones DialPlan exten => 100,n,Wait(1) exten => 100,n,Playback( exten => 100,n,Dial(SIP/ exten => 100,n,Hangup() AMI include -> local Funciones CDR CODEC Format Config
    21. 21. Estructura de archivos •/etc/asterisk/ archivos de configuración de Asterisk •/usr/lib/asterisk/modules/ formats los modulos disponibles: codecs, channels, todos etc. •/var/lib/asterisk/ and keys images, firmware contiene los astdb, sounds, •/var/spool/asterisk/ de buzon de voz archivos temporales y archivos •/var/run/ contiene el ID (PID) de los procesos activos, incluyendo Asterisk •/var/log/asterisk/ archivos log de Asterisk salida por defecto para los •/var/log/asterisk/cdr-csv/ llamadas de Asterisk registro de detalles de
    22. 22. Escenario • Múltiplesanalógico. SIP: terminal WiFi, softphone y terminal dispositivos • Gateway SIP para realizar llamadas a la red PSTN. • DialPlan simple: - Softphone (SIP user 2001, pw 1234), ext 2001 - Terminal WiFi (SIP user 2002, pw 1234), ext 2002 - echo test, extension 501 - enviar el resto de llamadas salientes por el Gateway - Las llamadas entrantes sonaran en la ext 2001 y 2002
    23. 23. Configuración SPA 3102 •IP por DHCPa la red (boca WAN) para que coja Conectarlo •Consultar la IP usando el IVR: -**** 110# •Activar el servidor web en la boca WAN: -**** 7932# 1# 1 •Acceder con el navegador
    24. 24. Configuración SPA 3102
    25. 25. Configuración SPA 3102 •Deshabilitar el router: - Entrar como Admin > Advanced. - Pestaña Router > LAN Setup. - Networking Service: Bridge Mode
    26. 26. Configuración SPA 3102
    27. 27. Configuración SPA 3102 • Configurar la FXO: - Pestaña Voice > PSTN Line. - En la sección “Proxy and Registration”, en el campo “Proxy” ponemos la dirección IP de nuestro Asterisk. - En la seccion “Subscriber Information”, en el campo “User ID” ponemos el nombre de la cuenta SIP que hemos creado en Asterisk y en campo “Password” la contraseña. - En la sección de “Dialplans” ponemos lo siguiente en el DialPlan 2 ‣ (S0<:s>)
    28. 28. Configuración SPA 3102 • Configurar la FXO: - En la sección “PSTN-To-VoIP-Gateway Setup”: ‣ PSTN-To-VoIP-Gateway Enable: Yes ‣ PSTN Caller Auth Method: None ‣ PSTN Ring Thru Line 1: No ‣ PSTN CID For VoIP CID: Yes ‣ PSTN Caller Default DP: 2 - En la sección “FXO timer values”, ponemos “PSTN Answer Delay: 2”, o el número que queramos, este es el tiempo que se esperará antes de descolgar.
    29. 29. Configuración SPA 3102
    30. 30. Configuración SPA 3102
    31. 31. Configuración SPA 3102
    32. 32. Configuración SPA 3102 • Configurar la FXS: - Pestaña Voice > Line 1. - Encampo “Proxy” ponemos la dirección en el la sección “Proxy and Registration”, IP de nuestro Asterisk. - En la seccion “Subscriber Information”, en el campo “User ID” ponemos el nombre de la cuenta SIP que hemos creado en Asterisk y en campo “Password” la contraseña.
    33. 33. Configuración SPA 3102
    34. 34. Configuración terminales SIP •Terminales SIP softphone: 3cx, Bria, XLite... -3CXPhone5.msi http://www.3cx.com/downloads/ •Uso básico y configuración de la cuenta SIP
    35. 35. Configuración terminales SIP
    36. 36. Configuración terminales SIP
    37. 37. Configuración terminales SIP
    38. 38. Configuración terminales SIP/etc/asterisk/sip.conf [general] context=default ; Contexto por defecto para llamadas entrantes port=5060 ; Puerto UDP estándar para SIP bindaddr=0.0.0.0 srvlookup=yes [2001] type=friend ; puede recibir y enviar llamadas host=dynamic ; configuración dinámica de ips secret=1234 canreinvite=no context=terminales ; enviar llamadas al contexto ‘terminales’ dtmfmode=rfc2833 disallow=all ; deshabilitamos todos los codecs allow=allaw
    39. 39. Configuración terminales SIP/etc/asterisk/sip.conf [softphones](!) type=friend context=terminales secret=1234 host=dynamic qualify=yes dtmfmode=rfc2833 disallow=all allow=alaw [2000](softphones) [2001](softphones) [SPA3102](softphone) context=from-SPA3102
    40. 40. Configuración terminales SIP/etc/asterisk/extensions.conf [general] [globals] [default] [terminales] exten => 2001,1,Dial(SIP/2001) exten => 2002,1,Dial(SIP/2002) exten => 501,1,Answer() exten => 501,2,Playback(demo-echotest) exten => 501,3,Echo exten => 501,4,Playback(demo-echodone) exten => 501,5,Hangup exten => _.,1,Dial(SIP/${EXTEN}@SPA3102) exten => _.,2,Hangup [from-SPA3102] exten => s,1,Dial(SIP/2001&SIP/2002)
    41. 41. Relacion entre sip.conf y extensions.conf
    42. 42. DialPlan - Contextos •llamadas contextos extensions.conf dividido en secciones -[nombre-contexto] •Podemos tenerestán aislados unos de otros. Los contextos la misma extensión en varios contextos •contexto especificado poraterrizan en el Las llamadas de un canal ese canal. -llamada va al contexto por defectola si no tiene especificado ninguno,
    43. 43. DialPlan - Extensiones •de los que asterisk vapasos únicos llamada definen una serie de a coger una a través -exten => name,priority,application() •secuencial a partir del 1. de manera La prioridad esta numerada -extensión si nos saltamos una de una Asterisk dentendrá el proceso prioridad. -especifica cada prioridad ejecuta una aplicación
    44. 44. DialPlan - Aplicaciones • Son el caballo de batalla del DialPlan -Reproducir un sonido -Descolgar una llamada -Recoger dígitos DTMF -Intereactuar con una base de datos • Pueden requerir cero o mas argumentos, separados por coma o pipe -Answer() -Dial(SIP/2001,15,m)
    45. 45. DialPlan - Variables •Tres tipos de variables en el DialPlan -Globales: se definen en el contexto [globals] -Channel: asociadas a una llamada canales particular, disponible solo por los en participes de la llamada y por el tiempo que ésta tome. ‣ Definidas por la aplicación Set() exten => 202,1,Set(MagicNumber=42) same => n,SayNumber(${MagicNumber}) ‣ Variables predefinidas. Ej: ${EXTEN} -Variables propias del entorno UNIX
    46. 46. Configuración terminales SIP/etc/asterisk/extensions.conf [general] [globals] FUCKENPHONE=SIP/2001 [default] [terminales] include => fun-stuff include => salientes exten => 2001,1,Dial(${FUCKENPHONE},15) exten => _200X,1,Dial(SIP/${EXTEN},15) exten => h,1,Hangup [from-SPA3102] exten => s,1,Dial(SIP/2001&SIP/2002)
    47. 47. Configuración terminales SIP/etc/asterisk/extensions.conf [fun-stuff] exten => 501,1,Answer() exten => 501,2,Playback(demo-echotest) exten => 501,3,Echo exten => 501,4,Playback(demo-echodone) exten => 501,5,Hangup [salientes] exten => _[69]XXXXXXXX,1,Dial(SIP/${EXTEN}@SPA3102) exten => _[69]XXXXXXXX,2,Hangup
    48. 48. DialPlan - Concordancia de patrones • _ indica que la extensión tiene concordancia de patrones • N concuerda con cualquier numero desde el 2 al 9 • X indica un único dígito cualquiera del 0 al 9 • Z Cualquier dígito del 1 al 9 • . coincide con uno o mas dígitos cualesquiera • [a-b] puede ser un dígito entre el rango a,b • [ab] Un solo dígito a o b • [ab-c]el rango b,c la opción del dígito a,b o un dígito entre representa
    49. 49. DialPlan - Extensiones predefinidas •‘s’ Es la extensiónsin necesidadla que una llamada empieza estándar en de que concuerde con ninguna extensión. Normalmente usado con tarjetas FXS/FXO debido a la falta de señalización punto a punto en canales analógicos •i : invalid •h : Hangup •t : timeout •T : absolute Timeout •o : Operator
    50. 50. DialPlan - IVR para llamadas entrantes/etc/asterisk/extensions.conf [from-SPA3102] exten => s,1,Answer() same =>n,Playback(vm-press) same =>n,Playback(vm-extension) same =>n,Background(tt-monkeys) same =>n,WaitExten(10) exten => 0,1,Goto(terminales,2000,1) same =>n,Hangup exten => 1,1,Goto(terminales,2001,1) same =>n,Hangup exten => 2,1,Goto(terminales,2002,1) same =>n,Hangup exten => 3,1,Goto(terminales,2003,1) same =>n,Hangup exten => i,1,Playback(pbx-invalid) same =>n,Goto(from-SPA3102,s,1) exten => t,1,Playback(vm-goodbye) same =>n,Hangup
    51. 51. ¿Preguntas?

    ×