Asterisk Manager Interface

Slides:



Advertisements
Presentaciones similares
Centralitas Neris I7 Visión general de los terminales Office AD2
Advertisements

Registro de llamadas y logs
Curso de Java Java – Redes Rogelio Ferreira Escutia.
Programación de Dispositivos Móviles Estructura de un programa en J2ME Rogelio Ferreira Escutia.
1 Curso Básico de C.I.O. Light Sección 12 Internet Sección 12 - Internet.
Sección 13 Programación de Obra
Nau Gran dHivern Intr. a la creación y gestión de páginas web Introducción a la web.
Internet y tecnologías web
Casos de Uso – 2ª Parte Especificación Is-in-400.blogspot.com
El servicio de gestión de reuniones virtuales y sesiones de formación Vídeo – Reunión es la solución de que permite gestionar videoconferencias y eventos.
Configuración básica de un router CISCO
Características de RIP versión 2
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.
Asterisk Configuración Plan de Numeración 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
Configuración Avanzada
Interfaz de Línea de Comando
Caracterización de la red existente
Programa para el Impulso a la Implementación del Protocolo IPv6 en Instituciones Vinculadas a RENATA 2012 Servicio FTP.
Grabación y supervisión telefónica. 2 INTRODUCCIÓN Este documento contiene información del producto. La información contenida en esta presentación es.
Tema 2 Redes de ordenadores Noelia Mateos y Cristina Julián 4 ºA 1 Tema 2: Redes de ordenadores.
PROTOCOLOS Y ESTANDARES DE RED
Firewalls Con Fortigates Pantalla principal
Curso de Actualización Configuración Básica de Switch
Expositores: Sandra Pineda Obando Patricio Aguirre Sanabria
SISTEMAS DE VoIP Implementación de un IVR (Interactive Voice Response)
Oscar Navarrete J. Jorge Gutiérrez A.
El protagonismo incesante y cada vez más fuerte de Internet en la vida cotidiana de las personas y las actuales líneas de desarrollo tecnológico de.
Configuración del Router
Es un Sistema operativo de red. Es una de las plataformas de servicio más fiable para ofrecer acceso seguro y continuado a la red y los recursos de.
Información pública de Cisco1© 2007 Cisco Systems, Inc. Todos los derechos reservados. Resolución de problemas de la red Networking para el hogar y pequeñas.
Enrutamiento con un protocolo de Link-State
ARIS-G: Software de Monitoreo Geomecánico de Superficies
APENDICE TEMA 4. MÉTRICA DE LOS PUNTOS DE FUNCIÓN
SERVIDOR.
© 2003 Cisco Systems, Inc. All rights reserved.. 2 Session Number Presentation_ID Troubleshooting de Protocolos de Enrutamiento.
Configuración de Area Simple de OSPF
Asterisk Gateway Interface
Taller 5: Trabajo con Plantillas y uso de tecnología Ajax.
Caso de estudio: Un sistema de mensajería
Ing. Eddye Sánchez Castillo. Las principales temas de este capitulo son:  Conectarse al Servidor MySql  Conectarse a la Base de Datos  Enviar Consultas.
DIAGNOSTICO DE FALLAS BASICO DEL ROUTER Semestre 2 Capítulo 9
Unidad 4 Universidad Nacional de Jujuy–Cátedra de Comunicaciones–Redes de Datos de Banda Ancha Aplicaciones multimedia VOIP  Transmisión de la Voz convertida.
Configuración del Router
POP3 UCLV Mapas Conceptuales para la enseñanza de Redes de Computadoras.
LISTAS DE CONTROL DE ACCESO (ACL)
1 Capítulo 21: Interacción Cliente Servidor ICD 327: Redes de Computadores Agustín J. González.
2: Capa Aplicación 1 Capa Aplicación: FTP ELO322: Redes de Computadores Agustín J. González Este material está basado en:  Material de apoyo al texto.
ELO3091 Interfaz de Socket Agustín J. González ELO309.
2: Capa Aplicación 1 Capa Aplicación: File Transfer Protocol ELO322: Redes de Computadores Agustín J. González Este material está basado en:  Material.
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.
Protocolos de Transporte y Aplicación
Transcripción de la presentación:

Asterisk Manager Interface

ASTERISK MANAGER API Permite a una aplicación cliente conectarse a una instancia de Asterisk vía TCP/IP y ejecutar comandos o leer eventos. Generalmente, se utiliza el puerto 5038. Utiliza un protocolo en modo texto que consiste en líneas de tipo "clave: valor". Conjunto de líneas: paquete. Julián Dunayevich, Lázaro Baca, Andrés Brassara, Santiago Alberch, Antonio Lobo 2

MANAGER: PROTOCOLO 1) Se debe establecer una sesión con el manager antes de ejecutar comandos. 2) Los paquetes pueden ser transmitidos en ambas direcciones. 3) El orden de las líneas dentro del paquete es indistinto. 4) Las líneas se delimitan con CRLF y una línea en blanco (2 CRLF consecutivos) indica el final del paquete. Julián Dunayevich, Lázaro Baca, Andrés Brassara, Santiago Alberch, Antonio Lobo 3

MANAGER: TIPOS DE PAQUETE El tipo de paquete está dado por las siguientes claves: Action: paquete originado en el cliente requiriendo llevar a cabo una acción particular. Contiene el nombre de la acción y los parámetros de la misma. Response: la respuesta del Asterisk a la Acción requerida por el cliente. Event: datos correspondientes a un evento generado dentro del núcleo de Asterisk o módulo. Julián Dunayevich, Lázaro Baca, Andrés Brassara, Santiago Alberch, Antonio Lobo 4

MANAGER: AUTENTICACIÓN Las cuentas de usuario se configuran en /etc/asterisk/manager.conf. Por ej: [general] enabled=yes [admin] secret = claveadmin deny=0.0.0.0/0.0.0.0 permit=127.0.0.1/255.255.255.0 read = system,call,log,verbose,command,agent,user,originate write = system,call,log,verbose,command,agent,user,originate En este caso, "admin" es el nombre de usuario, la clave es "claveadmin" y sólo se permiten conexiones para este usuario vía localhost. El resto de las líneas establecen permisos (r,w,r/w) para cada clase (system, call, etc.). Julián Dunayevich, Lázaro Baca, Andrés Brassara, Santiago Alberch, Antonio Lobo 5

MANAGER: CONEXIÓN Enviar un mensaje con acción "Login", junto con el usuario y la clave como parámetros. Por ej: Action: login Username: admin Secret: adminclave Events: off (La última línea indica que la conexión no recibirá eventos por parte del Asterisk.) Julián Dunayevich, Lázaro Baca, Andrés Brassara, Santiago Alberch, Antonio Lobo 6

MANAGER: CONEXIÓN Se recibirá por parte del servidor Asterisk Call Manager/1.0 Response: Success Message: Authentication accepted O, en caso de error: Response: Error Message: Authentication failed Julián Dunayevich, Lázaro Baca, Andrés Brassara, Santiago Alberch, Antonio Lobo 7

MANAGER: PAQUETES ACTION Se pueden proveer parámetros adicionales (por ej, un número a llamar o canal a desconectar). En el caso que la acción determine la ejecución de una entrada del plan de marcación, también se pueden proveer variables. Formato: Action: <action type><CRLF> <Key 1>: <Value 1><CRLF> <Key 2>: <Value 2><CRLF> ... Variable: <Variable 1>=<Value 1><CRLF> Variable: <Variable 2>=<Value 2><CRLF> <CRLF> Julián Dunayevich, Lázaro Baca, Andrés Brassara, Santiago Alberch, Antonio Lobo 8

MANAGER: PAQUETES ACTION Algunos ejemplos de acciones Command: ejecuta un comando (por ej, reload) (privilege: command,all) DAHDIHangup: cuelga un canal DAHDI DAHDIShowChannel: muestra los canales DAHDI DAHDITransfer: transfiere un canal DAHDI Events: controla el flujo de los eventos Hangup: colgar canal (privilege: call,all) IAXpeers: lista los peers IAX (privilege: system,all) ListCommands: lista los comando disponibles del manager Logoff: logoff del manager MailboxCount: verifica la cantidad de mensajes en el mailbox (privilege: call,all) MailboxStatus: verifica el status del mailbox (privilege: call,all) Julián Dunayevich, Lázaro Baca, Andrés Brassara, Santiago Alberch, Antonio Lobo 9

MANAGER: PAQUETES ACTION Algunos ejemplos de acciones (cont.) Monitor: comienza a monitorear un canal (graba un archivo con el audio) (privilege: call, all). Originate: origina llamada (privilege: call,all,originate) Park: realiza un parking de la llamada. ParkedCalls: lista las parked calls (privilege: call, all). QueueAdd: agrega un miembro a la cola (privilege: agent,all) Queues: devuelve configuración e información estadística de las colas. QueueRemove: remueve un miembro de la cola (privilege: agent,all) SIPpeers: lista los peers SIP (privilege: system,all) Status: Status (privilege: call,all) Redirect: transfiere una llamada (privilege: call, all) UpdateConfig: actualiza configuración básica del servidor (privilege: config,all) Julián Dunayevich, Lázaro Baca, Andrés Brassara, Santiago Alberch, Antonio Lobo 10

MANAGER: CLI Los siguientes comandos pueden ser ejecutados en la CLI para obtener información sobre el manager: manager show command <command>: muestra información sobre el comando <command> del manager manager show commands: lista todos los comandos del manager manager show connected: lista los usuarios conectados al manager manager show users: lista los usuarios configurados para acceder al manager Julián Dunayevich, Lázaro Baca, Andrés Brassara, Santiago Alberch, Antonio Lobo 11 11 11

MANAGER: EJEMPLO LLAMADA El cliente envía: ACTION: Originate Channel: SIP/12345 Exten: 1234 Priority: 1 Context: default El cliente recibe, en caso de éxito: Event: Newchannel Channel: SIP/12345-ed8f State: Down CallerID: Uniqueid: 1124982019.19157 Julián Dunayevich, Lázaro Baca, Andrés Brassara, Santiago Alberch, Antonio Lobo 12

MANAGER: EJEMPLO LLAMADA El cliente recibe, en caso de éxito (cont): Event: Newchannel Channel: SIP/12345-ed8f State: Ringing CallerID: Uniqueid: 1124982019.19157 Event: Newstate State: Up Julián Dunayevich, Lázaro Baca, Andrés Brassara, Santiago Alberch, Antonio Lobo 13

MANAGER: EJEMPLO LLAMADA El cliente recibe, en caso de éxito (cont): Event: Newexten Channel: SIP/12345-ed8f Context: default Extension: 1234 Priority: 1 Application: Dial AppData: SIP/pepe Uniqueid: 1124982019.19157 Response: Success Message: Originate successfully queued Julián Dunayevich, Lázaro Baca, Andrés Brassara, Santiago Alberch, Antonio Lobo 14

MANAGER: EJEMPLO LLAMADA El cliente recibe, en caso de error: Event: Newexten Channel: OutgoingSpoolFailed Context: default Extension: failed Priority: 1 Application: SetVar AppData: extension=failed Uniqueid: 1124981514.58775 Julián Dunayevich, Lázaro Baca, Andrés Brassara, Santiago Alberch, Antonio Lobo 15

MANAGER: EJEMPLO LLAMADA El cliente recibe, en caso de error (cont): Event: Hangup Channel: OutgoingSpoolFailed Uniqueid: 1124981514.58775 Cause: 0 Response: Error Message: Originate failed Julián Dunayevich, Lázaro Baca, Andrés Brassara, Santiago Alberch, Antonio Lobo 16

MANAGER: Ejemplo en PHP // Apertura del socket $socket = fsockopen("127.0.0.1","5038", $errno, $errstr, $timeout); // Login del usuario fputs($socket, "Action: Login\r\n"); fputs($socket, "UserName: admin\r\n"); fputs($socket, "Secret: amp111\r\n\r\n"); // Lista los comandos disponibles para la clave Action fputs($socket, "Action: ListCommands\r\n\r\n"); // Logoff del usuario fputs($socket, "Action: Logoff\r\n\r\n"); Julián Dunayevich, Lázaro Baca, Andrés Brassara, Santiago Alberch, Antonio Lobo 17 17 17

MANAGER: Ejemplo en PHP // Obtiene la respuesta del manager while (!feof($socket)) { $wrets .= fread($socket, 8192); } // Cierra el socket fclose($socket); // Muestra la salida del manager por pantalla echo <<<ASTERISKMANAGEREND ASTERISK MANAGER OUTPUT: $wrets ASTERISKMANAGEREND; ?> Julián Dunayevich, Lázaro Baca, Andrés Brassara, Santiago Alberch, Antonio Lobo 18 18 18

MANAGER: PROBLEMAS La documentación sobre el protocolo y la funcionalidad del manager está incompleta. No es estable con el manejo de una cantidad grande de conexiones a la vez. Es recomendada la utilización de un Proxy (por, ej ProxyAstMan), para sistemas que hagan un uso intensivo del manager, como pueden ser sistemas de monitoreo, panel de control y campañas/encuestas telefónicas. Julián Dunayevich, Lázaro Baca, Andrés Brassara, Santiago Alberch, Antonio Lobo 19

Ejercicio 11: AMI Administrar y utilizar la funcionalidad del servidor Asterisk vía la AMI Julián Dunayevich, Lázaro Baca, Andrés Brassara, Santiago Alberch, Antonio Lobo 20

Curso elaborado por Julián Dunayevich, Lázaro Baca, Andrés Brassara, Santiago Alberch y Antonio Lobo julian@dunayevich.com lazaro.baca@gmail.com abrassara@gmail.com salberch@gmail.com 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 Basándose en: 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