microsoftgraph / microsoftgraph/msgraph-sdk-dotnet

RecordResponseAsync method never returns result

Open
#2,412 1 comment 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C#
Stars
789
Forks
264
Avg merge
15h 17m
Merged PRs (30d)
3

Description

I'm using the Microsoft.Graph.Communications.Calls, Version=1.2.0.10115 package to handle various call related actions. I noticed recently that when I use the ICall.RecordResponse sdk method with code like below the method never returns a result.

var recordOperation = await call.RecordResponseAsync(
    maxRecordDurationInSeconds: 5,
    maxSilenceTimeoutInSeconds: 5,
    playBeep: true
);

However I do have my application setup to receive notifications and I see I do get a notification that has the information of the RecordResponseAsync call. I'm just not sure why the method doesn't return that data.

The notification my app gets looks like this:

{
    "@odata.type": "#microsoft.graph.commsNotifications",
    "value": [
        {
            "@odata.type": "#microsoft.graph.commsNotification",
            "changeType": "deleted",
            "resource": "/app/calls/491f6400-cbfd-419e-ad10-90724b5712f7/operations/46c5be4d-bcad-4f20-941e-eea2f667d308",
            "resourceUrl": "/communications/calls/491f6400-cbfd-419e-ad10-90724b5712f7/operations/46c5be4d-bcad-4f20-941e-eea2f667d308",
            "resourceData": {
                "@odata.type": "#microsoft.graph.recordOperation",
                "recordResourceAccessToken": "tokenRedacted",
                "recordResourceLocation": "https://03-usce.noam.prd.ivr.mediapaas.infra.teams.microsoft.com/api/v1/mediabots/in_59/67eb3535-81f2-4c20-90b1-19e2b822bb08/actions/record/5e5ea978-25ac-4589-8674-9cf30fc2752f/recordedStreams/43ef4fef-ffb1-471c-8e10-83c47ae2e529",
                "recordingLocation": "https://03-usce.noam.prd.ivr.mediapaas.infra.teams.microsoft.com/api/v1/mediabots/in_59/67eb3535-81f2-4c20-90b1-19e2b822bb08/actions/record/5e5ea978-25ac-4589-8674-9cf30fc2752f/recordedStreams/43ef4fef-ffb1-471c-8e10-83c47ae2e529",
                "recordingAccessToken": "tokenRedacted",
                "completionReason": "maxRecordDurationReached",
                "status": "completed",
                "clientContext": "adadff00-38c6-41fb-a5e2-738eb8c867fe",
                "resultInfo": {
                    "@odata.type": "#microsoft.graph.resultInfo",
                    "code": 200,
                    "subcode": 8515,
                    "message": "Action completed, max record duration reached."
                },
                "id": "46c5be4d-bcad-4f20-941e-eea2f667d308"
            }
        }
    ]
}

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the ICall.RecordResponse and RecordResponseAsync entry points in the SDK and compare their behavior with the completed operation notification shown in the issue. Determine why the asynchronous call does not return the completed recordOperation data, then verify the behavior with a focused reproduction or existing test coverage.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
api
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.