Number of participants is reported inaccurately on CallRecord endpoint

Copper Contributor

We have been pulling CallRecord data via Graph API for analysis. One particular record grabbed our attention.  According to the JSON return from Graph API there were 40 participants and 60 sessions. However, the online CQD dashboards showed over 120 participants for the call. 

 

So we started to troubleshoot and noticed that our logic does not support the session "nextLink" and there were more than 60 sessions for this group call. We fixed it; so now we can support the pagination. However, the "participants" array field in the JSON return still shows 40 participants. We checked all the returns from Graph API. Only the first return that we made against the call-id has the participants section; the rest of the paginated returns for session does not even have a participants section. They only include the session and segment info. I think subsequent returns do not even have the stream metric details either.

 

So is this a expected behavior? Do we need to call the link in nextLink section differently, so that the return includes all the participant data?

 

Thanks

12 Replies
Thank you for reporting this, we will check this and get back to you.
Hi there. Do you have any updates on this issue yet? I look forward to hearing from you.
Apologies for the delay, we are following up with the engineering team for an update. We will update you.

@palezvar - Engineering team requires below details. Could you please share below details?

Is this on beta or v1.0 version of callRecord Graph API? Also, is this a regular call/conference or a special meeting type like a Teams Live Event or TownHall?

 

Currently participants are not paginated on v1.0, it's a single collection at the callRecord level and limited to 130 results. We recently introduced pagination for the participant_v2 relationship in beta, which should be available in v1.0 in the next few weeks.

 

Without seeing a specific Call Id it's hard to know the exact reason why there might be a discrepancy between CQD and Graph, but my guess is that this may be a live event with streaming participants. Streaming users are not currently supported in callRecord Graph API.

This is what we use: https://graph.microsoft.com/v1.0/communications/callRecords/{id}

We grab the participant section of the return for that particular call I mentioned. The number of participants listed is 45 but according to CQD it is more than 100. Do we need to engage "/communications/calls/{id}/participants" endpoint and not reply on the participant content returned in callRecord?

This was a conference call. Is there a way for me to send you the call id directly instead of sharing it here?

Thanks

@palezvar - Please share the above details at microsoftteamsdev@microsoft.com.

Thank you. I just sent it with the following subject line: "Call ID for the issue with title: "Number of participants is reported inaccurately on CallRecord endpoint""
We received your email, we will share these details with engineering team and get back to you.

@palezvar - Engineering team has given the following reply -

 

The participants attribute on the callRecord should reflect all the participants and is not currently paginated, so only receiving 40 seems to be a defect. Sessions and segments are expandable and paginated, so they would need to call the nextLink with those expanded to see the full results for sessions and segments.

 

We are raising an incident for the above issue. Could you please share the JSON response you got from the API. Please share it to above email.

Thank you.
Just asking out of curiosity. You already have the Call ID. Can't your team collect that information first hand?
Engineering team can't reproduce this and is not able to find any obvious reason for the behavior as the backend data looks correct. That is the reason we have asked for the JSON response.

@palezvar  - Did you get the approvals to share the JSON response you got from the API.