microsoftgraph / microsoft-graph-comms-samples

Microsoft Graph Communications Samples
MIT License
209 stars 233 forks source link

Graph API recording duration limitation #38

Open Githamza opened 5 years ago

Githamza commented 5 years ago

I would record a call on teams using Graph API. As mentionned in documentation .

I make a request

POST https://graph.microsoft.com/beta/app/calls/{id}/record
Content-Type: application/json
Content-Length: 394

{
  "bargeInAllowed": true,
  "clientContext": "d45324c1-fcb5-430a-902c-f20af696537c",
  "prompts": [
    {
      "@odata.type": "#microsoft.graph.mediaPrompt",
      "mediaInfo": {
        "uri": "https://cdn.contoso.com/beep.wav",
        "resourceId": "1D6DE2D4-CD51-4309-8DAA-70768651088E"
      },
      "loop": 5
    }
  ],
  "maxRecordDurationInSeconds": 1800,
  "initialSilenceTimeoutInSeconds": 10,
  "maxSilenceTimeoutInSeconds": 2,
  "recordingFormat": "wav",
  "playBeep": true,
  "streamWhileRecording": true,
  "stopTones": [ "#", "11", "*" ]
}

I get the response with file locatop,

{
 [
    {
      "changeType": "deleted",
      "resource": "/app/calls/57DAB8B1894C409AB240BD8BEAE78896/operations/0FE0623FD62842EDB4BD8AC290072CC5",
      "resourceData": {
        "@odata.type": "#microsoft.graph.recordOperation",
        "@odata.id": "/app/calls/57DAB8B1894C409AB240BD8BEAE78896/operations/0FE0623FD62842EDB4BD8AC290072CC5",
        "@odata.etag": "W/\"54451\"",
        "clientContext": "d45324c1-fcb5-430a-902c-f20af696537c",
        "status": "completed",
        "recordResourceLocation": "https://file.location/17e3b46c-f61d-4f4d-9635-c626ef18e6ad",
        "recordResourceAccessToken": "<access-token>",
        "completionReason": "stopToneDetected"
      }
    }
  ]
}

Actual problem

When I request the location url and get the file , the maximum duration of the audio file is 300s

Expected behaviour

Be able to extend the recording time to longer than 300 s ( 5min ) ?

Thanks

ssulzer commented 5 years ago

@Githamza

The recording time limit of 300 seconds is by-design. This API is not intended to be able to record an entire call or meeting, but instead capture short user responses to prompts. The application must also download the recording (if it wishes to preserve the audio) shortly after the recording is completed, as the platform will discard its copy of the recording after a few minutes.

Githamza commented 5 years ago

Thanks for your reply ,

Any future feature to record an entire call ?

VinodRavichandran commented 5 years ago

@Githamza Yes, we do plan on exposing call/meeting recording capabilities in the upcoming quarters.

stefan2410 commented 5 years ago

@VinodRavichandran The plan for "call/meeting recording capabilities" and recordings >300s will be implemented via the Graph API , in the upcoming quarters? or via the Stream public API (roadmap for Q2 2020) ?

VinodRavichandran commented 5 years ago

@stefan2410 We will know the answer to your question once we finalize on the details of the design to implement this feature.

saraswat40 commented 5 years ago

+1 for increasing the recording time limit to an entire call.

AshokButra commented 4 months ago

Any update on recording entire call, don't know how much the time call takes place