Skip to main content

ASR Instances

Configure automatic speech recognition (ASR) instances that transcribe audio captured by Ender Turing, including language, model size, the connector that feeds them, and external-ASR redirection. This article is automatically maintained (asr-instances).

Overview

An ASR instance is a single, configured speech recognition engine that turns audio into text inside Ender Turing. Each instance is tied to one language and one model size, runs against a specific data-source connector, and can be started or stopped independently.

Most setups need one ASR instance per language they want to transcribe. If a tenant only ingests English calls, one English ASR instance is enough; if calls come in English, Spanish, and German, you create one instance for each. You can also create several instances for the same language to use different model sizes or different connectors side by side.

For deployments that already run speech recognition elsewhere, an ASR instance can be configured in Redirect to external ASR mode instead. In that case Ender Turing forwards audio to a WebSocket URL you provide and does not start any local recognition containers.

ASR Instances is an on-premises configuration feature. On multi-tenant (cloud) deployments the tab is hidden, because the platform routes audio to shared, platform-managed recognizers automatically.

How It Works

Accessing ASR Instances

There are two ways to reach the ASR Instances tab, depending on what permissions you have:

  • Through the menu (requires System Configuration). Open Settings → System from the main navigation, then switch to the ASR Instances tab at the top of the System page. The Settings group and the System entry in the main navigation are both gated on the System Configuration permission, so users who only have ASR Configuration will not see them.

  • By direct URL (for ASR-only admins). Navigate to /main/settings/asr/all. The ASR Instances tab itself is gated only on ASR Configuration, so once the page is open the tab is visible even without System Configuration. The page also preloads the list of configured connectors when it mounts, and those connector endpoints require Integrations Configuration. Without that permission the connector store is empty, so the Connector dropdown on the create/edit form has no options, and existing ASR rows that reference a connector fail to render their Details column instead of just showing it empty. Grant Integrations Configuration alongside ASR Configuration for any role that needs to open or manage ASR instances through this direct-URL path.

The tab strip on the System page also exposes System, Speech Recognition Quality, and Anonymization alongside ASR Instances.

Who Can Use ASR Instances

Action

Who

See the ASR Instances tab on the System page

Users with the ASR Configuration permission on a non-multi-tenant deployment. On multi-tenant deployments the tab is hidden for everyone.

Open the list, create, edit, or delete an ASR instance

Users with the ASR Configuration permission, plus Integrations Configuration so the connector store loads (see direct-URL access). To create or edit, the role also needs one of the session-view permissions (View Sessions, View Team Sessions, or View Own Sessions) so the Language dropdown can populate.

Start or stop a recognition container from the Status column

Users with the ASR Configuration permission

Open the Configure ASR Routing dialog

Reserved for Ender Turing platform administrators — this control is hidden for regular tenant users, including organization admins

Heads-up on the Language dropdown. Populating the Language dropdown on the create/edit form calls the /asr/languages endpoint, which requires one of the session-view permissions (View Sessions, View Team Sessions, or View Own Sessions). For a role with ASR Configuration but no session-view permission the dropdown is empty and the form cannot be saved — grant one of those permissions alongside ASR Configuration if you need that role to create or edit instances.

What's on the ASR Instances Page

The page lists every ASR instance currently configured in the tenant in a single table. Each row shows:

  • Name — the label you gave the instance.

  • Language — the human-readable language name. If the underlying language code can no longer be resolved, the row shows Unknown <language code> instead (for example, Unknown en-US).

  • Size — the model size selected when the instance was created.

  • Status — one chip per recognition container. Each chip shows the container's service name, a colored dot for its run state, and a tooltip with the running/total container count.

  • Details — the connector this instance is bound to, including the connector type and any preview fields exposed by that connector. A small open-in-new icon next to the connector name jumps to the corresponding connector's edit page. For WebSocket connectors the row also displays the API URI used by clients to stream audio. If the instance is in redirect mode, the destination URL is shown under Redirect to.

  • Actions — edit (pencil) and delete (bin) icons for the instance.

Two buttons sit in the top bar of the page:

  • Create ASR — opens the create form.

  • Configure ASR Routing — opens a JSON editor for routing rules. This button is only visible to Ender Turing platform administrators.

Starting and Stopping Recognition Containers

The Status column doubles as a control surface. Clicking a chip starts or stops the underlying container:

  • A green dot means the container is running; clicking the chip stops the service.

  • A red dot means the container is stopped; clicking the chip starts the service.

  • An orange dot means the service is unhealthy: Docker reports a non-zero desired replica count, but not all replicas are running — and possibly none are (for example, when every replica has crashed). Clicking the chip stops the service so it can be restarted from a clean state.

After a click, the chip shows a spinner for a few seconds while the action is sent. The list also polls the cluster every five seconds to keep the status indicators up to date.

Instances configured in Redirect to external ASR mode do not run local containers, so they have no status chips to start or stop.

Creating an ASR Instance

  1. From the ASR Instances tab, click Create ASR.

  2. Fill in the form:

    • Name — the identifier you want this instance to carry in the list.

    • Language — pick the recognition language. The dropdown only lists languages whose models have already been downloaded on this deployment.

    • Size — choose a model size offered for the selected language. Switching the language refreshes the list of valid sizes.

    • Redirect to external ASR — leave it unchecked for the standard, locally hosted recognizer. Check it if you want this instance to forward audio to an external ASR over WebSocket instead. The Size field disappears once you check this, because no local model is used. Pick a Size before checking this box. The form's validation rule for Size still applies even while the field is hidden; if you check Redirect to external ASR before choosing a size, Save silently does nothing — choose any size first, then check the redirect box.

    • External ASR URL — appears only when redirect mode is on. Enter the destination WebSocket URL.

    • Connector — pick a configured data-source connector. The dropdown lists every connector of category data source; CRM connectors are not eligible. If no connector is available, configure one first under Apps → Connectors.

    • Connector-specific fields — once you pick a connector, the form expands with extra fields that the connector type requires (for example a SIP prefix or a service code). Required fields are marked. Default values may be pre-filled, with string defaults templated from the selected language code, the model size, and the ASR instance ID. The instance ID only resolves to a real value when editing an existing ASR; on the create form it appears as the literal placeholder ID in any pre-filled default, so replace it manually before saving if the connector needs a real identifier there.

  3. Click Save.

A notification confirms the creation and the new instance appears in the list. Locally hosted recognizers show their initial Status chips immediately; instances created in Redirect to external ASR mode appear with no Status chips at all, because they do not run local containers.

Editing an Existing ASR Instance

Click the pencil icon in the Actions column to open the edit form. Most fields behave the same as on create, with two important exceptions:

  • The Redirect to external ASR checkbox is read-only on an existing instance. You cannot flip an instance from local recognition to external recognition (or back) after it has been created — instead, delete the instance and create a new one with the desired mode.

  • The Size field is only available when the instance was created in local-recognition mode. For redirect-mode instances it is hidden, since no local model is used.

Click Save to persist the changes. Saving updates the stored configuration record only — already-running recognizer containers keep their previous configuration until you stop and start them again from the Status column. If you edited connector-specific fields such as ASR_SIP_PREFIX, MRCP_LANG_CODE, or DIALPLAN, those values are also embedded in the connector container's environment, and the Status column on this page does not restart connectors — you must additionally restart the affected connector container from its own page under Apps → Connectors for the new values to take effect.

Deleting an ASR Instance

Click the bin icon in the Actions column. A confirmation page asks Are you sure you want to delete "<name>" instance? — click Yes, I'm sure to remove it, or use Cancel to go back.

Deleting an instance removes it from the list and stops its recognizer containers. The connector record itself is left in place, but the connector's container is recreated as part of the deletion so that its environment no longer carries the removed ASR's variables. Expect a brief interruption to audio ingestion through that connector while it restarts — schedule deletions of attached ASR instances accordingly.

Tips and Caveats

  • One language per instance. If you need to transcribe multiple languages, create one ASR instance per language.

  • Connectors must exist first. The Connector dropdown only shows already-configured data-source connectors. Set up the connector under Apps → Connectors before you create the ASR instance.

  • Redirect mode is set at creation. Choose carefully — the Redirect to external ASR checkbox is locked once the instance is saved.

  • Model availability depends on what's installed. Only languages that have a downloaded model on this deployment appear in the Language dropdown, and only sizes that are valid for the chosen language appear in Size.

  • Multi-tenant tenants do not see this tab. On cloud (multi-tenant) deployments the recognizer is managed at the platform level, so the ASR Instances tab is hidden and instance management is not available through the UI.

  • ASR Routing is a platform-level control. The Configure ASR Routing dialog lets Ender Turing platform staff steer audio between recognizers using a JSON rule list (for example, [{"filter": "agent_ids,2:*", "asr_id": 1}]). It is not part of regular tenant administration.

Did this answer your question?