Referencia de sucesos de registro de CDR

Para los sucesos cdr_logged enviados por un webhook de registro, el objeto payload contiene datos sobre un suceso de CDR (Registro de detalles de llamadas) gestionado por la integración telefónica. El objeto payload para un evento CDR contiene las siguientes propiedades.

Propiedades del objeto de carga útil del webhook CDR
Propiedad Tipo Descripción
primary_phone_number string Número de teléfono al que se ha llamado.
global_session_id string Identificador único de sesión.
failure_occurred boolean Si se ha producido una anomalía durante la llamada.
failure_details string Detalles sobre cualquier anomalía que se haya producido.
transfer_occurred boolean Si se intentó transferir una llamada.
active_calls Número Número de llamadas activas al iniciar la llamada.
x-global-sip-trunk-call-id string

Valor del encabezado SIP trunk call ID extraído de la solicitud SIP INVITE inicial. Se admiten las siguientes cabeceras de ID de llamada troncal SIP:

  • X-Twilio-CallSid
  • X-SID
  • X-Global-SIP-Trunk-Call-ID
call Objecto Información sobre la llamada. Consulte call.
session_initiation_protocol Objecto Detalles relacionados con el protocolo SIP. Consulte session_initiation_protocol.
max_response_milliseconds Objecto Latencia máxima para los servicios utilizados durante la llamada. Consulte max_response_milliseconds.
assistant_interaction_summaries Matriz Detalles sobre las interacciones del asistente de IA que tuvieron lugar durante la llamada. Consulte assistant_interaction_summaries.
injected_custom_data Objecto Conjunto de pares clave/valor extraídos de la variable de contexto cdr_custom_data.
warnings_and_errors Matriz Advertencias o errores registrados durante la llamada. Consulte warnings_and_errors.
realtime_transport_network_summary Objecto Estadísticas para la corriente de entrada del objeto inbound_stream y estadísticas para la corriente de salida del objeto outbound_stream. Sólo se incluye si se ha habilitado RTCP. Consulte realtime_transport_network_summary.

call

El objeto call contiene las siguientes propiedades.

Propiedades del objeto de llamada
Propiedad Tipo Descripción
start_timestamp Serie Hora de inicio de la llamada, en formato ISO (yyyy-MM-ddTHH:mm:ss.SSSZ).
stop_timestamp Serie Hora a la que finalizó la llamada, en formato ISO (yyyy-MM-ddTHH:mm:ss.SSSZ).
milliseconds_elapsed Número Duración de la llamada, en milisegundos.
end_reason string

Razón por la que terminó la llamada. Las razones posibles son:

  • asistente_transferencia
  • ayudante_colgado
  • llamante_colgado
  • fallidos
security.media_encrypted Booleano Si el soporte se ha cifrado.
security.signaling_encrypted Booleano Si la señalización SIP se ha cifrado.
security.sip_authenticated Booleano Si se ha utilizado la autenticación de SIP para autenticar al interlocutor.

session_initiation_protocol

El objeto session_initiation_protocol contiene las siguientes propiedades.

Propiedades del objeto session_initiation_protocol
Propiedad Tipo Descripción
invite_arrival_timestamp Serie Hora a la que llegó la solicitud INVITE, en formato ISO (yyyy-MM-ddTHH:mm:ss.SSSZ).
setup_milliseconds Número Tiempo que tardó en establecerse la llamada, en milisegundos. El tiempo transcurrido entre el momento en que se recibió la solicitud SIP INVITE inicial y el momento en que se recibió la solicitud SIP ACK final.
headers.call_id Serie Campo de cabecera SIP Call-ID extraído del SIP INVITE relacionado con la llamada.
headers.from_uri Serie SIP URI de la cabecera inicial SIP INVITE From.
headers.to_uri Serie SIP URI de la cabecera inicial SIP INVITE To.

assistant_interaction_summaries

El objeto assistant_interaction_summaries contiene las siguientes propiedades.

Propiedades del objeto assistant_interaction_summaries
Propiedad Tipo Descripción
assistant_id Serie Identificador único del asistente de IA.
session_id Serie Identificador único de la sesión.
turns Matriz Conjunto de objetos que describen las interacciones del asistente de IA que tuvieron lugar durante la conversación. Consulte assistant_interaction_summaries.turns[].

assistant_interaction_summaries.turns[]

Los objetos de la matriz assistant_interaction_summaries.turns contienen las siguientes propiedades.

Propiedades de los objetos de la matriz assistant_interaction_summaries.turns[]
Propiedad Tipo Descripción
assistant.log_id Serie Identificador único para el evento registrado, que se puede utilizar para correlacionar entre los registros de mensajes y los eventos CDR.
assistant.start_timestamp Serie Hora a la que se envió la solicitud al asistente de IA, en formato ISO (yyyy-MM-ddTHH:mm:ss.SSSZ).
assistant.response_milliseconds Número Tiempo (en milisegundos) transcurrido entre el envío de la solicitud y la recepción de la respuesta del asistente.
request Objecto Una solicitud enviada al asistente de IA. Consulte assistant_interaction_summaries.turns[].request.
response Matriz Matriz de los objetos response asociados a la solicitud.

assistant_interaction_summaries.turns[].request

El objeto assistant_interaction_summaries.turns[].request contiene las siguientes propiedades.

Propiedades del objeto assistant_interaction_summaries.turns[].request
Propiedad Tipo Descripción
type Serie

Tipo de solicitud:

  • start: se envía una solicitud inicial al asistente de IA
  • speech_to_text: la entrada se recibe del servicio Speech to Text
  • dtmf: Se completa la recogida de DTMF
  • sms: se recibe un mensaje SMS de la persona que llama
  • post_response_timeout: expira el temporizador de post-respuesta
  • redirect: se redirige una llamada
  • transfer: se transfiere una llamada
  • transfer_failed: falla una transferencia de llamada
  • final_utterance_timeout: expira el temporizador de enunciado final
  • no_input_turn: no input turn está activado
  • sms_failure: no se puede enviar un mensaje SMS a la persona que llama
  • speech_to_text_result_filtered: una expresión se filtra debido a un bajo nivel de confianza
  • mrcp_recognition_unsuccessful: el reconocimiento MRCP finaliza sin pronunciación final
  • network_warning: se detecta un error de red
  • media_capability_change: las capacidades multimedia cambian durante una llamada.
streaming_statistics Objecto Información y estadísticas relacionadas con el reconocimiento Speech to Text. Consulte assistant_interaction_summaries.turns[].request.streaming_statistics.
assistant_interaction_summaries.turns[].request.streaming_statistics

El objeto assistant_interaction_summaries.turns[].request.streaming_statistics contiene las siguientes propiedades.

Propiedades del objeto assistant_interaction_summaries.turns[].streaming_statistics
Propiedad Tipo Descripción
transaction_id Serie Identificador único de la transacción.
start_timestamp Serie Hora de inicio de la transacción, en formato ISO (yyyy-MM-ddTHH:mm:ss.SSSZ).
stop_timestamp Serie Hora a la que finalizó la transacción, en formato ISO (yyyy-MM-ddTHH:mm:ss.SSSZ).
response_milliseconds Número La latencia (en milisegundos) entre el momento en que se detecta silencio en el discurso de la persona que llama y se recibe un resultado final del asistente de IA.
echo_detected Booleano Si se ha detectado un eco.
confidence Número Puntuación de confianza del enunciado final.

assistant_interaction_summaries.turns[].response

El objeto assistant_interaction_summaries.turns[].response contiene las siguientes propiedades.

Propiedades del objeto assistant_interaction_summaries.turns[].response
Propiedad Tipo Descripción
type Serie

Tipo de respuesta:

  • text_to_speech: una orden para reproducir un enunciado a la persona que llama
  • sms: una orden para enviar un mensaje SMS a la persona que llama
  • url: una orden para reproducir un archivo de audio a la persona que llama
  • transfer: una orden para transferir una llamada
  • text_to_speech_config: un comando para cambiar la configuración de Text to Speech
  • speech_to_text_config: un comando para cambiar la configuración de Speech to Text
  • pause_speech_to_text: una orden para detener el reconocimiento de voz
  • unpause_speech_to_text: un comando para iniciar el reconocimiento de voz
  • pause_dtmf: una orden para detener el procesamiento de las señales DTMF entrantes
  • unpause_dtmf: unpause_dtmf: un comando para iniciar el procesamiento de señales DTMF entrantes
  • enable_speech_barge_in: un comando para activar la irrupción de voz para que los interlocutores puedan interrumpir la reproducción hablando
  • disable_speech_barge_in: un comando para desactivar la irrupción de voz para que la reproducción no se interrumpa cuando los interlocutores hablan durante la reproducción de audio
  • enable_dtmf_barge_in: un comando para habilitar el barge-in DTMF para que las personas que llaman puedan interrumpir la reproducción desde la integración telefónica pulsando una tecla
  • disable_dtmf_barge_in: un comando para desactivar la irrupción de DTMF para que la reproducción de la integración telefónica no se interrumpa cuando la persona que llama pulse una tecla
  • dtmf: un comando para enviar señales DTMF a la persona que llama
  • 'hangup: un comando para desconectar la llamada
    Ver ' Correspondencia entre CDR y tipos de respuesta del asistente de IA.
barge_in_occurred Booleano Si se ha producido alguna irrupción durante el turno.
streaming_statistics Objecto Información y estadísticas relacionadas con la síntesis y reproducción de Text to Speech. Consulte assistant_interaction_summaries.turns[].response.streaming_statistics.
Correspondencia entre CDR y tipos de respuesta del asistente de IA

Los valores de la propiedad " type " corresponden a los tipos de respuesta del asistente AI.

Tipo de respuesta de CDR Tipo de respuesta del asistente AI
text_to_speech text
url audio
dtmf dtmf, command_info.type : send
sms user_defined, vgwAction.command : vgwActSendSMS
transfer connect_to_agent
text_to_speech_config text_to_speech, command_info.type : configure
speech_to_text_config speech_to_text, command_info.type : configure
unpause_speech_to_text start_activities, type:speech_to_text_recognition
pause_speech_to_text stop_activities, type:speech_to_text_recognition
unpause_dtmf start_activities, type:dtmf_collection
pause_dtmf stop_activities, type:dtmf_collection
enable_speech_barge_in text_to_speech, command_info.type : enable_barge_in
disable_speech_barge_in text_to_speech, command_info.type : disable_barge_in
enable_dtmf_barge_in dtmf, command_info.type : enable_barge_in
disable_dtmf_barge_in dtmf, command_info.type : disable_barge_in
hangup end_session
assistant_interaction_summaries.turns[].response.streaming_statistics

El objeto assistant_interaction_summaries.turns[].response.streaming_statistics contiene las siguientes propiedades.

Propiedades del objeto assistant_interaction_summaries.turns[].response.streaming_statistics
Propiedad Tipo Descripción
transaction_id Serie Identificador único de la transacción.
start_timestamp Serie Hora de inicio de la transacción, en formato ISO (yyyy-MM-ddTHH:mm:ss.SSSZ).
stop_timestamp Serie Hora a la que finalizó la transacción, en formato ISO (yyyy-MM-ddTHH:mm:ss.SSSZ).
response_milliseconds Número Tiempo (en milisegundos) entre el momento en que se envía un texto al asistente de IA y el momento en que la integración del teléfono recibe el primer paquete de audio sintetizado.

warnings_and_errors

El objeto warnings_and_errors contiene advertencias y errores que se registraron durante la llamada, que se enumeran por orden de aparición. Se incluyen advertencias para las siguientes afecciones.

  • Mensajes cuando las expresiones se filtran según el umbral de puntuación de confianza.
  • Text to Speech se desborda, lo que ocurre cuando la síntesis de Text to Speech no puede seguir la velocidad de transmisión de la integración del teléfono y el audio puede saltar.
  • Avisos de red RTP, como, por ejemplo, un alto nivel de pérdida de paquetes o un jitter promedio alto, si se ha habilitado RTCP.

El ejemplo siguiente muestra la estructura del objeto warnings_and_errors:

  "warnings_and_errors": [
    {
      "message": "CWSMR0032W: A Watson Speech to Text final utterance has a confidence score of 0.1, which does not meet the confidence score threshold of 0.2. The utterance will be ignored.",
      "id": "CWSMR0032W"
    },
    {
      "message": "CWSMR0031W: The synthesis stream from the Watson Text-to-Speech service can't keep up with the playback rate to the caller, so audio might skip. transaction ID=a1b2c3d4e5",
      "id": "CWSMR0031W"
    }
  ]

El objeto de cada aviso contiene las siguientes propiedades.

Propiedades del objeto warnings_and_errors
Propiedad Tipo Descripción
message Serie Texto del mensaje de advertencia.
id Serie Identificador único del mensaje.

max_response_milliseconds

El objeto max_response_milliseconds contiene las siguientes propiedades.

Propiedades del objeto max_response_milliseconds
Propiedad Tipo Descripción
assistant Número Latencia máxima de ida y vuelta (en milisegundos), calculada a partir de todas las solicitudes del asistente de IA relacionadas con la llamada.
text_to_speech Número Tiempo máximo (en milisegundos) entre el momento en que se envía una expresión de texto al servicio Text to Speech y el momento en que la integración telefónica recibe el primer paquete de audio sintetizado. Este valor se calcula a partir de todas las solicitudes Text to Speech relacionadas con la llamada.
speech_to_text Número Latencia máxima (en milisegundos) entre el momento en que se detecta silencio en el habla de la persona que llama y el momento en que se recibe un resultado final del servicio Speech to Text. Este valor se calcula a partir de todos los resultados de reconocimiento Speech to Text relacionados con la llamada.

realtime_transport_network_summary

Si se habilita RTCP, el objeto realtime_transport_network_summary proporciona estadísticas para la corriente de entrada en el objeto inbound_stream y estadísticas para la corriente de salida en el objeto outbound_stream.

El siguiente ejemplo muestra la estructura del objeto realtime_transport_network_summary.

"realtime_transport_network_summary": {
  "inbound_stream": {
    "maximum_jitter": 5,
    "average_jitter": 1,
    "packets_lost": 0,
    "packets_transmitted": 1000,
    "canonical_name": "user@example.com",
    "tool_name": "User SIP Phone"
   },
  "outbound_stream": {
    "maximum_jitter": 5,
    "average_jitter": 1,
    "packets_lost": 0,
    "packets_transmitted": 2000,
    "canonical_name": "voice.gateway@127.0.0.1",
    "tool_name": "IBM Voice Gateway/1.0.0.5"
   }
}

El objeto de cada flujo contiene las siguientes propiedades.

Propiedades del objeto realtime_transport_network_summary
Propiedades Tipo Descripción
maximum_jitter Número Fluctuación máxima durante la llamada.
average_jitter Número Fluctuación media calculada sobre la duración de la llamada.
packets_lost Número Estimación del número de paquetes que se han perdido durante la llamada.
packets_transmitted Número Estimación del número total de paquetes transmitidos durante la llamada.
canonical_name Serie Identificador único del remitente del flujo, normalmente en formato @.
tool_name Serie Nombre de la aplicación o herramienta donde se originó el flujo. Para la integración telefónica, el valor predeterminado es IBM Voice Gateway/ .