Мониторинг состояния внешних линий — различия между версиями
Строка 77: | Строка 77: | ||
4096 Зарезервирована задачей | 4096 Зарезервирована задачей | ||
<br> | <br> | ||
+ | |||
Файл сценария:<br> | Файл сценария:<br> | ||
[http://wiki.oktell.ru/images/c/cb/%D0%9C%D0%BE%D0%BD%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3_%D1%81%D0%BE%D1%81%D1%82%D0%BE%D1%8F%D0%BD%D0%B8%D1%8F_%D0%B2%D0%BD%D0%B5%D1%88%D0%BD%D0%B8%D1%85_%D0%BB%D0%B8%D0%BD%D0%B8%D0%B9.oscr Мониторинг состояния внешних линий] | [http://wiki.oktell.ru/images/c/cb/%D0%9C%D0%BE%D0%BD%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3_%D1%81%D0%BE%D1%81%D1%82%D0%BE%D1%8F%D0%BD%D0%B8%D1%8F_%D0%B2%D0%BD%D0%B5%D1%88%D0%BD%D0%B8%D1%85_%D0%BB%D0%B8%D0%BD%D0%B8%D0%B9.oscr Мониторинг состояния внешних линий] | ||
+ | |||
+ | <FONT color="red">ВНИМАНИЕ!</FONT> Начиная с версии 2.8 поменять в компоненте "Получаем номер линии" название столбца systemnum на systemnumstr |
Версия 06:55, 14 января 2014
Цель: Получать оповещения при отключении\подключении внешних линий. При отключении\подключении внешней линии (в мониторинге отображается «Состояние» - серый\зеленый телефон) сценарий отправляет уведомления сотрудникам (возможно также например на e-mail).
Алгоритм проверки:
1)Устанавливаем начальное значение для поиска линий = «0» 2)Выполняем SQL запрос и находим первую линию у которой номер > чем начальное значение для поиска. 3)Если запрос выполнился, то определяем состояние. Если есть история по данной линии то модифицируем её при смене статуса в отдельной таблице или не выполняем никаких действий если статус не изменился. Если нет истории то сохраняем её и добавляем в отчет по подключенным\отключенным линиям. 4)Меняем начальное значение для поиска линий на номер текущей линии. 5) Повторяем пункты 1-5 до тех пор пока не определим состояние у всех внешних линий. 6)Проверяем есть ли в отчете подключенные\отключенные линии, если есть то выводим их в разных уведомлениях.
ВНИМАНИЕ! Проверка происходит по всем внешним линиям, которые находятся в таблице [oktell_settings].[dbo].[A_ServerExtLines].
ВНИМАНИЕ! Статусы 2 и 1024 интерпретируются как состояние 1 (линия не подключена). Список кодов и значений см. ниже.
Далее переходим «Администрирование» - «Общие настройки» - вкладка «Служебные задачи» - «Добавить» - выбираем для запуска данный сценарий и указываем необходимый период запуска - «Сохранить» - активируем служебную задачу.
SQL запросы для создания таблиц в БД Oktell:
История изменения статусов:
USE [oktell] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[table_line_state_history]( [Id] [int] IDENTITY(1,1) NOT NULL, [line_num] [nvarchar](2000) NULL, [line_state] [nvarchar](2000) NULL, [line_date] [datetime] NULL, PRIMARY KEY CLUSTERED ( [Id] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO
Описание состояния линии по коду:
USE [oktell] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[table_line_state]( [Id] [int] IDENTITY(1,1) NOT NULL, [code] [nvarchar](2000) NULL, [meaning] [nvarchar](2000) NULL, PRIMARY KEY CLUSTERED ( [Id] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO
Данные для таблицы [dbo].[table_line_state_history]:
code meaning 1 Не подключена 2 Выключена 4 Готова 8 Трубка поднята 16 Входящий звонок 32 Скоммутирована 64 Ожидание 128 Флеш 256 Не используется 512 Занято 1024 Неопределено 2048 Зарезервирована 4096 Зарезервирована задачей
Файл сценария:
Мониторинг состояния внешних линий
ВНИМАНИЕ! Начиная с версии 2.8 поменять в компоненте "Получаем номер линии" название столбца systemnum на systemnumstr