Каталог Поиск 0 Сравнить 0 Закладки 0 Корзина Войти
Каталог
105082, Москва, ул. Фридриха Энгельса, 75с21, БЦ Бауманский ИТКОЛ
Пн - Пт: с 09-00 до 18-00 Сб: с 10-00 до 18-00 Вс: выходной
Страницы: 1
RSS
Добавление сторонней камеры: "Неверные учетные данные" из-за ошибки SOAP-ответа., UniFi Protect
 
Привет! У меня серия камер TP-Link VIGI, которые я пытаюсь добавить в Protect, но постоянно вылетает ошибка "Неверные учетные данные".

Кратко говоря, эти камеры используют ONVIF на нестандартном порту — 2020. Камеры не обнаруживаются автоматически, что, вероятно, и есть причина. Но это не проблема, я могу использовать расширенный диалог добавления, чтобы попытаться добавить их вручную.

Неважно, какие учетные данные я ввожу, как только я нажимаю 'Confirm', выдается сообщение, что они недействительны.

Я уверен, что учетные данные верны, потому что, просматривая захват пакетов на UDM-Pro для трафика порта 2020, я вижу, как Protect отправляет серию запросов к камере для запроса возможностей и т.д. Я вижу дайджест пароля в запросах, и камера отвечает данными.

Всё кажется нормальным, пока Protect не запрашивает RTSP profile_3. У моей камеры только два профиля потока, и поэтому она отвечает ошибкой. Вот фрагмент запроса от Protect:

<Protocol>RTSP</Protocol><ProfileToken>profile_3</ProfileTok­en></GetStreamUri></s:Body></s:Envelope>

А вот фрагмент ответа от камеры:

<SOAP-ENV:Fault><SOAP-ENV:Code><SOAP-ENV:Value>SOAP-ENV:Sender</SOAP-ENV:Value><SOAP-ENV:Subcode><SOAP-ENV:Value>ter:InvalidArgVal</SOAP-ENV:Value></SOAP-ENV:Subcode></SOAP-ENV:Code><SOAP-ENV:Reason><SOAP-ENV:Text xml:lang="en">error</SOAP-ENV:Text></SOAP-ENV:Reason></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>

Согласно спецификации ONVIF, это стандартное поведение, когда запрашивается недействительный атрибут.

Возможно ли, чтобы Protect мог обрабатывать этот ответ так, чтобы он не считался ошибкой, а рассматривался как перечисление функциональности?

Cheers
 
Пытался завести свои legacy камеры SV3C в Protect. Они сразу обнаруживались и подключались, когда были подключены к моей VLAN управления, но когда я перенес их в VLAN видеонаблюдения, я не мог подключить их, пока не добавил порт ONVIF. После этого все снова заработало как надо. Простая ошибка для камер, использующих устаревшие настройки порта.
 
Это не так. Можно подключить ONVIF-камеры даже через Mesh VPN на совершенно разных сетях. VLAN не имеют значения.
 
Это, вероятно, просто совпадение, но около недели назад я проверил наличие обновления прошивки для своих камер Vigi, и все они оказались с обновлением. После обновления Protect смог их принять, даже на отдельном VLAN. Что немного странно, потому что не думаю, что основная проблема была решена. Не знаю, что изменилось со стороны камеры, но в журнале изменений был пункт, который касался улучшения совместимости с сторонними NVR. PTZ работает, звук не работает.
 
Вижу что-то похожее здесь, и с указанным портом, и без него, когда пытаюсь принять камеру в другой VLAN, к которой есть подключение от NVR. RTSP и ONVIF включены, учетные данные подтверждены, а ONVIF проверен как работающий между VLAN. Protect не может подключиться через Advanced Adoption, выдавая ошибку 'Неверные учетные данные' и с указанным портом, и без него.

В самом NVR (работает Protect v5.2.62) в файле /srv/unifi-protect/logs/errors.log видны следующие события при попытке добавить (камеру Reolink Doorbell):

2025-03-31T22:52:51.996Z - error: Не удалось принять камеру. "data" должен быть типа string или instance of Buffer, TypedArray или DataView. Получен тип number (1921683061)
TypeError: The "data" argument must be of type string or an instance of Buffer, TypedArray, or DataView. Received type number (1921683061)
at Hash.update (node:internal/crypto/hash:115:11)
at generateMAC (/usr/share/unifi-protect/app/webpack:/unifi-protect/src/middleware/onvif/helpers/getMAC.ts:42:56)
at mac (/usr/share/unifi-protect/app/webpack:/unifi-protect/src/middleware/onvif/helpers/getMAC.ts:28:23)
at t.adopt (/usr/share/unifi-protect/app/webpack:/unifi-protect/src/middleware/thirdPartyCameras/subscribers/adopt.ts:49:13)
[metadata]: {
"code": "ERR_INVALID_ARG_TYPE"}

2025-03-31T22:52:52.000Z - error: 2653 ms | 400 POST /api/third-party-cameras/adopt

После захвата tcp/8000 пакетов во время вышеуказанной попытки, я вижу успешную ONVIF аутентификацию с камерой и несколько дополнительных запросов к:

<camera>:8000/onvif/device_service
<camera>:8000/onvif/Media2
<camera>:8000/onvif/media_service

Все они дают HTTP 200 ответы от камеры с SOAP-основанными полезными нагрузками, предоставляющими то, что было запрошено Protect, например, возможности устройства и информация о доступных медиапотоках.

Согласен, похоже, что в том, как Protect обрабатывает SOAP ответ от сторонней камеры, может быть ошибка.

Я подал заявку на поддержку в прошлом октябре, но ответ, который я получил, был просто следующим:
 
Когда ты говоришь, что видишь абсолютно ту же проблему, ты имеешь в виду полностью с теми же ответами в захвате пакетов? Мне было бы интересно, какие ответы выдает твоя камера. У моей вообще ничего не происходит, даже в VLAN по умолчанию.
 
У меня та же самая проблема с двумя старыми камерами ONVIF на другом VLAN. Другие камеры на этом же VLAN успешно подключаются вручную, и эти две камеры тоже подключаются без проблем, когда находятся на VLAN по умолчанию. Проблема возникает только тогда, когда эти две старые камеры находятся на отдельном VLAN и пытаются подключиться вручную.
 
Спасибо за ответ! Они находятся в отдельной VLAN. Но для тестирования я перенес одну в VLAN по умолчанию. Protect обнаружила её автоматически (очень даже!). Но всё равно не получается добавить, симптомы те же, что и выше: сообщает "Неверные учётные данные", хотя захват пакетов показывает, что камера принимает учётные данные. Запрашивает поток, который моя камера не предоставляет, и возвращается InvalidArgVal.
 
Твои камеры ONVIF подключены к сети по умолчанию или к VLAN? Сейчас UI не поддерживает добавление камер ONVIF, если они не находятся в сети по умолчанию.
Страницы: 1
Читают тему (гостей: 1)