CDR 日志事件参考
对于由日志 Webhook 发送的 cdr_logged
事件,payload
对象包含有关电话集成所处理的呼叫详细记录 (CDR) 事件的数据。 CDR 事件的 payload
对象包含以下属性。
属性 | Type | 描述 |
---|---|---|
primary_phone_number |
字符串 | 已呼叫的电话号码。 |
global_session_id |
字符串 | 唯一会话标识。 |
failure_occurred |
布尔型 | 调用期间是否发生故障。 |
failure_details |
字符串 | 有关发生的任何故障的详细信息。 |
transfer_occurred |
布尔型 | 是否尝试传输调用。 |
active_calls |
编号 | 调用启动时的活动调用数。 |
x-global-sip-trunk-call-id |
字符串 |
从初始 SIP
|
call |
对象 | 有关呼叫的信息。 请参阅 call 。 |
session_initiation_protocol |
对象 | 与 SIP 协议相关的详细信息。 请参阅 session_initiation_protocol 。 |
max_response_milliseconds |
对象 | 调用期间使用的服务的最大等待时间。 请参阅 max_response_milliseconds 。 |
assistant_interaction_summaries |
Array | 有关调用期间发生的 watsonx Assistant 交互的详细信息。 请参阅 assistant_interaction_summaries 。 |
injected_custom_data |
对象 | 从 cdr_custom_data 上下文变量中抽取的一组键/值对。 |
warnings_and_errors |
Array | 在调用期间记录的警告或错误。 请参阅 warnings_and_errors 。 |
realtime_transport_network_summary |
对象 | inbound_stream 对象中入站流的统计信息以及 outbound_stream 对象中出站流的统计信息。 仅当启用了 RTCP 时才包括在内。 请参阅 realtime_transport_network_summary 。 |
call
call
对象包含以下属性。
属性 | Type | 描述 |
---|---|---|
start_timestamp |
字符串 | 调用开始的时间,采用 ISO 格式 (yyyy-MM-ddTHH:mm:ss.SSSZ )。 |
stop_timestamp |
字符串 | 结束调用的时间,采用 ISO 格式 (yyyy-MM-ddTHH:mm:ss.SSSZ )。 |
milliseconds_elapsed |
编号 | 调用的持续时间 (以毫秒为单位)。 |
end_reason |
字符串 | 调用结束的原因。 可能的原因包括: -assistant_transfer -assistant_hangup -caller_hangup -失败 |
security.media_encrypted |
布尔值 | 介质是否已加密。 |
security.signaling_encrypted |
布尔值 | SIP 信令是否已加密。 |
security.sip_authenticated |
布尔值 | 是否使用 SIP 认证来认证调用者。 |
session_initiation_protocol
session_initiation_protocol
对象包含以下属性。
属性 | Type | 描述 |
---|---|---|
invite_arrival_timestamp |
字符串 | INVITE 请求到达的时间,采用 ISO 格式 (yyyy-MM-ddTHH:mm:ss.SSSZ )。 |
setup_milliseconds |
编号 | 设置调用所花费的时间 (以毫秒为单位)。 接收初始 SIP INVITE 请求与接收最终 SIP ACK 请求之间的时间。 |
headers.call_id |
字符串 | SIP Call-ID 头字段已从与呼叫相关的 SIP INVITE 中拉取。 |
headers.from_uri |
字符串 | 来自初始 SIP INVITE From 头的 SIP URI。 |
headers.to_uri |
字符串 | 来自初始 SIP INVITE To 头的 SIP URI。 |
assistant_interaction_summaries
assistant_interaction_summaries
对象包含以下属性。
属性 | Type | 描述 |
---|---|---|
assistant_id |
字符串 | 助手的唯一标识符。 |
session_id |
字符串 | 会话的唯一标识符。 |
turns |
Array | 描述对话期间发生的 watsonx Assistant 交互的对象数组。 请参阅 assistant_interaction_summaries.turns[] 。 |
assistant_interaction_summaries.turns[]
assistant_interaction_summaries.turns
数组中的对象包含以下属性。
属性 | Type | 描述 |
---|---|---|
assistant.log_id |
字符串 | 所记录事件的唯一标识,可用于在消息日志与 CDR 事件之间进行关联。 |
assistant.start_timestamp |
字符串 | 将请求发送到助手的时间,采用 ISO 格式 (yyyy-MM-ddTHH:mm:ss.SSSZ )。 |
assistant.response_milliseconds |
编号 | 从发送请求到从助手接收响应之间的时间 (以毫秒为单位)。 |
request |
对象 | 发送给助手的请求。 请参阅 assistant_interaction_summaries.turns[].request 。 |
response |
Array | 与请求关联的 response 对象的数组。 |
assistant_interaction_summaries.turns[].request
assistant_interaction_summaries.turns[].request
对象包含以下属性。
属性 | Type | 描述 |
---|---|---|
type |
字符串 |
请求类型:
|
streaming_statistics |
对象 | 与 Speech to Text 识别相关的信息和统计信息。 请参阅 assistant_interaction_summaries.turns[].request.streaming_statistics 。 |
assistant_interaction_summaries.turns[].request.streaming_statistics
assistant_interaction_summaries.turns[].request.streaming_statistics
对象包含以下属性。
属性 | Type | 描述 |
---|---|---|
transaction_id |
字符串 | 事务的唯一标识。 |
start_timestamp |
字符串 | 事务启动的时间,采用 ISO 格式 (yyyy-MM-ddTHH:mm:ss.SSSZ )。 |
stop_timestamp |
字符串 | 事务结束的时间,采用 ISO 格式 (yyyy-MM-ddTHH:mm:ss.SSSZ )。 |
response_milliseconds |
编号 | 在呼叫者的语音中检测到静默与从助手收到最终结果之间的等待时间 (以毫秒为单位)。 |
echo_detected |
布尔值 | 是否检测到回传。 |
confidence |
编号 | 最终话语的置信度分数。 |
assistant_interaction_summaries.turns[].response
assistant_interaction_summaries.turns[].response
对象包含以下属性。
属性 | Type | 描述 |
---|---|---|
type |
字符串 |
响应类型:
|
barge_in_occurred |
布尔值 | 轮到时是否发生驳船。 |
streaming_statistics |
对象 | 与 Text to Speech 合成和回放相关的信息和统计信息。 请参阅 assistant_interaction_summaries.turns[].response.streaming_statistics 。 |
CDR 与 watsonx Assistant 响应类型之间的映射
type
属性的值映射到 watsonx Assistant 响应类型。
CDR 响应类型 | 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
assistant_interaction_summaries.turns[].response.streaming_statistics
对象包含以下属性。
属性 | Type | 描述 |
---|---|---|
transaction_id |
字符串 | 事务的唯一标识。 |
start_timestamp |
字符串 | 事务启动的时间,采用 ISO 格式 (yyyy-MM-ddTHH:mm:ss.SSSZ )。 |
stop_timestamp |
字符串 | 事务结束的时间,采用 ISO 格式 (yyyy-MM-ddTHH:mm:ss.SSSZ )。 |
response_milliseconds |
编号 | 从将文本话语发送到助手到电话集成接收第一个合成音频包之间的时间 (以毫秒为单位)。 |
warnings_and_errors
warnings_and_errors
对象包含在调用期间记录的警告和错误,这些警告和错误按发生顺序列出。 包含以下条件的警告。
- 当置信度分数阈值过滤掉话语时的消息。
- Text to Speech 下流,即 Text to Speech 合成无法跟上电话集成流速率,音频可能会跳过。
- RTP 网络警告,例如高丢包率或高平均抖动 (如果启用了 RTCP)。
以下示例显示了 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"
}
]
每个警告的对象都包含以下属性。
属性 | Type | 描述 |
---|---|---|
message |
字符串 | 警告消息文本。 |
id |
字符串 | 唯一消息标识。 |
max_response_milliseconds
max_response_milliseconds
对象包含以下属性。
属性 | Type | 描述 |
---|---|---|
assistant |
编号 | 从与调用相关的所有 watsonx Assistant 请求计算的最大往返等待时间 (以毫秒计)。 |
text_to_speech |
编号 | 将文本发声发送到 Text to Speech 服务与电话集成接收第一个合成音频包之间的最长时间 (以毫秒为单位)。 此值是根据与调用相关的所有 Text to Speech 请求计算的。 |
speech_to_text |
编号 | 在呼叫者的语音中检测到静默时与接收到 Speech to Text 服务的最终结果时之间的最大等待时间 (以毫秒为单位)。 此值是根据与调用相关的所有 Speech to Text 识别结果计算的。 |
realtime_transport_network_summary
启用 RTCP 后,realtime_transport_network_summary
对象将为 inbound_stream
对象中的入站流提供统计信息,并为 outbound_stream
对象中的出站流提供统计信息。
以下示例显示了 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"
}
}
每个流的对象都包含以下属性。
属性 | Type | 描述 |
---|---|---|
maximum_jitter |
编号 | 呼叫期间的最大抖动。 |
average_jitter |
编号 | 在呼叫持续时间内计算的平均抖动。 |
packets_lost |
编号 | 在调用期间丢失的包数的估算值。 |
packets_transmitted |
编号 | 在调用期间传输的包总数的估算值。 |
canonical_name |
字符串 | 流的发送方的唯一标识,通常采用 @ 格式。 |
tool_name |
字符串 | 源自流的应用程序或工具的名称。 对于电话集成,缺省值为 IBM Voice Gateway/ 。 |