Referência do evento de log do CDR

Para eventos cdr_logged enviados por um webhook de log, o objeto payload contém dados sobre um evento CDR (Registro de detalhes de chamada) que foi manipulado por integração telefônica. O objeto payload para um evento CDR contém as seguintes propriedades.

Propriedades do objeto de carregamento de webhook do CDR
Propriedade Tipo Descrição
primary_phone_number string Número de telefone que foi chamado.
global_session_id string Identificador de sessão exclusivo
failure_occurred booleano Se uma falha ocorreu durante a chamada.
failure_details string Detalhes sobre qualquer falha ocorrida.
transfer_occurred booleano Se houve uma tentativa de transferir uma chamada.
active_calls Número Número de chamadas ativas quando a chamada começou.
x-global-sip-trunk-call-id string

Valor do cabeçalho de ID de chamada do tronco SIP extraído da solicitação inicial do SIP INVITE. Os cabeçalhos de ID de chamada do tronco SIP a seguir são suportados:

  • X-Twilio-CallSid
  • X-SID
  • X-Global-SIP-Trunk-Call-ID
call Object Informações sobre a chamada. Consulte call.
session_initiation_protocol Object Detalhes relacionados ao protocolo do SIP Consulte session_initiation_protocol.
max_response_milliseconds Object Latência máxima para serviços utilizados durante a chamada. Consulte max_response_milliseconds.
assistant_interaction_summaries Matriz Detalhes sobre as transações do watsonx Assistant que ocorreram durante a chamada. Consulte assistant_interaction_summaries.
injected_custom_data Object Um conjunto de pares chave/valor extraído da variável de contexto cdr_custom_data.
warnings_and_errors Matriz Avisos ou erros que foram registrados durante a chamada. Consulte warnings_and_errors.
realtime_transport_network_summary Object Estatísticas para o fluxo de entrada no objeto inbound_stream e estatísticas para o fluxo de saída no objeto outbound_stream. Incluído apenas se o RTCP estiver ativado. Consulte realtime_transport_network_summary.

call

O objeto call contém as seguintes propriedades.

Propriedades do objeto de chamada
Propriedade Tipo Descrição
start_timestamp Sequência Hora de início da chamada, no formato ISO (yyyy-MM-ddTHH:mm:ss.SSSZ).
stop_timestamp Sequência Hora em que a chamada terminou, no formato ISO (yyyy-MM-ddTHH:mm:ss.SSSZ).
milliseconds_elapsed Número Duração da chamada, em milissegundos.
end_reason string Razão pela qual a chamada foi encerrada As razões possíveis são:
-assistant_transfer
-assistant_hangup
-caller_hangup
-com falha.
security.media_encrypted Booleano Se a mídia foi criptografada.
security.signaling_encrypted Booleano Se a sinalização SIP foi criptografada.
security.sip_authenticated Booleano Se a autenticação SIP foi usada para autenticar o responsável pela chamada.

session_initiation_protocol

O objeto session_initiation_protocol contém as seguintes propriedades.

Propriedades do objeto session_initiation_protocol
Propriedade Tipo Descrição
invite_arrival_timestamp Sequência Horário em que a solicitação INVITE chegou, no formato ISO (yyyy-MM-ddTHH:mm:ss.SSSZ).
setup_milliseconds Número Tempo que levou para configurar a chamada, em milissegundos. O tempo entre o recebimento da solicitação inicial do SIP INVITE e o recebimento da solicitação final do SIP ACK.
headers.call_id Sequência Campo de cabeçalho SIP Call-ID extraído do SIP INVITE relacionado à chamada.
headers.from_uri Sequência SIP URI do cabeçalho inicial do SIP INVITE From.
headers.to_uri Sequência SIP URI do cabeçalho inicial do SIP INVITE To.

assistant_interaction_summaries

O objeto assistant_interaction_summaries contém as seguintes propriedades.

Propriedades do objeto assistant_interaction_summaries
Propriedade Tipo Descrição
assistant_id Sequência Identificador exclusivo do assistente.
session_id Sequência Identificador exclusivo da sessão.
turns Matriz Uma matriz de objetos descrevendo as interações do watsonx Assistant que aconteceram durante a conversa. Consulte assistant_interaction_summaries.turns[].

assistant_interaction_summaries.turns[]

Os objetos da matriz assistant_interaction_summaries.turns contêm as seguintes propriedades.

Propriedades dos objetos no assistant_interaction_summaries.turns[] matriz caption-side
Propriedade Tipo Descrição
assistant.log_id Sequência Identificador exclusivo para o evento registrado, que pode ser usado para correlacionar entre logs de mensagens e eventos CDR.
assistant.start_timestamp Sequência Hora em que a solicitação foi enviada ao assistente, no formato ISO (yyyy-MM-ddTHH:mm:ss.SSSZ).
assistant.response_milliseconds Número Tempo (em milissegundos) entre o envio da solicitação e o recebimento da resposta do assistente.
request Object Uma solicitação enviada para o assistente. Consulte assistant_interaction_summaries.turns[].request.
response Matriz Uma matriz dos response objetos associados à solicitação.

assistant_interaction_summaries.turns[].request

O objeto assistant_interaction_summaries.turns[].request contém as seguintes propriedades.

Propriedades do objeto assistant_interaction_summaries.turns[].request caption-side
Propriedade Tipo Descrição
type Sequência

Tipo de solicitação:

  • start: uma solicitação inicial é enviada para o assistente
  • speech_to_text: a entrada é recebida do serviço Speech to Text
  • dtmf: a coleção do DTMF é concluída
  • sms: uma mensagem SMS é recebida do responsável pela chamada
  • post_response_timeout: o cronômetro de pós-resposta expira
  • redirect: uma chamada é redirecionada
  • transfer: uma chamada é transferida
  • transfer_failed: uma transferência de chamadas falha
  • final_utterance_timeout: o cronômetro de elocução final expira
  • no_input_turn: no input turn está ativado
  • sms_failure: uma mensagem SMS não pode ser enviada para o responsável pela chamada
  • speech_to_text_result_filtered: uma elocução é filtrada devido a um baixo nível de confiança
  • mrcp_recognition_unsuccessful: o reconhecimento MRCP é concluído sem uma elocução final
  • network_warning: um erro de rede é detectado
  • media_capability_change: capacidades de mídia mudam durante uma chamada.
streaming_statistics Object Informações e estatísticas relacionadas ao reconhecimento Speech to Text. Consulte assistant_interaction_summaries.turns[].request.streaming_statistics.
assistant_interaction_summaries.turns[].request.streaming_statistics

O objeto assistant_interaction_summaries.turns[].request.streaming_statistics contém as seguintes propriedades.

Propriedades do objeto assistant_interaction_summaries.turns[].streaming_statistics caption-side
Propriedade Tipo Descrição
transaction_id Sequência Identificador exclusivo da transação.
start_timestamp Sequência Hora de início da transação, no formato ISO (yyyy-MM-ddTHH:mm:ss.SSSZ).
stop_timestamp Sequência Hora em que a transação terminou, no formato ISO (yyyy-MM-ddTHH:mm:ss.SSSZ).
response_milliseconds Número A latência (em milissegundos) entre o momento em que o silêncio é detectado no discurso do responsável pela chamada e um resultado final do assistente é recebido.
echo_detected Booleano Se um eco foi detectado.
confidence Número Pontuação de confiança do enunciado final.

assistant_interaction_summaries.turns[].response

O objeto assistant_interaction_summaries.turns[].response contém as seguintes propriedades.

Propriedades do objeto assistant_interaction_summaries.turns[].response caption-side
Propriedade Tipo Descrição
type Sequência

Tipo de resposta:

  • text_to_speech: um comando para reproduzir um enunciado para o autor da chamada
  • sms: um comando para enviar uma mensagem SMS para o autor da chamada
  • url: um comando para reproduzir um arquivo de áudio para o autor da chamada
  • transfer: um comando para transferir uma chamada
  • text_to_speech_config: um comando para alterar as configurações do Text to Speech
  • speech_to_text_config: um comando para alterar as configurações do Speech to Text
  • pause_speech_to_text: um comando para interromper o reconhecimento de fala
  • unpause_speech_to_text: um comando para iniciar o reconhecimento de fala
  • pause_dtmf: um comando para interromper o processamento de sinais DTMF de entrada
  • unpause_dtmf: unpause_dtmf: um comando para iniciar o processamento de sinais DTMF de entrada
  • enable_speech_barge_in: um comando para ativar o barge-in de fala para que os chamadores possam interromper a reprodução falando
  • disable_speech_barge_in: um comando para desativar o barge-in de fala para que a reprodução não seja interrompida quando os chamadores falarem durante a reprodução de áudio
  • enable_dtmf_barge_in: um comando para ativar o barge-in de DTMF para que os chamadores possam interromper a reprodução da integração telefônica pressionando uma tecla
  • disable_dtmf_barge_in: comando para desativar o DTMF barge-in para que a reprodução da integração telefônica não seja interrompida quando o autor da chamada pressionar uma tecla
  • dtmf: comando para enviar sinais DTMF ao autor da chamada
  • hangup: comando para desconectar a chamada
    Consulte Mapeamento entre os tipos de resposta CDR e watsonx Assistant.
barge_in_occurred Booleano Se a interrupção ocorreu durante o turno.
streaming_statistics Object Informações e estatísticas relacionadas à síntese e reprodução do site Text to Speech. Consulte assistant_interaction_summaries.turns[].response.streaming_statistics.
Mapeamento entre os tipos de resposta CDR e watsonx Assistant

Os valores da propriedade type mapeiam para os tipos de resposta watsonx Assistant.

Tipo de resposta de CDR Tipo de resposta do 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

O objeto assistant_interaction_summaries.turns[].response.streaming_statistics contém as seguintes propriedades.

Propriedades do objeto assistant_interaction_summaries.turns[].response.streaming_statistics caption-side
Propriedade Tipo Descrição
transaction_id Sequência Identificador exclusivo da transação.
start_timestamp Sequência Hora de início da transação, no formato ISO (yyyy-MM-ddTHH:mm:ss.SSSZ).
stop_timestamp Sequência Hora em que a transação terminou, no formato ISO (yyyy-MM-ddTHH:mm:ss.SSSZ).
response_milliseconds Número Tempo (em milissegundos) entre o momento em que um enunciado de texto é enviado ao assistente e o momento em que a integração telefônica recebe o primeiro pacote de áudio sintetizado.

warnings_and_errors

O objeto warnings_and_errors contém avisos e erros que foram registrados durante a chamada, que são listados em ordem de ocorrência. Estão incluídas advertências para as seguintes condições.

  • Mensagens quando as elocuções são filtradas pelo limite de pontuação de confiança.
  • Subfluxos do Text to Speech, que é quando a síntese do Text to Speech não consegue acompanhar a taxa de streaming da integração telefônica e o áudio pode pular.
  • Avisos de rede RTP, como alta perda de pacote ou alto jitter médio, se o RTCP estiver ativado.

O exemplo a seguir mostra a estrutura do 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"
    }
  ]

O objeto de cada aviso contém as seguintes propriedades.

Propriedades do objeto warnings_and_errors
Propriedade Tipo Descrição
message Sequência Texto da mensagem de aviso.
id Sequência Identificador de mensagem exclusivo

max_response_milliseconds

O objeto max_response_milliseconds contém as seguintes propriedades.

Propriedades do objeto max_response_miliseconds
Propriedade Tipo Descrição
assistant Número Latência máxima de ida e volta (em milissegundos), calculada a partir de todas as solicitações watsonx Assistant relacionadas à chamada.
text_to_speech Número Tempo máximo (em milissegundos) entre o momento em que um enunciado de texto é enviado ao serviço Text to Speech e o momento em que a integração telefônica recebe o primeiro pacote de áudio sintetizado. Esse valor é calculado por meio de todas as solicitações do Text to Speech relacionadas à chamada.
speech_to_text Número Latência máxima (em milissegundos) entre o momento em que o silêncio é detectado na fala do chamador e o recebimento de um resultado final do serviço Speech to Text. Esse valor é calculado por meio de todos os resultados de reconhecimento do Speech to Text relacionados à chamada.

realtime_transport_network_summary

Quando o RTCP é ativado, o objeto realtime_transport_network_summary fornece estatísticas para o fluxo de entrada no objeto inbound_stream e estatísticas para o fluxo de saída no objeto outbound_stream.

O exemplo a seguir mostra a estrutura do 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"
   }
}

O objeto de cada fluxo contém as seguintes propriedades.

Propriedades do objeto realtime_transport_network_summary
Propriedades Tipo Descrição
maximum_jitter Número Jitter máximo durante a chamada.
average_jitter Número Jitter médio calculado durante a duração da chamada.
packets_lost Número Uma estimativa do número de pacotes que foram perdidos durante a chamada.
packets_transmitted Número Estimativa do número total de pacotes que foram transmitidos durante a chamada.
canonical_name Sequência Identificador exclusivo do remetente do fluxo, normalmente no formato @.
tool_name Sequência Nome do aplicativo ou da ferramenta em que o fluxo foi originado. Para a integração do telefone, o padrão é IBM Voice Gateway/ .