Configuration overview

VoiceAI Connect administrative configuration is divided into bots and providers.

Providers configuration

A provider denotes configuration of a bot framework, speech-to-text service or text-to-speech service. If several such services use the same credentials, they can be configured using a single provider.

Each provider is identified by the name parameter, which must be unique in the VoiceAI Connect configuration. This name is used to associate bots configurations with the provider. Several bots configurations can be associated with the same provider.

For each provider, the type parameter must be set to specify the type of the provider.

The following table lists the provider's parameters that are commonly configured. A complete reference of all the parameters can be found in Providers parameters.

Parameter

Type

Description

name

String

Defines a unique name identifier of the specific provider.

This name is used by the provider, ttsProvider or sttProvider bot parameters for associating the bot with this provider (see Bots configuration).

Note: This parameter is mandatory.

type

String

Defines the name of the bot framework provider.

  • aws

  • azure

  • google

  • ac-api (applicable only to AudioCodes API, and Ideta bot framework)

  • ac-bot-api (deprecated)

  • yandex

  • membit

  • almagu

  • azure-mock (used only for AudioCodes internal testing)

  • nuance

  • nuance-grpc

Note: This parameter is mandatory.

credentials

Object

Contains the credentials for accessing the bot framework, speech-to-text or text-to-speech.

The parameter has the following optional fields:

  • accessKey (applicable only to AWS)

  • secretKey (applicable only to AWS)

  • key (applicable only to Azure or Yandex speech services).

  • privateKey (applicable only to Google Dialogflow)

  • clientEmail (applicable only to Google Dialogflow)

  • token (applicable only to Membit or AudioCodes Bot API)

  • overrideAccessToken (used only for internal AudioCodes testing)

  • oauthClientId: The Client ID provided by the API for OAuth 2.0 authorization. This is mandatory if the oauthTokenUrl parameter is configured. This parameter is applicable only to the Audiocodes Bot API.

  • oauthClientSecret: The Client secret provided by the API for OAuth 2.0 authorization. This is mandatory if the oauthTokenUrl parameter is configured. This parameter is applicable only to the Audiocodes Bot API.

Instead of plain text, credentials can be encrypted and secured safely, as described in Secured key storage.

Bots configuration

A bot configuration denotes an association to a specific bot using the provided configuration.

Each bot is identified by the name parameter, which must be unique in the VoiceAI Connect configuration. This name is used to for matching of inbound and outbound calls.

If two separate configurations (e.g., different language) are required for a single bot, two separate bot configurations can be added for the same bot with a different name value.

Each bot should be associated with a provider configuration by specifying the name of the provider in the provider parameter. This provider configuration will be used for the bot framework and for speech-to-text and text-to-speech services. If a separate provider configuration is required for speech-to-text and text-to-speech services, their names can be specified in the sttProvider and ttsProvider parameters respectively.

The following table lists the bot's administrative parameters that are commonly configured. A complete reference of all the parameters can be found in Bots parameters.

Parameter

Type

Description

name

String

Defines the unique name of the specific bot (e.g., "MyServiceBot") for identification between the SBC and VoiceAI Connect (the name is not related to the name used in the bot framework).

For inbound calls, this name should be sent as the destination user by the SBC, for a call to be routed to the bot.

For outbound calls, this name should be specified in the dialout request.

Note: This parameter is mandatory.

providerBotName

String

Defines the bot name as defined in the bot framework provider.

Note: The parameter is applicable only to AWS or AudioCodes API.

botAlias

String

Defines the bot alias ID, which is used to identify the bot alias, as defined in the bot framework provider.

Note: The parameter is applicable only to Amazon Lex V2 (and is mandatory).

displayName

String

Defines the name of the bot that is displayed for easy identification in the VoiceAI Connect’s Web user interface.

Note: This parameter is mandatory (except when the isBase parameter is configured to true).

provider

String

Defines a name of a provider to be used for the bot service. This name references the name parameter of a provider configuration (see Providers configuration). This provider will also be used for text-to-speech and speech-to-text, unless the ttsProvider and sttProvider parameters respectively are configured.

Note: This parameter is mandatory (except when the isBase parameter is configured to true).

sttProvider

String

Defines a name of an speech-to-text provider to be used for the bot service. This name references the name parameter of a provider configuration (see Providers configuration).

Note: The parameter is used only if you want to use an speech-to-text provider that's different from the bot framework provider defined by the provider parameter (described in this table).

ttsProvider

String

Defines a name of a text-to-speech provider to be used for the bot service. This name references the name parameter of a provider configuration (see Providers configuration).

Note: The parameter is used only if you want to use a text-to-speech provider that's different from the bot framework provider defined by the provider parameter (described in this table).

credentials

Object

Defines the credentials associated with this bot configuration.

The parameter has the following optional fields:

  • botSecret (applicable only to Microsoft's Azure and Copilot Studio)

  • conversationProfileId (applicable only to One-Click Dialogflow and Google Agent Assist applications)

  • sendMetaDataUsername: Username for HTTP basic authentication. This parameter is applicable only if sendMetaDataUrl is configured.

  • sendMetaDataPassword: Password for HTTP basic authentication. This parameter is applicable only if sendMetaDataUrl is configured.

Instead of plain text, credentials can be encrypted and secured safely, as described in Secured key storage.

Example

The following shows a configuration example, where the bot named "test-bot" is associated to the "my-azure-provider" provider.

Provider:

{
  "name": "my-azure-provider",
  "type": "azure",
  "region": "westeurope",
  "credentials": {
    "key": "abcdefg"
  }
}

Bot:

{
  "name": "test-bot",
  "displayName": "My bot",
  "provider": "my-azure-provider",
  "credentials": {
    "botSecret": "1234567890"
  }
}