我的环境:Centos 5.6,带有 freepbx 的 Asterisk,Skypeiesends 带有参数 skype.sh skype_user 消息的消息。
现在我想发送 skype 通知,以便我的星号服务器通知发送到 skype 而不是电子邮件(或发送到 skype 和电子邮件)。
我知道,有voicemail.conf
,voicemail_general
并且vm_email.inc,
已经创建了这些机构。
vm_email.inc
emailbody=${VM_NAME},\n\nThere is a new voicemail in mailbox ${VM_MAILBOX}
但我没有看到“邮件”命令之类的东西在哪里。
我的想法是:不要说“mailcmd”传递系统(/path/to/script
),它只会发送消息,因为其余部分已经配置好了。
任何建议我都可以运行脚本而不是发送电子邮件或者在每次来电时执行脚本,以便我可以在每次通过 Skype 通话时发送通知。(但最终目标是通过 Skype 实现未接来电通知或语音邮件通知。)
答案1
好的,我找到了解决方案,
尝试运行脚本时,这相当简单。system(/path/to/script)..
以前,在尝试使用手动路由拦截 freepbx 路由时,由于上下文冲突,它无法工作。
[notification]
exten=> _.,1,NoOp(Incoming Call)
exten=> _.,n,System(/etc/asterisk/skype.sh CS 'Call From ${CALLERID(all)}')
因为它会向来自同一提供商(或至少具有相同上下文)的每个入站发送通知
如果不是确定的 DDI 号码,我会跳过更多内容。
[notification]
exten=> _.,1,NoOp(Incoming Call)
exten=> _.,n,GotoIf($["${CALLERID(dnid)}" != "44xxxxxxxxxx"]?final)
exten=> _.,n,System(/etc/asterisk/skype.sh CS 'Call From ${CALLERID(all)}')
exten=> _.,n,NoOp(Sending to PSTN Now)
exten=> _.,n,goto(from-pstn,${EXTEN},1)