Segment and Node in api : phone/call_history/:calllogid

While using the API to analyze the CallLog Path, I discovered that during direct transfers, a total of five records are generated. However, the Segment/Node encoding rules for these five records differ from what is documented in the Developer guide.

Scenario: PhoneA ----Call → PhoneB -----DirectTransfer—> PhoneC

The Data Responsed like:
Event ------------- Result ---------- Segment — Node — OperatorExtNumber
incoming --------- answered ----- 1 ------------- 1 ------- PhoneB
direct_trasfer ---- connected ----- 2 ------------- 0
direct_trasfer ---- connected ----- 2 ------------- 1
incoming --------- answered ------ 3 ------------- 0
incoming --------- answered ------ 3 ------------- 1 ------ PhoneC

Question 1: Why is there no Segment 0?
Question 2: Why does Segment 1 not have Node 0, but Segments 2 and 3 do?
Question 3: How should the data for 2-0, 2-1, 3-0, 3-1 (Segment-Node) be interpreted? We only performed the Direct_Transfer action, but there are four records.

Hi @Albert3
Thanks for reaching out to us and welcome to the Zoom developer community!
Sorry for the late reply here. I was able to talk to our internal team and they informed me that Segment is the sequence of the log, node is whether this is the sequence within segment.

Hi @elisa.zoom
I would like to ask the following questions:

  1. According to the Developer API documentation, both Segment and Node are encoded starting from 0. However, why does Segment 1 not appear to be encoded starting from 0?
  2. What do the data for Node 0 and Node 1 in Segment 2 represent?

Hey @Albert3
I am sharing this feedback internally so I can update you on why Segment does not appear to be starting from 0
For your second question, the value of node 0 and 1 in segment 2 represent the order of the events within that segment

It’s counter intuitive but the reason there are many entries is that for each party in the organization the segments on the call are unique. So you making the direct transfers has a segment for your number dialing the direct transfer number, the direct transfer number receiving that call, the direct transfer number taking your call and the last one connecting the first person you were talking to the person you transferred the call to

1 Like

hi @Albert3
I was able to look further into this.
Would you be able to share the entire request body you are getting when calling the phone/call_history/calllogid endpoint and include the tracking id of the request (found in the response headers) so we can look further into this issue please

Hi @kslowpes ! Thank you for the explanation. I understand that a single action can generate multiple records, which addresses Question 3. However, Questions 1 and 2 remain unresolved. What I’m curious about is that the official documentation states that both Segments and Nodes are indexed starting from 0, but that doesn’t seem to be the case in reality. Does this mean that certain data is being omitted in the API response? Why is there no Segment 0? And why does Segment 1 not contain Node 0?

Hi @elisa.zoom

WEB_77654f5f81f1da00bd81db9375395889

{
“id”: “20250516-13c98ef6-9598-48aa-a464-3ef6315bcd8e”,
“direction”: “inbound”,
“international”: false,
“department”: “IMD”,
“duration”: 8,
“call_id”: “7504850334967768434”,
“connect_type”: “”,
“call_type”: “general”,
“caller_name”: “0920383276”,
“caller_did_number”: “0920383276”,
“caller_number_type”: “byop”,
“callee_ext_id”: “hCPU50jSSZ21G-ja0x3asQ”,
“callee_name”: “KW-IMD-Albert”,
“callee_email”: “albert.tj@keyence.com.tw”,
“callee_did_number”: “+886912352685”,
“callee_ext_number”: “2535”,
“callee_ext_type”: “user”,
“callee_number_type”: “zoom_pstn”,
“callee_device_type”: “Yealink SIP-T43U 108.86.3.8 44:db:d2:8c:0f:4e”,
“callee_country_iso_code”: “TW”,
“callee_country_code”: “886”,
“start_time”: “2025-05-16T01:32:19Z”,
“answer_time”: “2025-05-16T01:32:21Z”,
“end_time”: “2025-05-16T01:32:40Z”,
“call_path”: [
{
“id”: “20250516-e4eb9165-0f6e-4d2d-a276-f57d30fbdd23”,
“direction”: “inbound”,
“international”: false,
“department”: “IMD”,
“event”: “incoming”,
“result”: “answered”,
“node”: 1,
“segment”: 1,
“call_id”: “7504850334967768434”,
“connect_type”: “”,
“call_type”: “general”,
“caller_name”: “0920383276”,
“caller_did_number”: “0920383276”,
“caller_number_type”: “byop”,
“callee_ext_id”: “hCPU50jSSZ21G-ja0x3asQ”,
“callee_name”: “KW-IMD-Albert”,
“callee_email”: “albert.tj@keyence.com.tw”,
“callee_did_number”: “+886912352685”,
“callee_ext_number”: “2535”,
“callee_ext_type”: “user”,
“callee_number_type”: “zoom_pstn”,
“callee_device_type”: “Yealink SIP-T43U 108.86.3.8 44:db:d2:8c:0f:4e”,
“callee_country_iso_code”: “TW”,
“callee_country_code”: “886”,
“start_time”: “2025-05-16T01:32:19Z”,
“answer_time”: “2025-05-16T01:32:21Z”,
“end_time”: “2025-05-16T01:32:29Z”,
“is_node”: 1,
“device_private_ip”: “10.69.64.33”,
“talk_time”: 8,
“hold_time”: 4,
“wait_time”: 3
},
{
“id”: “20250516-44264371-2b0e-48e4-b045-e235189a72b2”,
“direction”: “outbound”,
“international”: false,
“department”: “IMD”,
“event”: “direct_transfer”,
“result”: “connected”,
“node”: 0,
“segment”: 2,
“call_id”: “7504850334967768434_1”,
“connect_type”: “internal”,
“call_type”: “general”,
“caller_ext_id”: “hCPU50jSSZ21G-ja0x3asQ”,
“caller_name”: “KW-IMD-Albert”,
“caller_email”: “albert.tj@keyence.com.tw”,
“caller_ext_number”: “2535”,
“caller_ext_type”: “user”,
“callee_ext_id”: “zXIhi3xJRDKEn-jF8Srf_w”,
“callee_name”: “KW-IMD-Elaine”,
“callee_email”: “elaine@keyence.com.tw”,
“callee_ext_number”: “2111”,
“callee_ext_type”: “user”,
“start_time”: “2025-05-16T01:32:29Z”,
“answer_time”: “2025-05-16T01:32:33Z”,
“end_time”: “2025-05-16T01:32:40Z”,
“is_node”: 1,
“talk_time”: 7,
“hold_time”: 0,
“wait_time”: 5
},
{
“id”: “20250516-fd8376b6-afe5-4ba1-aa6e-c470b258f345”,
“direction”: “outbound”,
“international”: false,
“department”: “IMD”,
“event”: “direct_transfer”,
“result”: “connected”,
“node”: 1,
“segment”: 2,
“call_id”: “7504850334967768434_1”,
“connect_type”: “internal”,
“call_type”: “general”,
“caller_ext_id”: “hCPU50jSSZ21G-ja0x3asQ”,
“caller_name”: “KW-IMD-Albert”,
“caller_email”: “albert.tj@keyence.com.tw”,
“caller_ext_number”: “2535”,
“caller_ext_type”: “user”,
“callee_ext_id”: “zXIhi3xJRDKEn-jF8Srf_w”,
“callee_name”: “KW-IMD-Elaine”,
“callee_email”: “elaine@keyence.com.tw”,
“callee_ext_number”: “2111”,
“callee_ext_type”: “user”,
“start_time”: “2025-05-16T01:32:29Z”,
“answer_time”: “2025-05-16T01:32:33Z”,
“end_time”: “2025-05-16T01:32:40Z”,
“is_node”: 1,
“talk_time”: 7,
“hold_time”: 0,
“wait_time”: 5
},
{
“id”: “20250516-0b1ddd05-98b0-4c83-b778-fcd859520507”,
“direction”: “inbound”,
“international”: false,
“department”: “IMD”,
“event”: “incoming”,
“result”: “answered”,
“node”: 0,
“segment”: 3,
“call_id”: “7504850334967768434_1”,
“connect_type”: “”,
“call_type”: “general”,
“caller_name”: “0920383276”,
“caller_did_number”: “0920383276”,
“caller_number_type”: “byop”,
“callee_ext_id”: “zXIhi3xJRDKEn-jF8Srf_w”,
“callee_name”: “KW-IMD-Elaine”,
“callee_email”: “elaine@keyence.com.tw”,
“callee_ext_number”: “2111”,
“callee_ext_type”: “user”,
“callee_device_type”: “Yealink SIP-T43U 108.86.3.8 44:db:d2:8c:0f:c2”,
“start_time”: “2025-05-16T01:32:32Z”,
“answer_time”: “2025-05-16T01:32:33Z”,
“end_time”: “2025-05-16T01:32:40Z”,
“is_node”: 1,
“device_private_ip”: “10.69.64.34”,
“talk_time”: 7,
“hold_time”: 0,
“wait_time”: 2
},
{
“id”: “20250516-18966204-913e-4280-b296-d881934011a1”,
“direction”: “inbound”,
“international”: false,
“department”: “IMD”,
“event”: “incoming”,
“result”: “answered”,
“node”: 1,
“segment”: 3,
“call_id”: “7504850334967768434_1”,
“connect_type”: “”,
“call_type”: “general”,
“caller_name”: “0920383276”,
“caller_did_number”: “0920383276”,
“caller_number_type”: “byop”,
“callee_ext_id”: “zXIhi3xJRDKEn-jF8Srf_w”,
“callee_name”: “KW-IMD-Elaine”,
“callee_email”: “elaine@keyence.com.tw”,
“callee_ext_number”: “2111”,
“callee_ext_type”: “user”,
“callee_device_type”: “Yealink SIP-T43U 108.86.3.8 44:db:d2:8c:0f:c2”,
“start_time”: “2025-05-16T01:32:32Z”,
“answer_time”: “2025-05-16T01:32:33Z”,
“end_time”: “2025-05-16T01:32:40Z”,
“is_node”: 1,
“device_private_ip”: “10.69.64.34”,
“talk_time”: 7,
“hold_time”: 0,
“wait_time”: 2
}
]
}

1 Like

Hey @Albert3
I created a ticket for our Engineering team to look into this (ZSEE-167846 internal ticket number for reference)
I will update you when I have more information

Hi Elisa

Thanks.
I’ll keep tracking it.

Hi @elisa.zoom

Since I need to report back to my supervisor, could you let me know if this survey has a deadline?

Hi @Albert3
Our Engineering team is currently looking at this issue but I do not have an update for you at the moment

1 Like