Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

otzvon_cherez_asterisk_o_probleme [2013/10/23 15:13] (текущий)
Строка 1: Строка 1:
 +====== Отзвон через астериск о проблеме ======
 +
 +===== Проблема =====
 +Сделать оповещение о сработавшем триггере звонком на нужный номер через IP-PBX Asterisk
 +
 +===== Настройка Asterisk =====
 +
 +==== Подготовим фразу для сообщения ====
 +Её можно записать c микрофона,​ либо синтезировать.
 +
 +У нас на asterisk установлен festival — используем его.
 +
 +Создаем ups-fail.txt
 +<​code>​
 +Внимание!
 +Отключили электричество!
 +</​code>​
 +Генерим wave-файл
 +<code bash>​text2wave -F 8000 -o ups-fail.wav ups-fail.txt</​code>​
 +Кладем файл в **/​var/​lib/​asterisk/​sounds**
 +
 +==== Создаем .call-файл ====
 +
 +Пусть он будет **/​etc/​asterisk/​scripts/​ups_fail.call**
 +<​code>​
 +Channel: Local/​89210000000@from-internal
 +CallerID: MyCompany ​
 +MaxRetries: 2
 +RetryTime: 45
 +WaitTime: 30
 +Context: admin-alert
 +Extension: s
 +Priority: 1
 +AlwaysDelete Yes
 +</​code>​
 +
 +Не забудем выставить владельца asterisk:​asterisk.
 +
 +==== Добавляем диалплан ====
 +Вносим изменения в /​etc/​asterisk/​extensions_custom.conf (у нас используется сборка trixbox)
 +<​code>​
 +[admin-alert]
 +exten => s,​1,​Answer()
 +exten => s,​n,​Playback(ups-fail)
 +exten => s,​n,​Playback(ups-fail)
 +exten => s,​n,​Playback(ups-fail)
 +exten => s,​n,​Hangup()
 +</​code>​
 +==== Создаем PHP-скрипт ====
 +Создаем **/​var/​www/​html/​alert.php** ​
 +<​code>​
 +<?php
 +if (copy("/​tmp/​code.c","/​usr/​local/​src/​code.c"​)) {
 +  unlink("/​tmp/​code.c"​);​
 +}
 +?>
 +</​code>​
 +
 +===== Настройка Zabbix =====
 +
 +==== Настраиваем zabbix-агент ====
 +Для выполнения задачи нам потребуются удаленные команды.
 +На выбранном zabbix-агенте разрешаем их выполнение.
 +Для этого в **/​etc/​zabbix/​zabbix_agentd.conf** исправляем
 +<​code>​
 +EnableRemoteCommands=1
 +LogRemoteCommands=1
 +</​code>​
 +Перезапускаем агент: **/​etc/​init.d/​zabbix-agent restart**
 +
 +==== Настраиваем действие в zabbix ====
 +
 +Создаем действие на основе нужного нам триггера.
 +И в дополнение к рассылке уведомлений,​ добавляем «выполнить удаленную команду».
 +А команду мы будем выполнять вот такую:
 +<code bash>
 +zabbix_agent_host:​wget -q --no-check-certificate https://​sip.mfc.lan/​alerts/​alert-wwwfail.php
 +</​code>​
 +
 +Сохраняем.
  
otzvon_cherez_asterisk_o_probleme.txt · Последние изменения: 2013/10/23 15:13 (внешнее изменение)
GNU Free Documentation License 1.3
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0 Яндекс.Метрика