Страница общая: для эксперта, который проверяет платформу в готовой организации на нашем стенде (проверка платформы), и для администратора, который поставил платформу у себя (от установки до первого звонка). Где путь решения у них разный, это сказано явно. Как устроена платформа в целом — общие сведения.
| Что видите | Скорее всего | Раздел |
|---|---|---|
| телефон перестал регистрироваться, хотя пароль верный; «нет ответа сервера» | блокировка вашего адреса | Блокировка адреса |
| оба телефона отвалились одновременно | блокировка адреса — она одна на всю вашу сеть | Блокировка адреса |
| панель не открывается из вашей сети, а с мобильного интернета открывается | блокировка на сетевом уровне | Блокировка адреса |
| вход в панель отклонён | организация или пароль | Вход в панель |
| после входа в меню только «Пульс» и «Активные звонки» | название организации кириллицей (версии до 0.66.0 включительно) | Урезанное меню |
линия Offline, телефон получает отказ |
домен линии, логин или пароль | Телефон не регистрируется |
| звонок соединился, но нет звука | голосовой трафик не проходит | Нет звука |
Платформа принимает телефоны из интернета, поэтому защищается от подбора паролей и от флуда. Защита смотрит на внешний адрес, с которого приходят запросы, и при срабатывании перестаёт этому адресу отвечать. Сканеры SIP-паролей работают в интернете постоянно, и защита ловит в основном их. Но под неё легко попасть и самому, настраивая телефон.
| Уровень | Что включает блокировку | На сколько | Что перестаёт работать |
|---|---|---|---|
| SIP (всегда включён) | 5 неудачных проверок пароля за 10 минут с одного адреса; либо флуд — больше 60 SIP-запросов за 2 секунды | 5 минут, снимается сама; повторные попытки в это время срок не продлевают | телефоны: регистрация и звонки. Панель в браузере работает |
сетевой (только если установлен компонент защиты хоста fail2ban) |
три блокировки уровня SIP за 30 минут подряд; либо флуд | 1 час | всё с этого адреса, включая панель в браузере |
Что считается «неудачной проверкой пароля» — любое расхождение в тройке «логин, домен, пароль»:
0701 вместо 701);expert
на нашем стенде, код вашей организации у себя). Это самая частая причина: пароль верный, а
проверка всё равно не сходится.Софтфон при отказе обычно сам повторяет попытку несколько раз. Поэтому одной опечатки хватает, чтобы за минуту набрать пять неудач.
⚠ Блокируется адрес, а не телефон. Оба телефона в одной сети (одном Wi-Fi, за одним роутером) выходят в интернет с одного внешнего адреса. Ошибся один — отключаются оба.
Неверный пароль при входе в панель блокировку не вызывает: панель отвечает отказом и продолжает принимать попытки.
| Признак | О чём говорит |
|---|---|
телефон пишет «регистрация…», «таймаут», 408, «нет ответа», а не «неверный пароль» / 401 / 403 |
заблокированному адресу сервер не отвечает вовсе. Отказ с кодом означает, что блокировки нет, дело в данных линии |
| отвалились сразу все телефоны одной сети | блокировка на адрес сети |
в панели, «Телефония → SIP-пользователи», у линии серая метка Offline |
телефон не зарегистрирован. Причину эта метка не называет, смотрите следующие шаги |
| с телефона в другой сети (мобильный интернет вместо Wi-Fi) всё работает | почти наверняка блокировка: у другой сети другой внешний адрес |
| панель не открывается из вашей сети, а через мобильный интернет открывается | сетевой уровень, на 1 час |
Сначала узнайте внешний адрес вашей сети. Откройте с того же устройства или из той же сети, где
телефон, любой сервис вида «мой IP» (например, https://ifconfig.me). Искать нужно именно этот
адрес, а не адрес компьютера в локальной сети (192.168…, 10…).
Эксперт на нашем стенде. Доступа к серверу у вас нет, и он не нужен: подождите 5 минут и повторите с исправленными данными (см. Как снять). Если телефоны не регистрируются и через 10 минут, напишите нам и приложите ваш внешний адрес: проверим и снимем блокировку за минуту.
Администратор своей установки — два способа:
Панель — администратор установки (тенант system): «Телефония → Безопасность», вкладка
«Заблокированные IP». В строке — адрес и колонка «Jail», причина:
| Значение «Jail» | Причина |
|---|---|
auth-bruteforce |
подбор пароля (5 неудачных проверок) |
rate-limiter |
флуд запросами либо блокировка вручную |
auth-bruteforce+rate-limiter |
адрес попал под обе |
Кнопка «Обновить» перечитывает список. Колонка «Время бана» показывает момент запроса, а не начало
блокировки: точного времени платформа не хранит. Вкладка показывает только уровень SIP,
сетевого уровня (fail2ban) в ней нет.
Консоль сервера — оба уровня сразу, из каталога установки:
./omniflow-ctl ban list
Команда печатает заблокированные адреса и уровень каждой блокировки (перебор пароля,
SIP-бан (флуд или вручную), сеть (fail2ban)). Ваш адрес она отмечает ← это вы, но «ваш» для
неё — адрес, с которого вы подключены по ssh. Если телефоны в другой сети, ищите их внешний
адрес в списке сами. doctor поднимает тревогу, если в списке оказался ваш адрес.
Непустой список на публичном сервере — норма: это сканеры, защита работает по назначению. Проблема — только ваш собственный адрес в нём.
Прежде чем снимать, исправьте причину — домен, логин, пароль в телефоне. Иначе телефон с прежними данными наберёт пять неудач за минуту и снова окажется под блокировкой. На время правки отключите в софтфоне учётную запись, чтобы он не повторял попытки сам.
| Способ | Кто может | Что снимает |
|---|---|---|
| подождать | любой | уровень SIP — через 5 минут, сетевой — через час |
| панель: «Телефония → Безопасность» → «Заблокированные IP» → «Разблокировать» в строке адреса | администратор установки | уровень SIP вместе со счётчиком неудач. Сетевой уровень не снимает |
./omniflow-ctl ban remove <адрес> |
администратор сервера | оба уровня и счётчик неудач |
./omniflow-ctl ban remove --me |
администратор сервера | то же для адреса, с которого вы подключены по ssh |
./omniflow-ctl ban remove --all |
администратор сервера | всё. Спросит подтверждение. Сканеры вернутся в список сами при следующей попытке |
Счётчик неудач сбрасывается вместе с блокировкой. Без этого первая же опечатка после снятия снова заблокировала бы адрес.
После снятия: в софтфоне включите учётную запись обратно, через несколько секунд в панели у линии
должна появиться зелёная метка регистрации. Проверка — ./omniflow-ctl ban list или кнопка
«Обновить» на вкладке «Заблокированные IP»: адреса там больше нет.
Проверить саму защиту у себя можно на заведомо чужом адресе: ./omniflow-ctl ban add 203.0.113.99,
затем ban list и ban remove 203.0.113.99.
Отказ входа одинаковый для всех случаев — нет организации, нет пользователя, неверный пароль. Так сделано намеренно: по ответу нельзя подобрать существующие учётные записи. Проверьте по порядку:
system. system — служебная организация
для администратора всей установки. Пользователю организации нужно стереть system и вписать код
своей организации (expert на нашем стенде).expert), а не имя, показанное в панели.Администратор своей установки: забытый пароль администратора сбрасывает
./omniflow-ctl reset-admin-password. Правка .env пароль не меняет: после первого запуска он хранится
в базе.
Признак: вход прошёл, но в меню только «Пульс» и «Активные звонки» — нет «Истории звонков», раздела «Телефония», «Настроек», хотя пользователь — администратор организации.
Причина — ошибка панели в версиях до 0.66.0 включительно: если название организации написано
кириллицей (например, «Эксперт»), панель не может прочитать роли пользователя и показывает меню без
них. Сервер при этом роли выдаёт верно, и права пользователя не урезаны: не показаны только пункты
меню. На код организации (expert, латиница) ошибка не влияет, только на название.
Что сделать: администратор установки переименовывает организацию латиницей («Организации» → карандаш → «Название»), пользователь выходит из панели и входит заново. В следующей версии ошибка исправлена, и название можно вернуть.
| Что видно | Что проверить |
|---|---|
отказ «неверный пароль» / 401 / 403 |
домен линии в поле «Domain» / «Realm» (не адрес сервера), логин, пароль — символ в символ. Пароль линии виден в панели: «Телефония → SIP-пользователи», карандаш в строке линии |
| «нет ответа» / таймаут | сначала блокировка адреса; затем — пропускает ли ваша сеть SIP на порт 5060 (UDP или TCP): в корпоративных сетях его закрывают |
| в колонке «Регистрация» прочерк «—» | настройка линии ещё не применена ни на одном контуре платформы. Это не про телефон. Эксперту — написать нам; администратору — ./omniflow-ctl doctor |
Параметры подключения (адрес и порт сервера) не выписывайте из инструкций руками: они показаны в панели в разделе «Телефония → Подключение и система», строка «Телефоны и софтфоны».
Сигнализация звонка и голос идут разными путями: «Отвечен» в истории звонков означает только, что прошла сигнализация. Верный признак — колонка «Разговор» в истории звонков: при нулевом значении голоса не было.
30000-30500/udp (в фаерволе
сервера или у облачного провайдера) либо неверный внешний адрес сервера в установке.Только для администратора своей установки. Признаки: своп заполнен, команды на сервере отвечают
с задержкой, сервисы платформы перезапускаются, звонки не доходят до сценариев — а docker stats
показывает скромные цифры и убитых по памяти контейнеров нет.
Причина почти всегда одна: память заняли служебные процессы Docker (docker-proxy), которые он
запускает на каждый порт голосового диапазона. В docker stats они не попадают. Проверка —
pgrep -c docker-proxy: сотни и тысячи процессов означают, что дело в них. То же измеряет
./omniflow-ctl doctor, шаг «прокси портов docker». Как выключить — раздел «Прокси портов Docker»
файла INSTALL.md в каталоге установки.
INSTALL.md в каталоге
установки и ./omniflow-ctl doctor. Для обращения к нам соберите вывод ./omniflow-ctl status,
./omniflow-ctl doctor и ссылку на проблемный звонок.