LumenVox containerized microservices
At the heart of the LumenVox modern, cloud-native offering are the microservices in a containerized architecture.
This section provides insight into the various LumenVox containers which can be used for troubleshooting purposes.
The list of available of basic pods (containers) is:
- Admin-portal
- Archive
- Asr
- Audit
- Binary Storage
- Biometric-active
- Biometric-api
- Biometric-active
- Biometric-identity
- Configuration
- Deployment
- Deployment-portal
- Grammar
- ITN
- License
- LumenVox-api
- Management-api
- Neural-tts
- Persistent-volume-directory-setup
- Reporting
- Reporting-api
- Reporting-bio-api
- Resource
- Session
- Transaction
- Tts
- Vad
Admin-portal
This service manages the web portal for the cluster admin and supports the setup of each licensed tenant with their connection strings, encryption, and passwords to services and databases.
Archive
This is the archive manager. It is responsible for taking live session data from Redis and saving this to the PostgreSQL database. It is also responsible for supplying data from the database to the reporting API for retrieval by the client or LumenVox administration or deployment portals.
Asr
This is the ASR DNN engine. It is linked with the session manager, and it processes all ASR & Transcription transactions. Results are placed in Redis for retrieval. It receives messages from RabbitMQ on what audio needs to be processed. The latest version ships with our new DNN ASR engine providing better performance and accuracy. The new engine also offers enhanced features like aliases, dialect specific processing, improved scoring algorithm, enhanced transcription, phrase lists and weighting. The new engine is much faster utilizing less resources than its predecessor thus making scaling more manageable.
Audit
This service connects to audit database in PostgreSQL. This is used by the voice biometric services only. It is used to audit modifications to configurations the configuration, deployment, and biometric identity tables.
Binary Storage
Connects to MongoDB and reads/writes from/to the MongoDB. It is also responsible for the encryption/decryption of data stored within Mongo. This includes audio files and grammars.
Biometric-active
This is the Voice Biometric active DNN engine and is responsible for all active voice biometrics processing receiving requests from the biometric APIs
Biometric-api
This is the REST interface for active voice biometrics. It provides APIs for enrollment, verification, and identity management. This service talks to the deployment, configuration, binary service, active verifier and to lumenvox API services (for text validation).
Biometric-identity
Responsible for managing the identities for the active engine for voice biometrics. It is also responsible for maintaining the links between identities and enrollments.
Configuration
Responsible for managing the configuration for various deployments for voice biometrics only. It receives input via JSON. And manages the retrieval of enrollment and verification configurations from the PostgreSQL database.
Deployment
This service manages deployments within the cluster. For each deployment, it maintains the list of configurations and connection strings along with any other data specific to a deployment. It also handles encryption and encryption keys along with key rotation. The service is also used to manage the deployment e.g., create a new deployment Id, and export/import deployment information.
The cluster master key gets created when the deployment service starts for the first time and is stored in the database. The cluster master key is encrypted with the cluster GUID. The customer keys are then created for each deployment. These are encrypted using the cluster master key.
Deployment-portal
This service manages the web portal for the tenant admins. It facilitates the tenants to access their own deployment. The service supports the customization of configurations and manages the diagnostic tests.
Grammar manager
The new Grammar management service co-ordinates the grammar compilation, caching, parsing & DTMF processing for ASR & Transcription transactions. It is also instrumental in CPA & AMD transactions; grammar storage, retrieval & housekeeping and handling of global grammars and phrase lists.
ITN
This service manages all text normalization functions including inverse text normalization, punctuation & capitalization and redaction on Transcription interactions.
License
This service manages the licensing of the deployments. It validates each deployment against the LumenVox licensing server. The licensing service is responsible for making a deployment as valid, if not, the various APIs will not function.
It also collects counters for transactions for all products and communicates this to the centralized LumenVox licensing service for billing and product usage monitoring.
LumenVox-api
This service supports the Speech APIs made available to clients to process transactions for speech products including ASR, TTS, CPA and AMD using gRPC.
Management-api
This facilitates the use of the REST management APIs and is a wrapper around deployment and configuration services which allows customers to manage these.
Neural-tts
This is used for the new Neural DNN TTS available from October 2024.
Persistent-volume-directory-setup
This service is used to create the connection to the persistent volume. It is not a service that runs continuously. It is used to update resources e.g., DNN language models in the persistent storage.
Reporting
This service is used for voice biometrics to generate the reports and make the extracted data available to the reporting APIs
Reporting-api
This facilitates the speech reporting APIs using gRPC and is used for the Analysis portal.
Reporting-bio-api
This REST interface is used to connect to the reporting services and expose reports to the client for voice biometrics.
Resource
This service downloads the public language packs to the cluster for ASR, TTS, and voice biometrics. It stores the languages packs into the shared volume for the cluster and makes resources available to each service as needed.
Session
Currently used for speech products only. It manages the sessions and interactions and acts as a dispatcher between the LumenVox API service and other services.
Transaction
This service is responsible for writing voice biometric transactions into the database. Voice biometric sessions are stored in Redis until the session is completed, when the transaction service receives a message to retrieve data and write the session and transaction data to the PostgreSQL database. This service is also used for operations reporting where each API call to the biometric interface is logged as an operation and stored for audit purposes.
Tts
This is used for the legacy TTS engine.
Vad
This is the media service that manages the VAD algorithm and assists with transcription audio streaming.
LumenVox Microservices Diagram - the following is an architecture diagram that Includes all services.