Registro Detallado de Llamada (CDR) Facturación

Introducción

Esta guía explica cómo se estructura el Registro Detallado de Llamada (CDR) de Facturación (en adelante, simplemente Facturación) dentro de la tabla ‘cdrbilling’, lo que permite la creación de paneles de control desde Grafana y otras herramientas de BI.

Términos y Condiciones de Facturación

La facturación solo se aplica a los participantes externos salientes. Se trata del costo del participante externo en el CDR específico en relación con el PBX. La facturación se almacena en la tabla ‘cdrbilling’, que está vinculada a la tabla principal ‘cdroutput’ mediante el campo cdr_id. Solo los CDR respondidos pueden tener facturación. Los parámetros de "Costo de llamada" (véase Configuración de la Interfaz de Facturación) deben configurarse correctamente para que los datos de facturación se almacenen en la tabla ‘cdrbilling’.


Por lo tanto, los participantes con estos parámetros de CDR pueden tener facturación:

  • source_entity_type / destination_entity_type = external_line
  • source_participant_is_incoming / destination_participant_is_incoming = false
  • cdr_answered_at = NOT NULL


El
Registro Detallado de Llamada (CDR) de Facturación es independiente del CDR - Registros de Datos de Llamadas y no proporciona el campo del costo de facturación. En su lugar, el costo de facturación se puede calcular para cada participante en función del código de facturación, la tarifa de facturación y la duración de la facturación (véase más adelante en los Ejemplos Prácticos de SQL).

Campos

Estos campos definen y proporcionan información sobre cada participante del CDR con facturación.

  • cdr_id:
  • Descripción: Un identificador único para el registro CDR específico. Este campo está relacionado con el campo ‘cdr_id’ de la tabla principal ‘cdroutput’.
  • Detalles del Formato:
  • object_creation_timestamp_string: Una representación hexadecimal de 16 caracteres, rellenada con ceros, de la marca de tiempo UTC.
  • object_id_string: Una representación hexadecimal con relleno de ceros de un contador autoincrementado. El contador es específico del tipo de objeto (CDR, call_history_id o participante).
  • Ejemplo: 00000000-01db-aef6-c109-60ec0000004c
  • source(destination)_bill_code:
  • source(destination)_bill_rate_name:
  • Descripción: Nombre de la tarifa de facturación del participante. Valor de la columna "Nombre del país" de la configuración "Costo de llamada". Ver: Configuración de la interfaz de Facturación.
  • Ejemplo: Estados Unidos/Canadá; Alemania; Australia…
  • source(destination)_bill_rate:
  • source(destination)_bill_duration:
  • Descripción: Duración de facturación del participante. Basada en la duración de la conversación (campos del CDR cdr_answered_at, cdr_ended_at).
  • Ejemplo: 00:00:30.000000 (30 segundos); 00:01:00.000000 (1 minuto)…
  • Ver: Intervalo PostreSQL.
  • migrated:
  • Descripción: Reservado. No usado.

Ejemplos Prácticos SQL

CDR del Costo para los Participantes

SELECT

        -- all cdr fields

        c.*,

        -- all billing fields

        b.*,

        -- source participant cost

        b.source_bill_rate * EXTRACT(EPOCH FROM b.source_bill_duration::interval)/60 AS source_participant_bill_cost,

        -- destination participant cost

        b.destination_bill_rate * EXTRACT(EPOCH FROM b.destination_bill_duration::interval)/60 AS destination_participant_bill_cost

FROM public.cdroutput AS c

LEFT JOIN public.cdrbilling AS b ON

        b.cdr_id = c.cdr_id

ORDER BY c.cdr_id;

Aplicación del Panel de Control: Esta consulta calcula el costo de facturación para ambos participantes en cada CDR.

Ver También

Última Actualización

Este documento se actualizó por última vez el 15 de Mayo de 2025

https://www.3cx.es/docs/registro-detallado-llamada-facturacion/