Referência do evento de log do CDR

AWS

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 de um evento CDR contém as seguintes propriedades.

Tabela 1. Propriedades do objeto de carga útil do webhook CDR

Propriedade

Tipo

Descrição

primary_phone_number

string

Número de telefone que foi chamado.

global_session_id

string

Identificador exclusivo de sessão.

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 SIP INVITE. São suportados os seguintes cabeçalhos de identificação de chamada de tronco SIP: \n - X-Twilio-CallSid \n - X-SID \n - X-Global-SIP-Trunk-Call-ID

call

Object

Informações sobre a chamada. Consulte call.

session_initiation_protocol

Object

Detalhes relacionados ao protocolo 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 interações com o assistente de IA que ocorreram durante a chamada. Veja 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.

Tabela 2. Propriedades do objeto de chamada

Propriedade

Tipo

Descrição

start_timestamp

Sequência

Hora em que a chamada começou, 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

Motivo pelo qual a chamada foi encerrada. As possíveis razões são: \n - transferência_pelo_assistente \n - desligamento_pelo_assistente \n - desligamento_do_chamador \n - 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.

Tabela 3. Propriedades do objeto session_initiation_protocol

Propriedade

Tipo

Descrição

invite_arrival_timestamp

Sequência

Hora 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 SIP INVITE inicial e o recebimento da solicitação SIP ACK final.

headers.call_id

Sequência

Campo de cabeçalho SIP Call-ID extraído do SIP INVITE relacionado à chamada.

headers.from_uri

Sequência

URI SIP do cabeçalho inicial do SIP INVITE From.

headers.to_uri

Sequência

URI SIP do cabeçalho inicial do SIP INVITE To.

assistant_interaction_summaries

O objeto assistant_interaction_summaries contém as seguintes propriedades.

Tabela 4. Propriedades do objeto assistant_interaction_summaries

Propriedade

Tipo

Descrição

assistant_id

Sequência

Identificador único do assistente de IA.

session_id

Sequência

Identificador exclusivo da sessão.

turns

Matriz

Uma matriz de objetos que descreve as interações do assistente de IA ocorridas durante a conversa. Consulte [assistant_interaction_summaries.turns[]](#cdr-log-reference-turns).

assistant_interaction_summaries.turns[]

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

Tabela 5. Propriedades dos objetos na matriz ` assistant_interaction_summaries.turns []`

Propriedade

Tipo

Descrição

assistant.log_id

Sequência

Identificador exclusivo do evento registrado, que pode ser usado para correlacionar os registros de mensagens e os eventos CDR.

assistant.start_timestamp

Sequência

Hora em que a solicitação foi enviada ao assistente de IA, 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 ao assistente de IA. Consulte [assistant_interaction_summaries.turns[].request](#cdr-log-reference-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.

Tabela 6. Propriedades do objeto ` assistant_interaction_summaries.turns [].request`

Propriedade

Tipo

Descrição

type

Sequência

Tipo de solicitação: \n - start: uma solicitação inicial é enviada ao assistente de IA \n - speech_to_text: é recebida uma entrada do serviço Speech to Text \n - dtmf: a coleta de DTMF é concluída \n - sms: é recebida uma mensagem SMS do chamador \n - post_response_timeout: o temporizador pós-resposta expira \n - redirect: uma chamada é redirecionada \n - transfer: uma chamada é transferida \n - transfer_failed: uma transferência de chamada falha \n - final_utterance_timeout: o temporizador da expressão final expira \n - no_input_turn: no input turn é ativado \n - sms_failure: uma mensagem SMS não pode ser enviada ao chamador \n - speech_to_text_result_filtered: uma expressão é filtrada devido a um baixo nível de confiança \n - mrcp_recognition_unsuccessful: o reconhecimento MRCP é concluído sem uma expressão final \n - network_warning: um erro de rede é detectado \n - media_capability_change: os recursos de mídia mudam durante uma chamada.

streaming_statistics

Object

Informações e estatísticas relacionadas ao reconhecimento do prêmio “ Speech to Text ”. Consulte [assistant_interaction_summaries.turns[].request.streaming_statistics](#cdr-log-reference-request-streaming_statistics).

assistant_interaction_summaries.turns[].request.streaming_statistics

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

Tabela 7. Propriedades do objeto ` assistant_interaction_summaries.turns [].streaming_statistics`

Propriedade

Tipo

Descrição

transaction_id

Sequência

Identificador exclusivo da transação.

start_timestamp

Sequência

Hora em que a transação começou, 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 é detectado silêncio na fala do usuário e o recebimento do resultado final do assistente de IA.

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.

Tabela 8. Propriedades do objeto ` assistant_interaction_summaries.turns [].response`

Propriedade

Tipo

Descrição

type

Sequência

Tipo de resposta: \n - text_to_speech: comando para reproduzir uma mensagem de voz para o chamador \n - sms: comando para enviar uma mensagem SMS ao chamador \n - url: comando para reproduzir um arquivo de áudio para o chamador \n - transfer: comando para transferir uma chamada \n - text_to_speech_config: comando para alterar as configurações de Text to Speech \n - speech_to_text_config: comando para alterar as configurações de Speech to Text \n - pause_speech_to_text: um comando para interromper o reconhecimento de voz \n - unpause_speech_to_text: um comando para iniciar o reconhecimento de voz \n - pause_dtmf: um comando para interromper o processamento de sinais DTMF recebidos \n - unpause_dtmf: unpause_dtmf: um comando para iniciar o processamento de sinais DTMF recebidos \n - enable_speech_barge_in: um comando para ativar a interrupção por voz, de modo que os chamadores possam interromper a reprodução ao falar \n - disable_speech_barge_in: um comando para desativar a interrupção por voz, de modo que a reprodução não seja interrompida quando os chamadores falarem durante a reprodução de áudio \n - enable_dtmf_barge_in: um comando para ativar a interrupção por DTMF, de modo que os chamadores possam interromper a reprodução da integração do telefone pressionando uma tecla \n - disable_dtmf_barge_in: um comando para desativar a interrupção por DTMF, de modo que a reprodução da integração do telefone não seja interrompida quando o chamador pressionar uma tecla \n - dtmf: um comando para enviar sinais DTMF ao chamador \n - hangup: um comando para desligar a chamada \n Consulte Mapeamento entre CDR e tipos de resposta do assistente de IA.

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 Text to Speech. Consulte [assistant_interaction_summaries.turns[].response.streaming_statistics](#cdr-log-reference-response-streaming_statistics).

Correspondência entre os tipos de resposta do CDR e do assistente de IA

Os valores da propriedade type correspondem aos tipos de resposta do assistente de IA.

Tipo de resposta de CDR

Tipo de resposta do assistente de IA

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.

Tabela 9. Propriedades do objeto ` assistant_interaction_summaries.turns []` ` response.streaming_statistics `

Propriedade

Tipo

Descrição

transaction_id

Sequência

Identificador exclusivo da transação.

start_timestamp

Sequência

Hora em que a transação começou, 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 uma mensagem de texto é enviada ao assistente de IA e o momento em que a integração do telefone 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.

  • Text to Speech subfluxos, que ocorrem quando a síntese d Text to Speech o não consegue acompanhar a taxa de transmissão da integração do telefone, podendo causar saltos no áudio.

  • 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.

Tabela 10. Propriedades do objeto warnings_and_errors

Propriedade

Tipo

Descrição

message

Sequência

Texto da mensagem de aviso.

id

Sequência

Identificador exclusivo da mensagem.

max_response_milliseconds

O objeto max_response_milliseconds contém as seguintes propriedades.

Tabela 11. Propriedades do objeto max_response_milliseconds

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 do assistente de IA relacionadas à chamada.

text_to_speech

Número

Tempo máximo (em milissegundos) entre o momento em que uma mensagem de texto é enviada ao serviço Text to Speech e o momento em que a integração do telefone recebe o primeiro pacote de áudio sintetizado. Esse valor é calculado a partir de todas as solicitações de ` Text to Speech ` relacionadas à chamada.

speech_to_text

Número

Latência máxima (em milissegundos) entre o momento em que é detectado silêncio na fala do autor da chamada e o momento em que é recebido o resultado final do serviço Speech to Text. Esse valor é calculado a partir de todos os resultados do reconhecimento de voz 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.

Tabela 12. 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/ .