Estou desenvolvendo o MikoPBX - um PBX fácil de configurar baseado no Asterisk 16.
Recentemente, decidimos adicionar a funcionalidade de notificação sobre a gravação da conversa. A tarefa foi formulada da seguinte forma:
A notificação deve ser acionada uma vez, imediatamente após o cliente se conectar com o funcionário da empresa. O alerta deve ser ouvido por todos os participantes da chamada.
Módulos de conexão
Decidiu-se usar a funcionalidade do aplicativo ChanSpy .
Primeiro, você precisa ter certeza de que os módulos requeridos são carregados quando você inicia o asterisk. Adicione a modules.conf :
load => app_chanspy.so load => app_originate.so
Implementação Dialplan
extensions.conf, global:
[globals] PBX_REC_ANNONCE=/var/mikopbx/media/custom/alert
dialplan
[annonce-spy]
exten => _.!,1,ExecIf($[ "${EXTEN}" == "h" ]?Hangup()
same => n,Set(chan=PJSIP/${EXTEN})
; .
same => n,ExecIf($["${CHANNELS(${chan})}x" != "x"]?Chanspy(${chan},uBq))
same => n,Hangup()
[annonce-play]
exten => annonce,1,Answer()
;
same => n,Playback(${PBX_REC_ANNONCE})
same => n,Hangup()
, :
Originate(Local/${chan}@annonce-spy,exten,annonce-playback-in,annonce,1,10,a);
"a" - ,
"chan" - , .
Local/${chan}@annonce-spy - Chanspy
"10" - ${chan}@annonce-spy,
exten,annonce-playback-in,annonce,1 - Playback
Vamos adicionar o dialplan de entrada. No aplicativo Dial , usamos a opção " U " para interceptar o momento em que os assinantes estão conectados:
[incoming]
exten => _XXX,1,Dial(${PJSIP_DIAL_CONTACTS(${EXTEN})},60,U(dial-answer))
[dial-answer]
exten => _[0-9*#+]!,1,Set(chan=${CUT(CHANNEL,/,2)})
same => n,Originate(Local/${chan}@annonce-spy,exten,annonce-play,annonce,1,2,a);
same => n,return
Agora resta testar a caixa de entrada. Da mesma forma, você pode implementar notificação para chamadas de saída.
Conclusão
Relativamente simples, sem o uso de AGI, apenas com base nos aplicativos do dialplan é possível implementar a notificação sobre a gravação das conversas.
Curiosamente, há muitas informações sobre esse assunto na rede.
Espero que este artigo seja útil para o leitor.