По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
В этой статье я расскажу как за 5 минут сделать простой AUTODIAL для FreeSWITCH.
Нам потребуется текстовый файл с номерами, которые должны быть записаны построчно;
Простенький Lua-скрипт.
Начнем. Создаем текстовый файл Test.txt. В него для теста пишем внутренние номера абонентов FS:
1000
1001
1002
Сохраняем его в папку по адресу, к примеру /usr/local/freeswitch/scripts/Test.txt. Далее нужно написать Lua-скрипт с названием autodial.lua с примерно таким содержанием:
local file = io.open("/usr/local/freeswitch/scripts/Test.txt", "r");
local legB = "loopback/9174";
local timeout = "25";
for line in file:lines() do
print(line);
session1 = freeswitch.Session("{origination_caller_id_name=Call 9174, origination_caller_id_number=9174, call_timeout=".. timeout .."}user/".. line .."");
session2 = freeswitch.Session("{origination_caller_id_number=".. line .."}".. legB .."");
freeswitch.msleep(1000);
freeswitch.bridge(session1, session2);
end
На номере 9174 у нас играет музыка "Европа +" :) Вы же можете маршрутизировать куда угодно. Заходим в CLI FS командой: fs_cli -rRS и запускаем наш Lua-скрипт командой:
luarun autodial.lua
Радуемся. Автообзвон на FreeSWITCH начал прозванивать номера по списку из файла и соединять с нужным номером :)
DHCP (Dynamic Host Configuration Protocol) - это широко используемый протокол, который может предоставлять необходимую информацию IP-телефонов. Это IP адреса, маски подсетей, шлюз по умолчанию, адреса DNS и TFTP серверов. Конечно, можно вручную настроить IP-телефоны со всей необходимой информацией, но это трудозатратно и занимает много времени. DHCP может предоставлять отдельный DHCP сервер, роутер и даже сам Cisco Unified Communications Manager (CUCM) . Об этом мы и поговорим в сегодняшней статье.
Активация сервиса
Много сервисов, которые представлены в CUCM по умолчанию деактивированы. Для их активации нужно в панели Навигация выбрать пункт Cisco Unified Serviceability. В новом окне переходим в меню Tools → Service Activation.
На этой странице находим необходимый нам сервис Cisco DHCP Monitor Service, ставим галочку и нажимаем Save.
Настройка DHCP сервера
DHCP в CUCM имеет базовые возможности. Он поддерживает только IP-телефоны, и не очень много - до 1000. Это максимальная рекомендация в связи с высокой загрузкой CPU.
Для настройки DHCP вернемся во вкладку Cisco Unified CM Administration и перейдем во вкладку System → DHCP → DHCP Server. Нажимаем Add New и в новом окне указываем необходимые настройки. В выпадающем меню Host Server выберем сервер, на котором мы планируем развернуть DHCP, ниже укажем IP адреса DNS и TFTP серверов в полях Primary DNS IPv4 Address и Primary TFTP Server IPv4 Address (Option 150) , а также временные интервалы выдачи, в полях ARP Cache Timeout, IP Address Lease Time, Renewal (T1) Time и Rebinding (T2) Time. После этого нажимаем Save.
После этого переходим в соседнюю вкладку System → DHCP → DHCP Subnet. Здесь тоже нажимаем Add New и настраиваем параметры выдающихся подсетей. Из выпадающего списка выбираем наш DHCP сервер, указываем адрес подсети в поле Subnet Address, начальный и конечный адреса выдачи в Primary Range Start IP и Primary Range End IP, маску подсети и шлюз по умолчанию в полях Subnet Mask и Primary Router IP Address, адрес TFTP и DNS серверов в TFTP Server IP address и Primary DNS Server IP Address и внизу снова указываем желаемые временные интервалы. Затем нажимаем Save.
Также DHCP сервер для IP-телефонов можно настроить на роутере Cisco используя следующую конфигурацию:
service dhcp
! Включает сервис DHCP
!
ip dhcp excluded-address 10.1.1.1 10.1.1.10
! Определяет начальный и конечный интервал адресов, которые НЕ будут присваиваться
!
ip dhcp pool name IP_PHONES
! Создает пул адресов (регистрозависимое имя) и входит в режим конфигурации DHCP
!
network 10.1.1.0 255.255.255.0
! Определяет адрес подсети для DHCP пула
!
default-router address 10.1.1.1
! Определяет адрес шлюза по умолчанию (default gateway)
!
dns-server address 192.168.1.0 192.168.1.11
! Определяет адрес DNS сервера (можно указать до 8 адресов)
!
option 150 ip 192.168.1.2
! Определяет адрес TFTP сервера (также можно указать несколько адресов)
В больших корпоративных сетях, которые занимаются обслуживанием клиентов важно вовремя получать уведомления о неполадках в сети и устранять их. В этом деле администраторам помогают системы мониторинга, которых сегодня в сети существует достаточно много, как платных, так и бесплатных.
Своего рода стандартом в ИТ является PRTG (Paessler Router Traffic Grapher), которая может отправлять уведомления о событиях через e-mail, SMS, Push-уведомлений. Сегодня сложно представить кого-то, кто не пользуется хоть одним мессенджером. Среди них особо выделяется Telegram, который пользуется популярностью благодаря своей безопасности и функционалу. Здесь можно создать своего бота, который будет выполнять все ваши команды исходя из поставленной задачи. В одном из материалов мы рассказывали уже о том, как использовать Telegram для управления "Умным домом".
Здесь же расскажем о том, как интегрировать Telegram в PRTG и получать уведомления не на почту, на Telegram. Принцип работы такой: система мониторинга, в нашем случае PRTG, отправляет сообщения боту, а тот в свою очередь выводит их группу.
Что нам нужно
Telegram аккаунт
Группа, куда будем добавлять нашего бота
Доступ с PRTG сервера на https://api.telegram.org/
Создание бота
Для начала нам нужно создать бота, в чем на поможет "The Botfather". Начинаем новый чат с ним в Telegram:
Командой /newbot под руководством Botfather начинаем создание бота. Задаем ему имя, которое будет отображаться и имя пользователя:
После этих несложных манипуляций получаем API токен нашего бота, который используем в будущем. По умолчанию, бот может быть добавлен в любую группу и может получать сообщения от кого угодно. Ограничить это можно в настройках приватности, которые доступны командами /setprivacy и /setjoingroups.
Далее добавляем бота в группу, где находятся администраторы и другой заинтересованный персонал.
Через группу посылаем боту сообщение /start, чтобы активировать его. Затем уже настраиваем политики приватности, о которых говорилось выше. С созданием бота закончили, теперь нужно настроить получение уведомлений
Настройка уведомлений
Помните, в конце создания бота нам выдали API ключ. Перейдите по следующей ссылке, предварительно подставив вместо <apikey> API ключ вашего бота:
https://api.telegram.org/bot<apikey>/getMe
Вы должны получить что-то подобное:
{ "ok": true, "result": { "id": 1234567890, "first_name": "PRTGNotiBot", "username": "PRTGNotificationBot" }}
Если вышли какие-то ошибки, убедитесь, что API ключ введён правильно. Далее открываем ту же ссылку, только вместо getMe подставляем getUpdates. Мы получим список чатов, в которые добавлен наш бот.
{ "ok": true, "result": [{ "update_id": 521075218, "message": { "message_id": 3, "from": { "id": 11512298, "first_name": "xxxxxxxxx", "last_name": "xxxxxxxxx", "username": "xxxxxxxxx" }, "chat": { "id":-12345690, "title": "[Paessler] IT", "type": "group", "all_members_are_administrators": true }, "date": 1493834122, "text": "/start", "entities": [{ "type": "bot_command", "offset": 0, "length": 6 }] } }]}
Из этого вывода нам нужен идентификатор чата, включая знак "-". Теперь мы готовы создать шаблон уведомления в PRTG. Переходим в Setup > Account Settings > Notifications.
Добавляем новый шаблон уведомления:
Выбираем вводим название шаблона, выбираем тип сенсора (рекомендуем pingsensor)
В качестве шаблона выбираем HTTP. Вводим ссылку https://api.telegram.org/bot<your-api-key>/sendMessage, подставив API токен вашего бота.
В строку Postdata вводим следующие строки:
chat_id=-<your-chat-id>&text=There's a *%status* sensor in your PRTG![%sensor](%linksensor)*Last Message* %lastmessage*Down since* %since*Device* %device*Group* %group&parse_mode=Markdown
chat-id идентификатор чата, который получили выше.
text текст сообщения, который будет отправлять бот. Текст можно изменять по вашему усмотрению.
%status переменная PRTG. Звездочки вокруг него это стиль редактирования Telegram API. Как именно обрабатывать стиль указано в конце текста параметром parse_mode=Markdown.
Если нужно, чтобы уведомление пришло если сеть поднялась, то нужно создать другой шаблон с соответствующим текстом:
chat_id=-123456890&text=%device% is *%status*!&parse_mode=Markdown
Хотя можно совместить это в одном шаблоне, но лучше сделать два отдельных шаблона, на случай если каждому шаблону нужно добавить разные переменные, как в нашем случае.
Затем можно отправить тестовое сообщение, в результате чего должны получить что-то подобное:
Если все прошло успешно, нужно привязать шаблон к конкретному сенсору. Чтобы система не бомбила ваш Telegram из-за незначительных событий, лучше привязать шаблон к сенсору PING. Для этого переходим на вкладку Devices, среди сенсоров нужного устройства наводим курсор мыши на сенсор PING и кликаем на иконку звоночка.
Открывается страница добавления уведомлений. Выбираем Add State Trigger заполняем поля согласно политике организации. Можно сделать как на скриншоте:
Как видно на скриншоте, мы отправляем уведомление только когда сеть упала и поднялась. Повторно не посылаем, чтобы не надоедало.
Вот и всё. Думаю материал окажется полезным для вас.