Привет, коллеги. Сегодня хочу поговорить об одной фиче, которая на первый взгляд кажется просто «галочкой в настройках», а на деле превращается в эпичную сагу с горящими глазами заказчика и красными лампочками на оборудовании. Речь пойдет о Системе голосового оповещения (СГО) на шлюзах SMG от Eltex.
Заказчики любят эту историю. Им кажется, что они купили «волшебную коробку», которая по щелчку пальцев обзвонит город, если что-то случится. И они правы - может. Но есть нюансы. Один неверный клик в веб-интерфейсе - и задача на 8000 абонентов просто не запустится. Или хуже - запустится, но положит канальную подсистему.
Давайте разберем матчасть. Без этого к внедрению СГО лучше не подходить.
«А давайте обзвоним всех!» Первый разговор с заказчиком
Обычно диалог начинается так:
- Нам нужно, чтобы в случае ЧС система сама звонила всем жителям района.
- Сколько номеров?
- Ну, списков 40, в каждом по 200 человек. Итого 8000.
- Отлично. А как быстро вы хотите их обзвонить?
- Нууу... Сразу всех!
И вот тут мы подходим к главному камню преткновения. Просто взять и «сразу всех» не получится. У нас есть железо. А у железа есть каналы.
Железный потолок: почему 8000 - это не всегда 8000
В документации (раздел 4.1.9) есть волшебная формула, которую я сначала игнорировал, пока сам не наступил на грабли. Звучит она страшно:
Количество каналов = (M / S) + S * 2
Где:
- М - это общее количество абонентов (те самые 8000).
- S - это «Количество одновременно оповещаемых участников» (параметр в задаче, который мы задаем вручную).
Как это работает на пальцах?
Представьте, что у нас самый мощный сценарий: максимальное количество субмодулей SM-VP (764 канала). Мы создаем задачу, вешаем на нее 40 списков по 200 номеров.
Если мы в панике выставим S=40 (хотим обзванивать по 40 человек одновременно), система попытается зарезервировать:
(8000 / 40) + 40 * 2 = 200 + 80 = 280 каналов.
Это нормально, 280 < 764. Задача запустится.
А если мы решим, что «по 40 - это медленно», и выставим S=100 (одновременно обзваниваем сотню)?
(8000 / 100) + 100 * 2 = 80 + 200 = 280 каналов.
Странно, но результат тот же? Нет. Тут есть подвох, который я вынес в заголовок.
Если же мы попробуем выставить S=50 для такой задачи, каналов потребуется 260. Но дьявол в деталях.
Обратите внимание на примечание в документации: для задачи на 8000 абонентов (40 списков по 200) значение S должно быть не более 11. Почему 11?
Потому что разработчики заложили ограничение на пиковую нагрузку для максимальной конфигурации. Если S будет выше, задача просто не запустится с ошибкой «превышены возможности устройства». Система не даст выстрелить себе в ногу.
Многозадачность: когда одна задача - это хорошо, а две - уже война
Но самое веселое начинается, когда заказчик говорит: «А давайте запустим две задачи одновременно. Одну для ЖКХ, другую для МЧС».
В этом случае мы не просто считаем одну задачу, мы складываем каналы.
Привожу пример из документации (и из реальной жизни):
- Задача 1: 200 абонентов, обзваниваем по 20 одновременно.
Считаем: (200/20) + 20*2 = 10 + 40 = 50 каналов. - Задача 2: 40 абонентов, обзваниваем по 10 одновременно.
Считаем: (40/10) + 10*2 = 4 + 20 = 24 канала.
Итого: 74 канала. И они должны быть свободны одновременно. Если у вас в шлюзе, например, Eltex SMG-1016M, который тянет меньше задач (до 8 одновременно) и имеет меньше каналов, такое количество может стать критическим.
Лайфхак с дополнительными номерами
Еще один момент, который любят упускать из вида. В СГО есть понятие «Доп. номер 1/2/3».
Это крутая фича. Если абонент не берет трубку на основной номер, система идет по списку: мобильный, рабочий, домашний. Но каждый такой «доп. номер» - это тоже канал, время и ресурс.
В настройках циклов обзвона есть таймауты, попытки и повторы. Если у вас в списке 200 человек, а у каждого по 3 дополнительных номера, по сути, система будет пытаться сделать 800 попыток вместо 200.
Я всегда советую коллегам: прежде чем загружать .csv файл со списком номеров, внимательно посмотрите на структуру.
Формат файла:
<NAME>;<NOTE>;<NUMBER>;<Priority>@<NUMBER1>;<NUMBER2>;<NUMBER3>;<EMAIL>
Если вы не хотите, чтобы система «висела» на абоненте 20 минут, перебирая все его телефоны, либо не заполняйте лишние поля, либо настраивайте циклы обзвона адекватно.
Запись сообщения по телефону: магия DTMF
Отдельная любовь заказчиков - записать сообщение не через загрузку файла, а просто с трубки. Это удобно: начальник набирает код *#82#, диктует текст, кладет трубку. Сообщение готово.
Но и тут есть нюанс. Если вы привязываете сообщение к задаче сразу кодом *#82*НОМЕР_ЗАДАЧИ#, будьте уверены, что задача с таким номером существует. Иначе сообщение упадет в общий список, и потом будете час искать, куда оно делось.
Кстати, о подтверждении. В задачах можно настроить «кнопку подтверждения» (обычно 1). Система ждет, пока абонент нажмет эту кнопку после прослушивания минимум 1/3 сообщения. Если этого не произошло - попытка не засчитана. Для тех случаев, когда подтверждение не нужно (просто информирование), есть галочка «Не ожидать DTMF подтверждения».
Отчеты и накопители: куда все упало?
И последнее, что я выучил на своей шкуре. СГО не работает без накопителя.
Мало того, что нужно воткнуть диск в SMG, его нужно явно выбрать в трех местах:
- «Голосовые сообщения» - куда сохранять файлы с записями приветствий.
- «Параметры записи» - куда писать архивы разговоров.
- «Отчеты» - куда складывать .csv и .html отчеты.
Если этого не сделать, система будет ругаться или просто не даст создать задачу.
А отчеты, кстати, гибкие. Можно настроить, чтобы они улетали на почту, а можно сделать так, чтобы в отчете показывались только неоповещенные абоненты. Это очень удобно, чтобы не пролистывать 2000 успешных звонков в поисках тех 10, кто не взял трубку.
Вместо заключения
Система голосового оповещения на SMG - штука мощная. Но, как и любой мощный инструмент, она требует понимания математики каналов и внимательности к настройкам.
Если хотите спать спокойно, помните три правила:
- Всегда считайте каналы по формуле, прежде чем запустить задачу на большую базу.
- Не игнорируйте лимиты лицензий (VNS - 40 списков/задач, VNS-EXT - 200).
- Проверьте, выбран ли накопитель для хранения сообщений и отчетов. Без него СГО мертва.
Удачных внедрений и ровных тонов в каналах! Если есть свои кейсы по СГО - делитесь в комментариях, интересно почитать, с какими нестандартными сценариями сталкивались вы.