CDR 日誌事件參照
對於日誌 Webhook 所傳送的 cdr_logged 事件,payload 物件包含電話整合所處理之通話詳細記錄 (CDR) 事件的相關資料。 CDR 事件的 payload 物件包含下列內容。
| 內容 | 類型 | 說明 |
|---|---|---|
primary_phone_number |
字串 | 已撥打的電話號碼。 |
global_session_id |
字串 | 唯一階段作業 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 |
陣列 | 通話期間發生的 watsonx Assistant 互動的詳細資料。 請參閱 assistant_interaction_summaries。 |
injected_custom_data |
物件 | 從 cdr_custom_data 環境定義變數擷取的一組鍵值組。 |
warnings_and_errors |
陣列 | 通話期間所記載的警告或錯誤。 請參閱 warnings_and_errors。 |
realtime_transport_network_summary |
物件 | inbound_stream 物件中入埠串流的統計資料,以及 outbound_stream 物件中出埠串流的統計資料。 只有在啟用 RTCP 時才包含。 請參閱 realtime_transport_network_summary。 |
call
call 物件包含以下屬性。
| 內容 | 類型 | 說明 |
|---|---|---|
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 物件包含以下屬性。
| 內容 | 類型 | 說明 |
|---|---|---|
invite_arrival_timestamp |
字串 | INVITE 要求到達的時間,採用 ISO 格式 (yyyy-MM-ddTHH:mm:ss.SSSZ)。 |
setup_milliseconds |
號碼 | 設定通話所花費的時間 (毫秒)。 從收到起始 SIP INVITE 要求到收到最終 SIP ACK 要求之間的時間。 |
headers.call_id |
字串 | 從與通話相關的 SIP INVITE 中取回的 SIP Call-ID 標頭欄位。 |
headers.from_uri |
字串 | 來自起始 SIP INVITE From 標頭的 SIP URI。 |
headers.to_uri |
字串 | 來自起始 SIP INVITE To 標頭的 SIP URI。 |
assistant_interaction_summaries
assistant_interaction_summaries 物件包含以下屬性。
| 內容 | 類型 | 說明 |
|---|---|---|
assistant_id |
字串 | 助理的唯一識別碼。 |
session_id |
字串 | 會話的唯一識別碼。 |
turns |
陣列 | 物件陣列,說明交談期間發生的 watsonx Assistant 互動。 請參閱 assistant_interaction_summaries.turns[]。 |
assistant_interaction_summaries.turns[]
assistant_interaction_summaries.turns 陣列中的物件包含下列內容。
| 內容 | 類型 | 說明 |
|---|---|---|
assistant.log_id |
字串 | 已記載事件的唯一 ID,可用來在訊息日誌與 CDR 事件之間產生關聯。 |
assistant.start_timestamp |
字串 | 將要求傳送至助理的時間,採用 ISO 格式 (yyyy-MM-ddTHH:mm:ss.SSSZ)。 |
assistant.response_milliseconds |
號碼 | 傳送要求與從助理收到回應之間的時間 (毫秒)。 |
request |
物件 | 傳送給助理的要求。 請參閱 assistant_interaction_summaries.turns[].request。 |
response |
陣列 | 與要求相關聯的 response 物件陣列。 |
assistant_interaction_summaries.turns[].request
assistant_interaction_summaries.turns[].request 物件包含以下屬性。
| 內容 | 類型 | 說明 |
|---|---|---|
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 物件包含以下屬性。
| 內容 | 類型 | 說明 |
|---|---|---|
transaction_id |
字串 | 交易的唯一 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 |
字串 |
回應類型:
|
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 物件包含以下屬性。
| 內容 | 類型 | 說明 |
|---|---|---|
transaction_id |
字串 | 交易的唯一 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 合成無法跟上電話整合串流速率且音訊可能跳過時。
- 如果已啟用 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"
}
]
每一個警告的物件包含下列內容。
| 內容 | 類型 | 說明 |
|---|---|---|
message |
字串 | 警告訊息的文字。 |
id |
字串 | 唯一訊息 ID。 |
max_response_milliseconds
max_response_milliseconds 物件包含以下屬性。
| 內容 | 類型 | 說明 |
|---|---|---|
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"
}
}
每一個串流的物件包含下列內容。
| 內容 | 類型 | 說明 |
|---|---|---|
maximum_jitter |
號碼 | 通話期間的最大抖動。 |
average_jitter |
號碼 | 在通話期間計算的平均雜訊時間。 |
packets_lost |
號碼 | 通話期間遺失的封包數估計值。 |
packets_transmitted |
號碼 | 預估通話期間傳輸的封包總數。 |
canonical_name |
字串 | 串流傳送端的唯一 ID,通常採用 @ 格式。 |
tool_name |
字串 | 產生串流的應用程式或工具名稱。 對於電話整合,預設值為 IBM Voice Gateway/ 。 |