2015-11-06 62 views
0

我有一个星号发出各种呼叫。当星号无法呼叫时发送电子邮件

当无法连续调用一定的时间时,哪种方法最优雅的发送和发送电子邮件(或更一般地触发事件)?

例如:当超过20个电话因信用不足而失败时,发送电子邮件。

我的解决方案:使用crontab安排grep日志文件(cdr-csv)并执行请求的操作的脚本。

回答

1

最优雅的/较低的cpu使用率是使用AMI事件监听器,并通过电子邮件请求触发UserEvent。

要触发UserEvent可以采用H扩展

exten => _X.,1,Dial(SIP/trunk/${EXTEN},,o) 
exten => h,1,ExecIF($[ ${DIALSTATUS} != "ANSWERED" ]?UserEvent(TrunkFailed,Status: ${DIALSTATUS}) 
+0

事实上,这是最优雅的方式。谢谢! – asdf

+0

你有没有什么好的链接来写一个新的UserEvent?这个文件是不够的:http://the-asterisk-book.com/1.6/applikationen-userevent.html,也不是https://www.safaribooksonline.com/library/view/asterisk-the-future/9780596510480/ re134.html完成。应该在哪里为事件写逻辑? manager.conf(配置接收事件的管理器接口)不是正确的地方。 – asdf

+0

不应该足够AGI? – asdf