IBM Cloud Docs
Referencia de sucesos de registro de CDR

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 suceso CDR contiene las propiedades siguientes.

Propiedades del objeto de carga útil de webhook CDR
Propiedad Tipo Descripción
primary_phone_number serie Número de teléfono al que se ha llamado.
global_session_id serie Identificador de sesión exclusivo.
failure_occurred booleano Si se ha producido una anomalía durante la llamada.
failure_details serie Detalles sobre cualquier anomalía que se haya producido.
transfer_occurred booleano 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 serie

Valor del encabezado de ID de llamada troncal SIP extraído de la solicitud inicial SIP INVITE. Se admiten las siguientes cabeceras de ID de llamada de conexión 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 de watsonx Assistant 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 serie Razón por la que ha finalizado la llamada. Las razones posibles son:
-assistant_transfer
-assistant_hangup
-caller_hangup
-failed
security.media_encrypted Boolean Si el soporte se ha cifrado.
security.signaling_encrypted Boolean Si la señalización SIP se ha cifrado.
security.sip_authenticated Boolean 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 ha llegado 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. Tiempo transcurrido entre la recepción de la solicitud SIP INVITE inicial y la recepción de 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 URI SIP de la cabecera inicial SIP INVITE From.
headers.to_uri Serie URI SIP 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.
session_id Serie Identificador único de la sesión.
turns Matriz Una matriz de objetos que describen las interacciones de watsonx Assistant que se han producido 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.

Properties of the objects in the assistant_interaction_summaries.turns[] array
Propiedad Tipo Descripción
assistant.log_id Serie Identificador exclusivo para el suceso registrado, que se puede utilizar para correlacionar entre registros de mensajes y sucesos CDR.
assistant.start_timestamp Serie Hora a la que se envió la solicitud al asistente, 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 Solicitud enviada al asistente. 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.turnos[].request caption-side
Propiedad Tipo Descripción
type Serie

Tipo de solicitud:

  • start: se envía una solicitud inicial al asistente
  • speech_to_text: la entrada se recibe del servicio Speech to Text
  • dtmf: la recopilación de DTMF se completa
  • sms: se recibe un mensaje SMS del interlocutor
  • post_response_timeout: el temporizador posterior a la respuesta caduca
  • redirect: se redirige una llamada
  • transfer: Una llamada se transfiere
  • transfer_failed: una transferencia de llamada falla
  • final_utterance_timeout: el temporizador de expresión final caduca
  • no_input_turn: no input turn está habilitado
  • sms_failure: un mensaje SMS no se puede enviar al interlocutor
  • speech_to_text_result_filtered: una expresión se filtra debido a un nivel de confianza bajo
  • mrcp_recognition_unsuccessful: el reconocimiento MRCP se completa sin una expresión final
  • network_warning: se detecta un error de red
  • media_capability_change: las prestaciones de soporte 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.

Properties of the assistant_interaction_summaries.turns[].streaming_statistics object
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 Latencia, en milisegundos, entre el momento en el que se detecta el silencio en el discurso del interlocutor y el momento en el que se recibe un resultado final del asistente.
echo_detected Boolean 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.turnos[].response caption-side
Propiedad Tipo Descripción
type Serie

Tipo de respuesta:

  • text_to_speech : un comando para reproducir un enunciado a la persona que llama
  • sms : un comando para enviar un mensaje SMS a la persona que llama
  • url : un comando para reproducir un archivo de audio a la persona que llama
  • transfer : un comando para transferir una llamada
  • text_to_speech_config : un comando para cambiar los ajustes Text to Speech
  • speech_to_text_config : una orden para cambiar los ajustes de Speech to Text
  • pause_speech_to_text : una orden para detener el reconocimiento de voz
  • unpause_speech_to_text : una orden para iniciar el reconocimiento de voz
  • pause_dtmf : una orden para detener el procesamiento de señales DTMF entrantes
  • unpause_dtmf : unpause_dtmf: una orden para iniciar el procesamiento de señales DTMF entrantes
  • enable_speech_barge_in : un comando para habilitar el speech barge-in para que los llamantes puedan interrumpir la reproducción hablando
  • disable_speech_barge_in : un comando para deshabilitar el speech barge-in para que la reproducción no se interrumpa cuando los llamantes hablan durante la reproducción de audio
  • enable_dtmf_barge_in : un comando para habilitar el DTMF barge-in para que los llamantes puedan interrumpir la reproducción desde la integración telefónica pulsando una tecla
  • disable_dtmf_barge_in : un comando para desactivar la entrada de DTMF para que la reproducción desde la integración telefónica no se interrumpa cuando la persona que llama pulsa 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 los tipos de respuesta CDR y watsonx Assistant.
barge_in_occurred Boolean 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 Text to Speech. Consulte assistant_interaction_summaries.turns[].response.streaming_statistics.
Correlación entre los tipos de respuesta de CDR y de watsonx Assistant

Los valores de la propiedad type corresponden a los tipos de respuesta watsonx Assistant.

Tipo de respuesta de CDR Tipo de respuesta de watsonx Assistant
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.

Properties of the assistant_interaction_summaries.turns[].response.streaming_statistics object
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 y el momento en que la integración telefónica 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.
  • Subdesbordamientos de Text to Speech, que se producen cuando la síntesis de Text to Speech no puede seguir el ritmo de la velocidad de transmisión de la integración telefónica y es posible que se produzcan saltos en el audio.
  • 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 de mensaje exclusivo.

max_response_milliseconds

El objeto max_response_milliseconds contiene las siguientes propiedades.

Propiedades del objeto max_response_milisegundos
Propiedad Tipo Descripción
assistant Número Latencia máxima de ida y vuelta (en milisegundos), calculada a partir de todas las solicitudes watsonx Assistant 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 de 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 de 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/ .