Существует техническая возможность подключиться к нашему серверу и запросить делегирование принятия решения о пропуске людей вашему ПО. При поднесении карты или идентификации людей другими способами, наш сервер будет делать запрос к вашей системе, передавать использованный идентификатор, время и место идентификации. В ответ от вашей системы будет поступать решение - пропустить или не пропускать. Так же ваша система в данной модели сможет получать от нашего ПО уведомления о происходящих событиях по мере их наступления. Технически взаимодействие происходит с использованием простого текстового протокола поверх TCP.
Во вложении протокол, частью которого является делегирование и получение событий. Можете в принципе документ не открывать, описываю ниже основные моменты: Вы подключаетесь к нашему серверу на TCP порт 3312 и далее обмениваетесь по соединению текстовыми строками с нашим сервером.
Пример обмена при делегировании.
Вы -> СКУД: LOGIN 1.8 user pass - вы высылаете запрос на аутентификацию
СКУД -> Вы: OK
Вы -> СКУД: DELEGATION_START - вы запрашиваете делегирование вам принятия решения
СКУД -> Вы: OK
СКУД -> Вы: DELEGATION_REQUEST 4 NORMAL W34 11223344 OUT 1 NO - запрос доступа, 4 - "ticket" (вы должны повторить его в ответе), W34 11223344 - номер карты, OUT - направление "выход", 1 - номер точки доступа, NO - дополнительный считыватель не используется (вы можете всегда ожидать NO, если у вас нет картосборника или устройства регистрации прохода в неурочное время).
Вы -> СКУД: DELEGATION_REPLY 4 NORMAL 255 0 0 0 0 - ваш ответ, 4 - ticket, 255 - решение "пропустить", 0 0 0 0 - не вдаваясь в детали, шлите всегда так.
СКУД -> Вы: OK
Чтобы делегирование было возможно его нужно однократно включить следующим способом:
1) В файле server/sphinxd/sphinxd.cfg нашей системы изменить значение параметра DC_enableOIF1Delegation с 0 на 1. После чего перезапустить серверный модуль нашей системы.
2) В настройках контроллера включить опцию "Делегировать принятие решения серверу".