Asterisco. Alerta de gravação de conversa

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.





Links Úteis

  • wiki.asterisk.org





  • Application_ChanSpy





  • Application_Dial





  • Application_Originate





  • https://github.com/mikopbx/Core








All Articles