Sie sind auf Seite 1von 37

Tcnicas para

monitoreo y reportes
con Asterisk
Nicols Gudio
asternic@gmail.com
4K Conference 2011
Buenos Aires

Nicols Gudio - http://www.asternic.biz


Tuesday, December 6, 2011

Tcnicas para monitoreo y reportes con Asterisk

4K Conference 2011

Agenda
Archivos de registro / logs
Call Detail Records / CDR
Registro actvidad de colas / queue_log
Channel Event Logging / CEL
Asterisk Manager Interface / AMI

Nicols Gudio - http://www.asternic.biz


Tuesday, December 6, 2011

Tcnicas para monitoreo y reportes con Asterisk

4K Conference 2011

Archivos de registro - Logs


Ideales para depuracin de problemas
/etc/asterisk/logger.conf
;console => notice,warning,error
;console => notice,warning,error,debug
;messages => notice,warning,error
full => notice,warning,error,debug,verbose

Nicols Gudio - http://www.asternic.biz


Tuesday, December 6, 2011

Tcnicas para monitoreo y reportes con Asterisk

4K Conference 2011

Archivos de registro - Logs


/var/log/asterisk/full
[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

Fecha

Nivel Thread Mdulo

Nicols Gudio - http://www.asternic.biz


Tuesday, December 6, 2011

Detalle

Tcnicas para monitoreo y reportes con Asterisk

4K Conference 2011

Archivos de registro - Logs


Revisando ltimas lneas de log
#>

tail -n 1000 /var/log/asterisk/full

Filtrando logs para depuracin


#>

grep 13928 /var/log/asterisk/full

[2011-11-18
[2011-11-18
[2011-11-18
[2011-11-18

15:42:36]
15:43:14]
15:43:14]
15:43:14]

VERBOSE[13928]
VERBOSE[13928]
VERBOSE[13928]
VERBOSE[13928]

app_mixmonitor.c:
app_mixmonitor.c:
app_mixmonitor.c:
app_mixmonitor.c:

Nicols Gudio - http://www.asternic.biz


Tuesday, December 6, 2011

==
==
==
==

Begin MixMonitor Recording ...


MixMonitor close filestream
Executing [/var/lib/asterisk/...
End MixMonitor Recording ...

Tcnicas para monitoreo y reportes con Asterisk

4K Conference 2011

Archivos de registro - Logs


Comandos de consola
Recargar configuracin
#> asterisk -rx logger reload

Rotacin de logs
#> asterisk -rx logger rotate

Ajuste de nivel de verbosidad


#> asterisk -rx core set verbose 10

Ajuste de nivel de depuracin


#> asterisk -rx core set debug 3
Nicols Gudio - http://www.asternic.biz
Tuesday, December 6, 2011

Tcnicas para monitoreo y reportes con Asterisk

4K Conference 2011

Call Detail Records - CDR


Registro histrico de llamados
Tarifacin / facturacin
Anlisis de volumen de llamados
Estadsticas de uso
Auditora

Nicols Gudio - http://www.asternic.biz


Tuesday, December 6, 2011

Tcnicas para monitoreo y reportes con Asterisk

4K Conference 2011

Call Detail Records - CDR


Diferentes back-ends
csv
manager
radius
sqlite
odbc, etc
Back-end mysql disponible en addons
Nicols Gudio - http://www.asternic.biz
Tuesday, December 6, 2011

Tcnicas para monitoreo y reportes con Asterisk

4K Conference 2011

Call Detail Records - CDR


/etc/asterisk/cdr.conf
[general]
unanswered=no
endbeforehexten=no
[csv]
usegmtime
loguniqueid
loguserfield
accountlogs
each account

= yes
= yes
= yes
= yes
code.

; log date/time in GMT


; log uniqueid.
; log user field.
; create separate log file for
Default is "yes"

Nicols Gudio - http://www.asternic.biz


Tuesday, December 6, 2011

Tcnicas para monitoreo y reportes con Asterisk

4K Conference 2011

Call Detail Records - CDR


Campo de Usuario (userfield)
Set(CDR(userfield)=Value)
Puede usarse para guardar informacin extra en un
registro CDR como ser:
Tecla pulsada en IVR, nombre de grabacin
Cualquier variable de canal
/etc/asterisk/cdr_mysql.conf
[global]
userfield=1
Nicols Gudio - http://www.asternic.biz
Tuesday, December 6, 2011

Tcnicas para monitoreo y reportes con Asterisk

4K Conference 2011

Call Detail Records - CDR


/var/log/asterisk/cdr-csv/Master.csv
"","19524742","609","from-did-direct","""19524742""
<19524742>","SIP/zapuser-00000179","Local/FMPR-609@frominternal-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",""

Nicols Gudio - http://www.asternic.biz


Tuesday, December 6, 2011

Tcnicas para monitoreo y reportes con Asterisk

4K Conference 2011

Call Detail Records - CDR


Informacin util pero a veces incompleta
Hay inconsistencias cuando se
transfieren llamadas
No es util para determinar el flujo de un
llamado
Nicols Gudio - http://www.asternic.biz
Tuesday, December 6, 2011

Tcnicas para monitoreo y reportes con Asterisk

4K Conference 2011

Call Detail Records - CDR


Asternic CDR Reports

Nicols Gudio - http://www.asternic.biz


Tuesday, December 6, 2011

Tcnicas para monitoreo y reportes con Asterisk

4K Conference 2011

Call Detail Records - CDR


Asternic CDR Reports

Mdulo de FreePBX - GPL


http://www.asternic.biz/downloads/asternic-cdr-reports
Nicols Gudio - http://www.asternic.biz
Tuesday, December 6, 2011

Tcnicas para monitoreo y reportes con Asterisk

4K Conference 2011

Actividad de colas - queue_log


Registro detallado de actividad de colas
Estadsticas de call center
Eficiencia de agentes
Nivel de servicio
Auditora

Nicols Gudio - http://www.asternic.biz


Tuesday, December 6, 2011

Tcnicas para monitoreo y reportes con Asterisk

4K Conference 2011

Actividad de colas - queue_log


/var/log/asterisk/queue_log
1321903401|1321903368.260|101|NONE|ENTERQUEUE||asterisk|1
1321903417|1321903368.260|101|Soporte Paula|RINGNOANSWER|15000
1321903438|1321903368.260|101|Soporte Paula|RINGNOANSWER|15000
1321903449|1321903368.260|101|Soporte Paula|CONNECT|48|1321903443.267|5
1321904957|1321903368.260|101|Soporte Paula|COMPLETEAGENT|48|1508|1
1321945326|NONE|NONE|NONE|CONFIGRELOAD|
1321964669|1321964645.270|100|NONE|ENTERQUEUE||44438722|1
1321964685|1321964645.270|100|Soporte Paula|RINGNOANSWER|15000
1321964714|1321964645.270|100|Soporte Paula|RINGNOANSWER|15000
1321964738|1321964645.270|100|Soporte Paula|CONNECT|69|1321964727.277|10
1321964795|1321964645.270|100|Soporte Paula|COMPLETECALLER|69|57|1

timestamp
cola
uniqueid
agente
Nicols Gudio - http://www.asternic.biz
Tuesday, December 6, 2011

info adicional
evento

Tcnicas para monitoreo y reportes con Asterisk

4K Conference 2011

Actividad de colas - queue_log


Asternic Call Center Stats Lite

Nicols Gudio - http://www.asternic.biz


Tuesday, December 6, 2011

Tcnicas para monitoreo y reportes con Asterisk

4K Conference 2011

Actividad de colas - queue_log


Asternic Call Center Stats Lite - GPL3

http://www.asternic.biz/downloads/lite
Nicols Gudio - http://www.asternic.biz
Tuesday, December 6, 2011

Tcnicas para monitoreo y reportes con Asterisk

4K Conference 2011

Channel Event Logging - CEL


Registro detallado de
llamados
Hbrido entre queue_log
y CDR

CDR con esteroides


Nicols Gudio - http://www.asternic.biz
Tuesday, December 6, 2011

Tcnicas para monitoreo y reportes con Asterisk

4K Conference 2011

Channel Event Logging - CEL


/etc/asterisk/cel.conf
[general]
enable=yes
apps=all
events=ALL
dateformat=%F %T

Lo mnimo para empezar a usar CEL es


habilitarlo con enable=yes y enumerar
eventos con events=xxx.

Nicols Gudio - http://www.asternic.biz


Tuesday, December 6, 2011

Tcnicas para monitoreo y reportes con Asterisk

4K Conference 2011

Channel Event Logging - CEL


Eventos 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!
Nicols Gudio - http://www.asternic.biz
Tuesday, December 6, 2011

Tcnicas para monitoreo y reportes con Asterisk

4K Conference 2011

Channel Event Logging - CEL


/etc/asterisk/cel_custom.conf
[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})}

Nicols Gudio - http://www.asternic.biz


Tuesday, December 6, 2011

Tcnicas para monitoreo y reportes con Asterisk

4K Conference 2011

Channel Event Logging - CEL


/var/log/asterisk/cel_custom/Master.csv
"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"

"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!
Nicols Gudio - http://www.asternic.biz
Tuesday, December 6, 2011

Tcnicas para monitoreo y reportes con Asterisk

4K Conference 2011

Channel Event Logging - CEL


Y el screenshot de la
aplicacin ?!
Estoy trabajando
en eso. Por lo
pronto es una
idea.
Nicols Gudio - http://www.asternic.biz
Tuesday, December 6, 2011

Tcnicas para monitoreo y reportes con Asterisk

4K Conference 2011

Asterisk Manager Interface - AMI


Interfaz de gestin por socket tcp/5038
Permite controlar asterisk desde una
aplicacin externa.
Recepcin de eventos
Envo de comandos
Orientado a desarrolladores y para ser
accedida por aplicaciones.
Nicols Gudio - http://www.asternic.biz
Tuesday, December 6, 2011

Tcnicas para monitoreo y reportes con Asterisk

4K Conference 2011

Asterisk Manager Interface - AMI


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.

Nicols Gudio - http://www.asternic.biz


Tuesday, December 6, 2011

Tcnicas para monitoreo y reportes con Asterisk

4K Conference 2011

Asterisk Manager Interface - AMI


/etc/asterisk/manager.conf
[general]
enabled = yes
[admin]
secret = claveSuperSecreta
deny=0.0.0.0/0.0.0.0
permit=127.0.0.1/255.255.255.0
read = all
write = all
eventfilter=!Event: RTCPSent
eventfilter=!Event: RTCPReceived
Nicols Gudio - http://www.asternic.biz
Tuesday, December 6, 2011

Tcnicas para monitoreo y reportes con Asterisk

4K Conference 2011

Asterisk Manager Interface - AMI


Eventos (recepcin)
Event: Hangup
Privilege: call,all
Channel: DAHDI/i2/555502341-2864
Uniqueid: 1313184096.179300
CallerIDNum: 555502341
CallerIDName: <unknown>
ConnectedLineNum: 555502341
ConnectedLineName: <unknown>
Cause: 16
Cause-txt: Normal Clearing

Nicols Gudio - http://www.asternic.biz


Tuesday, December 6, 2011

Tcnicas para monitoreo y reportes con Asterisk

4K Conference 2011

Asterisk Manager Interface - AMI


Comandos (envo)
Action: MailboxStatus
Mailbox: 602@default
Action: DBGet
Family: CF
Key: 606
ActionID: getvar!custom!CF/606

Nicols Gudio - http://www.asternic.biz


Tuesday, December 6, 2011

Tcnicas para monitoreo y reportes con Asterisk

4K Conference 2011

Asterisk Manager Interface - AMI


Que tipo de aplicacin podemos
desarrollar usando AMI?

Nicols Gudio - http://www.asternic.biz


Tuesday, December 6, 2011

Tcnicas para monitoreo y reportes con Asterisk

4K Conference 2011

Asterisk Manager Interface - FOP2 - www.fop2.com

Nicols Gudio - http://www.asternic.biz


Tuesday, December 6, 2011

Tcnicas para monitoreo y reportes con Asterisk

4K Conference 2011

Desafo: FOP2 + Voz


Adobe Flash soporta transmisin 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?
Nicols Gudio - http://www.asternic.biz
Tuesday, December 6, 2011

Tcnicas para monitoreo y reportes con Asterisk

4K Conference 2011

Arquitectura FOP2 - RTMP

SIP

RTMP

UDP 5060

TCP 1935
Proxy RTMP

Cliente/Navegador
Softphone Web

Asterisk puro y duro

Mediador / Proxy

Softphone WEB

Dispositivos SIP

Libfreeswitch

Javascript

Sesion RTMP = Registro SIP

Adobe Flash

Servidor
Asterisk

Transcodificacin Speex
Wideband - Codec Asterisk.

Nicols Gudio - http://www.asternic.biz


Tuesday, December 6, 2011

Tcnicas para monitoreo y reportes con Asterisk

4K Conference 2011

FOP2 - De consola a telfono


Reconversin de la interfaz de
usuario, hay que superar la
consola e incorporar la
funcionalidad de telfono.
Agregado de Dialpad y DTMF
Agregado de Acciones:
Answer, Hold, Reject
Reubicacin de botones de
control de llamados dentro del
llamado activo.
Nicols Gudio - http://www.asternic.biz
Tuesday, December 6, 2011

Tcnicas para monitoreo y reportes con Asterisk

4K Conference 2011

FOP2: de consola a telfono

Dialpad / DTMF
Mdulo de softphone
Seleccin de entrada de audio

Nicols Gudio - http://www.asternic.biz


Tuesday, December 6, 2011

Tcnicas para monitoreo y reportes con Asterisk

4K Conference 2011

FOP2: de consola a telfono

Reubicacin de
botones
de control

Nicols Gudio - http://www.asternic.biz


Tuesday, December 6, 2011

Tcnicas para monitoreo y reportes con Asterisk

Preguntas ?
Nicols Gudio
asternic@gmail.com

Nicols Gudio - http://www.asternic.biz


Tuesday, December 6, 2011

4K Conference 2011

Das könnte Ihnen auch gefallen