Service Properties

This appendix contains a full list of properties that may be configured for VGSx, VCDx, and the VGSx Tester. System properties can be passed as environment variables to the docker container using the format:

Copy

where port, environment variables, and container version will change depending on deployment.

Properties listed below can be set as environment variables by performing the following:

  • Replace dots (.) with underscores (_)
  • Remove any dashes (-)
  • Convert to uppercase

See https://docs.spring.io/spring-boot/docs/3.0.0/reference/htmlsingle/#features.external-config.typesafe-configuration-properties.relaxed-binding.environment-variables for details.

VGSx Properties

PropertyDefault ValueDescription
server.port8081The HTTP port on which the service will listen for REST requests.
server.ssl.enabledfalseWhether SSL is enabled for requests to this service. If true the additional SSL parameters below must be provided.
server.ssl.ciphers

TLS_AES_256_GCM_SHA384,

TLS_AES_128_GCM_SHA256,

TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,

TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

Supported SSL ciphers
server.ssl.enabled-protocolsTLSv1.1,TLSv1.2,TLSv1.3Support SSL protocols
server.ssl.key-storeNoneThe location of the Keystore file with the public/private key pair and certificate for TLS.
server.ssl.key-store-passwordNoneThe password to the TLS Keystore.
server.ssl.keyStoreTypeNoneThe type of the TLS Keystore, for example JKS or PKCS12
server.ssl.keyAliasNoneThe alias of the public key in the TLS Keystore
tomcat.useCipherSuiteOrdertrue
  • true: Tomcat enforces the server's preferred order of cipher suites during SSL/TLS handshakes.
  • false: The client’s preferred order of cipher suites is used during SSL/TLS handshakes.
logging.configfile:${CONF_DIR}/log4j2.xmlThe location of the log file.
logging.level.com.daon.sentinel.vgsINFOThe log level for the Daon classes within the service.
logging.level.org.springframework.webINFOThe log level for the Spring Framework web classes within the service.
logging.log.json.responsefalse

If set to true, the json response for each VGSx API call will be logged at INFO level.

Note: The json body can contain a phone number. Customers may wish to keep this property disabled or mask phone numbers if concerned about this information being present in logs.

cors.allowed.origins

http://localhost:5173,

http://localhost:8080,

http://localhost:8081,

https://sentinel-webapp-test.identityx-cloud.com, https://sentinel-vgsx-tester-test.identityx-cloud.com, https://sentinel-vgsx-test.identityx-cloud.com

The list of origins that are permitted to make cross-origin requests to the server.
spring.jackson.default-property-inclusionNON_NULLControls the inclusion of properties during serialization. Configured with one of the values in Jackson's JsonInclude.Include enumeration.
spring.main.allow-circular-referencestrue

Determines whether circular references between beans are allowed during application context initialization.

This property must not be altered.

spring.mvc.pathmatch.matching-strategyant-path-matcher

Configures the strategy used for matching URL paths to controller methods.

This property must not be altered.

spring.jackson.date-formatyyyy-MM-dd'T'HH:mm:ss.SSSZ

The format of datetime parameters in the JSON requests and responses.

This property must not be altered.

spring.jackson.serialization-inclusionNON_NULL

Configures how Jackson includes properties in JSON serialization. Configured with one of the values in Jackson's JsonInclude.Include enumeration.

The default value of NON_NULL includes only properties with non-null values.

This property must not be altered.

spring.jackson.default-property-inclusionNON_NULL

Controls the inclusion of properties during serialization. Configured with one of the values in Jackson's JsonInclude.Include enumeration.

The default value of NON_NULL includes only properties with non-null values.

This property must not be altered.

spring.security.user.namedaonThe name of the user required to access the API documentation.
spring.security.user.passworddoc4SwaggerThe password for the user required to access the API documentation.
management.endpoints.jmx.exposure.includehealthSpecifies which management endpoints should be exposed via JMX (Java Management Extensions)
management.endpoints.web.exposure.includehealth,metrics,prometheusSpecifies which management endpoints should be exposed over the web (HTTP)
management.endpoint.health.enabledtrueControls whether the health endpoint provided by Spring Boot Actuator is enabled or disabled.
management.endpoint.health.show-detailsALWAYS

Configures whether additional details should be included in the response of the health endpoint provided by Spring Boot Actuator.

The default value of ALWAYS includes details in all responses, regardless of authorization.

management.endpoint.metrics.enabledtrueControls whether the metrics endpoint provided by Spring Boot Actuator is enabled or disabled.
management.endpoint.prometheus.enabledtrueControls whether the prometheus endpoint provided by Spring Boot Actuator is enabled or disabled.
call.manager.any.call.interval7200The maximum time in seconds that information about any call with a status other than ENDED continues to be available through VGSx after the time the call was last updated.
call.manager.ended.call.interval900The maximum time that a call with a status of ENDED continues to be available through VGSx after the call was last updated.
call.manager.sleep.interval1000How often in milliseconds does the call manager perform a call clean-up operation.
analysis.sample.manager.sleep.interval50How often in milliseconds does the VGSx analysis thread analyse call audio.
analysis.dispatch.manager.sleep.interval50How often in milliseconds does the VGSx dispatch thread package analysed audio for dispatch to the VCDx.
gather.call.metrics.task.delay120000The delay in milliseconds after the VGSx service starts when the task which gathers call metrics first runs.
gather.call.metrics.task.period5000How often in milliseconds the task which gathers call metrics runs.
orcx.live_streaming_url_sentinelVGSTester

http://localhost:8081/streamAudio?

recid=%s&chunkSize=%d&delay=%d

&repeat=%d

The streaming callback URL for the default VGSx tester.

This property is linked to the sentinel.vgs.host.name property in the VGSx Tester which has a default value of sentinelVGSTester. The name of this property is orcx.live_streaming_url_{name} where {name} must match the hostname supplied by the VGSx Tester.

orcx.live_streaming_url_namehttp://{hostname}:59120/?type=stream&recid=%s

An example streaming callback URL for OrkAudio

This property must be replaced when using OrkAudio.

This name of this property is orcx.live_streaming_url_{name} where {name} must match the hostname supplied by an OrkAudio instance. One _orcx.live_streaming_url{name} property must be defined for every OrkAudio instance which communicates with this VGSx instance.__

sentinel.callId.scriptNoneAn optional groovy script which is applied to the /orktrack/command API call parameters.
sentinel.reverse.phone.mappingtrueIf this value is true and Neustar is not enabled (see property below) then the remoteparty call parameter is assigned as the agent phone number and the localparty call parameter is assigned as the caller phone number. If this value is false or Neustar is enabled the properties are assigned the other way around.
agentPhoneNumber.mappingNoneIntroduced in VGSx 1.2.0.0, this field overwrites the agentPhoneNumber mapping in place in 1.1.0.x and allows agentPhoneNumber to be mapped to remoteparty or localparty.If set, this property results in the code ignoring the sentinel.reverse.phone.mappingproperty.
phoneNumber.mappingNoneIntroduced in VGSx 1.2.0.0, this field overwrites the phoneNumber mapping in place in 1.1.0.x and allows phoneNumber to be mapped to remoteparty or localparty.If set, this property results in the code ignoring the sentinel.reverse.phone.mappingproperty.
call.authentication.neustar.enabledfalse

Determines whether Neustar will be called to authenticate an incoming call.

Integration with Neustar is outside the scope of this document.

call.authentication.neustar.usernameNoneThe username used when calling the Neustar call authentication URL
call.authentication.neustar.passwordNoneThe password used when calling the Neustar call authentication URL
call.authentication.neustar.urlNoneThe Neustar call authentication API URL
call.authentication.neustar.http.read.timeout2000The read timeout in milliseconds for the Neustart authentication API call
call.authentication.neustar.http.connect.timeout2000The connect timeout in milliseconds for the Neustart authentication API call
sentinel.vgs.build_versionVersion specific

The build version reported by the ping API.

This property must not be altered.

sentinel.vgs.sentinel_versionVersion specific

The sentinel version reported by the ping API.

This property must not be altered.

sentinel.vgs.service_nameSentinelVgsx

The service name reported by the ping API.

By default this property is part of the sentinel.service.name property which identifies this installation of the VGSx service to the VCDx in the cloud when publishing audio metrics.

sentinel.vgs.server_id1

The service ID reported by the ping API.

By default this property is part of the sentinel.service.name property which identifies this installation of the VGSx service to the VCDx in the cloud when publishing audio metrics.

sentinel.service.name

${sentinel.vgs.service_name}

${sentinel.vgs.server_id}

Identifies this installation of the VGSx service to the cloud-based installation of VCDx when publishing audio metrics.
sentinel.vgs.metrics.service.namesentinel-vgsxThe serviceName tag applied to prometheus metrics generated by this VGSx service. Identifies the service which generated the metrics.
sentinel.service.domainhttp://localhost:8099The domain used when calling the VCDx to analyse audio.
sentinel.health.domainhttp://localhost:8099The domain used when calling VCDx to check whether the service is running.
sentinel.analysis.api.path

/tenants/${sentinel.trustx.tenantId}/

audios/${sentinel.service.name}

The path of the VCDx analysis API.

This property must not be altered.

sentinel.health.api.path/actuator/health

The path of the VCDx health API.

This property must not be altered.

sentinel.vgs.trustx.tenantIdNone

The tenant ID used when calling the VCDx service.

This property must be set. It defines the tenant ID which will be used by the on-premise VCDx when publishing metrics to the VCDx in the cloud. Refer to the section earlier in this document here: Configuring-the-Sentinel-VGSx-TrustX-connection

sentinel.prem.api.keyNone

The API key used to authenticate to VCDx in the cloud.

This property must be set. It will be used to authorise the on-premise VCDx when publishing metrics to the VCDx in the cloud. Refer to the section earlier in this document here: Configuring-the-Sentinel-VGSx-TrustX-connection

sentinel.trustx.deploymentfalse

Configures whether this is an on-premise or TrustX deployment. The default of value of false indicates that this is an on-premise deployment.

This property must not be altered.

sentinel.trustx.regionNone

Configures the TrustX region where VCDx is deployed.

This property is only used in TrustX cloud deployments of VGSx and does not need to be set for on-premise deployments.

vad.simple.voice.threshold0.001A threshold value between 0 and 1 used by the VGSx Voice Activity Detector which defines the audio volume which may be considered as speech vs silence. Lower values allow more silence.
vad.simple.min.silence.ms500The minimum number of milliseconds of audio which is considered silence by the the VGSx Voice Activity Detector. This value is used as a threshold by the VAD when removing silence from audio to create speech segments. Regions of silence shorter than this value will not be removed. Regions of silence longer than this value will be shortened to this length.
vad.simple.window.ms1The number of milliseconds of audio sample over which the VAD calculates the audio volume when deciding which parts of the audio contains speech.
internal.vgs.tenant.idINTERNAL_VGS_TENANTInternal tenant ID used when the Voice Activity Detector is used in test mode, see the test.apply.vad.before.writing property below.
test.apply.vad.before.writingfalseDetermines whether to use a test WAV writer which applies the Voice Activity Detector to the sample each time a sample is decoded from the audio stream or written to VCDx.
audio.write.audio.locationNone

Defines a directory to which an audio file will be written for each piece of audio which is streamed. The audio file names within the directory are formatted as the call Id + a timestamp:

{callId}_{yyyyMMdd'T'HHmmss.SSSZ}.wav

caller.audio.channelNone

Sets a default channel on which the audio will be decoded on a stereo stream.

Valid Values: LEFT, RIGHT

Whether the input is stereo and the channel to use can also be set in the call parameters supplied to the /orktrack/command API.

analysis.absolute.min.speech.duration3000The minimal duration, in milliseconds, of a speech segment which will be sent to the VCDx for analysis. A speech segment shorter than this minimum will never be sent to VCDx. Note: If setting to a value lower than 2000, you must also change the analysis.service.qc.min.speech.durationproperty in VCDx.
analysis.segment.min.speech.duration4000

The preferred length, in milliseconds, of speech segments which will be sent to VCDx for analysis.

Speech segments shorter than this will only be sent if there is remaining speech that has not been processed at the end of a call or after a the maximum hold time has expired but speech segments will never be shorter than analysis.absolute.min.speech.duration.

Note: If setting to a value lower than 2000, you must also change the analysis.service.qc.min.speech.durationproperty in VCDx.

analysis.segment.max.hold.time30000The maximum duration, in milliseconds, for which the VCDx will wait for more speech to arrive to meet the preferred minimum before dispatching a speech segment to VCDx.
analysis.max.number.of.attempts-1

By default, VGSx will split the call audio into segments and call VCDx with each segment until either the call ends or an anomaly is detected. The VGSx can be limited to stop call processing after a certain number of successful calls to the Sentinel VGSx. Calls which return a NOT_PROCESSED status are ignored.

This property defines the maximum number of successfully processed audio segments before audio processing completes regardless of whether the call completed.

The default value of -1 results in the call being processed until it ends.

analysis.should.send.speech.segments.callstatusPENDING, PROCESSING, ENDING

Speech segments will only be sent by VGSx to the VCDx if the call is in one of these states.

This property must not be altered.

analysis.allow.anomaliesfalse

If this property is set to true, the VGSx will ignore anomalies and continue to process the file even if they are reported by the VCDx.

This property must not be altered.

analysis.service.replay.threshold0.5023395The threshold used internally by the voice replay detection algorithm.
analysis.service.replay.low.quality.threshold0.07787Score threshold for voice replay low quality pattern devices.
analysis.service.replay.high.quality.threshold0.005079Score threshold for voice replay high quality pattern devices.
analysis.service.voice.clone.thresholdss1:0.86,s2:0.0000008373,s3:0.3068The thresholds used internally by the voice clone detection algorithm.
analysis.service.qc.min.snr5.0The signal to noise ratio threshold used by the voice QC algorithm.
analysis.service.qc.min.speech.ratio0.55The minimum speech ratio threshold used by the voice QC algorithm.
analysis.service.qc.min.speech.duration2.0The minimum speech duration in seconds required by the voice QC algorithm.
analysis.service.qc.min.loudness1-0.6The first of two loudness thresholds used by the voice QC algorithm.
analysis.service.qc.min.loudness2-38.0The second of two loudness thresholds used by the voice QC algorithm.
analysis.service.qc.max.saturation-0.04The maximum saturation value used by the voice QC algorithm.
analysis.service.qc.max.frame.saturation.ratio-0.3The maximum frame saturation ratio used by the voice QC algorithm.
analysis.service.qc.codec.discardamr-nb-0,amr-nb-1,amr-nb-2,amr-nb-3A list of audio codecs that are discarded by the voice QC algorithm. This parameter results in calls that are of too low a quality to be successfully analysed being ignored.
analysis.service.webClient.readTimeoutInSeconds20The read timeout in seconds for the call to the analysis VCDx API.
analysis.service.webClient.writeTimeoutInSeconds20The write timeout in seconds for the call to the analysis VCDx API.
analysis.service.webClient.connectTimeoutMillis5000The connect timeout in milliseconds for the call to the analysis VCDx API.
analysis.service.health.webClient .readTimeoutInSeconds5The read timeout in seconds for the call to the health check VCDx API.
analysis.service.health.webClient .writeTimeoutInSeconds5The write timeout in seconds for the call to the health check VCDx API.
analysis.service.health.webClient .connectTimeoutMillis5000The connect timeout in milliseconds for the call to the health check VCDx API.
sentinel.time.between.connection.tests30000

Defines the amount of time in milliseconds between potential calls to VCDx to check its availability during the VGSx ping call.

For example, with the default setting of thirty seconds, if ping is called every ten seconds the connection to VCDx will be made once every three calls.

ui.call.analysis.service.worker.threads5The number of worker threads available for the task which submits speech segments to VCDx.
analysis.service.reaper.task.delay300000The delay in milliseconds after the VGSx service starts when the task which cleans up the internal list of currently processing calls first runs.
analysis.service.reaper.task.period300000How often in milliseconds the task which cleans up the internal list of currently processing calls runs.
sentinel.action.processor.http.response.on .stopped503Defines the HTTP status which is returned from the ping or call analysis APIs if the VGSx has been instructed to stop processing calls using the /gatewayNode/actionStatus API.
sentinel.action.processor.http.error.on.stoppedtrue

Determines whether VGSx will ignore the action status set using the /gatewayNode/actionStatus API when analysing a call.

If true then the HTTP status defined in the property above will be returned on call analysis if the VGSx has been instructed to stop processing calls using the /gatewayNode/actionStatus API. If false then the call will still be processed.

sentinel.async.http.read.timeout5000The read time-out in milliseconds used in the asynchronous HTTP client which is used by VGSx to stream audio.
sentinel.async.http.request.timeout2147483647The request time-out in milliseconds used in the asynchronous HTTP client which is used by VGSx to stream audio. This is set to a very high value to prevent VGSx from timing out when handling long calls.
sentinel.bearer.tokenNoneDefines an optional token that, if defined, must be supplied to authorise calls to VGSx as described here: Protecting-Calls-to-VGSx-with-an-API-Token
cookie.nameSEN_VGCThe name assigned to the cookie when analysis is started on a call. See this section of the document for more details: VGSx-High-Availability-Configuration
cookie.maxAge1500The maximum age of the cookie in seconds.
cookie.securefalseDetermines whether the server should only deliver the cookie over a TLS connection.
cookie.httpOnlyfalseDetermines whether the server should only deliver the cookie over a TLS connection.
cookie.path/The cookie path.

VCDx Properties

PropertyDefault ValueDescription
server.port8099The HTTP port on which the service will listen for REST requests.
server.ssl.enabledfalseWhether SSL is enabled for requests to this service. If true the additional SSL parameters below must be provided.
server.ssl.ciphers

TLS_AES_256_GCM_SHA384,

TLS_AES_128_GCM_SHA256,

TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,

TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

Supported SSL ciphers
server.ssl.enabled-protocolsTLSv1.1,TLSv1.2,TLSv1.3Support SSL protocols
server.ssl.key-storeNoneThe location of the Keystore file with the public/private key pair and certificate for TLS.
server.ssl.key-store-passwordNoneThe password to the TLS Keystore.
server.ssl.keyStoreTypeNoneThe type of the TLS Keystore, for example JKS or PKCS12
server.ssl.keyAliasNoneThe alias of the public key in the TLS Keystore
tomcat.useCipherSuiteOrdertrue
  • true: Tomcat enforces the server's preferred order of cipher suites during SSL/TLS handshakes.
  • false: The client’s preferred order of cipher suites is used during SSL/TLS handshakes.
cors.allowed.originsNoneThe list of origins that are permitted to make cross-origin requests to the server.
cors.mappingNoneDefines the endpoints to which CORS settings are applied.
cors.allowed.methodsNoneSpecifies the HTTP methods, such as POST, GET, DELETE that are allowed for Cross-Origin Resource Sharing (CORS).
logging.log.json.responsefalseIf set to true, the json response for each VCDx API call will be logged at INFO level.

management.endpoints.jmx.exposure

.include

healthSpecifies which management endpoints should be exposed via JMX (Java Management Extensions)

management.endpoints.web.exposure

.include

health,info,metrics,prometheusSpecifies which management endpoints should be exposed over the web (HTTP)
management.endpoint.health.enabledtrueControls whether the health endpoint provided by Spring Boot Actuator is enabled or disabled.
management.health.status.orderDOWN,WARN,UP

Configures the severity order for health indicators. By default, it contains the following statuses:

  1. DOWN: Indicates a critical failure.
  2. OUT_OF_SERVICE: Indicates that the component is temporarily out of service.
  3. UNKNOWN: Used when no specific status is returned by any health indicator.
  4. UP: Indicates that the component is healthy and operational.
management.endpoint.health.show-detailsALWAYS

Configures whether additional details should be included in the response of the health endpoint provided by Spring Boot Actuator.

The default value of ALWAYS includes details in all responses, regardless of authorization.

management.endpoint.info.enabledfalseControls whether the info endpoint provided by Spring Boot Actuator is enabled or disabled.
management.endpoint.metrics.enabledtrueControls whether the metrics endpoint provided by Spring Boot Actuator is enabled or disabled.
management.endpoint.prometheus.enabledtrueControls whether the prometheus endpoint provided by Spring Boot Actuator is enabled or disabled.
info.app.version@project.version@The application’s version information in the /actuator/info endpoint.
info.app.name@project.name@The application’s name in the /actuator/info endpoint
sentinel.trustx.deploymentfalse

Configures whether this is an on-premise or TrustX deployment. The default of value of false indicates that this is an on-premise deployment.

This property must not be altered.

trustx.host.replacementhttps://%s.%s.trustx.com

Defines the domain of the TrustX services. The %s parts of the string are place-holders for text.

Refer above for more detail: Configuring-the-Sentinel-VCDx-TrustX-connection

When using VCDx in non-production environment, the trustx part of the domain must be re-configured, for example to trustx-dev for the development environment.

trustx.sky.regionoak

The region where the TrustX deployment of xDeTECH resides.

Refer above for more detail: Configuring-the-Sentinel-VCDx-TrustX-connection

spring.cache.jcache.configclasspath:ehcache.xml

The location of the cache configuration.

This property must not be altered.

sentinel.onprem.should.use.redisfalseDetermines whether a Redis server will be used to cache call state information. This must be set to true for high-availability deployments where one call may be analysed by multiple VCDx instances. Configuring-Redis
spring.data.redis.hostNone

Specifies the hostname or IP address of the Redis server to which VCDx should connect.

See above here: Configuring-Redis

spring.data.redis.portNone

Specifies the port number of the Redis server to which VCDx should connect.

See here: Configuring Redis

spring.data.redis.ssl.enabledNone

Specifies whether transport layer security is configured.

See here: Configuring Redis

spring.main.allow-bean-definition-overridingNoneMust add and set to trueif using redis. See here: Configuring Redis
sentinel.redis.metrics.lua.script.pathredis/metrics_lua_script.lua

Path to the Redis script used to cache algorithm probabilities with no averaging.

This property must not be altered.

sentinel.redis.snapins.results.lua.script

.path

redis/snapins_results_lua_script_whole_call_avg.lua

Path to the Redis script used to cache algorithm probabilities for whole call mode.

This property must not be altered.

sentinel.redis.snapins.results.lua.script

.path

redis/snapins_results_lua_script_last_n_samples_avg.lua

Path to the Redis script used to cache algorithm probabilities for averaging mode.

This property must not be altered.

sentinel.redis.eval.lua.script.number.of

.retries

3Number of retries to load and execute a Redis script.
snapins.averaging.modeWHOLE_CALL

Defines how the VCDx calculates the analysis probability scores across the audio.

See here: Configuring-Sentinel-VCDx-Averaging-Modes

snapins.averaging.lastnsamples.window

.size

5

If VCDx is configured in LAST_N_SAMPLES mode, defines the number of audio samples the probabilities will be averaged over.

See above here: Configuring-Sentinel-VCDx-Averaging-Modes

snapins.averaging.wholecall.min

.processing.requests

2

If VCDx is configured in WHOLE_CALL mode, defines the earliest request for which an average will be calculated on a particular call.

See above here:Configuring-Sentinel-VCDx-Averaging-Modes

sentinel.snapin.execution.modePARALLEL

Defines how the three analysis processors (aka snap-ins) in VCDx are executed.

  • PARALLEL: All three analysis processors are executed concurrently.
  • PARALLEL_QC_FIRST: The quality control snap-in is executed first and if it passes the replay and clone snap-ins are executed concurrently.
  • SEQUENTIAL: The quality control snap-in is executed first and if it passes the replay and clone snap-ins are executed sequentially.
sentinel.max.audio.length.millis7000The maximum allowed length of audio in milliseconds accepted by the VCDx audio analysis API.
snapins.averaging.cache.ttl.seconds1800The lifetime in seconds of entries in the cache that stores probability averages per audio stream.
sentinel.snapin.minimum.pool.size3Minimum number of threads required for VCDx to process audio effectively.
sentinel.snapin.number.of.threads10

The number of worker threads available to analyse audio using the snap-ins. How many threads are used per call depends on the sentinel.snapin.execution.mode.

  • PARALLEL: 3.
  • PARALLEL_QC_FIRST: 2.
  • SEQUENTIAL: 1.

This value must not be set to lower than sentinel.snapin.minimum.pool.size

sentinel.detection.models.list.for.confidences1,s2,s3,replay

A list of models used internally by VCDx for which confidence score to BPCER mappings files exist.

This property must not be altered.

sentinel.confidence.indicator.light.upper

.bound.percentage

3.0

Defines the threshold which controls the confidence indicator value returned when no anomaly is detected by VCDx.

If an analysis result of NO_ANOMALY_DETECTED is returned by VCDx and the BPCER associated with the lowest algorithm confidence score is lower than this threshold then a confidenceIndicator of MEDIUM is returned, otherwise a confidenceIndicator of HIGH is returned.

snapin.initialization.number.of.calls5

The number of calls made to each of the three analysis processors (aka snap-ins) when the VCDx service is started.

A short audio sample is sent to each snap-in this number of times in order to increase the efficiency of the snap-ins.

snapin.initialization.wav.fileaudio/snapin-init-file.wav

The audio sample sent to initialize the snap-ins.

This property must not be altered.

arthr.timeout.connect.millis10000The connect timeout in milliseconds for the calls to TrustX cloud services.
arthr.timeout.read.millis5000The read timeout in milliseconds for the calls to TrustX cloud services.
arthr.timeout.write.millis5000The write timeout in milliseconds for the calls to TrustX cloud services.
sentinel.health.check.uri/api/sentinel/actuator/health

The API path for the TrustX VCDx health check

This property must not be altered.

arthr.jwt.gracePeriod5000

A grace period in milliseconds used when refreshing the JWT used to authenticate to the Sentinel TrustX Cloud Services.

The token may be refreshed this number of milliseconds earlier than it actually expires.

health.task.arthr.limitPT12HThe amount of time that Sentinel TrustX Authentication Cloud Service has to be down before the on-premise service will stop processing audio. Defined as a java Duration string.
health.task.sentinel.limitPT12HThe amount of time that Sentinel TrustX VCDx Cloud Service has to be down before the on-premise service will stop processing audio. Defined as a java Duration string.
sentinel.task.scheduler.pool.size10The size of the thread pool which holds threads which check whether cloud services are available.
health.runSchedulerEveryPT5M

The frequency with which the Sentinel TrustX Cloud Services are checked to see if they are back up after they go down when the service is idle.

The cloud service availability is checked whenever the on-premise VCDx is called to analyse audio.

aws.regioneu-west-1

The AWS region used when a cloud-based deployment of VCDx publishes audio processing statistics to Kinesis.

This property is not used by on-premise deployments of VCDx.

sentinel.kinesis.stream.namesky-dev-oak-sentinel

The stream name used when a cloud-based deployment of VCDx publishes audio processing statistics to Kinesis.

This property is not used by on-premise deployments of VCDx.

statistics.buffer.capacity1000When cloud services are down, statistics cannot be published to the cloud and so they are buffered and provided when the service comes back up. This value defines the number of records that are buffered for statistics reporting when the Sentinel TrustX Cloud Services are down.
statistics.runSchedulerEveryPT5MThe frequency with which statistics are reported to the Sentinel TrustX Cloud Services.
voice.clone.transform.configclasspath:voice-clone-transform-config.xml

The location of the file containing the input data template for the Voice Clone snap-in.

This property must not be altered.

voice.clone.init.configclasspath:voice-clone-transform-init.xml

The location of the file containing the input data template for initialising the Voice Clone snap-in.

This property must not be altered.

clone.snapin.num.intra.thread0

Defines the maximum number of CPUs in a deployment that the Voice Clone snap-in will use. If set to zero the snap-in will use all the resources available.

This property and the inter.thread property for the snap-in must be set to the same value.

clone.snapin.num.inter.thread0

Defines the maximum number of CPUs in a deployment that the Voice Clone snap-in will use. If set to zero the snap-in will use all the resources available.

This property and the intra.thread property for the snap-in must be set to the same value.

clone.snapin.voice.detection.models.idss1,s2,s3

The list of algorithm models supported by the Voice Clone snap-in.

This property must not be altered.

clone.snapin.target.devicecpu or gpu for a GPU-specific deploymentThe target processor type for the Voice Clone snap-in.
voice.qc.transform.configclasspath:voice-qc-transform-config.xml

The location of the file containing the input data template for the Quality Control snap-in.

This property must not be altered.

voice.qc.init.configclasspath:voice-qc-transform-init.xml

The location of the file containing the input data template for the Quality Control snap-in.

This property must not be altered.

qc.snapin.num.intra.thread0

Defines the maximum number of CPUs in a deployment that the Quality Control snap-in will use. If set to zero the snap-in will use all the resources available.

This property and the inter.thread property for the snap-in must be set to the same value.

qc.snapin.num.inter.thread0

Defines the maximum number of CPUs in a deployment that the Quality Control snap-in will use. If set to zero the snap-in will use all the resources available.

This property and the intra.thread property for the snap-in must be set to the same value.

qc.snapin.target.devicecpu or gpu for a GPU-specific deploymentThe target processor type for the Quality Control snap-in.
voice.replay.transform.configclasspath:voice-replay-transform-config.xml

The location of the file containing the input data template for the Replay snap-in.

This property must not be altered.

voice.replay.init.configclasspath:voice-replay-transform-init.xml

The location of the file containing the input data template for the Replay snap-in.

This property must not be altered.

replay.snapin.num.intra.thread0

Defines the maximum number of CPUs in a deployment that the Replay snap-in will use. If set to zero the snap-in will use all the resources available.

This property and the inter.thread property for the snap-in must be set to the same value.

replay.snapin.num.inter.thread0

Defines the maximum number of CPUs in a deployment that the Replay snap-in will use. If set to zero the snap-in will use all the resources available.

This property and the intra.thread property for the snap-in must be set to the same value.

replay.snapin.target.devicecpu or gpu for a GPU-specific deploymentThe target processor type for the Replay snap-in.
snapins.td.mode

A flag which, if set to true or false, determines whether the snap-ins will run in Text-Dependent mode.

A text dependent mode parameter may be supplied in the audio analysis API. If supplied, the value in the request will override whatever value is configured here.

This setting is only required if the audio supplied to the snap-ins is a one-off spoken phrase and not part of an audio stream. If set to true the snap-ins will trim silence from the start and end of the audio before processing.

trustx.proxyHostConfigure the host as a string value for the VCDx proxy.
trustx.proxyPortConfigure the port number as an integer value for the VCDx proxy.

VGSx Tester Properties

PropertyDefault ValueDescription
server.port8080The HTTP port on which the service will listen for REST requests.
server.ssl.enabledfalseWhether SSL is enabled for requests to this service. If true the additional SSL parameters below must be provided.
server.ssl.ciphers

TLS_AES_256_GCM_SHA384,

TLS_AES_128_GCM_SHA256,

TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,

TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

Supported SSL ciphers
server.ssl.enabled-protocolsTLSv1.1,TLSv1.2,TLSv1.3Support SSL protocols
server.ssl.key-storeNoneThe location of the Keystore file with the public/private key pair and certificate for TLS.
server.ssl.key-store-passwordNoneThe password to the TLS Keystore.
server.ssl.keyStoreTypeNoneThe type of the TLS Keystore, for example JKS or PKCS12
server.ssl.keyAliasNoneThe alias of the public key in the TLS Keystore
tomcat.useCipherSuiteOrdertrue
  • true: Tomcat enforces the server's preferred order of cipher suites during SSL/TLS handshakes.
  • false: The client’s preferred order of cipher suites is used during SSL/TLS handshakes.
logging.configfile:${CONF_DIR}/log4j2.xmlThe location of the log file.
logging.level.com.daon.sentinel.vgsINFOThe log level for the Daon classes within the service.
logging.level.org.springframework.securityINFOThe log level for the Spring Framework security classes within the service.
logging.level.org.springframework.webINFOThe log level for the Spring Framework web classes within the service.
cors.allowed.origins

http://localhost:5173,

http://localhost:8080,

http://localhost:8081,

https://sentinel-webapp-test.identityx-cloud.com, https://sentinel-vgsx-tester-test.identityx-cloud.com, https://sentinel-vgsx-test.identityx-cloud.com

The list of origins that are permitted to make cross-origin requests to the server.
spring.jackson.default-property-inclusionNON_NULLControls the inclusion of properties during serialization. Configured with one of the values in Jackson's JsonInclude.Include enumeration.
spring.main.banner-mode'off'Controls whether the banner is displayed at startup and can be set to off, console, or log.
spring.mvc.async.request-timeout3600000Sets the amount of time in milli-seconds before asynchronous requests time out. This property defaults to a high value to ensure that the streaming API doesn’t disconnect due to a time-out when streaming long files.
spring.mvc.pathmatch.matching-strategyant-path-matcher

Configures the strategy used for matching URL paths to controller methods.

This property must not be altered.

spring.profiles.activeprod

Specifies the profiles that are currently active, allowing for different configurations to be used based on the environment.

This property must not be altered.

springdoc.packagesToScancom.daon.sentinel.vgs.controller

Specifies the packages to be scanned for API documentation generation using Springdoc OpenAPI.

This property must not be altered.

springdoc.pathsToMatch/**

Specifies the URL paths to be included for API documentation generation using Springdoc OpenAPI.

This property must not be altered.

call.manager.any.call.interval7200The maximum time in seconds that information about any call with a status other than ENDED is persisted within the VGSx Tester after the time the call was last updated.
call.manager.ended.call.interval900The maximum time that a call with a status of ENDED is persisted within the VGSx Tester after the call was last updated.
call.manager.sleep.interval1000How often in milliseconds does the call manager perform a call clean-up operation.
sentinel.vgs.host.namesentinelVGSTester

The value of the hostname parameter that is sent to VGSx when starting and stopping a call. This identifier is used by VGSx to reference the callback URL for streaming audio as described above in this document, here: https://daon.atlassian.net/wiki/spaces/SKY/pages/edit-v2/3616473145#Orkaudio-Server-Locations

If this property is altered, the corresponding orcx.live_streaming_url_{name} property in VGSx must be altered. The {name} part of this property must match the hostname supplied by the VGSx Tester.

sentinel.vgs.prem.call.command.path/orktrack/command

The path to the API in the on-premise VGSx which is used to announce when a call is started or stopped by the VGSx Tester.

This property must not be altered.

sentinel.vgs.prem.domainhttp://localhost:9003The domain of the on-premise VGSx service to which this VGSx Tester announces calls.
sentinel.vgs.test.s3.supportfalse

Whether S3 can be used a repository for audio files.

This property must not be altered.

On-premise deployments do not support S3 as a repository for audio files, only a local file system or (S)FTP server.

sentinel.vgs.test.build.versionVersion specific

The build version reported by the ping API.

This property must not be altered.

sentinel.vgs.test.service.nameSentinel VGS Tester

The service name reported by the ping API.

This property must not be altered.

sentinel.vgs.test.ftp.passwordNoneThe password used by VGSx Tester when fetching a file from an FTP server.
sentinel.vgs.test.ftp.usernameNoneThe username used by VGSx Tester when fetching a file from an FTP server.
sentinel.vgs.test.sftp.passwordNoneThe password used by VGSx Tester when fetching a file from an SFTP server.
sentinel.vgs.test.sftp.usernameNoneThe username used by VGSx Tester when fetching a file from an SFTP server.
sentinel.vgs.trustx.deploymentfalse

Configures whether this is an on-premise or TrustX deployment. The default of value of false indicates that this is an on-premise deployment.

This property must not be altered.

sentinel.vgs.trustx.call.command.path/sentinelVGS/orktrack/command

The path to the TrustX API in VGSx which is used to announce when a call is started or stopped by the VGSx Tester.

By default an on-premise deployment of VGSx Tester will use the sentinel.vgs.prem.call.command.path property to identify this endpoint. To target a VGSx deployed in TrustX and use this property, the start call API request must contain a vgsDeploymentType of TRUSTX.

sentinel.vgs.trustx.domain

https://${sentinel.vgs.trustx.tenant}

.${sentinel.vgs.trustx.region}

.trustx.com

The domain of the TrustX VGSx service to which this VGSx Tester announces calls.

By default an on-premise deployment of VGSx Tester will use the sentinel.vgs.prem.domain property to identify this endpoint. To target a VGSx deployed in TrustX and use this property, the start call API request must contain a vgsDeploymentType of TRUSTX.

sentinel.vgs.trustx.tenantNoneThe tenant ID of the TrustX VGSx service.
sentinel.vgs.trustx.regionNoneThe region of the TrustX VGSx service.
sentinel.vgs.webClient.readTimeoutInSeconds20Read time-out in seconds for the connection from the VGSx Tester to VGSx to announce calls.
sentinel.vgs.webClient.writeTimeoutInSeconds20Write time-out in seconds for the connection from the VGSx Tester to VGSx to announce calls.
sentinel.vgs.webClient.connectTimeoutMillis5000Connection time-out in milliseconds for the connection from the VGSx Tester to VGSx to announce calls.
streaming.threadpool.core.pool.size10

The core size of the thread pool used for handling audio streaming calls, determining the number of threads kept in the pool even when they are idle.

The streaming.threadpool properties define how many calls can be streamed from the VGSx Tester simultaneously.

streaming.threadpool.max.pool.size10The maximum size that the thread pool for handling audio streaming calls is allowed to reach, governing the upper limit of concurrent threads available for handling streaming operations.
streaming.threadpool.queue.capacity-1

Defines the capacity of the queue used by the thread pool for handling audio streaming calls to hold tasks that are awaiting execution when all threads are busy. This capacity determines how many tasks can be queued before additional tasks are rejected or handled according to the configured rejection policy.

The default value of -1 means that there is no limit on the number of tasks that can be queued, allowing tasks to wait indefinitely until a thread becomes available to execute them.

streaming.threadpool.allow.core.thread.timeoutfalse

Determines whether the core threads in the thread pool for handling audio streaming calls are eligible for timeout and termination when idle.

  • Setting it to true allows core threads to timeout and terminate when they have been idle for a certain period.
  • Setting it to false prevents core threads from timing out and ensures they remain alive even when idle.
streaming.threadpool.keep.alive.seconds-1

The amount of time that excess threads (those beyond the core pool size) in the thread pool for handling audio streaming calls remain alive when idle before they are terminated.

The default value of -1 means that excess threads in the thread pool will not be terminated due to idleness. In other words, there is no specific timeout period set for these threads, and they will remain alive indefinitely until either the application shuts down or the thread pool configuration changes.

Type to search, ESC to discard
Type to search, ESC to discard
Type to search, ESC to discard