> For the complete documentation index, see [llms.txt](https://atlas.anywhere.now/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://atlas.anywhere.now/set-up-dialogue-cloud-neo/prerequisites/azure-sql-databases/call-detail-records.md).

# Call Detail Records (CDR) database requirements

Database sizing, growth rates, and configuration requirements for the Call Detail Records (CDR) database.

The CDR database stores historical reporting data for legacy and transitional Connect deployments that still use customer-hosted CDR storage.

{% hint style="info" %}
**Availability by deployment path**

* **Existing customers upgrading to Dialogue Cloud Neo with Connect** can continue using their existing CDR database and Dialogue Insights.
* **Existing Connect Service/UCCs** cannot currently move to Unify. A new Unify deployment is not a conversion of the existing service.
* **New customers onboarding to Dialogue Cloud Neo** — Connect or Unify — do not receive a customer CDR database and use **Dialogue Insights** only.

Dialogue Insights uses CDR data hosted in Microsoft Fabric. It does not read from the customer's legacy CDR database; reports for that database remain Power BI-template based.
{% endhint %}

{% hint style="success" %}
**Before you begin:** This page applies only if your deployment already uses a customer-hosted CDR database. If it does, ensure an Azure SQL database is provisioned in the customer's Azure tenant with a minimum S1 tier (20 DTU). Confirm the NAT Gateway IP addresses for your deployment region with your AnywhereNow representative before starting. Allow approximately 15 minutes to configure requirements and firewall rules.
{% endhint %}

***

## Prerequisites

* Azure SQL database provisioned in the customer's Azure tenant
* SQL user account with `db_owner` role on the CDR database
* CDR database reachable from Dialogue Cloud regional IPs (see [firewall requirements](#firewall-requirements) below)

***

## Database requirements

| Requirement                     | Value                                                                                                      |
| ------------------------------- | ---------------------------------------------------------------------------------------------------------- |
| Minimum service tier            | **S1 (20 DTU — Database Transaction Units)** — recommended at project initiation; scale up as volume grows |
| Collation                       | `SQL_Latin1_General_CP1_CI_AS`                                                                             |
| MultipleActiveResultSets (MARS) | **`False`**                                                                                                |
| Authentication                  | SQL authentication or Microsoft Entra ID authentication                                                    |

{% hint style="warning" %}
**Password character restrictions**: the SQL user password must not contain characters that require escaping in a connection string (for example, semicolons, equals signs, or single quotes). Use a complex alphanumeric password with standard special characters only.
{% endhint %}

For legacy and transitional Connect deployments that still use a customer-hosted CDR database, `UseCallDetailRecording` controls whether call details are collected for reporting. Default `True`. Keep this setting in the approved reporting setup for the environment; new Dialogue Cloud Neo deployments use Dialogue Insights instead of a customer CDR database.

In these legacy and transitional environments, `CDRConnectionString` identifies the SQL connection used by the UCC Core service for CDR reporting data. Treat the connection string as a secret or managed connection value. After changing it through the approved legacy SharePoint or OnePortal path for the environment, restart the UCC service so the change takes effect. Prefer Secure Vault for Azure SQL credentials where available.

### Firewall requirements

The CDR database must allow inbound connections from the Dialogue Cloud network address translation (NAT) gateway IP addresses for your deployment region. Add all IP addresses for your region to the Azure SQL database firewall. You do **not** need to add IP addresses from other regions.

NAT Gateway IP addresses are provided during your deployment engagement. Obtain the IP addresses for your deployment region from your AnywhereNow representative before configuring firewall rules.

{% hint style="warning" %}
Add only the IPs for your deployment region. If you are unsure which region your environment uses, confirm with your AnywhereNow representative before configuring firewall rules.
{% endhint %}

***

## Database size and growth

AnywhereNow has measured CDR database growth across representative test scenarios. Use these figures as a planning baseline.

**Test setup:** Single Unified Contact Center (UCC), audio calls, Dialogue Manager with Email Dialogue Provider. Newly created (dropped and recreated) database for each scenario. Measurements from SQL Server Management Studio (SSMS) "Disk Usage" and "Disk Usage by Table" standard reports.

{% hint style="info" %}
Extrapolated figures represent raw accrued data only. Log files and reserved space add further overhead. Control reserved space manually based on expected dialogue volume.

For autogrowth sizing guidance, see [Microsoft: Manage database file autogrowth](https://techcommunity.microsoft.com/t5/azure-sql-blog/how-to-manage-amp-measure-database-file-autogrowth-impact-on/ba-p/3242472).
{% endhint %}

| Scenario                                             | DB space used | Data files reserved | Transaction log reserved | Total reserved | Raw data delta | 1,000 dialogues (extrapolated) |
| ---------------------------------------------------- | ------------- | ------------------- | ------------------------ | -------------- | -------------- | ------------------------------ |
| Greenfield (0 dialogues)                             | 4.13 MB       | 8.00 MB             | 8.00 MB                  | 16.00 MB       | —              | —                              |
| After 10 basic audio calls                           | 8.56 MB       | 72.00 MB            | 8.00 MB                  | 80.00 MB       | 4.43 MB        | **\~447 MB**                   |
| After 10 email conversations (no attachments)        | 7.25 MB\*     | 72.00 MB            | 8.00 MB                  | 80.00 MB       | 3.12 MB        | **\~316 MB**                   |
| After 10 email conversations (with 1 MB attachments) | 7.13 MB\*     | 72.00 MB            | 8.00 MB                  | 80.00 MB       | 3.00 MB        | **\~304 MB**                   |

\* The no-attachments run shows slightly higher usage because the message was hunted multiple times before pickup, registering additional hunt events. The with-attachments run had first-hunt acceptance.

***

## Additional CDR growth factors

The test results above do not include growth from the following features. Deployments using any of these will experience higher CDR database growth:

* Agent Presence Changes
* Reason Codes
* Playlists and playlist positions
* Quality Monitoring (QM) settings and scores
* Audio and screen recording storage locations
* Call flows passing from one UCC to another — each UCC writes its own set of CDR records

***

## What's next?

If your deployment also uses text-based channels, continue to the Dialogue Manager database:

{% content-ref url="/pages/qoIh4P23levu0niPnXLy" %}
[Dialogue Manager database requirements](/set-up-dialogue-cloud-neo/prerequisites/azure-sql-databases/dialogue-manager.md)
{% endcontent-ref %}

If a Dialogue Manager database is not in scope, return to the [setup overview](/set-up-dialogue-cloud-neo/initial-setup.md) to choose the next outstanding task.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://atlas.anywhere.now/set-up-dialogue-cloud-neo/prerequisites/azure-sql-databases/call-detail-records.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
