Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

ONVIF_OUTDATED_CONFIGURATION IP-Телефония и СКУД

ONVIF Ошибка OutdatedConfiguration: рассинхронизация токенов конфигурации

Обновлено: 24.08.2026 · Официальная документация ↗
  • Ошибка SOAP ter:OutdatedConfiguration при попытке сохранения настроек видеопотока, зон детекции движения или параметров PTZ.
  • Сброс внесенных изменений при одновременной настройке камеры из веб-интерфейса и VMS/NVR.
  • Сбой в процедуре согласования конфигураций кодека через SetVideoEncoderConfiguration.

1. Механизм оптимистической блокировки в ONVIF

Стандарт ONVIF использует версионирование конфигураций для защиты от одновременной несогласованной перезаписи параметров несколькими клиентами (Optimistic Concurrency Control). Каждая структура настроек (VideoEncoder, AudioSource, PTZ) содержит внутренний маркер версии или привязана к динамическому состоянию профиля.

Ошибка ter:OutdatedConfiguration возвращается, если между моментом получения настроек клиентом (GetVideoEncoderConfiguration) и отправкой команды сохранения (SetVideoEncoderConfiguration) конфигурация на камере была изменена другим процессом.

2. Пошаговый алгоритм разрешения конфликта

  1. Сброс локального кэша клиента: Принудительно очистите кэшированные объекты конфигурации в VMS;
  2. Повторное чтение актуальных параметров: Вызовите метод GetVideoEncoderConfiguration или GetProfile перед самой записью;
  3. Сравнение параметров: Внесите только необходимые точечные изменения в полученную свежую структуру;
  4. Повторная отправка команды: Отправьте SetVideoEncoderConfiguration с актуальным маркером состояния (ForcePersistence = true).

3. Пример правильного цикла обновления в коде (Python/Zeep)

# 1. Получаем свежую конфигурацию с камеры
video_encoder_cfg = media_service.GetVideoEncoderConfiguration({'ConfigurationToken': 'VideoEncoderToken_1'})

# 2. Модифицируем конкретное поле (например, битрейт)
video_encoder_cfg.RateControl.BitrateLimit = 4096

# 3. Сохраняем с флагом ForcePersistence
media_service.SetVideoEncoderConfiguration({
    'Configuration': video_encoder_cfg,
    'ForcePersistence': True
})

4. Устранение сторонних источников параллельной записи

Если ошибка возникает циклически, найдите и отключите сторонние службы, перезаписывающие параметры:

  • Встроенная в NVR функция автосинхронизации параметров потока камеры;
  • Скрипты поддержания качества изображения (Cloud/P2P агенты);
  • Второй запущенный инстанс VMS платформы.
💡 Практика специалистов: При интеграции камер Hikvision/Dahua с NVR сторонних производителей отключайте в регистраторе опцию 'Sync Camera Parameters', иначе NVR будет циклически перезаписывать настройки, сбивая любые изменения из внешних систем.

Частые вопросы (FAQ)

Что означает флаг ForcePersistence в методах SetConfiguration?

Флаг ForcePersistence указывает камере немедленно записать полученные настройки в энергонезависимую память Flash/EEPROM, чтобы они сохранились после перезагрузки.

Почему ошибка возникает при настройке одного и того же профиля с двух рабочих мест?

Если первый оператор сохранил изменения на секунду раньше, версия конфигурации на камере инкрементировалась, и запрос второго оператора отклоняется как основанный на устаревших данных (Outdated).

Как избежать ошибки в многопоточных сервисах мониторинга?

Используйте мьютексы (блокировки) на уровне приложения для каждого устройства или выполняйте операцию по паттерну Retry-on-Conflict (повторный Get -> модификация -> Set).

Может ли OutdatedConfiguration возникать при изменении параметров PTZ?

Да, если во время вызова SetPTZConfiguration поворотная камера выполняет автокалибровку или переключение пресета по расписанию.

Полезные материалы
Рекомендуем