CDR 日志事件参考
对于日志 Webhook 发送的 cdr_logged 事件,payload 对象包含电话集成处理的呼叫详情记录 (CDR) 事件的相关数据。 CDR 事件的 payload 对象包含以下属性。
属性 | Type | 描述 |
|---|---|---|
| string | 拨打的电话号码。 |
| string | 唯一会话标识符。 |
| boolean | 通话过程中是否发生故障。 |
| string | 发生故障的详细信息。 |
| boolean | 是否尝试过呼叫转移。 |
| 编号 | 通话开始时的通话次数。 |
| string | 从初始 SIP |
| 对象 | 通话信息。 请参阅 |
| 对象 | 与 SIP 协议相关的详细信息。 请参阅 |
| 对象 | 通话期间使用服务的最大延迟。 请参阅 |
| 数组 | 有关通话期间与AI助手互动的详细信息。 参见 |
| 对象 | 从 |
| 数组 | 通话过程中记录的警告或错误。 请参阅 |
| 对象 |
|
call
call 对象包含以下属性。
属性 | Type | 描述 |
|---|---|---|
| 字符串 | 呼叫开始的时间,采用 ISO 格式 ( |
| 字符串 | 通话结束的时间,采用 ISO 格式 ( |
| 编号 | 呼叫持续时间,毫秒。 |
| string | 通话结束的原因。 可能的原因包括:\n - 转接失败 \n - 转接方挂断 \n - 主叫方挂断 \n - 失败 |
| 布尔值 | 介质是否加密。 |
| 布尔值 | SIP 信令是否加密。 |
| 布尔值 | 是否使用 SIP 身份验证来验证呼叫者。 |
session_initiation_protocol
session_initiation_protocol 对象包含以下属性。
属性 | Type | 描述 |
|---|---|---|
| 字符串 |
|
| 编号 | 建立呼叫所需的时间,毫秒。 从收到初始 SIP |
| 字符串 | 从与呼叫相关的 SIP |
| 字符串 | 来自初始 SIP INVITE |
| 字符串 | 来自初始 SIP INVITE |
assistant_interaction_summaries
assistant_interaction_summaries 对象包含以下属性。
属性 | Type | 描述 |
|---|---|---|
| 字符串 | AI 助手的唯一标识符。 |
| 字符串 | 会话的唯一标识符。 |
| 数组 | 一个描述对话过程中AI助手交互情况的对象数组。 参见 [ |
assistant_interaction_summaries.turns[]
assistant_interaction_summaries.turns 数组中的对象包含以下属性。
属性 | Type | 描述 |
|---|---|---|
| 字符串 | 记录事件的唯一标识符,可用于关联消息日志和 CDR 事件。 |
| 字符串 | 向 AI 助手发送请求的时间,采用 ISO 格式 ( |
| 编号 | 从发送请求到收到助手响应的时间(毫秒)。 |
| 对象 | 发送给AI助手的请求。 参见 [ |
| 数组 | 与请求相关联的 |
assistant_interaction_summaries.turns[].request
assistant_interaction_summaries.turns[].request 对象包含以下属性。
属性 | Type | 描述 |
|---|---|---|
| 字符串 | 请求类型:\n - |
| 对象 | 与“ Speech to Text ”认证相关的信息和统计数据。 参见 [ |
assistant_interaction_summaries.turns[].request.streaming_statistics
assistant_interaction_summaries.turns[].request.streaming_statistics 对象包含以下属性。
属性 | Type | 描述 |
|---|---|---|
| 字符串 | 交易的唯一标识符。 |
| 字符串 | 交易开始的时间,采用 ISO 格式 ( |
| 字符串 | 交易结束的时间,采用 ISO 格式 ( |
| 编号 | 从检测到呼叫者语音中出现静默到收到 AI 助手的最终结果之间的时间延迟(以毫秒为单位)。 |
| 布尔值 | 是否检测到回音。 |
| 编号 | 最终语音的可信度得分。 |
assistant_interaction_summaries.turns[].response
assistant_interaction_summaries.turns[].response 对象包含以下属性。
属性 | Type | 描述 |
|---|---|---|
| 字符串 | 响应类型:\n - |
| 布尔值 | 是否在该回合中发生了闯入事件。 |
| 对象 | 与 Text to Speech 的合成和播放相关的信息和统计数据。 参见 [ |
CDR 与 AI 助手响应类型的映射
该 type 属性的值对应于 AI 助手的响应类型。
CDR 响应类型 | AI 助手回复类型 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assistant_interaction_summaries.turns[].response.streaming_statistics
assistant_interaction_summaries.turns[].response.streaming_statistics 对象包含以下属性。
属性 | Type | 描述 |
|---|---|---|
| 字符串 | 交易的唯一标识符。 |
| 字符串 | 交易开始的时间,采用 ISO 格式 ( |
| 字符串 | 交易结束的时间,采用 ISO 格式 ( |
| 编号 | 从文本指令发送给 AI助手到手机端接收到第一包合成音频之间的时间(以毫秒为单位)。 |
warnings_and_errors
warnings_and_errors 对象包含调用过程中记录的警告和错误,按发生顺序排列。 包括针对以下情况的警告。
根据置信度得分阈值筛选出语篇时的信息。
Text to Speech 下溢,即当 Text to Speech 的合成速度跟不上手机集成流媒体的传输速率时,音频可能会出现卡顿。
如果启用了 RTCP,RTP 网络警告,如高丢包率或高平均抖动。
下面的示例显示了 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 | 描述 |
|---|---|---|
| 字符串 | 警告信息文本。 |
| 字符串 | 唯一的信息标识符。 |
max_response_milliseconds
max_response_milliseconds 对象包含以下属性。
属性 | Type | 描述 |
|---|---|---|
| 编号 | 最大往返延迟(以毫秒为单位),根据与该通话相关的所有 AI 助手请求计算得出。 |
| 编号 | 从文本语音指令发送至 Text to Speech 服务,到手机集成接收第一包合成音频之间的时间上限(以毫秒为单位)。 该值是根据与该调用相关的所有 Text to Speech 请求计算得出的。 |
| 编号 | 从检测到呼叫方语音中出现静默到收到 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 | 描述 |
|---|---|---|
| 编号 | 通话过程中的最大抖动。 |
| 编号 | 在通话过程中计算出的平均抖动。 |
| 编号 | 估计通话过程中丢失的数据包数量。 |
| 编号 | 估计通话期间传输的数据包总数。 |
| 字符串 | 数据流发送方的唯一标识符,通常采用 |
| 字符串 | 数据流来源的应用程序或工具名称。 对于电话集成,默认值为 |