SOLVED

Tracking / listing the participants in a call using graph API

Copper Contributor

I am developing a bot which takes a call from a user then invites other participants. It would be advantageous to keep track of the participants in a call, whether they were added by the bot or the user.

 

Once the bot's calling endpoint receives a message that the call has been established, the bot invites participants by making a request to the graph on app/calls/{id}/participants/invite with the participant details in the body. This returns a response containing the details of a comms operation. When the invited participant accepts the invitation, the calling endpoint receives a message that the comms operation was deleted and the status is "completed". So far so good- I now know that the participant is in the call.

 

The problem is that if a human participant in the call invites someone, there is no message to indicate this on the calling endpoint. Should there be? Is there a way for the bot to know when a person has been invited by another person in the call?

-

A related issue is that when I try to request the list of participants in a call (as detailed on https://docs.microsoft.com/en-us/graph/api/call-list-participants?view=graph-rest-beta) the response suggests there are none. For example:


I place a call to the bot, and the calling endpoint receives a notification of an incoming call with id 471f0300-401f-4c4a-9967-3cee9a052519. The bot answers the call with a POST on:
https://graph.microsoft.com/beta/app/calls/471f0300-401f-4c4a-9967-3cee9a052519/answer

 

The bot subsequently receives a message on the calling endpoint that it has been established. I can query the graph about this call by making a GET:
https://graph.microsoft.com/beta/app/calls/471f0300-401f-4c4a-9967-3cee9a052519

 

I get a response with code 200 and the details of the call in progress, so the call clearly valid and accessible. However, if I attempt to get the list of participants with this GET:
https://graph.microsoft.com/beta/app/calls/471f0300-401f-4c4a-9967-3cee9a052519/participants

 

I get a response with code 200, but the body contains the following:
{"@odata.context":"https://graph.microsoft.com/beta/$metadata#app/calls('471f0300-401f-4c4a-9967-3cee9a052519')/participants","value":[]}

 

-

I'd appreciate any insight on what I might be doing wrong here.
Thanks a lot.

 

Edit: Upon posting this earlier, it was immediately flagged as spam for some reason- being unsure whether or not it would re-appear, I made the same post at stack overflow:

https://stackoverflow.com/questions/57009128/microsoft-teams-tracking-listing-the-participants-in-a-...

2 Replies
best response confirmed by pault85 (Copper Contributor)
Solution

@pault85 This question is a duplicate of Tracking / listing the participants in a call using Graph API. Please use this link to track the discussion on this.

Yes, apologies for the cross post- this one was flagged as spam and I couldn't see it in the list. Feel free to close it if necessary.
1 best response

Accepted Solutions
best response confirmed by pault85 (Copper Contributor)
Solution

@pault85 This question is a duplicate of Tracking / listing the participants in a call using Graph API. Please use this link to track the discussion on this.

View solution in original post