microsoftgraph / microsoftgraph/microsoft-graph-comms-samples
PolicyRecordingBot - Get Caller and Callee
Nobody has claimed this yet.
- Dominant language
- No language data
- Stars
- 253
- Forks
- 275
- Avg merge
- 1d 5h
- Merged PRs (30d)
- 1
Description
When the recording bot receives a call, how can you tell which participant is the caller and which is the recipient?
The notifications that arrive during a call give information about participants as they are added and removed, but I can't see how to determine which one is the initiator of the call.
The only place I can see a "Caller" and a "Callee" is in the "botData" part of the initial invite message (example below - guids and numbers removed - "+44xxxxxxxxxx" is the phone number making the call).
"applicationMetadata": {
"botData": {
"callId": "xxxxxxx (guid) xxxxxxx",
"mediaHostedRegion": "EUWE",
"user": {
"participationMethod": "Callee"
},
"otherSideUser": {
"id": "4:+44xxxxxxxxxx",
"participantId": "xxxxxxx (guid) xxxxxxx",
"tenantId": "00000000-0000-0000-0000-000000000000",
"participationMethod": "Caller"
},
"inviteReasons": [
"ComplianceRecording"
],
"policyIdentifier": "TeamsComplianceRecordingPolicy=Tenant:ComplianceRecordingPolicy",
"otherRecorders": [],
"pairedRecorders": []
}
}
These properties don't appear to be available in the 'Call' object directly.
The only way I can see to get this data is by using call.Resource.AdditionalData["applicationMetadata"] and parsing the JSON inside it.
Am I doing this properly?
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the initial invite message's applicationMetadata.botData and compare it with the Call object and call.Resource.AdditionalData. Check the sample's handling of participant notifications and determine whether caller and callee are exposed through a supported API surface. Done means establishing a documented, supported way to identify both participants or clearly recording that the requested properties are unavailable.
Written by the indexing model from the issue text.
Assessment
- Domain
- api, backend-api-design
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100