Answers:
您应该研究开源PBX Asterisk
您可能想要查看预先捆绑的发行版,而不是从头开始,因为Asterisk的可配置性很强,并且可能在较低级别上使新手望而却步(很像Apache httpd)。
要发送您描述的警报,建议您使用假脱机文件配置。建立一个拨号计划,当调用该拨号计划时会拨打适当的号码并播放正确的文件。一旦工作,您可以将文件拖放到Asterisk目录中,这将导致调用拨号计划的该部分。您可以在假脱机文件中传递参数等,因此您不必从头开始创建每条消息-您可以让它逐个字母地读出服务器,或者使用与多个TTS引擎的集成来尝试说出服务器名称。
您将需要呼出终端才能将呼叫打入PSTN,但是有很多此类服务提供商。大多数提供的定价是,您为该帐户支付少量固定费用,然后支付较低的(每分钟数美分)外拨电话费用。
希望能有所帮助。
如果您仍在寻找解决方案,则可能需要看一下PagerDuty。PagerDuty将从任何可以发送电子邮件(包括Nagios)并将电话和SMS消息发送到您提供的人员列表的监视系统中收集警报。它还使您可以建立通话时间表和升级链。
[免责声明:我是从事PagerDuty工作的人之一,所以我可能有点偏见:P]
看一下恶鬼。如果出现问题,那会打电话给您,并将确认结果报告给nagios。另外,如果nagiosbox在一段时间内未ping(不是icmp,而是nagast-ping),它将创建一个呼叫。https://github.com/tuxis-ie/nagast
我不确定拨出的位,但是我认为您可以使用Festival来完成文本到语音合成的部分。
有诸如email2phone之类的服务,可以将电子邮件转换为电话。这些设置通常很简单,除了添加新的电子邮件地址外,无需更改Nagios设置。您的工作能力有限,但是对于快速解决方案而言,它可能对您有用。如果您想要更大的灵活性并拥有一些开发技能,那么Twilio也是一个不错的选择。
如果您完全失去连接,那么这两个以及基于本地sip的选项都将出现问题。要解决此问题,您将需要具有单独的通知连接(例如PSTN线路),或者将Nagios与第三方监视服务一起使用以向您警告总体连接丢失。