Skip to main content

log no grep do asterisk

Podemos verificar o tronco e o contexto em que ele está passando em tempo real utilizando o comando a seguir

asterisk -rvvvvvvvvvvvvv | grep -e "9900"

 (Pode ser colocado no lugar do 9900 o número que foi ligado ou o ramal)

Exemplo:

image.png

1. Informações iniciais da chamada

PJSIP/9923-0000011c is ringing
PJSIP/9923-0000011c answered

Descrição

Indica o estado da chamada do ramal 9923 usando o driver PJSIP.

Evento Descrição
ringing O ramal está tocando
answered A chamada foi atendida

2. Início do Dialplan

NoOp("PJSIP/9923-0000011c", "S - 20 - 1 - Bina Dinâmica (Solutions)")

Parâmetro

NoOp()

Função usada apenas para log/debug dentro do dialplan.

Parâmetro Valor Significado
Canal PJSIP/9923 Canal que iniciou a chamada
Mensagem S - 20 - 1 - Bina Dinâmica Identificação do fluxo de chamada

3. Definição de Variáveis

3.1 EXTERNPRC

Set(__EXTERNPRC=032988611550)

Descrição

Número externo que originou ou será usado no processamento da chamada.

Campo Valor
Variável EXTERNPRC
Valor 032988611550
Escopo __ indica variável herdada entre canais

3.2 ID_LINH

Set(__ID_LINH=1772545025.284)

Descrição

Identificador da linha ou da sessão da chamada.

Campo Descrição
ID_LINH ID único da chamada

3.3 ID_ORGANIZACAO

Set(__ID_ORGANIZACAO=1)

Descrição

Identifica a organização/empresa associada à chamada.


3.4 TIPOCALL

Set(__TIPOCALL=S)

Descrição

Tipo da chamada.

Valor Significado
S Saída

3.5 CHANNEL(accountcode)

Set(CHANNEL(accountcode)=S--32988611550--1772545025.284)

Descrição

Define o accountcode do canal para fins de CDR (bilhetagem).

Formato:

TIPO--NUMERO--IDCHAMADA


4. Execução de Scripts AGI

Os scripts são executados via Asterisk Gateway Interface.


4.1 Script: insCallSainte

AGI(script.php, insCallSainte,032988611550,1772545025.284,177254...)

Função

Registrar a chamada no banco de dados.

Parâmetros

Ordem Parâmetro Descrição
1 insCallSainte Nome da função
2 032988611550 Número
3 1772545025.284 ID da chamada
4 timestamp Data/hora

4.2 Script: insProtocolo

AGI(script.php, insProtocolo,032988611550,1772545025.284,...)

Função

Gerar protocolo de atendimento.

Parâmetros

Parâmetro Descrição
Número Cliente
ID chamada Identificação da ligação
timestamp Data da ligação

4.3 Definição do protocolo

Set(__PROTOCOLO=2603038511)

Descrição

Número único de protocolo de atendimento.


4.4 Script: actBlacklistSainte

AGI(script.php,actBlacklistSainte,032988611550,...)

Função

Verifica se o número está na blacklist.

Possível retorno Significado
OK Número liberado
BLOCK Número bloqueado

5. Verificação de Horário

GotoIf("PJSIP/9923-0000011c", "0?encerrar")

Descrição

Verifica condição de atendimento (exemplo: horário de atendimento).

Resultado Ação
1 continua
0 vai para encerrar

6. Log informativo

NoOp("Sem conf de Bina: 78")

Descrição

Mensagem de debug indicando configuração de Bina ausente.


7. Definição de dados finais da chamada

7.1 ID_PAC

Set(__ID_PAC=78)

Identificação do paciente/cliente.


7.2 ID_TRONCO

Set(__ID_TRONCO=78)

Identificação do tronco SIP utilizado.


7.3 TELEFONE

Set(__TELEFONE=1541032988611550)

Número final utilizado na discagem.


8. Discagem da chamada

Dial(PJSIP/1541032988611550@sipsolutionspuri,45,TtKkU(gravacao))

Aplicação

Dial()

Responsável por realizar a chamada.

Parâmetros

Campo Valor Descrição
Tecnologia PJSIP Driver SIP
Destino 1541032988611550 Número discado
Tronco sipsolutionspuri Servidor SIP
Timeout 45 Tempo máximo
Flags TtKk Permissões de transferência
U() gravacao executa gravação

9. Encerramento

Hangup()

Finaliza a chamada.


10. Mensagem final

Spawn extension exited non-zero

Significado

O fluxo terminou retornando código diferente de zero, geralmente indicando:

  • finalização por lógica

  • retorno de AGI

  • chamada encerrada


Fluxo resumido da chamada

Ramal 9923 atende

Define variáveis da chamada

Registra chamada (AGI)

Gera protocolo

Verifica blacklist

Valida horário

Define tronco

Discagem via SIP

Gravação

Encerramento