microsoft-graph-comms-samples icon indicating copy to clipboard operation
microsoft-graph-comms-samples copied to clipboard

Can not get recording location and token when we end the call directly in Record Response Graph API

Open bijaykush opened this issue 5 years ago • 15 comments

I would like to focus your attention on Record Response API This API sends us callback notification with Recording Location URL and Recording Access Token on the following cases:

  1. When we input some keypad as stopTones (*, #, 1, 2, etc.) to stop the recording completely.
  2. When we keep on recording our voice for 2 min duration
  3. When events like maxSilenceTimeoutInSeconds get triggered

But the issue here is when we end the call directly from the customer phone before max duration reached(2 min) OR maxSilenceTimeoutInSeconds OR without passing stopTones, we didn't get any callback notifications i.e. we lose our recordings.

Is there any way or workaround to resolve this issue?

bijaykush avatar Nov 30 '20 05:11 bijaykush

@ssulzer @ksikorsk Is there any way to make it work when user presses the end button directly instead of hitting stoptones?

bijaykush avatar Jan 18 '21 06:01 bijaykush

@bijaykush I've referred this to an engineer to look at. Thanks.

ssulzer avatar Jan 20 '21 03:01 ssulzer

@ssulzer Thank you for your help. Hope to get a response soon since we are having this as a major roadblock in our product development.

And also to add some more details: We found out that, we are getting these required callback(RecordOperation ) notifications when the customer hits the end button directly with a 20% success rate and 80% failure rate. To make it clearer, we are getting call back notifications in 1 out of 5 or 6 calls without changing anything at our side. It appears like Record Response API is not working properly as it should.

You can also use these findings while debugging the issue.

bijaykush avatar Jan 20 '21 04:01 bijaykush

@ssulzer Any update on this? We are eagerly waiting for this to work.

bijaykush avatar Jan 26 '21 12:01 bijaykush

@zhengni-msft Will need your help on this. If the call ends abruptly while a recordResponse operation is in-progress, there's likely a race condition bug in which operation completion callbacks are not delivered to the app. @bijaykush can you please share a recent call-id/scenario-id of an example? Thanks.

ssulzer avatar Jan 27 '21 07:01 ssulzer

Hi @ssulzer and @zhengni-msft

I have made 6 test calls again on Record Response API in v1.0 and found out that 1 call is sending RecordOperation notification when I end the call directly from the end button of a mobile(PSTN) out of 6 calls for recordOperation. The call which worked is the 6th call.

But we should get recordOperation notificaiton of every call listed below when we pressed the end button directly too. Hope the logs will be useful for debugging at your side

Number of Participant for these test cases: Bot and PSTN number (2 participants)

Failed Case: 1st Call:

"CallId": "501f5b00-f11f-445d-8b8c-f2364b47ea1b"
"ScenarioId": "b30c5b0d-96dd-4b21-a657-148fcef6206d",

2nd Call:

"CallId": "7c1f3d00-e11f-46e7-9c5e-c2f215ed55bd"
"ScenarioId": "5ea0ef49-0fe3-407a-ae15-82ac13c869e"

3rd Call:

"CallId": "571f3e00-5820-40c4-9921-cde1ccd515c9",
"ScenarioId": "11cb0c11-74ff-4e33-8c35-5d1f37b78fef"

4th Call:

"CallId": "961f6a00-711f-41ed-af47-805ff4c183e1"
"ScenarioId": "685d9531-ad5f-48a7-b4a2-2f4e8040817e"

5th Call:

"CallId": "6e1f6400-8b1f-48eb-a3fc-c215d04e35e5",
"ScenarioId": "13ed063b-c270-49b6-873a-0a1f4e56d15d"

Success Case: 6th Call:

"CallId": "84200200-bf1f-48de-9ebd-1b86909e57c5",
"ScenarioId": "60935677-c116-4ed3-bf57-e50ba1acda8d"

Record Response Data for successful call:

{​​​​​​​Microsoft.Graph.Communications.Core.Notifications.NotificationEventArgs}​​​​​​​
  AdditionalData: Count = 10
  CallbackUri: {​​​​​​​http://04268873c1c7.ngrok.io/callback/calling}​​​​​​​​
  ChangeType: Deleted
  Notification: {​​​​​​​Microsoft.Graph.CommsNotification}​​​​​​​
  NotificationId: {​​​​​​​5078370f-3c74-49e4-bee0-a30e7e1dbb31}​​​​​​​
  RequestId: {​​​​​​​3a3037b0-ec82-415a-b375-c86a1654287b}​​​​​​​
  ResourceData: {​​​​​​​Microsoft.Graph.RecordOperation}​​​​​​​
  ScenarioId: {​​​​​​​60935677-c116-4ed3-bf57-e50ba1acda8d}​​​​​​​
  TenantId: "***********************"

ResourceData Record Operation:

     AdditionalData: Count = 3
    ClientContext: "84200200-bf1f-48de-9ebd-1b86909e57c5"
    Id: "80141177-9833-4b9b-8ea7-eef772982e33"
    ODataType: "microsoft.graph.recordOperation"
    RecordingAccessToken: "eyJhbGciOiJSUzI1NiI*******************************"
    RecordingLocation: "https://01********************"
    ResultInfo: {​​​​​​​Microsoft.Graph.ResultInfo}​​​​​​​
    Status: Completed

This is the big roadblock for our product release. Please help us by resolving this issue as soon as possible.

bijaykush avatar Jan 28 '21 07:01 bijaykush

This is a known race condition issue that if recorder response reached to MS Graph Platform Service after the call end, the call might have already been deleted so that it won't send notification to bot any more. We have bug to track this issue and will be working on the fix.

jackry avatar Jan 29 '21 03:01 jackry

@bijaykush Right now we cannot offer an ETA for a fix. Only suggestion I can think of is to update the prompt played to the caller to indicate it is important to enter an appropriate stop tone to complete their response/message before hanging up. Thank you for reporting this bug to us.

ssulzer avatar Jan 29 '21 04:01 ssulzer

@ssulzer @jackry @zhengni-msft

Hope it will be resolved soon. Please update here once you have a fixed push for this. Thank you.

bijaykush avatar Feb 01 '21 07:02 bijaykush

@ssulzer is any progress this issue? I believe that is a bug of Graph API. Is any possible to raise the priority of this issue?

ATGN-KevinYang avatar Feb 17 '21 07:02 ATGN-KevinYang

@jackry @zhengni-msft

ssulzer avatar Feb 18 '21 02:02 ssulzer

We are tracking that issue and need some time to fix that as it requires the call object in server side keep longer time after call ended. Will update here after if it in.

zhengni-msft avatar Jun 04 '21 20:06 zhengni-msft

Hi @zhengni-msft , Any update about this please ? or any expected delay on it ? Many thanks

mwerghemmi avatar Sep 07 '21 09:09 mwerghemmi

Hi @zhengni-msft @ssulzer , any update or any timeline on this one please ?

Many thanks

mwerghemmi avatar Nov 12 '22 21:11 mwerghemmi

Is this issue resolved? I'm still facing this type of issue

AshokButra avatar Jun 23 '24 02:06 AshokButra