我要做的是从运行 Asterisk+FreePBX 的系统向我网络上的所有 (3) MythTV 前端系统发送呼叫者 ID (CID) 信息。我希望 CID 信息在正在发生的任何事情上弹出(例如,无论是在菜单上,还是在播放录音)。最终可能还会有其他信息,但现在 CID 将是一个很好的开始。
libnotify 样式的通知很好(尽管我可能需要增加文本大小以使其可见)。我在想像 Growl这样的东西,尽管 Linux 似乎不存在这种东西。
理想情况下,我只能对整个网络进行某种广播,例如,从 FreePBX 系统我可以运行如下命令:
notify --broadcast --title "Incoming Call" "Smith J\n613-555-1234"
然后在任何神话电视前端,它会出现在屏幕上的某个地方。
注意:有一个MythNotify插件,我在之前的设置迭代中使用过它,但它有一个严重的限制(我相信基于 MythTV 的 OSD 东西的工作方式)它只能在视频播放期间显示通知:而不是同时在菜单中。我还记得正确显示很痛苦:它使用 XML 进行消息传递,然后使用 XSLT 更改为 mytv 的 XML 格式。如果你想显示一些稍微不同的东西,你必须制作一小部分新的 XML 文件,然后获取“callerid-from-phonebook.xml”消息以实际呈现到(远程)“callerid-from-phonebook- osd.xml”文件显示是某种黑色艺术。
您可以使用命令行通知工具来做到这一点。
在服务器上设置通知脚本以执行通知发送,如下所示:
ssh username@system1 'notify-send "来自 Smith J 的来电\n613-555-1234"'
ssh username@system2 'notify-send "来自 Smith J\n613-555-1234 的来电"'
这将导致在名为“system1”和“system2”的系统上弹出通知。