CVG 1.43.0 (17-Sep-2024)

Since our last release in July, many internal changes have been happening to improve the robustness of our service.

Many of these changes concern our gradual move towards stricter authentication and authorization of all our endpoints, which will eventually allow for more granular control of access to CVG.

An important milestone in that journey has now been reached: general availablilty of service accounts.

Service Account Cover Picture

Service Accounts

Service accounts are credentials for machine-to-machine authentication. A typical use-case in CVG would be fetching CDRs using our CDR API, which always required strict explicit authentication.

Service accounts can be created for a single organization unit in CVG and the account has then access to all units below it. So for example a customer admin could create a service account for their customer “VIER GmbH”, which would then have access to the customer as well as all accounts and projects below it. Access management works exactly as it does for users, except that one service account can only have access to exactly one organizational unit.

The credentials linked to the service account (client_id and client_secret) must be used as part OAuth2’s Client Credentials Grant to perform the authentication and to obtain an access token that can be used to perform requests against CVG’s API.

The user interface has been extended to now also allow managing service accounts similar to how users have been managed before:

Service Accounts Overview

With a click on “Create Service Account” you get to the familiar form asking for a name of the account and which organization unit to grant access to.

Create Service Account

Once a name has been given and access has been selected, a dialog will present you the new credentials that must be stored securely before continuing. The full credentials will only displayed once. If you lose the credentials, the service account must be deleted and a new account must be created to replace it.

Service Account Secrets

Noteworthy Changes

Lots of smaller changes have happened as well, here some noteworthy ones.

ElevenLabs SSML Support

ElevenLabs’s SSML support is very limited and partially non-standard. At this point its support is incomplete enough, that we can’t reasonably offer it to our customers, however to not break applications that rely on SSML being available, we now apply SSML-stripping to ElevenLabs in the same way it is applied to OpenAI’s Text-to-Speech service.

Built-in Voicebox-to-Mail Bot Configuration Enhancements

You can now configure the built-in Voicebox-to-Mail bot using any custom data or custom SIP headers transferred by an upstream system. For instance, if a topic is sent as custom data field, you can set the email subject using the template: "subjectTemplate": "Received call about {topic} from {remote}".

To attach the audio recording (mp3) to the email, use the new parameter "attachmentMode": "FILE" within the custom configuration. By default, the "attachmentMode" is set to "NONE".

More Consistent API Error Responses

Some APIs produced inconsistent error responses in certain scenarios, which has been corrected.