Asterisk Configuración Plan de Numeración 1.

Slides:



Advertisements
Presentaciones similares
Integrando Obras y Oficina
Advertisements

Sección 8 Administración
Interfases Contables en CIO con XML
Dirección IP - Características
Neris I6V2 Curso actualización
Registro de llamadas y logs
MOVIMIENTO JOVENES DE LA CALLE CIUDAD DE GUATEMALA la storia la historia lhistoire the history strada calle rue street.
Paso 1 Portada YO SOY EUROPEO Comisión Europea.
Tabla de Contenido Concurrencia.
Serie: Cómo hacer con EpiInfoTM .
1 LA UTILIZACION DE LAS TIC EN LAS PYMES GALLEGAS AÑO Resumen. 24 de Junio de 2005.
Configuración de Control
Sección 6 Ordenes de Pago
1 Curso Básico de C.I.O. Light Sección 12 Internet Sección 12 - Internet.
Interfases Contables en CIO
Sección 13 Programación de Obra
Operaciones catalográficas
Preparación de documentos
Introduccion a UML Wilson Peláez Hernández
Alta disponibilidad en VoIP
Asterisk Configuración Canales SIP/IAX 1.
Asterisk Instalación 1 1.
Asterisk Administración 1 1.
Seguridad en VoIP Seguridad 1.
Correo de Voz (voic ) Asterisk Configuración del Correo de Voz (voic ) 1.
Asterisk Introducción 1 1.
Asterisk Configuración Sala de conferencias 1.
Asterisk Interconexion PBX 1.
Asterisk CLI.
Asterisk Conceptos de Asterisk 1.
Asterisk Configuración básica Primeros Pasos 1.
WALC 2010 Track 5 Telefonía IP.
Asterisk Configuración Manejo de variables condicionales 1.
Configuración Discado automatico Manejo de Colas
Asterisk Trixbox.
Julián Dunayevich, Lázaro Baca, Andrés Brassara, Santiago Alberch
Julián Dunayevich, Lázaro Baca, Andrés Brassara, Santiago Alberch
Programación en C para electrónica
APLICAWEB SERVICIOS LEGALES DE PUERTO RICO
Graballo-Secretaria Atención telefónica automática.
PROTOCOLOS Y ESTANDARES DE RED
Para ello lo primero que debemos hacer es acudir a la BIOS, para conseguir que arranque nuestro CD de instalación de Windows una vez que encendamos nuestro.
Operaciones con expresiones algebraicas
Ecuaciones y Resolución de Ecuaciones Lineales
DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO
Expositores: Sandra Pineda Obando Patricio Aguirre Sanabria
Oscar Navarrete J. Jorge Gutiérrez A.
Presentado por: Lenin Isaías Escobar Mendoza
Introducción a los protocolos de enrutamiento dinámico
Informática II 1 Diego Fernando Serna RestrepoSemestre 2011/2.
Comité Nacional de Información Bogotá, Julio 21 de 2011 Consejo Nacional de Operación de Gas Natural 1 ESTADISTICAS NACIONALES DE OFERTA Y DEMANDA DE GAS.
Comité Nacional de Información Bogotá, Julio 27 de 2011 Consejo Nacional de Operación de Gas Natural 1 ESTADISTICAS NACIONALES DE OFERTA Y DEMANDA DE GAS.
PASOS PARA EL FORMATEO DE UN PC
CULENDARIO 2007 Para los Patanes.
Minicurso "Presentaciones con PowerPoint"
Índice Sesión I Bloque I (09:30 a 10:30 Horas) Configuración Inicial
Conceptos y protocolos de enrutamiento. Capítulo 7
1 PRACTICA 3. Captura en Avid Xpress DV (4) 1.Preparar la captura 2.Captura de medios 3.Catalogar Bibliografía Capítulo 5, 6 y 7. Guía del usuario para.
1 Correo Electrónico TALLER DE ALFABETIZACIÓN DIGITAL.
Asterisk Manager Interface
Asterisk Gateway Interface
Clases y objetos La unidad fundamental de programación OO son las clases. Conjunto de métodos y semántica Qué se va a hacer POO Clase: que define la implementación.
ESCUELA PROFESIONAL DE INGENIERIA INDUSTRIAL CURSO: GESTION DE LA CALIDAD ING.ELIZABETH FERG 1.
Instructivo para la Gestión de Solicitudes de los Clientes - Alertran DEPRISA Febrero 2013.
2007 Connecting North America Tour
Administrador de procesos
Práctica Profesional PHP.
Asterisk Configuración.
Asterisk Conceptos de Asterisk. Julián Dunayevich, Lázaro Baca, Andrés Brassara, Santiago Alberch2 Canal (channel) Es una conexión que conduce una llamada.
WALC 2008 Track 5 Telefonia IP. Asterisk Conceptos de telefonía: conceptos básicos sobre telefonía tradicional.
Transcripción de la presentación:

Asterisk Configuración Plan de Numeración 1

extensions.conf El archivo extensions.conf es la parte central de toda la configuración, dado que es donde se define el dialplan de Asterisk. Se compone de 4 partes principales: contextos, extensiones, prioridades y aplicaciones. Julián Dunayevich, Lázaro Baca, Andrés Brassara, Santiago Alberch, Antonio Lobo 2 2

extensions.conf - contextos El dialplan se divide en secciones denominadas contextos, que están rotuladas y contienen un grupo de extensiones. Los contextos se definen colocando su nombre entre corchetes ([]). Este nombre puede contener caracteres alfanuméricos además del guión y el guión bajo. Por ej: [interno] Todas las instrucciones son parte del contexto hasta que el próximo contexto es definido. Existen dos contextos especiales: [general] (variables predefinidas) y [globals] (variables no predefinidas). Julián Dunayevich, Lázaro Baca, Andrés Brassara, Santiago Alberch, Antonio Lobo 3 3

extensions.conf - extensiones Una extensión es una instrucción que será seguida por Asterisk, luego de ser disparada por una llamada entrante o bien por dígitos discados en un canal, definida en el marco de un contexto. La sintaxis de una extensión es la siguiente: exten => nombre,prioridad,aplicacion() Ejemplo: exten => 0201,1,Answer() Julián Dunayevich, Lázaro Baca, Andrés Brassara, Santiago Alberch, Antonio Lobo 5 5

extensions.conf - extensiones Extensión s (start): es una extensión especial que es utilizada si una llamada entra a un contexto sin una extensión destino específica (por ejemplo una llamada en un puerto FXO); la llamada trata de entrar automáticamente a la extensión s. exten => s,1,Answer() Julián Dunayevich, Lázaro Baca, Andrés Brassara, Santiago Alberch, Antonio Lobo 6 6

extensions.conf - prioridades Una extensión puede tener varios pasos, denominados prioridades. Las prioridades comienzan con 1 y se ejecutan en orden numérico. Si no existe la prioridad N + 1, Asterisk no salta a la siguiente prioridad (N+2). Cada prioridad ejecuta una única aplicación. Ejemplo: exten => 0201,1,Answer() exten => 0201,2,Hangup() Julián Dunayevich, Lázaro Baca, Andrés Brassara, Santiago Alberch, Antonio Lobo 7 7

extensions.conf - prioridades Prioridades sin numerar: Cada vez que Asterisk encuentra una prioridad n, toma el número de la prioridad anterior y le suma 1. Simplifica el proceso de escritura del dialplan, evitando tener que volver a numerar las prioridades al insertar una prioridad para la misma exten. Ejemplo: exten => 0201,1,Answer() exten => 0201,n,hago algo exten => 0201,n,Hangup() Julián Dunayevich, Lázaro Baca, Andrés Brassara, Santiago Alberch, Antonio Lobo 8 8

Prioridades n exten => 1001,1,Answer() exten => 1001,n(LlamaPepe),Dial(SIP/pepe,20) exten => 1001,n,Playback(tt-allbusy) exten => 1001,n,Hangup ;Va a n+101 en caso de que el canal esté ocupado: exten => 0201,LlamaPepe+101,Playback(vm-isunavailable) ;También puede tener una etiqueta esta prioridad: exten => 1001,LlamaPepe+101(PepeNoDisponible),Playback (unavailable) Julián Dunayevich, Lázaro Baca, Andrés Brassara, Santiago Alberch, Antonio Lobo 9 9

extensions.conf - aplicaciones Las aplicaciones realizan una acción determinada en el canal actual, controlando el comportamiento de la llamada y del sistema en sí. Algunos ejemplos: Answer(): contesta una llamada. Hangup(): cuelga una llamada. Dial(): realiza una llamada saliente. Playback(): reproduce un archivo de sonido. Ciertas aplicaciones requieren del paso de parámetros, estos se incluyen dentro de los paréntesis, separados por “,”. Julián Dunayevich, Lázaro Baca, Andrés Brassara, Santiago Alberch, Antonio Lobo 10 10

manejo de contextos Laboratorio 3 Julián Dunayevich, Lázaro Baca, Andrés Brassara, Santiago Alberch, Antonio Lobo 11 11

El primer dialplan Aplicaciones: Answer(), Playback() y Hangup() Cómo hacer un dialplan? Answer() constesta un canal al que está entrando una llamada. No toma ningún argumento. Playback() reproduce un archivo previamente grabado. Recibe como parámetro el nombre del archivo sin extensión, el archivo debe estar en /var/lib/asterisk/sounds Hangup() cuelga el canal actual. Julián Dunayevich, Lázaro Baca, Andrés Brassara, Santiago Alberch, Antonio Lobo 12 12

dialplan: extensions.conf [internos] exten => 1000,1,Answer( ) exten => 1000,n,Playback(hello-world) exten => 1000,n,Hangup( ) Julián Dunayevich, Lázaro Baca, Andrés Brassara, Santiago Alberch, Antonio Lobo 13 13

Más aplicaciones Background(). Similar a playback, pero si el usuario presiona dígitos, la aplicación lo captura y trata de enviarlo a la extensión presionada. exten => 1000,1,Background(hello-world) Goto(). Nos permite mandar una llamada a otro contexto, extensión y prioridad: exten => 1000,1,Goto(contexto,extension,prioridad) Julián Dunayevich, Lázaro Baca, Andrés Brassara, Santiago Alberch, Antonio Lobo 14 14

Agregar lógica al dialplan: Background() [internos] exten => 1000,1,Answer( ) ; contesta la llamada exten => 1000,n,Background(vm-enter-num-to-call) ; espera digitos y pasa a la extension en el mismo contexto exten => 1000,n,WaitExten(10) exten => 1,1,Playback(digits/1) ; reproduce el dígito 1 exten => 2,1, Playback(tt-monkeys) ; Julián Dunayevich, Lázaro Baca, Andrés Brassara, Santiago Alberch, Antonio Lobo 15 15

Agregar lógica al dialplan: Goto() [internos] exten => 1000,1,Answer( ) exten => 1000,n,Background(vm-enter-num-to-call) exten => 1000,n,WaitExten(10) exten => 1,1,Playback(digits/1) exten => 1,n,Goto(1000,1) ; vuelve al inicio de la extension 1000 exten => 2,1, Playback(tt-monkeys) exten => 2,n,Goto(1000,1) Si se pasa 1 argumento a Goto(), se asume que es la prioridad dentro de la misma extensión, si se pasan 2, se asume que es otra extensión y la prioridad en el mismo contexto, y si se pasan 3, se asume que es un contexto diferente, extensión y priorida al que se quiere enviar la llamada. Julián Dunayevich, Lázaro Baca, Andrés Brassara, Santiago Alberch, Antonio Lobo 16 16

Manejo de entradas inválidas y timeouts Cuando el usuario teclea una entrada inválida, la llamada es enviada a la extensión i. Cuando el usuario no teclea ninguna opción, es necesario tener una extensión que nos permita manejar esta situación. Por defecto, si no se teclea nada después de 10 segundos de haberse terminado de reproducir el archivo la llamada es enviada a la extensión t. Si se teclea un digito, espera 5 segundos hasta el siguiente, o numeral (#) para terminar de tipear numeros. Julián Dunayevich, Lázaro Baca, Andrés Brassara, Santiago Alberch, Antonio Lobo 17 17

Agregar extensión i y t [internos] exten => 1000,1,Answer( ) exten => 1000,n,Background(vm-enter-num-to-call) exten => WaitExten(10) exten => 1,1,Playback(digits/1) exten => 1,n,Goto(1000,1) exten => 2,1, Playback(digits/2) exten => 2,n,Goto(1000,1) exten => i,1,Playback(pbx-invalid) exten => i,n,Goto(1000,1) exten => t,1,Playback(vm-goodbye) exten => t,n,Hangup() Julián Dunayevich, Lázaro Baca, Andrés Brassara, Santiago Alberch, Antonio Lobo 18 18

Flujo en el dialplan: flujo con salto de prioridades Julián Dunayevich, Lázaro Baca, Andrés Brassara, Santiago Alberch, Antonio Lobo 19 19

Aplicación Dial() Permite conectar 2 ó más canales. Es especialmente útil cuando los dispositivo usan tecnologías diferentes(SIP,IAX,etc). Puede tomar hasta 4 parámetros: El primero es el destino de la llamada en el formato tecnologia/canal (SIP/juan, IAX2/180, DAHDI/1) exten => 0202,1,Dial(SIP/juan) Se puede hacer que la llamada suene en varios canales a la vez exten => 0202,1,Dial(SIP/juan&DAHDI/1&IAX2/0202) Julián Dunayevich, Lázaro Baca, Andrés Brassara, Santiago Alberch, Antonio Lobo 20 20

Aplicación Dial() El segundo argumento es el tiempo que se intentará llamar al destino. Si en ese tiempo no contestan, se pasa a la siguiente prioridad. Si no se especifica este parámetro, la llamada continúa marcando el canal, hasta que el canal es contestado o hasta que el emisor de la llamada cuelga. exten => 0202,1,Dial(SIP/juan,10) Si el usuario donde está sonando la llamada contesta antes de 10 segundos, se conectan ambos dispositivo y el dialplan termina. Si el usuario no contesta se continúa en la siguiente prioridad. Si el canal al que se quiere comunicar está ocupado, Dial() salta a la prioridad n+101, si es que existe. Julián Dunayevich, Lázaro Baca, Andrés Brassara, Santiago Alberch, Antonio Lobo 21 21

Ejemplo de Dial [internos] exten => 1002,1(LlamaJuan),Dial(SIP/juan,10) exten => 1002,n,Playback(vm-nobodyavail) exten => 1002,n,Hangup() exten => 1002,LlamaJuan+101,Playback(tt-allbusy) Julián Dunayevich, Lázaro Baca, Andrés Brassara, Santiago Alberch, Antonio Lobo 22 22

Aplicación Dial() El tercer parámetro es una cadena que puede estar compuesta por varios caracteres que brindan algunas características específicas al momento de hacer la llamada. Algunos ejemplos: T. Permite que quien llama pueda transferir la llamada con # t. Permite que quien contesta pueda transferir la llamada con # r. Genera un ring tone al que llama y espera a generar el canal de audio cuando conteste. m. A diferencia de r, genera música en espera. w. Permite al que llama grabar la comunicacion con *1 En CLI, ¨core show application dial¨, muestra todas las opciones de Dial() Julián Dunayevich, Lázaro Baca, Andrés Brassara, Santiago Alberch, Antonio Lobo 23 23

Llamar a los canales declarados [internos] exten => 1000,1,Answer( ) exten => 1000,n,Background(vm-enter-num-to-call) exten => 1000,n,WaitExten() exten => 1001,1,Answer() exten => 1001,n(Llamajuan),Dial(SIP/juan,10) exten => 1001,n,Playback(vm-nobodyavail) exten => 1001,n,Hangup() exten => 1001,Llamajuan+101,Playback(tt-allbusy) exten => 1002,1,Answer() exten => 1002,n(LlamaPP),Dial(IAX2/pepe,10) exten => 1002,n,Playback(vm-nobodyavail) exten => 1002,n,Hangup() exten => 1002,LlamaPP+101,Playback(tt-allbusy) exten => i,1,Playback(pbx-invalid) exten => i,n,Goto(1000,1) exten => t,1,Playback(vm-goodbye) exten => t,n,Hangup() Julián Dunayevich, Lázaro Baca, Andrés Brassara, Santiago Alberch, Antonio Lobo 24 24

Detalles de la licencia: Curso elaborado por Júlian Dunayevich julian@dunayevich.com Lázaro Baca lazaro.baca@gmail.com Andrés Brassara abrassara@gmail.com Santiago Alberch salbech@gmail.com Antonio Lobo antoniwolf@gmail.com Detalles de la licencia: http://creativecommons.org/licenses/by-nc-sa/2.5/deed.es_AR Autores: Julián Dunayevich, Lázaro Baca, Andrés Brassara, Santiago Alberch, Antonio Lobo (cc) Creative Commons - Attribute Non-Commercial Share-Alike 2.5 Trabajo originalmente basado en bibliografía de: Irontec: contacto@irontec.com (CC) Asterisk, The Future of Telephony, Jim Meggelen, Jared Smith, and Leif Madsen, O´REILLY, 2005 Julián Dunayevich, Lázaro Baca, Andrés Brassara, Santiago Alberch, Antonio Lobo 25