# CDR

> El detalle de cada llamada, una por una

## Qué es el reporte CDR

El **CDR**, por Call Detail Record, es el registro de todas las llamadas que pasaron por Audara. Todas quiere decir todas: las que entraron, las que salieron, las internas entre extensiones, las que atendió un servicio como un IVR o un bot, y las transferencias.

Es el reporte más crudo que tienes. Los demás resumen, agrupan y calculan indicadores; este muestra la llamada tal como quedó registrada, una fila por llamada, con su información técnica completa.

![La vista de lista del CDR: cada fila es una llamada, con su origen, su destino, su duración y su resultado.](https://docs.audara.io/cdr/imagenes/cdr-lista.jpg)

*La vista de lista del CDR: cada fila es una llamada, con su origen, su destino, su duración y su resultado.*

Por eso es el sitio al que se va cuando hay que responder "¿qué pasó exactamente con esta llamada?": auditar la operación, investigar un reclamo, confirmar si una llamada entró, o sacar los datos en bruto para analizarlos por fuera.

> **Nota**
> Si tienes configuradas las **Tarifas**, el CDR también te muestra cuánto costó cada llamada saliente por la ruta que usó.

## Cómo usar el reporte de CDR

El CDR se ve de dos maneras, y se cambia entre ellas con el botón amarillo de la barra. La **lista** muestra las llamadas una por una y es la que sirve para buscar un caso concreto. La **gráfica** agrupa las mismas llamadas en cantidad y duración promedio, y en tipos de llamada, y sirve para ver la forma del tráfico.

![La vista gráfica del CDR resume lo mismo que la lista: cuántas llamadas hubo y cuánto duraron en promedio.](https://docs.audara.io/cdr/imagenes/cdr-grafica.jpg)

*La vista gráfica del CDR resume lo mismo que la lista: cuántas llamadas hubo y cuánto duraron en promedio.*

Cómo funcionan la barra, el cambio de vista y la descarga en CSV está en [el artículo de Reportes](https://docs.audara.io/reportes/), porque es igual en todos.

### Los filtros del CDR

Aquí sí hay diferencias. El CDR trae los filtros más finos de toda la analítica, porque está pensado para encontrar una llamada entre miles:

- **Fecha**: Hoy, Ayer, Últimos 7 días o Rango. El CDR no ofrece la opción de año.
- **Departamentos**: Limita la búsqueda a un área.
- **ID de llamada**: La búsqueda directa por el identificador único, cuando ya sabes cuál llamada buscas.
- **Origen y Destino**: Los números, y cada uno con su condición: Contiene, Exacto, Empieza en o Termina en.
- **ID Llamante**: El Caller ID, con las mismas cuatro condiciones.
- **Prefijo**: Se escoge de los que existen en tu operación.
- **Canal**: El canal técnico por el que entró o salió la llamada.
- **Tiempo (mm:ss)**: La duración, con las condiciones Igual a, Mayor a y Menor a.
- **Tipo de llamada**: Todas, Entrantes, Salientes, Internas, Servicios, Llamada de agente o Transferencia.

> **Importante**
> El rango de fechas del CDR está topado en **31 días**. Cuando escoges la fecha inicial, el calendario de la final no te deja pasar de ahí. Si necesitas un periodo más largo, la consulta va por partes.

### Diccionario de campos

El archivo descargado trae 35 columnas, en este orden. La tabla en pantalla muestra menos, y con el botón de columnas eliges cuáles.

| Campo | Descripción |
| --- | --- |
| callType | Tipo de llamada: entrante, saliente, interna, de servicio |
| uniqueId | Identificador único de esta llamada |
| userField | Marca de origen del registro. En las llamadas a móvil dice `MOBILE` |
| accountCode | Código de cuenta. En las llamadas a móvil es el que hace de origen |
| sourceUserName | Nombre del usuario que origina |
| source | Número de origen |
| destinationUserName | Nombre del destino |
| destination | Número de destino |
| dcontext | Contexto de la llamada: el flujo, la campaña o el IVR por donde pasó |
| clid | Caller ID completo |
| sourceChannel | Canal técnico de origen |
| destinationChannel | Canal técnico de destino |
| lastApp | Última aplicación que ejecutó la llamada |
| lastData | Datos asociados a esa última acción |
| callDate | Fecha de la llamada |
| callTime | Hora de la llamada |
| duration | Tiempo hablado, en `hh:mm:ss`. Cuenta desde que contestaron, no desde que empezó a timbrar |
| amaFlags | Marca de facturación que pone la central |
| agentNumber | Número del agente que atendió |
| dialerId | Identificador del marcador, si la llamada salió de uno |
| comment | Comentarios o metadatos |
| linkedId | Identificador que relaciona varias llamadas entre sí, como las dos patas de una transferencia |
| peerAccount | Cuenta del otro extremo |
| sequence | Número de orden del registro dentro de la llamada |
| amdStatus | Resultado de la detección de contestador: humano o máquina |
| dnis | Número que se marcó originalmente |
| sourceExtension | Extensión de origen |
| destinationExtension | Extensión de destino |
| sourceDepartment | Departamento de origen |
| destinationDepartment | Departamento de destino |
| disposition | Resultado: `ANSWERED`, `NO ANSWER`, `BUSY` y demás |
| prefix | Prefijo que usó la llamada |
| costMin | Costo por minuto |
| costSec | Costo por segundo |
| rateCurrency | Moneda en la que está el costo |

> **Nota**
> Ojo con **duration**: es el tiempo hablado, no el tiempo total de la llamada. Una llamada que timbró cuarenta segundos y nadie contestó sale con duración en cero, y sigue siendo una llamada que ocurrió.

> **En la práctica**
> Cuando persigues una transferencia, el campo que la arma es **linkedId**: las dos patas de la llamada comparten ese identificador aunque cada una tenga su propio **uniqueId**. Filtrar por el número del cliente y ordenar por hora es la forma rápida de reconstruir el recorrido completo.
