Alta Voce Internal Documentation
Home
  • English
  • Français
Home
  • English
  • Français
  • Home
  • Working at Alta Voce

    • Overview
    • Team and Responsibilities
  • Webservices and APIs

    • Introduction
    • Database Architecture (MySQL)
    • Alta Call devices selection flow
    • Alta Call Issues and Incidents Nomenclature
    • Process to measure the consumption of client for Alta Call
    • Telemetry and Storage Analysis
    • DevOps, CI/CD Pipelines & Runbooks
  • Alta Call Applications

    • Overview
    • Backend Administration Platform (admin-alta.alta-voce.tech)
    • Client Workspace & Dashboard (client-alta.alta-voce.tech)
    • Client Frontend — Auto-generated Reference (client-alta)
    • Plugin Alerts
  • AI Services

    • AI Services
    • ia-altavoce.tech
    • incident.altavoce.tech

Database Architecture (MySQL)

1. Overview

The Alta Call ecosystem relies on a unified MySQL relational database backend. This database orchestrates client organizations, licenses, real-time diagnostic telemetries, consolidated audio quality analysis (Business Intelligence), and automated issue detection.

This document serves as the official reference for the database schema, covering the entity-relationship model, tables dictionaries, and physical indexing optimizations.


2. Entity-Relationship Model (ERD)

The following entity-relationship diagram illustrates the primary tables managed by the Laravel backend and their operational relationships:

classDiagram
    direction LR
    class clients {
        int id PK
        string name
        string email
        string vat_number
        json config
    }
    class groups {
        int id PK
        int client_id FK
        string name
    }
    class users {
        int id PK
        int group_id FK
        string name
        string email
        string vmo_user_id
        int audiostream1_id FK
    }
    class licenses {
        int license_id PK
        int group_id FK
        string licenses_key
        bool valid
    }
    class machines {
        int id PK
        int group_id FK
        string vmo_machine_id
        string computer
        string version
    }
    class telemetries {
        bigint id PK
        int client_id FK
        int user_id FK
        string process_id
        datetime date
        json payload
    }
    class users_summaries {
        bigint id PK
        int user_id FK
        string transfo_mode
        date date
        float duration
    }
    class machines_issues {
        bigint id PK
        int machine_id FK
        string issue_code
        datetime first_update
        datetime last_update
        string var1
    }
    class audiodevices {
        int id PK
        string name
        string type
    }
    class audiostreams {
        int id PK
        int device_capture_id FK
        int device_playback_id FK
        float duration
    }

    clients "1" --> "0..*" groups : owns
    groups "1" --> "0..*" users : contains
    groups "1" --> "0..*" licenses : assigns
    groups "1" --> "0..*" machines : registers
    users "1" --> "0..*" telemetries : generates
    users "1" --> "0..*" users_summaries : owns
    users "0..1" --> "0..*" audiostreams : uses
    machines "1" --> "0..*" machines_issues : undergoes
    telemetries "0..1" --> "0..*" machines_issues : triggers
    audiostreams "0..1" --> "1" audiodevices : captures
    audiostreams "0..1" --> "1" audiodevices : plays

3. Comprehensive Database Dictionary

This section details the technical role, SQL types, and column properties of each key table in the database:

3.1. Table clients (Organizations)

Represents the corporate organizations subscribing to Alta Voce services (e.g. contact centers).

Column NameSQL TypeNullableKeyFunctional Description
idBigIntNoPKUnique client organization ID.
account_idBigIntYesIndex / FKAssociated billing account ID.
nameVarchar(255)YesIndex / FKLegal entity / company name.
first_nameVarchar(255)Yes-Main contact person first name.
last_nameVarchar(255)Yes-Main contact person last name.
emailVarchar(255)NoUniquePrimary administrative email address.
auto_invoiceTinyInt (Bool)No-Flag indicating if automatic invoicing is enabled.
email_billingVarchar(255)Yes-Dedicated billing invoice email.
creation_dateTimestampNo-Original historical creation date.
configJsonYes-Global tenant settings, SLAs, and security configurations.
address_idBigIntYesIndex / FKAssociated physical address ID.
vat_numberVarchar(255)YesIndex / FKIntracommunity VAT registration number.
created_atTimestampYes-Record creation timestamp.
updated_atTimestampYes-Record last update timestamp.
group_idBigIntYesIndex / FKAssociated team/group ID.

3.2. Table groups (Teams / Departments)

Under a client account, users are categorized into logical teams or business departments.

Column NameSQL TypeNullableKeyFunctional Description
idBigIntNoPKUnique group department ID.
nameVarchar(255)No-Department/Team label name.
client_idBigIntNoIndex / FKAssociated tenant client account ID (clients.id).
creation_dateTimestampNo-Original creation timestamp.
created_atTimestampYes-Record creation timestamp.
updated_atTimestampYes-Record last update timestamp.

3.3. Table users (Agents and Supervisors)

Contains credentials, session statuses, and configuration parameters of final users.

Column NameSQL TypeNullableKeyFunctional Description
idBigIntNoPKUnique system user ID.
vmo_user_idVarchar(255)YesIndex / FKClient desktop application generated secure UUID.
nameVarchar(255)YesIndex / FKCurrent active Windows username of the agent.
first_updateDatetimeYes-Timestamp of the first signal received.
last_updateDatetimeYes-Timestamp of the last signal received.
transfo_applied_atDatetimeYes-Voice transformation application timestamp.
transfo_applied_idIntYes-Applied transformation algorithm ID.
country_codeVarchar(10)Yes-Country code (e.g. FR, US).
machine_id_lastBigIntYesIndex / FKLast known physical machine ID for this user.
audiostream1_idBigIntYesIndex / FKActive real-time audio stream ID (audiostreams.id).
statusVarchar(50)YesIndex / FKCurrent operational or technical status.
ui_lockedTinyInt (Bool)No-True if the client user interface is administrative locked.
timezoneVarchar(50)Yes-Timezone configuration.
configJsonYes-JSON configuration payload.
metadataJsonYes-Additional JSON metadata parameters.
abtest_idBigIntYesIndex / FKCurrent A/B Testing campaign ID.
last_params_tuningDatetimeYes-Date of the last algorithmic parameter tuning.
group_idBigIntYesIndex / FKAssociated team department ID (groups.id).
created_atTimestampYes-Record creation timestamp.
updated_atTimestampYes-Record last update timestamp.

3.4. Table machines (Workstations inventory)

Stores physical computers and hosts that have run and registered an Alta Call instance.

Column NameSQL TypeNullableKeyFunctional Description
idBigIntNoPKUnique machine record ID.
vmo_machine_idVarchar(255)NoIndex / FKHardware calculated unique machine UUID.
web_ip_addressVarchar(15)Yes-Public Web IP address.
local_ip_addressVarchar(15)Yes-Workplace local IP address.
first_updateDatetimeYes-First signal or update timestamp.
last_updateDatetimeYes-Last telemetry signal timestamp.
country_codeVarchar(4)YesIndex / FKCountry code (e.g. FR, US).
cityVarchar(255)Yes-Associated city.
lockedTinyInt (Bool)Yes-Administrative lock status (1 = locked).
osVarchar(255)Yes-Operating system label.
os_versionVarchar(255)Yes-Operating system version.
cpu_modelVarchar(255)Yes-Hardware physical CPU processor model.
cpuDouble(8,2)Yes-Process specific CPU consumption.
cpu_machineDouble(8,2)Yes-Global machine CPU consumption.
memoryIntYes-Available or consumed Random Access Memory (RAM).
nbrunningprocIntYes-Number of Alta Call processes currently executing.
refreshdevicelistnbcallsIntYes-Number of device manager list refreshes.
process_id_lastBigIntYesIndex / FKLast active Alta Call process UUID.
session_id_activeVarchar(255)Yes-Active Windows session ID.
audiostream1_idBigIntYesIndex / FKPrimary open audio stream ID.
statusIntYesIndex / FKTechnical operational status (1 = active, 0 = issue).
configJsonYes-JSON configuration payload.
hostnameVarchar(255)YesIndex / FKNetwork hostname (computer name).
group_idBigIntNoIndex / FKParent team department ID (groups.id).
license_idBigIntYesIndex / FKAssigned license ID.
created_atTimestampYes-Record creation timestamp.
updated_atTimestampYes-Record last update timestamp.

3.5. Table licenses (Authentication Keys)

Stores client access tokens validating workstation connection to the backend.

Column NameSQL TypeNullableKeyFunctional Description
idBigIntNoPKUnique identifier (Primary Key).
license_idVarchar(36)NoUniqueUnique license key ID.
licenses_keyVarchar(36)NoUniqueMD5/UUID key validated during client handshake.
validTinyInt (Bool)No-Subscription validity flag (1 = valid, 0 = revoked).
userVarchar(255)Yes-Associated agent name (if dedicated key).
fancynameVarchar(255)Yes-Convivial tag label for support desk search.
added_onTimestampNo-Key provisioning date.
group_idBigIntNoIndex / FKAssociated team department ID (groups.id).
account_idBigIntYesIndex / FKAssociated billing account ID.
client_idBigIntYesIndex / FKAssociated client organization ID.
created_atTimestampYes-Record creation timestamp.
updated_atTimestampYes-Record last update timestamp.

3.6. Table telemetries (Raw Diagnostic Reports)

Stores raw and filtered telemetry reports received from client instances.

Column NameSQL TypeNullableKeyFunctional Description
idBigIntNoPKSequential unique telemetry record ID.
appnameVarchar(255)Yes-Client software name (e.g., alta-call).
versionVarchar(255)Yes-Active software version at submission time.
process_idVarchar(36)YesIndex / FKEmitting desktop process UUID.
dateDatetimeYesIndex / FKPrecise diagnostic packet collection timestamp.
cp_nbrunningprocIntYes-Number of Alta Call processes in active Windows session.
payloadLongText (JSON)No-Cleaned telemetry JSON fields (see Telemetry docs).
payload_originalJsonYes-Full backup copy of the raw JSON payload before optimization.
client_idBigIntYesIndex / FKTenant organization ID (clients.id).
user_idBigIntYesIndex / FKCaller agent ID (users.id).
first_for_dateTinyInt (Bool)Yes-Flag indicating first telemetry packet received for this date.
last_for_dateTinyInt (Bool)Yes-Flag indicating last telemetry packet received for this date.
created_atTimestampYes-Record insertion timestamp.
updated_atTimestampYes-Record last update timestamp.

3.7. Table users_summaries (Daily BI Consolidated Reports)

Calculated daily summaries used for Business Intelligence and invoicing reports.

Column NameSQL TypeNullableKeyFunctional Description
idBigIntNoPKSequential unique summary ID.
user_vidVarchar(255)Yes-Associated agent device view ID.
user_idBigIntNoIndex / FKAgent user ID (users.id).
process_idBigIntYesIndex / FKProcess ID from telemetries.
versionVarchar(255)Yes-Active client software version.
process_first_updateDatetimeYes-First update timestamp for the process.
nb_telemetriesSmallintYes-Quantity of raw telemetry payloads received on this day.
session_is_activeTinyInt (Bool)Yes-Whether the session was active during consolidation.
session_is_lockedTinyInt (Bool)Yes-Whether the session was locked during consolidation.
nbrunningprocs_meanDouble(8,2)Yes-Mean number of running processes on the machine.
is_upTinyInt (Bool)Yes-Heartbeat is-up consolidation status flag.
dateDateNoIndex / FKCalendar day tracked by this consolidation.
transfo_idBigIntYesIndex / FKApplied transformation ID (transfos.id).
transfo_modeVarchar(40)Yes-Applied speech enhancement transformation mode (SMA, VMO, STP).
transfo_paramsVarchar(255)Yes-JSON serialized parameters of applied transformation.
audio_paramsTextYes-JSON serialized audio settings.
time_startDatetimeYes-Stream active period start time.
time_endDatetimeYes-Stream active period end time.
durationDouble(8,2)Yes-Cumulative voice conversation talking time (seconds).
abtest_idBigIntYesIndex / FKCampaign test ID if user is enrolled in AB Test.
abtest_label_idBigIntYesIndex / FKCampaign test label group ID if user is enrolled.
device_capture_nameVarchar(255)Yes-Active input microphone device name (e.g. Jabra Headset).
device_playback_nameVarchar(255)Yes-Active playback speaker/headphones device name.
device_capture_idBigIntYesIndex / FKID of capture device directory.
device_playback_idBigIntYesIndex / FKID of playback device directory.
virtdev_out_appnameVarchar(255)Yes-Hooked communications application (Zoiper, Teams, Genesys).
audio_statesVarchar(1024)Yes-List of audio state changes recorded.
audio_stateVarchar(3)Yes-Last audio state (RUN, STP, LOD, FAI, CRA).
audio_featuresTextYes-JSON features of audio quality.
stat_f0_medianDouble(8,2)Yes-Median vocal fundamental frequency in Hz (Pitch).
stat_f0_iqrDouble(8,2)Yes-Interquartile range of vocal fundamental frequency.
stat_inputvoiceddb_medianDouble(8,2)Yes-Median input voice power in decibels (dB).
stat_inputunvoicedlowdb_medianDouble(8,2)Yes-Median input voice power for low unvoiced segments (dB).
created_atTimestampYes-Record creation timestamp.
updated_atTimestampYes-Record last update timestamp.

3.8. Table machines_issues (Incident Records Log)

Automated diagnostics registry tracking workstations hardware and audio failures. Resolved issues are deleted by the background cleanups.

Column NameSQL TypeNullableKeyFunctional Description
idBigIntNoPKUnique incident record ID.
machine_idBigIntNoIndex / FKAssociated physical computer ID (machines.id).
first_updateDatetimeYes-Incident discovery opening timestamp.
last_updateDatetimeNo-Latest anomaly packet timestamp.
issue_codeVarchar(32)No-Technical anomaly label code (e.g., HIGH_LATENCY).
var1Varchar(255)Yes-Optional auxiliary string diagnostic parameter.
created_atTimestampYes-Creation date.
updated_atTimestampYes-Last modification date.

3.9. Table audiodevices (Hardware Specifications Directory)

Directory listing all peripheral models and physical headsets detected on hosts.

Column NameSQL TypeNullableKeyFunctional Description
idBigIntNoPKDevice directory entry ID.
nameVarchar(255)No-Exact hardware driver peripheral name (e.g. Jabra BIZ 2400 II).
typeVarchar(24)Yes-Device category: capture (microphone/input) or playback (headphones/speakers/output).
insIntNo-Number of input channels on the device (microphone inputs).
outsIntNo-Number of output channels on the device (speaker outputs).
descr_jsonJsonYes-Extended hardware descriptor as JSON: supported audio APIs (WASAPI, DirectSound), sample rates, channel layout, and driver metadata.
md5Varchar(32)NoIndex / FKMD5 hash of the device name used as a deduplication key to avoid duplicate entries for the same physical hardware model.
created_atTimestampYes-Record creation timestamp.
updated_atTimestampYes-Record last update timestamp.

3.10. Table audiostreams (Active Pipeline Streams)

Represents the active voice transformations and diagnostic variables of streams.

Column NameSQL TypeNullableKeyFunctional Description
idBigIntNoPKUnique stream instance ID.
last_updateDatetimeNoIndex / FKTimestamp of the last received telemetry diagnostic for this stream.
uptimeIntYes-Cumulative uptime of the audio stream in seconds since last start.
transfo_idBigIntYesIndex / FKActive voice transformation preset ID (transfos.id).
transfo_modeVarchar(40)Yes-Active transformation mode: SMA (Smile), VMO (Voice), STP (Stopped), or MANUAL.
full_latencyDouble(8,2)Yes-Total round-trip audio processing latency in milliseconds (capture → transform → playback).
voice_levelDouble(8,2)Yes-Real-time input voice power level in decibels (dB).
noise_levelDouble(8,2)Yes-Real-time background noise floor level in decibels (dB).
proccomptimeframe_meanDouble(8,2)Yes-Mean processing computation time per audio frame (milliseconds) — measures DSP processing load.
proccomptimeframe_maxDouble(8,2)Yes-Maximum observed processing computation time per audio frame (milliseconds).
ptcomptimeframe_meanDouble(8,2)Yes-Mean pitch transformation computation time per frame (milliseconds).
ptcomptimeframe_maxDouble(8,2)Yes-Maximum pitch transformation computation time per frame (milliseconds).
framesize_maxIntYes-Maximum audio buffer frame size in samples observed during the stream session.
backend_xrunsIntYes-Number of audio buffer underruns/overruns at the WASAPI backend level — indicates audio dropouts.
vmo_xrunsIntYes-Number of buffer xruns at the Alta Call voice processing engine level.
catchupsIntYes-Number of timing catchup events: occurs when the processing engine falls behind real-time and must skip frames to re-sync.
device_capture_idBigIntYesIndex / FKActive microphone/input device ID (audiodevices.id).
device_playback_idBigIntYesIndex / FKActive headphones/speaker output device ID (audiodevices.id).
fsIntYes-Audio sample rate in Hz for this stream (e.g. 44100, 48000).
virtdev_out_appname_lastupdateDatetimeYes-Timestamp of the last detection of the connected softphone/communications application.
virtdev_out_appnameVarchar(255)Yes-Name of the softphone or communications application currently connected to Alta Call's virtual audio output (e.g. Zoiper5, Teams, Genesys).
created_atTimestampYes-Record creation timestamp.
updated_atTimestampYes-Record last update timestamp.

3.11. Auxiliary, Utility and Logging Tables

Outside of the primary telemetry and real-time audio pipeline streams, the MySQL database maintains several secondary tables dedicated to invoicing, security access logs, A/B Testing campaigns, and support telemetry logs.

Category A: Invoicing, Tariffs, and Consumption Logs

  • invoices: Register of generated monthly PDF client invoices, tracking payment statuses, dates, and amounts.
  • pricings and pricing_clients: Billing matrix tiers and custom pricing associations per client (billing cost calculated per second of transformed voice call).
  • daily_usages and monthly_usages: Consolidated transformed voice seconds and network bandwidth consumption pre-calculated daily and monthly per client.
  • accounts: Gandi or Stripe billing profiles bound to tenant subscriptions.
  • addresses: Physical street addresses linked to corporate client profiles.

Category B: A/B Testing Infrastructure and Settings

  • transfos: Available voice transformation algorithms and base configuration presets (e.g. SMA Smile preset configurations).
  • abtest_transfos: Pivot table associating an A/B test campaign to target voice presets.
  • labels: Skill tags (e.g. "Language - German", "Support Team") assignable to agents to narrow down targeted testing groups.
  • user_labels: Pivot table mapping users (users) to their respective skill tags (labels).

Category C: Systems Diagnostics and Application Loggers

  • processes2: Live tracking registry of all running Alta Call client processes across workstations (used for concurrent multiple-instance checks).
  • telemetry_incidents: Aggregate registry of critical anomalies triggering immediate email alert logs to administrators.
  • altacall_log_entries and altacall_log_records: Core diagnostic debug trace files sent periodically by desktop clients when encountering exceptions or application failures.
  • plugin_logs: Event registry sent by softphones integrations modules.
  • events: System audit trail logs (e.g. "Audio pipeline started", "Microphone switched").
  • user_request_logs: HTTP request logs journal, used to secure API backends and enforce rate limiting.

Category D: Audio Metrics and Quality BI

  • audio_data: Metadata associated with sound record files collected for analysis.
  • recordings and recording_clients: Dynamic rules dictating when audio recordings should be enabled remotely for diagnostic purposes per client/group.
  • machine_summaries and user_daily_summaries: Daily calculated workstation and user KPIs enabling instant administration dashboard render speeds.
  • metrics and performance_metrics: Hardware diagnostic indicators (system latency, xruns count, process RAM).

Category E: Security Access, Versioning, and Notifications

  • access_attempts: Audit logs capturing login attempts to Laravel Filament dashboards (IP, credentials correctness) to secure against brute-force attacks.
  • api_keys: Client access tokens used by third party developers to securely request Alta Voce APIs.
  • impersonations: Administrative logs recording when an Alta Voce support user logs in as a tenant administrator.
  • configs: Global Laravel system configuration settings (e.g. mandatory minimum software version).
  • software_versions: Registry of published desktop versions detailing download links used by the auto-update services.
  • outdated_machines: Temporary monitoring list tracking physical computers running obsolete desktop versions.
  • notifications: User notifications dispatched to administrators.
  • suggestions: Workstation agent user feedback or technical ticket requests submitted directly from the desktop client.

4. Physical Recommendations & Indexing (MySQL)

[!IMPORTANT] Strategic Indexing for Business Intelligence & Diagnostics To secure response times below 100ms inside the Filament Admin dashboard and Customer Workspace portal, the following indexes are strictly recommended in production:

  1. Composite Index on telemetries:
    CREATE INDEX idx_telemetries_user_date ON telemetries (user_id, date);
    Why: Essential for rapid nightly consolidation of raw telemetry packets per caller agent.

  2. Composite Index on users_summaries:
    CREATE INDEX idx_users_summaries_date_user ON users_summaries (date, user_id);
    Why: Mandated to immediately load calling charts, duration graphs, and pitch statistics on Customer Client portals.

  3. Incidents lookup index on machines_issues:
    CREATE UNIQUE INDEX idx_machines_issues_lookup ON machines_issues (machine_id, issue_code);
    Why: Resolves immediate hardware health check diagnostics without scanning the complete incidents registry.

Edit this page
Last Updated: 7/1/26, 3:29 PM
Prev
Introduction
Next
Alta Call devices selection flow