Configuração do ETR Web Server

Introdução

Esse manual descreve a configuração dos componentes do lado do servidor do GBS ETR. O GBS ETR é uma aplicação que permite o usuário analisar e tratar exceções geradas pelo GBDS.

O procedimento de configuração deve ser feito somente depois do passo de instalação. Para mais informações, consulte o Manual de Instalação do GBS Apps.

Configuration

Os passos de configuração são:

  1. Configure o Tomcat;

  2. Configure os Certificados;

  3. Habilite o Best of Biometrics;

  4. Configure o Acesso Web;

  5. Configure o Ambiente PSBIO;

  6. Configure o Lights Out;

Todos os passos são descritos abaixo.

Configuração do Tomcat

Edite o arquivo de configuração do Tomcat para configurar os certificados e a porta que a aplicação usará.

vi /var/lib/tomcats/etr/conf/server.xml

Para mudar a porta, procure por connector port=. Essa é a porta para operações backend.

Configuração de Certificados

Para habilitar autenticação SSL, procure por connector port= no arquivo /conf/server.xml.

Existem duas entradas. A comentada é a configuração para SSL. Remova os delimitadores de comentários <!-- e -->, então ajuste os seguintes parâmetros:

port="58194"
keystoreFile="/home/griaule/keystore"
keystorePass="password"
keyAlias="1"
clientAuth="true"
truststoreFile="/home/griaule/keystore"
truststorePass="password"

O parâmetro port deve ser a porta de rede desejada para a aplicação.

Mude o caminho do keystoreFile e o truststoreFile para os valores apropriados. Faça o mesmo para o keystorePass e o truststorePass.

O parâmetro clientAuth="true" irá requerer autenticação do servidor para o cliente e do cliente para o servidor. Isso significa que o cliente necessitará importar o certificado no navegador para poder acessar a aplicação.

Criptografia da senha do Banco de Dados

No arquivo config.properties, o parâmetro jdbc.password é uma senha criptografada. Para gerar a senha criptografada, siga os seguintes passos:

  1. Vá para o seguinte diretório:

    cd /var/lib/tomcats/etr/webapps/gbs-etr-server/WEB-INF/lib
  2. Execute o comando:

    java -cp gbs-common-db-<versão>.jar com.griaule.commons.util.EncryptUtil <senhaDesejada>
  3. A senha criptografada aparecerá depois da mensagem: "Encrypted password is:"

Guarde a senha criptografada. Ela será usada em configurações posteriores.

Habilitando o Best of Biometrics

O Best of Biometrics é uma operação aplicada quando dois ou mais perfis são mesclados ou vinculados.

Quando aplicado, o Best of Biometrics avalia cada template de impressão digital e palmar individualmente e seleciona os templates com a mais alta qualidade em cada dedo e/ou posição da palma entre todas as transações mescladas. Em seguida, atualiza o perfil da pessoa para unificar a "melhor" biometria em uma única transação ativa que será utilizada para comparação biométrica. Esta operação não se aplica aos templates de Face e Iris, nos quais as imagens mais recentes substituirão as mais antigas, independentemente da qualidade.

Para habilitar o Best of Biometrics no ETR, o banco de dados deve ter os parâmetros treat.multiMerge.consolidation e bob.trustedUpdate.active definidos como true.

Para criar e habilitar os parâmetros:

INSERT INTO `sphinx`.`settings` (`name`, `type`, `val`) VALUES ('treat.multiMerge.consolidation', 'ETR', 'true');
INSERT INTO `sphinx`.`settings` (`name`, `type`, `val`) VALUES ('bob.trustedUpdate.active', 'ETR', 'true');

Para habilitar parâmetros existentes:

UPDATE `sphinx`.`settings` SET `val`='false' WHERE  `name`='treat.multiMerge.consolidation' AND `type`='ETR';
UPDATE `sphinx`.`settings` SET `val`='false' WHERE  `name`='bob.trustedUpdate.active' AND `type`='ETR';

Se o Best of Biometrics estiver ativo e for necessário desativá-lo, use a seguinte query:

UPDATE `sphinx`.`settings` SET `val`='false' WHERE  `name`='bob.trustedUpdate.active' AND `type`='ETR';

Configurando Chaves e Biográficos para Aparecerem na Lista de Exceções

A aplicação mostra chaves e biográficos na tela de lista de exceções. É possível configurar os campos que serão exibidos (até dois campos), por exemplo: CPF, idn, documentID, nome e qualquer outro campo desejado.

Para configurar um novo campo, é necessário que este campo seja adicionado ao banco de dados MySQL. FaçA login no servidor MySQL usando:

mysql -u<user> -p

Execute a seguinte instrução para verificar os campos existentes:

use sphinx;

select * from field;

Verifique o número de campos que retornam na consulta. Se você já possui 7 campos, a ordem do novo deve ser 8 por exemplo.

Execute a seguinte instrução, alterando os valores de acordo:

INSERT INTO `sphinx`.`field` (`name`, `description_en_us`, `description_pt_br`, `description_es_es`, `field_type`, `field_kind`, `field_order`, `cardscan`) VALUES ('newField', 'descriptionEN', 'descriptionBR', 'descriptionES', 'string', 'KEY', '8', '1');
  • newField = nome do campo a ser usado

  • descriptionEN = descrição em inglês

  • descriptionBR = descrição em português

  • descriptionES = descrição em espanhol

  • string = o tipo do valor (string ou integer) – chaves e biográficos podem usar string

  • KEY = o tipo do campo: KEY ou BIOGRAPHIC

  • 8 = É a ordem dos campos. Basta aumentar o número de campos que já existem (o número atual foi retornado na consulta anterior)

  • 1 = habilitar o campo para cardscan. Não é necessário alterar este valor

Execute uma solicitação de GET para a URL do endpoint IP:port/config.

Copie a resposta (tudo dentro de showFields).

Envie uma solicitação POST para a mesma URL do endpoint com as configurações de JSON modificadas (todos os campos desejados devem ser informados - campos antigos e campos novos, caso contrário apenas os campos informados serão considerados):

{
	"showFields": [
		{
			"name": "newField",
			"descriptionEnUs": "descriptionEN",
			"descriptionPtBr": "descriptionBR",
			"required": false,
			"type": "string",
			"kind": "KEY",
			"order": 0,
			"cardscan": true,
			"candidate-list": false
		},
		{
			"name": "name",
			"descriptionEnUs": "Name",
			"descriptionPtBr": "Nome",
			"required": false,
			"type": "string",
			"kind": "BIOGRAPHIC",
			"order": 0,
			"cardscan": true,
			"candidate-list": false
		}
	]
}

A resposta correta deve ser:

{
	"status": "OK"
}

Configuração de Destaque de Rótulo

O aplicativo mostra rótulos quando o usuário está analisando uma exceção. É possível configurar a cor de destaque desses rótulos.

Execute uma solicitação de GET para o endpoint IP:port/config.

Copie a resposta (tudo dentro da configuração do sistema).

Envie uma solicitação POST para o mesmo URL do endpoint, alterando o seguinte item no JSON copiado:

{
	"highlightLabels": [
		{
			"label": "OWNED",
			"color": "#ff00f0"
		}
	]
}

Neste caso, o rótulo OWNED será destacada com a cor especificada.

Configuração de Tratamentos Permitidos

O ETR usa o arquivo /var/lib/tomcats/etr/conf/treatments.json para exibir os tratamentos que estarão disponíveis para o tratamento de exceções:

SAME_FINGERS, DIFFERENT_FINGERS, INCORRECT_ENROLL, MERGE, and RECOLLECT

Exemplo:

{
	"key": "enroll.merge",
	"type": "ENROLL",
	"status": "MERGE_TRANSACTIONS",
	"enabled": true,
	"match-person-effect": "MERGE",
	"enroll-effect": "MERGE"
}
  • O valor da chave com tipo ENROLL pode ser: enroll.same_fingers, enroll.different_fingers, enroll.recollect, enroll.merge

  • O valor da chave com tipo UPDATE pode ser: update.same_fingers, update.different_fingers, update.incorrect_enroll, update.recollect, update.merge

Para habilitá-lo: defina o valor como true. Caso contrário, use false.

  • O match-person-effect é o efeito que será exibido na tela do ETR para a pessoa de referência no banco de dados. Valores disponíveis: KEEP, DISCARD, MERGE, and BLACKLIST.

  • O enroll-effect é o efeito que será exibido na teal do ETR para a pessoa entrante via cadastro no banco de dados. Valores disponíveis: KEEP, DISCARD, MERGE, and BLACKLIST.

Arquivo de Configuração da Aplicação

Essa seção descreve as possíveis configurações do arquivo config.properties. Para acessá-lo, abra-o com:

vi /var/lib/tomcats/etr/conf/config.properties

Um exemplo do arquivo config.properties pode ser visto na seção Exemplo do Arquivo de Configuração.

Configuração do ETR

Esta seção mostrará algumas configurações específicas para o ETR e a configuração do IP e porta da aplicação que o usuário final acessará. O IP e a porta devem ser os mesmos configurados na seção de Configuração do Tomcat.

etr.ip=<ip>
etr.port=<port>
etr.protocol=<protocol>

O recurso de verificação dupla para o ETR pode ser desabilitado executando a seguinte consulta no banco de dados relacional: UPDATE `sphinx`.`settings` SET `val`='false' WHERE `name`='etr.doubleCheck' AND `type`='ETR';

Configuração específica para ambientes extras do ETR

É possível ter mais de uma instância do ETR em execução. É essencial permitir que apenas um ETR escute a notificação de exceção para evitar duplicar as exceções no banco de dados.

O parâmetro de configuração notification.active define se o ETR escutará as notificações. Apenas um ETR deve tê-lo como true, enquanto todas as outras instâncias devem ser definidas como false.

Configuração específica para ambiente PSBIO

Para configurar o ambiente para PSBIO:

gbds.listExceptions.labels=COMMON_NAME_OF_CERTIFICATE
filter.people.pguid=ALL
getMatchedPersonWithTguid=false

A configuração getMatchedPersonWithTguid define os critérios para recuperar dados em exceções de cadastro (enroll).

  • Quando definido como true, o perfil de referência será recuperando usando o Transaction GUID (TGUID)

  • Quando definido como false, o perfil de referência será recuperando usando o Person GUID (PGUID)

Ao definir esse valor de configuração como true, a recuperação do perfil não será afetada por nenhuma atualização da pessoa de referência.

Essa configuração não tem efeito nas exceções de atualização.

Lights Out

O Lights Out é um recurso que permite que exceções de cadastro e atualização sejam tratadas automaticamente de acordo com os parâmetros configurados. Para permitir que o lightsOut trate uma exceção, os parâmetros lightsOut.enroll.active e lightsOut.update.active devem ser definidos como verdadeiros. Os valores possíveis são true ou false.

Além disso, o usuário pode personalizar o Lights Out para cada operação de cadastro ou atualização para usar outras informações biométricas ou biográficas. As opções personalizáveis referem-se a impressões digitais, face, íris, informações biográficas e rótulos e estão descritas abaixo.

Configuração de Rótulo

A configuração do rótulo pode ser definida em lightsOut.{operação}.disabled.labels, ele aceita mais de um rótulo por vez e o valor padrão é vazio. A escolha de um ou mais valores desativará o Lights Out se pelo menos um deles estiver presente no perfil do participante.

Configuração de Digitais

Para impressões digitais, existem três parâmetros disponíveis, são eles:

  • lightsOut.{operação}.minimum.fingerprints, que define as correspondências mínimas de impressão digital que devem ocorrer para permitir que Lights Out execute o tratamento;

  • lightsOut.{operação}.fingerScore.any_finger, que define o limite para todos os dedos;

  • lightsOut.{operação}.fingerScore.{lado}_{dedo}, que define o limite para um dedo especificado. {lado} é para a esquerda ou direita e {dedo} é o nome do dedo. Os possíveis valores são:

    • {lado}: left or right.

    • {dedo}: little, ring, middle, index, and thumb.

O parâmetro .any_finger será ignorado para um dedo se o limite do dedo específico for diferente de zero, por exemplo, se lightsOut.{operação}.fingerScore.right_ring=80, o limite para o dedo anelar direito será 80 em vez do definido em lightsOut.{operação}.fingerScore.any_finger.

Todos esses parâmetros de operação são definidos por lightsOut.{operação}.fingerScoresRule, que pode ter os valores AT_LEAST_MINIMUM, onde é necessário atingir pelo menos o limite no número de impressões digitais configurado em lightsOut.{operação}.minimum.fingerprints para que o Lights Out trate a exceção, ou ALL, onde todas as pontuações de impressão digital devem atingir o limite de pontuação.

Configuração de Face

Os parâmetros configuráveis de face são: lightsOut.{operação}.useFace para habilitar o uso de face e é lightsOut.{operação}.faceScore para definir o limiar de qualidade.

Configuração de Íris

Os parâmetros configuráveis de íris são:

  • lightsOut.{operação}.useIris que define se a íris será usada;

  • lightsOut.{operação}.minimum.irises, que define a quantidade mínima de íris necessária;

  • lightsOut.{operação}.irisScore.any_iris define o limiar de qualidade para todas as íris;

    Esse valor será usado se lightsOut.{operação}.irisScore.left_iris ou lightsOut.enroll.irisScore.right_iris estiverem definidas como 0, senão, o valor dos últimos dois parâmetros será usado.

Configuração Biográfica

As informações biográficas para Lights Out podem ser ativadas no parâmetro lightsOut.{operação}.useBiographics, os valores possíveis para esses parâmetros são true ou false.

As chaves biográficas que precisam estar presentes podem ser listadas no parâmetro lightsOut.{operação}.biographicRules para key:MATCH ou key:NOT_MATCH. Esta configuração aceita mais de um parâmetro por vez, por exemplo:

O parâmetro de configuração lightsOut.enroll.biographicRules=key1:MATCH, key2:MATCH, key3:NOT_MATCH só aplicará o tratamento Lights Out à operação de registro se key1 e key2 corresponderem em ambos os perfis, key3 não corresponder e as outras regras pré-definidas, como useFace, useIris, limiar de dedos e número mínimo de correspondências de digitais também forem válidas.

Se alguma dessas informações biométricas e/ou biográficas for escolhida para ser usada no Lights Out e o perfil não possuir essa informação, por exemplo, não possuir captura de íris e lightsOut.{operação}.useIris=true, o Lights Out não realizará o tratamento.

A ação executada para o tratamento automático de exceções pode ser definida através do parâmetro lightsOut.{operação}.treatStatus, os valores possíveis são os mesmos valores possíveis para o tratamento da exceção pelo ETR. Além disso, um comentário para o tratamento escolhido pode ser personalizado no parâmetro lightsOut.{operação}.treatComments.

Configurações de Pooling

A configuração de pooling controla o comportamento de paginação do ETR. Duas configurações o controlam: pollingPaginationMode e pollingPagination.size. A primeira controla se está ativo ou não, a segunda controla quantas exceções serão exibidas por paginação. A paginação padrão do GBDS é 1000.

Configurações de Transações Recusadas

As configurações de transações recusadas controlam se o ETR deve reenviar uma transação recusada após todas as exceções que geraram essa transação serem resolvidas.

Uma transação recusada é uma transação que gerou uma exceção com outra transação que também tem uma exceção. Exemplo:

1 - O Perfil A está no GBDS
2 - Você enviou uma Transação A e essa transação gerou uma exceção com o Perfil A
3 - Depois, você enviou uma Transação B e essa transação gerou uma exceção com a Transação A.
4 - O GBDS marcará a Transação B como RECUSADA.

Este recurso reenviará a Transação B após a exceção gerada pela Transação A ser tratada. Para habilitar este recurso, defina refused.active como verdadeiro. O parâmetro resend.tries define o número máximo de vezes que o ETR tentará reenviar uma transação recusada.

Outras configurações controlam o atraso na operação. Estes são updateStatusDelay, verifyStatusDelay, listRefusedDelay e deleteRefusedDelay. O tempo de atraso é definido em segundos.

Configurações finais

As configurações finais que requerem atenção e devem ser editadas para corresponder a cada implementação específica são jdbc.url, jdbc.username, jdbc.password e gbds.url. Configure os parâmetros de acordo com o ambiente.

Alguns detalhes de propriedades são mostrados na subseção abaixo.

Lembre-se de substituir a senha criptografada gerada na seção Criptografia da senha do Banco de Dados neste arquivo.

Descrição de Configurações

listAnalysisTreatments.initialTimestamp

O ETR atualiza a lista de exceções pendentes por meio de consultas ao GBDS que são restritas por um intervalo de tempo. Este parâmetro define o início deste intervalo de tempo, expresso no formato DD/MM/AAAA HH:MM:SS. Exceções pendentes anteriores a este valor não serão listadas nos clientes ETR.

listAnalysisTreatments.offset

Essa propriedade controla a duração do intervalo de tempo usado para consultar o GBDS para exceções pendentes, conforme descrito em listAnalysisTreatments.initialTimestamp. O valor pode ser expresso em dias, horas, minutos ou segundos: 1d, 5h, 30m ou 460s.

listTreatedTreatments.initialTimestamp

O ETR atualiza a lista de exceções tratadas por meio de consultas ao GBDS que são restritas por um intervalo de tempo. Este parâmetro define o início deste intervalo de tempo, expresso no formato DD/MM/AAAA HH:MM:SS. Exceções tratadas antes desse valor não serão listadas nos clientes ETR.

listTreatedTreatments.offset

Essa propriedade controla a duração do intervalo de tempo usado para consultar o GBDS para exceções tratadas, conforme descrito em listTreatedTreatments.initialTimestamp. O valor pode ser expresso em dias, horas, minutos ou segundos: 1d, 5h, 30m ou 460s.

listTreatments.analysisAndTreated.synchronized

Esta propriedade define a listagem de tratamentos na ETR. Se true, o aplicativo listará primeiro todas as análises não tratadas e depois as tratadas. Se false, o aplicativo listará com base no intervalo de tempo da análise.

listTreatments.offsetDelay.milliseconds

Esta propriedade controla a duração do atraso entre cada chamada do GBDS.

Finalizando as Configurações

Após completar todos os passos de configuração, volte para o Manual de Instalação do GBS Apps - Seção de Configuração.

Double Blind

A análise de Double Blind é usada quando há necessidade de cada decisão passar por uma segunda análise para confirmar a decisão. Se a segunda decisão for diferente da primeira, haverá um terceiro e último veredito de um supervisor.

Para ativar ou desativar o Double Blind, a instalação do ETR Server deve estar completa. Para alterar seu status, proceda da seguinte forma:

  1. Entre no MySQL

  2. Atualize a configuração da tabela de banco de dados sphinx com uma das seguintes queries:

    #DEACTIVATE
    
    UPDATE `sphinx`.`settings` SET `val`='false' WHERE  `name`='etr.doubleCheck' AND `type`='ETR';
    commit;
    
    #ACTIVATE
    
    UPDATE `sphinx`.`settings` SET `val`='true' WHERE  `name`='etr.doubleCheck' AND `type`='ETR';
    commit;
  3. Reset ETR Server

Exemplo do Arquivo de Configuração

Essa seção mostra um exemplo do arquivo config.properties.

#     /$$$$$$$$ /$$$$$$$$ /$$$$$$$
#    | $$_____/|__  $$__/| $$__  $$
#    | $$         | $$   | $$  \ $$
#    | $$$$$      | $$   | $$$$$$$/
#    | $$__/      | $$   | $$__  $$
#    | $$         | $$   | $$  \ $$
#    | $$$$$$$$   | $$   | $$  | $$
#    |________/   |__/   |__/  |__/

# **************************************************************************************************************
# DATABASE (RDB)

jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/etr?useSSL=false
jdbc.username=griaule
jdbc.password=CDrt8vbewA2YAubPNOLZkw==
jdbc.dialect=org.hibernate.dialect.MySQLDialect
jdbc.showSql=false

# **************************************************************************************************************
# GBDS CONNECTION (& AUTHENTICATION LDAP ONLY)

gbds.url=http://localhost:8085
gbds.user=gbds_bind
gbds.key=Griaule.123
gbds.logLevel=INFO
gbds.timeout=300
gbds.listExceptions.label=

# **************************************************************************************************************
# ETR * GUI

etr.ip=127.0.0.1
etr.port=8089
etr.protocol=http
locale=en_us

# **************************************************************************************************************
# ETR * CONFIGURATION

biometric.modules=FINGERPRINT,FACE
faceQuality.qtdeMinErrors=2
filter.people.pguid=ALL
fingerprint.useSDK=true
gbds.etrUser=etr_server
getMatchedPersonWithTguid.enroll=true
getMatchedPersonWithTguid.update=true
highlight.labels=
listFields=KEY:documentID,BIOGRAPHIC:name
notification.active=true
pollingPagination.size=20
pollingPaginationMode=true
profile.cacheSize=100
profile.cacheTime=5m
same.user.simultaneous.login=false
showField.tguid=true
sync.logLevel=INFO

# **************************************************************************************************************
# ETR * SEND TREATMENTS

sendTreatments.active=true

# **************************************************************************************************************
# ETR * SEARCH TREATMENTS

verifyTreatments.active=true
verifyTreatments.interval.seconds=5
verifyTreatments.maxTries=5

# **************************************************************************************************************
# ETR * POLL ANALYSIS

listAnalysisTreatments.active=true
listAnalysisTreatments.interval.minutes=30
listAnalysisTreatments.delay.minutes=5
listAnalysisTreatments.initialTimestamp=01/01/2020 00:00:00
listAnalysisTreatments.offset=1d

# **************************************************************************************************************
# ETR * POLL TREATED

listTreatedTreatments.active=true
listTreatedTreatments.interval.minutes=120
listTreatedTreatments.initialTimestamp=01/01/2020 00:00:00
listTreatedTreatments.offset=1d

# **************************************************************************************************************
# ETR * LIST TREATED

listTreatments.analysisAndTreated.synchronized=true
listTreatments.offsetDelay.milliseconds=0

# **************************************************************************************************************
# ETR * LO (ENABLE/DISABLE)

lightsOut.enroll.active=false
lightsOut.enroll.disabled.labels=

lightsOut.update.active=false
lightsOut.update.disabled.labels=

# **************************************************************************************************************
# ETR * LO FINGERPRINT

lightsOut.enroll.minimum.fingerprints=12
lightsOut.enroll.fingerScore.any_finger=50
lightsOut.enroll.fingerScore.left_little=60
lightsOut.enroll.fingerScore.left_ring=80
lightsOut.enroll.fingerScore.left_middle=0
lightsOut.enroll.fingerScore.left_index=0
lightsOut.enroll.fingerScore.left_thumb=0
lightsOut.enroll.fingerScore.right_little=0
lightsOut.enroll.fingerScore.right_ring=0
lightsOut.enroll.fingerScore.right_middle=0
lightsOut.enroll.fingerScore.right_index=0
lightsOut.enroll.fingerScore.right_thumb=0
lightsOut.enroll.fingerScoresRule=AT_LEAST_MINIMUM

lightsOut.update.minimum.fingerprints=10
lightsOut.update.fingerScore.any_finger=100
lightsOut.update.fingerScore.left_little=100
lightsOut.update.fingerScore.left_ring=100
lightsOut.update.fingerScore.left_middle=0
lightsOut.update.fingerScore.left_index=0
lightsOut.update.fingerScore.left_thumb=0
lightsOut.update.fingerScore.right_little=0
lightsOut.update.fingerScore.right_ring=0
lightsOut.update.fingerScore.right_middle=0
lightsOut.update.fingerScore.right_index=0
lightsOut.update.fingerScore.right_thumb=0
lightsOut.update.fingerScoresRule=ALL

# **************************************************************************************************************
# ETR * LO OTHER (FACE/IRIS/BIOGRAPHIC)

lightsOut.enroll.useFace=false
lightsOut.enroll.faceScore=70
lightsOut.enroll.useIris=false
lightsOut.enroll.minimum.irises=0
lightsOut.enroll.irisScore.any_iris=0
lightsOut.enroll.irisScore.left_iris=0
lightsOut.enroll.irisScore.right_iris=0
lightsOut.enroll.useBiographics=false
lightsOut.enroll.biographicRules=name:MATCH

lightsOut.update.useFace=false
lightsOut.update.faceScore=100
lightsOut.update.useIris=false
lightsOut.update.minimum.irises=0
lightsOut.update.irisScore.any_iris=0
lightsOut.update.irisScore.left_iris=0
lightsOut.update.irisScore.right_iris=0
lightsOut.update.useBiographics=false
lightsOut.update.biographicRules=name:MATCH

# **************************************************************************************************************
# ETR * LO TREATMENT

lightsOut.enroll.treatStatus=MERGE_TRANSACTIONS
lightsOut.enroll.treatComments=Treated by ETR Lights Out

lightsOut.update.treatStatus=SAME_FINGERS
lightsOut.update.treatComments=Treated by ETR Lights Out

# **************************************************************************************************************
# ETR * Refused Thread

refused.active=true
updateStatusDelay=60
verifyRefusedDelay=60
listRefusedDelay=60
deleteRefusedDelay=60
resend.tries=3

# *************************************************************************************************************
# ADDITIONAL CONFIGURATION
#gbds.additionalHeaders={}
#gbds.flushDebugRequests=false
#gbds.proxy.url=
#gbds.proxy.port=
#gbds.enroll.priority=DEFAULT_PRIORITY
#gbds.trustedEnroll.priority=DEFAULT_PRIORITY
#externalIdName=null

Atualizado