# CVG 1.7.0 (25-Jan-2021) We start the new year with a new feature that is indispensable in the contact center environment: **voice recordings**. Voice recordings enable the follow-up analysis of the conversation, e.g. for optimization of speech recognition and dialog design. In certain cases, recordings are also required to comply with the duty of proof. ![Recordings now available with CVG](microphone.jpg) ## Voice Recordings Dialogs between caller and voicebot can now be recorded completely or in excerpts. ### Legal Disclaimer Please note that it is the responsibility of the API user to ensure that recording the participants of the call is legal according to the privacy laws and regulations that apply in the respective country. ### Dual Channel Recordings Our recordings are **dual channel recordings** (aka **stereo call recordings**), in which both parties are captured in separate audio channels. Dual channel recordings are most essential for speech analytics systems. With dual channel recordings, the transcription engine can easily isolate the customer’s voice and run analytics against that audio stream alone to get the unique customer intelligence you need. In addition, it is also easier to listen to dual channel playback, e.g. the human caller's voice comes from the left and the bot's voice comes from the right on your stereo headset. ### Enabling / Disabling Recording Feature Recordings can be enabled / disabled on all hierarchy levels: reseller, customer, account, project. Reordings need to be enabled on all levels to be available, and each level defines the maximum retention time that is available for its children. When enabling recordings also the retention time can be configured. Recordings are automatically deleted by CVG after the retention period has expired. Please download the recordings in case you need them beyond this. ![Enabling Recordings](recording-retention-time.gif) Contact us if you need to enable recordings for your project. ### Starting and stopping a Recording CVG never starts a recording without a command of the API user (bot). We always follow the principle "the bot is in control". To start or resume a recording a new endpoint is available, [`/call/recording/start`](/specs/?urls.primaryName=Core%20API#/voice/startRecording). To stop or pause a recording use [`/call/recording/stop`](/specs/?urls.primaryName=Core%20API#/voice/stopRecording). ### Downloading and deleting a Recording Sometimes it can take a moment before the recording is available after a call has ended. Therefore, the bot-side endpoint [`/recording`](/specs/?urls.primaryName=Bot%20API%20(Client)#/bot/recording) is invoked as soon as the recording is available.

Hint

Don't forget to implement the /recording endpoint on your side if you are going to use the recording feature.

To download and delete the recording artifacts there is a new [Recording API](/specs/?urls.primaryName=Recording%20API). Use the `GET` verb on this [`/recording`](/specs/?urls.primaryName=Recording%20API#/recording/getRecordingArtifacts) endpoint of the Recording API to recieve three download URLs: * **lossless**: Stereo recording in a lossless compressed format: [FLAC](https://xiph.org/flac). We recommend to use FLAC if you run speech analytics. * **lossy**: Stereo recording in a lossy compressed format: mp3. We recommend to use this format for archiving purposes (smaller file size). * **transcript**: The transcript of the recording as done during the call. Please note that the format of this transcript file is beta and could be subject to change. Once the recordings are downloaded you can use the `DELETE` verb on the `/recording` endpoint to remove the recording, otherwise the recording will be stored until the retention period configured on the project expires. ### Listening to a Recording in CVG Console Beyond downloading recordings via our [Recording API](/specs/?urls.primaryName=Recording%20API) you can also listen to recordings in our CVG Console: Select the project with recordings, click on "Dialogs History" and load some results. Dialogs with voice recordings have "Play" (▶) and "Add to Playlist" (+) buttons in the new "Recording" column. ![CVG Dialogs History with Recordings](dialog-history-with-recordings.png) To start listening to a voice recording press the "play" button (▶). On the bottom right a small player appears and plays the selected recording. ![CVG Player for Recordings](recording-player.png) To add a recording to the playlist press the "add to playlist" button (+) ### New Recording Filters for Dialogs History To easily find dialogs with voice recordings, two new filters have been introduced on the Dialogs History page: * **Recording Status**: Status can be "Recorded" (and recording is available), "Recording Deleted" or "Not Recorded". * **Recording Duration**: To filter for recordings with a specific duration, e.g. less than one minute. ![CVG Recording Filters in Dialogs History](recording-filters-in-dialog-history.png) ### Encrypted storage of Recordings All recordings are stored encrypted on our side. ## Smaller Improvements ### APIs: New Parameter callType for /session Endpoint To easily identify if a call is an incoming call (`INBOUND`), an incoming call that has been provisioned before (`INBOUND_PROVISIONED`), or an outgoing call (`OUTBOUND`) a new parameter `callType` has been introduced for the [`/session`](/specs/?urls.primaryName=Bot%20API%20(Client)#/bot/session) endpoint.

Reminder

You as a bot developers should configure your JSON parsers to accept unknown properties, as addition of new fields is not considered a breaking change.

### UI: Links to filter settings Did you event want to send a link of filtered dialogs (in Dialogs History) to your colleague? If your colleague has the right to access the project in CVG it's possible now: Just configure the filters as needed, check the results, then copy and send the URL. ### UI: Icons in Dialogs History For a better overview at a quick glance some values in the Dialogs History are now shown as icons instead of plain text.