37
Técnicas para monitoreo y reportes con Asterisk Nicolás Gudiño [email protected] 4K Conference 2011 Buenos Aires Nicolás Gudiño - http://www.asternic.biz Tuesday, December 6, 2011

Tecnicas monitoreo reportes con Asterisk

Embed Size (px)

Citation preview

Page 1: Tecnicas monitoreo reportes con Asterisk

Técnicas para monitoreo y reportes

con Asterisk

Nicolás Gudiñ[email protected]

4K Conference 2011 Buenos Aires

Nicolás Gudiño - http://www.asternic.biz Tuesday, December 6, 2011

Page 2: Tecnicas monitoreo reportes con Asterisk

Agenda

Archivos de registro / logs

Call Detail Records / CDR

Registro actvidad de colas / queue_log

Channel Event Logging / CEL

Asterisk Manager Interface / AMI

Nicolás Gudiño - http://www.asternic.biz

Técnicas para monitoreo y reportes con Asterisk 4K Conference 2011

Tuesday, December 6, 2011

Page 3: Tecnicas monitoreo reportes con Asterisk

Ideales para depuración de problemas

Archivos de registro - Logs

Nicolás Gudiño - http://www.asternic.biz

Técnicas para monitoreo y reportes con Asterisk 4K Conference 2011

;console => notice,warning,error;console => notice,warning,error,debug;messages => notice,warning,errorfull => notice,warning,error,debug,verbose

/etc/asterisk/logger.conf

Tuesday, December 6, 2011

Page 4: Tecnicas monitoreo reportes con Asterisk

Archivos de registro - Logs

Nicolás Gudiño - http://www.asternic.biz

Técnicas para monitoreo y reportes con Asterisk 4K Conference 2011

[2011-11-18 15:42:36] VERBOSE[13927] pbx.c: -- Executing [s@macro-dial-one:37] Dial("Local/605@from-queue-8891;2", "SIP/605,25,trM(auto-blkvm)") in new stack[2011-11-18 15:42:36] VERBOSE[13927] netsock2.c: == Using SIP RTP TOS bits 184[2011-11-18 15:42:36] VERBOSE[13927] netsock2.c: == Using SIP RTP CoS mark 5[2011-11-18 15:42:36] VERBOSE[13927] app_dial.c: -- Called SIP/605[2011-11-18 15:42:36] VERBOSE[13887] app_queue.c: -- Local/605@from-queue-8891;1 is ringing[2011-11-18 15:42:36] VERBOSE[13928] app_mixmonitor.c: == Begin MixMonitor Recording Local/605@from-queue-8891;2[2011-11-18 15:42:36] VERBOSE[13927] app_dial.c: -- SIP/605-00000094 is ringing[2011-11-18 15:42:36] VERBOSE[13887] app_queue.c: -- Local/605@from-queue-8891;1 is ringing[2011-11-18 15:42:37] VERBOSE[13927] app_dial.c: -- SIP/605-00000094 is ringing

/var/log/asterisk/full

Fecha Nivel Thread Módulo Detalle

Tuesday, December 6, 2011

Page 5: Tecnicas monitoreo reportes con Asterisk

Archivos de registro - Logs

Nicolás Gudiño - http://www.asternic.biz

Técnicas para monitoreo y reportes con Asterisk 4K Conference 2011

Filtrando logs para depuración

#> grep 13928 /var/log/asterisk/full

[2011-11-18 15:42:36] VERBOSE[13928] app_mixmonitor.c: == Begin MixMonitor Recording ...[2011-11-18 15:43:14] VERBOSE[13928] app_mixmonitor.c: == MixMonitor close filestream[2011-11-18 15:43:14] VERBOSE[13928] app_mixmonitor.c: == Executing [/var/lib/asterisk/...[2011-11-18 15:43:14] VERBOSE[13928] app_mixmonitor.c: == End MixMonitor Recording ...

Revisando últimas líneas de log#> tail -n 1000 /var/log/asterisk/full

Tuesday, December 6, 2011

Page 6: Tecnicas monitoreo reportes con Asterisk

Archivos de registro - Logs

Nicolás Gudiño - http://www.asternic.biz

Técnicas para monitoreo y reportes con Asterisk 4K Conference 2011

#> asterisk -rx “logger reload”

Comandos de consola

#> asterisk -rx “logger rotate”

Recargar configuración

Rotación de logs

#> asterisk -rx “core set verbose 10”Ajuste de nivel de verbosidad

#> asterisk -rx “core set debug 3”Ajuste de nivel de depuración

Tuesday, December 6, 2011

Page 7: Tecnicas monitoreo reportes con Asterisk

Registro histórico de llamados

Tarifación / facturación

Análisis de volumen de llamados

Estadísticas de uso

Auditoría

Call Detail Records - CDR

Nicolás Gudiño - http://www.asternic.biz

Técnicas para monitoreo y reportes con Asterisk 4K Conference 2011

Tuesday, December 6, 2011

Page 8: Tecnicas monitoreo reportes con Asterisk

Call Detail Records - CDR

Nicolás Gudiño - http://www.asternic.biz

Técnicas para monitoreo y reportes con Asterisk 4K Conference 2011

Diferentes back-ends csvmanagerradiussqliteodbc, etc

Back-end mysql disponible en addons

Tuesday, December 6, 2011

Page 9: Tecnicas monitoreo reportes con Asterisk

Nicolás Gudiño - http://www.asternic.biz

Técnicas para monitoreo y reportes con Asterisk 4K Conference 2011

[general]unanswered=noendbeforehexten=no

[csv]usegmtime = yes ; log date/time in GMTloguniqueid = yes ; log uniqueid. loguserfield = yes ; log user field. accountlogs = yes ; create separate log file for each account code. Default is "yes"

/etc/asterisk/cdr.conf

Call Detail Records - CDR

Tuesday, December 6, 2011

Page 10: Tecnicas monitoreo reportes con Asterisk

Nicolás Gudiño - http://www.asternic.biz

Técnicas para monitoreo y reportes con Asterisk 4K Conference 2011

Call Detail Records - CDRCampo de Usuario (userfield)Set(CDR(userfield)=Value)

Puede usarse para guardar información extra en un registro CDR como ser:

Tecla pulsada en IVR, nombre de grabación

Cualquier variable de canal

[global]userfield=1

/etc/asterisk/cdr_mysql.conf

Tuesday, December 6, 2011

Page 11: Tecnicas monitoreo reportes con Asterisk

Nicolás Gudiño - http://www.asternic.biz

Técnicas para monitoreo y reportes con Asterisk 4K Conference 2011

Call Detail Records - CDR

"","19524742","609","from-did-direct","""19524742"" <19524742>","SIP/zapuser-00000179","Local/FMPR-609@from-internal-b2c7;1","Dial","Local/FMPR-609@from-internal&Local/FMGL-606@from-internal,22,trM(auto-blkvm)","2011-11-24 09:18:10","2011-11-24 09:18:26","2011-11-24 09:18:44",34,18,"ANSWERED","DOCUMENTATION","1322126290.637",""

"","19524742","605","from-internal-xfer","""19524742"" <19524742>","SIP/609-0000017a","SIP/605-0000017c","Dial","SIP/605,25,trM(auto-blkvm)","2011-11-24 09:18:44",,"2011-11-24 09:18:59",15,0,"NO ANSWER","DOCUMENTATION","1322126301.642",""

/var/log/asterisk/cdr-csv/Master.csv

Tuesday, December 6, 2011

Page 12: Tecnicas monitoreo reportes con Asterisk

Call Detail Records - CDR

Nicolás Gudiño - http://www.asternic.biz

Técnicas para monitoreo y reportes con Asterisk 4K Conference 2011

Información util pero a veces incompleta

Hay inconsistencias cuando se

transfieren llamadas

No es util para determinar el flujo de un

llamado

Tuesday, December 6, 2011

Page 13: Tecnicas monitoreo reportes con Asterisk

Call Detail Records - CDR

Nicolás Gudiño - http://www.asternic.biz

Técnicas para monitoreo y reportes con Asterisk 4K Conference 2011

Asternic CDR Reports

Tuesday, December 6, 2011

Page 14: Tecnicas monitoreo reportes con Asterisk

Call Detail Records - CDR

Nicolás Gudiño - http://www.asternic.biz

Técnicas para monitoreo y reportes con Asterisk 4K Conference 2011

Asternic CDR Reports

Módulo de FreePBX - GPL

http://www.asternic.biz/downloads/asternic-cdr-reports

Tuesday, December 6, 2011

Page 15: Tecnicas monitoreo reportes con Asterisk

Registro detallado de actividad de colas

Estadísticas de call center

Eficiencia de agentes

Nivel de servicio

Auditoría

Actividad de colas - queue_log

Nicolás Gudiño - http://www.asternic.biz

Técnicas para monitoreo y reportes con Asterisk 4K Conference 2011

Tuesday, December 6, 2011

Page 16: Tecnicas monitoreo reportes con Asterisk

Nicolás Gudiño - http://www.asternic.biz

Técnicas para monitoreo y reportes con Asterisk 4K Conference 2011

1321903401|1321903368.260|101|NONE|ENTERQUEUE||asterisk|11321903417|1321903368.260|101|Soporte Paula|RINGNOANSWER|150001321903438|1321903368.260|101|Soporte Paula|RINGNOANSWER|150001321903449|1321903368.260|101|Soporte Paula|CONNECT|48|1321903443.267|51321904957|1321903368.260|101|Soporte Paula|COMPLETEAGENT|48|1508|11321945326|NONE|NONE|NONE|CONFIGRELOAD|1321964669|1321964645.270|100|NONE|ENTERQUEUE||44438722|11321964685|1321964645.270|100|Soporte Paula|RINGNOANSWER|150001321964714|1321964645.270|100|Soporte Paula|RINGNOANSWER|150001321964738|1321964645.270|100|Soporte Paula|CONNECT|69|1321964727.277|101321964795|1321964645.270|100|Soporte Paula|COMPLETECALLER|69|57|1

/var/log/asterisk/queue_log

timestampuniqueid

colaagente evento

info adicional

Actividad de colas - queue_log

Tuesday, December 6, 2011

Page 17: Tecnicas monitoreo reportes con Asterisk

Nicolás Gudiño - http://www.asternic.biz

Técnicas para monitoreo y reportes con Asterisk 4K Conference 2011

Asternic Call Center Stats Lite

Actividad de colas - queue_log

Tuesday, December 6, 2011

Page 18: Tecnicas monitoreo reportes con Asterisk

Nicolás Gudiño - http://www.asternic.biz

Técnicas para monitoreo y reportes con Asterisk 4K Conference 2011

http://www.asternic.biz/downloads/lite

Asternic Call Center Stats Lite - GPL3

Actividad de colas - queue_log

Tuesday, December 6, 2011

Page 19: Tecnicas monitoreo reportes con Asterisk

Registro detallado de llamados

Híbrido entre queue_log y CDR

Channel Event Logging - CEL

Nicolás Gudiño - http://www.asternic.biz

Técnicas para monitoreo y reportes con Asterisk 4K Conference 2011

CDR con esteroides

Tuesday, December 6, 2011

Page 20: Tecnicas monitoreo reportes con Asterisk

Nicolás Gudiño - http://www.asternic.biz

Técnicas para monitoreo y reportes con Asterisk 4K Conference 2011

/etc/asterisk/cel.conf

Channel Event Logging - CEL

[general]enable=yesapps=allevents=ALLdateformat=%F %T

Lo mínimo para empezar a usar CEL es habilitarlo con enable=yes y enumerar eventos con events=xxx.

Tuesday, December 6, 2011

Page 21: Tecnicas monitoreo reportes con Asterisk

Nicolás Gudiño - http://www.asternic.biz

Técnicas para monitoreo y reportes con Asterisk 4K Conference 2011

Channel Event Logging - CELEventos disponibles en CEL

CHAN_START , CHAN_END, ANSWER, HANGUP, CONF_ENTER, CONF_EXIT, CONF_START, CONF_END, APP_START, APP_END, PARK_START, PARK_END, BRIDGE_START, BRIDGE_END, 3WAY_START , 3WAY_END, BLINDTRANSFER, ATTENDEDTRANSFER, TRANSFER, HOOKFLASH, USER_EVENT

¡UN MONTONAZO!

Tuesday, December 6, 2011

Page 22: Tecnicas monitoreo reportes con Asterisk

Nicolás Gudiño - http://www.asternic.biz

Técnicas para monitoreo y reportes con Asterisk 4K Conference 2011

Channel Event Logging - CEL

[mappings]Master.csv => ${CSV_QUOTE(${eventtype})},${CSV_QUOTE(${eventtime})},${CSV_QUOTE(${CALLERID(name)})},${CSV_QUOTE(${CALLERID(num)})},${CSV_QUOTE(${CALLERID(ANI)})},${CSV_QUOTE(${CALLERID(RDNIS)})},${CSV_QUOTE(${CALLERID(DNID)})},${CSV_QUOTE(${CHANNEL(exten)})},${CSV_QUOTE(${CHANNEL(context)})},${CSV_QUOTE(${CHANNEL(channame)})},${CSV_QUOTE(${CHANNEL(appname)})},${CSV_QUOTE(${CHANNEL(appdata)})},${CSV_QUOTE(${CHANNEL(amaflags)})},${CSV_QUOTE(${CHANNEL(accountcode)})},${CSV_QUOTE(${CHANNEL(uniqueid)})},${CSV_QUOTE(${CHANNEL(linkedid)})},${CSV_QUOTE(${CHANNEL(peer)})},${CSV_QUOTE(${CHANNEL(userfield)})},${CSV_QUOTE(${eventextra})}

/etc/asterisk/cel_custom.conf

Tuesday, December 6, 2011

Page 23: Tecnicas monitoreo reportes con Asterisk

Nicolás Gudiño - http://www.asternic.biz

Técnicas para monitoreo y reportes con Asterisk 4K Conference 2011

Channel Event Logging - CEL

"CHAN_START" "1322126290.417117" "" "from-trunk-sip-zapuser" """ANSWER" "1322126290.433885" "49524742" "ivr-2" "Answer""APP_START" "1322126301.270181" "49524742" "macro-dial" "Dial""CHAN_START" "1322126301.270458" "" "from-internal" """CHAN_START" "1322126301.270551" "" "from-internal" """CHAN_START" "1322126301.271182" "" "from-internal" """CHAN_START" "1322126301.271246" "" "from-internal" """APP_START" "1322126301.286019" "49524742" "macro-dial-one" "Dial""CHAN_START" "1322126301.307455" "" "from-internal" """APP_START" "1322126303.485284" "49524742" "macro-dial" "Dial""CHAN_START" "1322126303.485900" "" "from-internal" """ANSWER" "1322126306.698194" "609" "from-internal" "AppDial""ANSWER" "1322126306.713192" "49524742" "macro-dial-one" "Dial""BRIDGE_START" "1322126306.713233" "49524742" "macro-dial-one" "Dial""ANSWER" "1322126306.713394" "" "from-internal" "AppDial""HANGUP" "1322126306.713480" "" "from-internal" "AppDial""CHAN_END" "1322126306.713512" "" "from-internal" "AppDial""HANGUP" "1322126306.714272" "606" "from-internal" "AppDial""CHAN_END" "1322126306.714476" "606" "from-internal" "AppDial""APP_END" "1322126306.714525" "49524742" "macro-dial" "Dial""HANGUP" "1322126306.715063" "49524742" "from-internal" """CHAN_END" "1322126306.724464" "49524742" "from-internal" """BRIDGE_START" "1322126306.730180" "49524742" "macro-dial" "Dial""BRIDGE_UPDATE" "1322126306.746361" "" "macro-dial" "AppDial"

/var/log/asterisk/cel_custom/Master.csv"HANGUP" "1322126306.752231" "609" "macro-dial-one" "AppDial""CHAN_END" "1322126306.752260" "609" "macro-dial-one" "AppDial""APP_END" "1322126306.752321" "49524742" "macro-dial-one" "Dial""HANGUP" "1322126306.752498" "49524742" "from-internal" """CHAN_END" "1322126306.752534" "49524742" "from-internal" """BLINDTRANSFER" "1322126324.863833" "" "macro-dial" "AppDial""BRIDGE_END" "1322126324.934059" "49524742" "from-internal-xfer" "Dial""HANGUP" "1322126324.934099" "" "from-internal-xfer" "AppDial""CHAN_END" "1322126324.937976" "" "from-internal-xfer" "AppDial""APP_END" "1322126324.938097" "49524742" "from-internal-xfer" "Dial""APP_START" "1322126324.943018" "49524742" "macro-dial-one" "Dial""CHAN_START" "1322126324.943507" "" "from-internal" """HANGUP" "1322126339.351786" "605" "from-internal" "AppDial""CHAN_END" "1322126339.352030" "605" "from-internal" "AppDial""APP_END" "1322126339.352151" "49524742" "macro-dial-one" "Dial""HANGUP" "1322126339.353329" "49524742" "from-internal-xfer" """CHAN_END" "1322126339.354762" "49524742" "from-internal-xfer" """LINKEDID_END" "1322126339.354858" "49524742" "from-internal-xfer" ""

events=all

¡UN SOLO LLAMADO!

Tuesday, December 6, 2011

Page 24: Tecnicas monitoreo reportes con Asterisk

Nicolás Gudiño - http://www.asternic.biz

Técnicas para monitoreo y reportes con Asterisk 4K Conference 2011

Channel Event Logging - CEL¡¿Y el screenshot de la

aplicación ?!

Estoy trabajando en eso. Por lo pronto es una

idea.

Tuesday, December 6, 2011

Page 25: Tecnicas monitoreo reportes con Asterisk

Interfaz de gestión por socket tcp/5038

Permite controlar asterisk desde una aplicación externa.

Recepción de eventos

Envío de comandos

Orientado a desarrolladores y para ser accedida por aplicaciones.

Asterisk Manager Interface - AMI

Nicolás Gudiño - http://www.asternic.biz

Técnicas para monitoreo y reportes con Asterisk 4K Conference 2011

Tuesday, December 6, 2011

Page 26: Tecnicas monitoreo reportes con Asterisk

Es un protocolo simple de texto plano

Desde Asterisk 1.6.2 soporta cifrado TLS

Este tipo de interfaz no es privativa de Asterisk. Freeswitch dispone de una interfaz similar llamada Event Socket.

Asterisk Manager Interface - AMI

Nicolás Gudiño - http://www.asternic.biz

Técnicas para monitoreo y reportes con Asterisk 4K Conference 2011

Tuesday, December 6, 2011

Page 27: Tecnicas monitoreo reportes con Asterisk

Nicolás Gudiño - http://www.asternic.biz

Técnicas para monitoreo y reportes con Asterisk 4K Conference 2011

[general]enabled = yes

[admin]secret = claveSuperSecretadeny=0.0.0.0/0.0.0.0permit=127.0.0.1/255.255.255.0read = allwrite = alleventfilter=!Event: RTCPSenteventfilter=!Event: RTCPReceived

/etc/asterisk/manager.conf

Asterisk Manager Interface - AMI

Tuesday, December 6, 2011

Page 28: Tecnicas monitoreo reportes con Asterisk

Nicolás Gudiño - http://www.asternic.biz

Técnicas para monitoreo y reportes con Asterisk 4K Conference 2011

Event: HangupPrivilege: call,allChannel: DAHDI/i2/555502341-2864Uniqueid: 1313184096.179300CallerIDNum: 555502341CallerIDName: <unknown>ConnectedLineNum: 555502341ConnectedLineName: <unknown>Cause: 16Cause-txt: Normal Clearing

Eventos (recepción)

Asterisk Manager Interface - AMI

Tuesday, December 6, 2011

Page 29: Tecnicas monitoreo reportes con Asterisk

Nicolás Gudiño - http://www.asternic.biz

Técnicas para monitoreo y reportes con Asterisk 4K Conference 2011

Action: MailboxStatusMailbox: 602@default

Action: DBGetFamily: CFKey: 606ActionID: getvar!custom!CF/606

Comandos (envío)

Asterisk Manager Interface - AMI

Tuesday, December 6, 2011

Page 30: Tecnicas monitoreo reportes con Asterisk

Nicolás Gudiño - http://www.asternic.biz

Técnicas para monitoreo y reportes con Asterisk 4K Conference 2011

¿Que tipo de aplicación podemos desarrollar usando AMI?

Asterisk Manager Interface - AMI

Tuesday, December 6, 2011

Page 31: Tecnicas monitoreo reportes con Asterisk

Nicolás Gudiño - http://www.asternic.biz

Técnicas para monitoreo y reportes con Asterisk 4K Conference 2011

Asterisk Manager Interface - FOP2 - www.fop2.com

Tuesday, December 6, 2011

Page 32: Tecnicas monitoreo reportes con Asterisk

Desafío: FOP2 + VozAdobe Flash soporta transmisión de datos continua via xmlsockets

Adobe Flash soporta transporte de audio y video en tiempo real usando RTMP (Real Time Messaging Protocol)

FOP2 utiliza xmlsockets de Flash para mostrar y controlar estado en tiempo real

Entonces, ¿por qué no integrar audio en FOP2 usando RTMP?

Nicolás Gudiño - http://www.asternic.biz

Técnicas para monitoreo y reportes con Asterisk 4K Conference 2011

Tuesday, December 6, 2011

Page 33: Tecnicas monitoreo reportes con Asterisk

Arquitectura FOP2 - RTMP RTMP

*ServidorAsterisk Proxy RTMP

SIP

Cliente/NavegadorSoftphone Web

Mediador / Proxy

Libfreeswitch

Sesion RTMP = Registro SIP

Transcodificación Speex Wideband - Codec Asterisk.

Softphone WEB

Javascript

Adobe Flash

UDP 5060 TCP 1935

Asterisk puro y duro

Dispositivos SIP

Nicolás Gudiño - http://www.asternic.biz

Técnicas para monitoreo y reportes con Asterisk 4K Conference 2011

Tuesday, December 6, 2011

Page 34: Tecnicas monitoreo reportes con Asterisk

Reconversión de la interfaz de usuario, hay que superar la consola e incorporar la funcionalidad de teléfono.

Agregado de Dialpad y DTMF

Agregado de Acciones: Answer, Hold, Reject

Reubicación de botones de control de llamados dentro del llamado activo.

Nicolás Gudiño - http://www.asternic.biz

Técnicas para monitoreo y reportes con Asterisk 4K Conference 2011

FOP2 - De consola a teléfono

Tuesday, December 6, 2011

Page 35: Tecnicas monitoreo reportes con Asterisk

FOP2: de consola a teléfono

Módulo de softphoneSelección de entrada de audio

Dialpad / DTMF

Nicolás Gudiño - http://www.asternic.biz

Técnicas para monitoreo y reportes con Asterisk 4K Conference 2011

Tuesday, December 6, 2011

Page 36: Tecnicas monitoreo reportes con Asterisk

Reubicación de botones

de control

Nicolás Gudiño - http://www.asternic.biz

Técnicas para monitoreo y reportes con Asterisk 4K Conference 2011

FOP2: de consola a teléfono

Tuesday, December 6, 2011

Page 37: Tecnicas monitoreo reportes con Asterisk

¿ Preguntas ?

Nicolás Gudiñ[email protected]

Nicolás Gudiño - http://www.asternic.biz

Técnicas para monitoreo y reportes con Asterisk 4K Conference 2011

Tuesday, December 6, 2011