sexta-feira, 20 de junho de 2014

Verificando chamadas ativas no asterisk

Maneira1 básico
watch -n 1 "sudo asterisk -vvvvvrx 'core show channels' | grep call"

Neste caso ele da um watch e atualiza a cada 1 segundo verificando os canais do asterisk e dando um grep na palavra call.

Saída do comando abaixo:

Every 1,0s: sudo asterisk -vvvvvrx 'core show channels' | grep call                                                      Fri Jun 20 17:07:47 2014

2 active calls
5688 calls processed

Maneira 2
watch "asterisk -vvvvvrx 'core show channels' | egrep \"(call|channel)\""

Na maneira dois fazemos um watch mas agora usamos egrep pois o grep não funciona com comandos avançados com duas procuras simultâneas, neste caso fazemos uma pequena expressão para buscar call e channel

Maneira 3 com CUT
/usr/sbin/asterisk -rx 'core show channels' | grep -m1 "call" | cut -d' ' -f1

Na maneira 3 verificamos os channels damos um grep na palavra call e fazemos um cut delimitando por ' ' e  -f1 lista o que foi delemitado na primeira delimitação... ficou estranho né mas é isso mesmo.

Saída.
[root@pabx bin]# /usr/sbin/asterisk -rx 'core show channels' | grep -m1 "call" | cut -d' ' -f1
1

Esse eu "sofri" para ajustar junto com um php ele pega só a quantidade de chamadas como podem ver faz um filtro gigante normalmente vem mais centenas de informação e você pega exatament a quantidade de channels in use..

Maneira 4
asterisk -rx "core show calls" | grep "active" | cut -d' ' -f1

Bom este ultimo  mostra as calls e não channels e da um grep nas active calls e mostra a primeira fila que é delimita com ' '

 

Isso ai abs bom uso

:)

Nenhum comentário: