Teams client issue when quitting a call being transferred by a bot

Brass Contributor

Hello,

 

I'm having several issues involving a microsoft teams bot with calling capability and call transfer.

I use directly the GRAPH API, without using the SDK. The transfer used is direct transfer (as opposed to consultative transfer). Documentation is here.

You will find [poor] screen video captures in attachment.

Here is the first scenario (failed_to_abandon.mp4)

 

  1. 00:02 The bot calls a user (let's call him 'A') from its tenant.
  2. 00:04 'A' answers the call.
  3. 00:07 The bot transfers the call to an other user (let's call him 'B'), 'B' is ringing.
  4. 00:13 'A' decides to interrupt the transfer and click on the quit button inside Microsoft Teams.
  5. 00:13 The Microsoft Teams call window disappears on 'A' side, while 'B' is still ringing.
  6. 00:18 If 'B' answers the call, 'A' and 'B' are connected by phone. 'A' can't drop the call, 'B' can.

 

Here is the second scenario (call_window_closed.mp4).

 

  1. 00:02 The bot calls a user (let's call him 'A') from its tenant.
  2. 00:04 'A' answers the call.
  3. 00:07 The bot transfers the call to an other user (let's call him 'B'), 'B' is ringing.
  4. 00:10 'B' answers the call.
  5. 00:12 The Microsoft Teams call window disappears on 'A' side.

 

Regards,

 

David CHOLLET

13 Replies

@Mad_hatter - Could you please share bot side log (especially the call chain id and repro time in UTC) for both scenarioes to investigate further?

@Mad_hatter - Could you please confirm if your issue has resolved or still looking for any help?

@Nivedipa-MSFT- Hello, I didn't see your message, then I went on vacation, sorry for that.

Here is a full log extraction of all JSON communications between my public web site and microsoft cloud for the first scenario, except for token acquisition.

All timestamps are UTC.

 

<<<<<<<<<< is a HTTP communication from microsoft cloud to my web site.

>>>>>> is a HTTP communication from my web site to microsoft cloud.

<<<<<< is a HTTP response from microsoft cloud

 

 

220502;07:30:35.200;[00410];021;APP_CALL;CREATE_CALL;D90D;RestRequest;GetWebRequest;T;>>>>>> request type=CreateCallRequest uri=https://graph.microsoft.com/v1.0/communications/calls method=POST content=application/json raw={"tenantId":"ZZZZZZZZ-ZZZZ-ZZZZ-ZZZZ-ZZZZZZZZZZZZ","callbackUri":"https://preprod.YYYYYYY.cloud:8544/callback/call","mediaConfig":{"@odata.type":"#microsoft.graph.serviceHostedMediaConfig","preFetchMedia":[]},"source":{"identity":{"applicationInstance":{"displayName":"CLICK_N_DIAL","id":"e8571c8b-2b94-4441-a2dd-92e7f6c6c715"}}},"targets":[{"identity":{"user":{"displayName":"David CHOLLET","id":"a75f8483-9fb4-4e07-8e41-6ef5d1e928b0","userPrincipalName":"dchollet@YYYYYYY.com"}}}]}
220502;07:30:35.421;[00429];021;APP_CALL;CREATE_CALL_ACK;D90D;RestRequest;Read;T;<<<<<< request type=CreateCallRequest response={"@odata.context":"https://graph.microsoft.com/v1.0/$metadata#communications/calls/$entity","id":"741f5c00-9659-4ddf-a6f6-21abf8ddfb91","state":"establishing","transferState":null,"terminationReason":null,"direction":"outgoing","ringingTimeoutInSeconds":null,"subject":null,"callbackUri":"https://preprod.YYYYYYY.cloud:8544/callback/call","requestedModalities":[],"activeModalities":[],"routingPolicies":[],"tenantId":"ZZZZZZZZ-ZZZZ-ZZZZ-ZZZZ-ZZZZZZZZZZZZ","myParticipantId":"f1e51f6e-aed6-49bc-a737-80d82266ed9d","callChainId":"2f0a2ba2-f2c8-4af5-a10e-de1c984de146","mediaHostedRegion":null,"mediaState":null,"resultInfo":null,"answeredBy":null,"chatInfo":null,"meetingInfo":null,"transcription":null,"callOptions":null,"meetingCapability":null,"breakoutDetails":null,"pstnDetails":null,"toneInfo":null,"incomingContext":null,"terminationSender":null,"meetingGroupDetails":null,"callRoutes":[],"source":{"endpointType":null,"region":null,"languageId":null,"countryCode":null,"participantId":null,"identity":{"user":null,"phone":null,"guest":null,"encrypted":null,"onPremises":null,"applicationInstance":{"id":"e8571c8b-2b94-4441-a2dd-92e7f6c6c715","displayName":"CLICK_N_DIAL","tenantId":null,"registrantId":null},"application":null,"device":null}},"targets":[{"endpointType":null,"replacesCallId":null,"hidden":null,"removeFromDefaultAudioRoutingGroup":null,"participantId":null,"identity":{"phone":null,"guest":null,"encrypted":null,"onPremises":null,"applicationInstance":null,"application":null,"device":null,"user":{"id":"a75f8483-9fb4-4e07-8e41-6ef5d1e928b0","displayName":"David CHOLLET","tenantId":null,"registrantId":null,"userPrincipalName":"dchollet@YYYYYYY.com"}}}],"mediaConfig":{"@odata.type":"#microsoft.graph.serviceHostedMediaConfig","preFetchMedia":[]}}
220502;07:30:35.480;[00760];028;SERVER;CALLBACK_CALL_ACK;7854;QServer;EndOp;X;<<<<<<<<<< {"@odata.type":"#microsoft.graph.commsNotifications","value":[{"@odata.type":"#microsoft.graph.commsNotification","changeType":"updated","resource":"/app/calls/741f5c00-9659-4ddf-a6f6-21abf8ddfb91","resourceUrl":"/communications/calls/741f5c00-9659-4ddf-a6f6-21abf8ddfb91","resourceData":{"@odata.type":"#microsoft.graph.call","state":"establishing","callChainId":"2f0a2ba2-f2c8-4af5-a10e-de1c984de146"}}]}
220502;07:30:37.563;[00760];028;SERVER;CALLBACK_CALL_ACK;E9C1;QServer;EndOp;X;<<<<<<<<<< {"@odata.type":"#microsoft.graph.commsNotifications","value":[{"@odata.type":"#microsoft.graph.commsNotification","changeType":"updated","resource":"/app/calls/741f5c00-9659-4ddf-a6f6-21abf8ddfb91","resourceUrl":"/communications/calls/741f5c00-9659-4ddf-a6f6-21abf8ddfb91","resourceData":{"@odata.type":"#microsoft.graph.call","state":"established","direction":"outgoing","callChainId":"2f0a2ba2-f2c8-4af5-a10e-de1c984de146"}}]}
220502;07:30:37.628;[00760];028;SERVER;CALLBACK_CALL_ACK;C0DD;QServer;EndOp;X;<<<<<<<<<< {"@odata.type":"#microsoft.graph.commsNotifications","value":[{"@odata.type":"#microsoft.graph.commsNotification","changeType":"updated","resource":"/app/calls/741f5c00-9659-4ddf-a6f6-21abf8ddfb91","resourceUrl":"/communications/calls/741f5c00-9659-4ddf-a6f6-21abf8ddfb91","resourceData":{"@odata.type":"#microsoft.graph.call","state":"established","mediaState":{"@odata.type":"#microsoft.graph.callMediaState","audio":"active"},"callChainId":"2f0a2ba2-f2c8-4af5-a10e-de1c984de146"}}]}
220502;07:30:38.143;[00410];021;APP_CALL;TRANSFER;9F76;RestRequest;GetWebRequest;T;>>>>>> request type=TransferRequest uri=https://graph.microsoft.com/v1.0/communications/calls/741f5c00-9659-4ddf-a6f6-21abf8ddfb91/transfer method=POST content=application/json raw={"transferTarget":{"endpointType":"default","identity":{"phone":{"id":"XXXXXXXXXX"}}}}
220502;07:30:38.203;[00760];028;SERVER;CALLBACK_CALL_ACK;9378;QServer;EndOp;X;<<<<<<<<<< {"@odata.type":"#microsoft.graph.commsNotifications","value":[{"@odata.type":"#microsoft.graph.commsNotification","changeType":"updated","resource":"/app/calls/741f5c00-9659-4ddf-a6f6-21abf8ddfb91","resourceUrl":"/communications/calls/741f5c00-9659-4ddf-a6f6-21abf8ddfb91","resourceData":{"@odata.type":"#microsoft.graph.call","state":"transferring","callChainId":"2f0a2ba2-f2c8-4af5-a10e-de1c984de146"}}]}
220502;07:30:38.207;[00429];021;APP_CALL;TRANSFER_ACK;9F76;RestRequest;Read;T;<<<<<< request type=TransferRequest response=
220502;07:30:38.460;[00760];028;SERVER;CALLBACK_CALL_ACK;76B6;QServer;EndOp;X;<<<<<<<<<< {"@odata.type":"#microsoft.graph.commsNotifications","value":[{"@odata.type":"#microsoft.graph.commsNotification","changeType":"updated","resource":"/app/calls/741f5c00-9659-4ddf-a6f6-21abf8ddfb91","resourceUrl":"/communications/calls/741f5c00-9659-4ddf-a6f6-21abf8ddfb91","resourceData":{"@odata.type":"#microsoft.graph.call","state":"hold","mediaState":{"@odata.type":"#microsoft.graph.callMediaState","audio":"inactive"},"callChainId":"2f0a2ba2-f2c8-4af5-a10e-de1c984de146"}}]}
220502;07:30:38.569;[00760];028;SERVER;CALLBACK_CALL_ACK;42C5;QServer;EndOp;X;<<<<<<<<<< {"@odata.type":"#microsoft.graph.commsNotifications","value":[{"@odata.type":"#microsoft.graph.commsNotification","changeType":"updated","resource":"/app/calls/741f5c00-9659-4ddf-a6f6-21abf8ddfb91","resourceUrl":"/communications/calls/741f5c00-9659-4ddf-a6f6-21abf8ddfb91","resourceData":{"@odata.type":"#microsoft.graph.call","state":"transferAccepted","callChainId":"2f0a2ba2-f2c8-4af5-a10e-de1c984de146"}}]}
220502;07:30:41.880;[00760];028;SERVER;CALLBACK_CALL_ACK;3239;QServer;EndOp;X;<<<<<<<<<< {"@odata.type":"#microsoft.graph.commsNotifications","value":[{"@odata.type":"#microsoft.graph.commsNotification","changeType":"updated","resource":"/app/calls/741f5c00-9659-4ddf-a6f6-21abf8ddfb91","resourceUrl":"/communications/calls/741f5c00-9659-4ddf-a6f6-21abf8ddfb91","resourceData":{"@odata.type":"#microsoft.graph.call","state":"established","resultInfo":{"@odata.type":"#microsoft.graph.resultInfo","code":481,"subcode":10021,"message":"Call/Transaction Does Not Exist Or Has Ended. DiagCode: 481#10021.@"},"callChainId":"2f0a2ba2-f2c8-4af5-a10e-de1c984de146","replacesContext":"aHR0cHM6Ly9jYy1ldXdlLTA3LmNjLnNreXBlLmNvbS9jYy92MS9jYWxsUGFydGljaXBhbnQvZWIyMjYxZTQtMTIzOC00MmE4LWFiZWUtY2NkNzY5ZGU3YjQxLzI0L2syLzEzNC9yZXBsYWNlbWVudD9ydD1lOTcxNTljY2E2MDY0MWQ0OTA3MmZjNGRkM2MxMTRmZCZyYz1leUp5ZEdsa0lqb2lPRHB2Y21kcFpEcGhOelZtT0RRNE15MDVabUkwTFRSbE1EY3RPR1UwTVMwMlpXWTFaREZsT1RJNFlqQWlMQ0p5ZEd4cElqb2labkl0Wm5JaUxDSnlkSEp6SWpvaVJXNTBaWEp3Y21selpWQnliM2g1SW4wJTI1M2QmaT03OSZlPTYzNzg2NzU2NTI0NzE5Mzk0OQ=="}}]}
220502;07:30:41.940;[00760];028;SERVER;CALLBACK_CALL_ACK;F1D1;QServer;EndOp;X;<<<<<<<<<< {"@odata.type":"#microsoft.graph.commsNotifications","value":[{"@odata.type":"#microsoft.graph.commsNotification","changeType":"deleted","resource":"/app/calls/741f5c00-9659-4ddf-a6f6-21abf8ddfb91","resourceUrl":"/communications/calls/741f5c00-9659-4ddf-a6f6-21abf8ddfb91","resourceData":{"@odata.type":"#microsoft.graph.call","state":"terminated","resultInfo":{"@odata.type":"#microsoft.graph.resultInfo","code":200,"subcode":0,"message":"The conversation has ended"},"callChainId":"2f0a2ba2-f2c8-4af5-a10e-de1c984de146","terminationSender":{"@odata.type":"#microsoft.graph.identitySet","user":{"@odata.type":"#microsoft.graph.identity","id":"a75f8483-9fb4-4e07-8e41-6ef5d1e928b0","displayName":"David CHOLLET","identityProvider":"AAD"}}}}]}

 

Best Regards,

 

David CHOLLET

 

@Nivedipa-MSFT- Here are the logs for the second scenario

 

220502;09:17:28.494;[00410];021;APP_CALL;CREATE_CALL;7B08;RestRequest;GetWebRequest;T;>>>>>> request type=CreateCallRequest uri=https://graph.microsoft.com/v1.0/communications/calls method=POST content=application/json raw={"tenantId":"ZZZZZZZZ-ZZZZ-ZZZZ-ZZZZ-ZZZZZZZZZZZZ","callbackUri":"https://preprod.YYYYYYY.cloud:8544/callback/call","mediaConfig":{"@odata.type":"#microsoft.graph.serviceHostedMediaConfig","preFetchMedia":[]},"source":{"identity":{"applicationInstance":{"displayName":"CLICK_N_DIAL","id":"e8571c8b-2b94-4441-a2dd-92e7f6c6c715"}}},"targets":[{"identity":{"user":{"displayName":"David CHOLLET","id":"a75f8483-9fb4-4e07-8e41-6ef5d1e928b0","userPrincipalName":"dchollet@YYYYYYY.com"}}}]}
220502;09:17:29.231;[00429];021;APP_CALL;CREATE_CALL_ACK;7B08;RestRequest;Read;T;<<<<<< request type=CreateCallRequest response={"@odata.context":"https://graph.microsoft.com/v1.0/$metadata#communications/calls/$entity","id":"7f1f5b00-b323-4b38-bd41-a2e0850e2d0f","state":"establishing","transferState":null,"terminationReason":null,"direction":"outgoing","ringingTimeoutInSeconds":null,"subject":null,"callbackUri":"https://preprod.YYYYYYY.cloud:8544/callback/call","requestedModalities":[],"activeModalities":[],"routingPolicies":[],"tenantId":"ZZZZZZZZ-ZZZZ-ZZZZ-ZZZZ-ZZZZZZZZZZZZ","myParticipantId":"8ae7814a-8c47-4b2f-9432-583b63d784fa","callChainId":"750ae201-cc8f-48e9-94cc-a99f93cedba5","mediaHostedRegion":null,"mediaState":null,"resultInfo":null,"answeredBy":null,"chatInfo":null,"meetingInfo":null,"transcription":null,"callOptions":null,"meetingCapability":null,"breakoutDetails":null,"pstnDetails":null,"toneInfo":null,"incomingContext":null,"terminationSender":null,"meetingGroupDetails":null,"callRoutes":[],"source":{"endpointType":null,"region":null,"languageId":null,"countryCode":null,"participantId":null,"identity":{"user":null,"phone":null,"guest":null,"encrypted":null,"onPremises":null,"applicationInstance":{"id":"e8571c8b-2b94-4441-a2dd-92e7f6c6c715","displayName":"CLICK_N_DIAL","tenantId":null,"registrantId":null},"application":null,"device":null}},"targets":[{"endpointType":null,"replacesCallId":null,"hidden":null,"removeFromDefaultAudioRoutingGroup":null,"participantId":null,"identity":{"phone":null,"guest":null,"encrypted":null,"onPremises":null,"applicationInstance":null,"application":null,"device":null,"user":{"id":"a75f8483-9fb4-4e07-8e41-6ef5d1e928b0","displayName":"David CHOLLET","tenantId":null,"registrantId":null,"userPrincipalName":"dchollet@YYYYYYY.com"}}}],"mediaConfig":{"@odata.type":"#microsoft.graph.serviceHostedMediaConfig","preFetchMedia":[]}}
220502;09:17:29.332;[00760];028;SERVER;CALLBACK_CALL_ACK;12ED;QServer;EndOp;X;<<<<<<<<<< {"@odata.type":"#microsoft.graph.commsNotifications","value":[{"@odata.type":"#microsoft.graph.commsNotification","changeType":"updated","resource":"/app/calls/7f1f5b00-b323-4b38-bd41-a2e0850e2d0f","resourceUrl":"/communications/calls/7f1f5b00-b323-4b38-bd41-a2e0850e2d0f","resourceData":{"@odata.type":"#microsoft.graph.call","state":"establishing","callChainId":"750ae201-cc8f-48e9-94cc-a99f93cedba5"}}]}
220502;09:17:31.040;[00760];028;SERVER;CALLBACK_CALL_ACK;8FDF;QServer;EndOp;X;<<<<<<<<<< {"@odata.type":"#microsoft.graph.commsNotifications","value":[{"@odata.type":"#microsoft.graph.commsNotification","changeType":"updated","resource":"/app/calls/7f1f5b00-b323-4b38-bd41-a2e0850e2d0f","resourceUrl":"/communications/calls/7f1f5b00-b323-4b38-bd41-a2e0850e2d0f","resourceData":{"@odata.type":"#microsoft.graph.call","state":"established","direction":"outgoing","callChainId":"750ae201-cc8f-48e9-94cc-a99f93cedba5"}}]}
220502;09:17:31.191;[00760];028;SERVER;CALLBACK_CALL_ACK;47BF;QServer;EndOp;X;<<<<<<<<<< {"@odata.type":"#microsoft.graph.commsNotifications","value":[{"@odata.type":"#microsoft.graph.commsNotification","changeType":"updated","resource":"/app/calls/7f1f5b00-b323-4b38-bd41-a2e0850e2d0f","resourceUrl":"/communications/calls/7f1f5b00-b323-4b38-bd41-a2e0850e2d0f","resourceData":{"@odata.type":"#microsoft.graph.call","state":"established","mediaState":{"@odata.type":"#microsoft.graph.callMediaState","audio":"active"},"callChainId":"750ae201-cc8f-48e9-94cc-a99f93cedba5"}}]}
220502;09:17:31.696;[00410];021;APP_CALL;TRANSFER;07DA;RestRequest;GetWebRequest;T;>>>>>> request type=TransferRequest uri=https://graph.microsoft.com/v1.0/communications/calls/7f1f5b00-b323-4b38-bd41-a2e0850e2d0f/transfer method=POST content=application/json raw={"transferTarget":{"endpointType":"default","identity":{"phone":{"id":"XXXXXXXXXX"}}}}
220502;09:17:31.979;[00429];021;APP_CALL;TRANSFER_ACK;07DA;RestRequest;Read;T;<<<<<< request type=TransferRequest response=
220502;09:17:32.011;[00760];028;SERVER;CALLBACK_CALL_ACK;DEB9;QServer;EndOp;X;<<<<<<<<<< {"@odata.type":"#microsoft.graph.commsNotifications","value":[{"@odata.type":"#microsoft.graph.commsNotification","changeType":"updated","resource":"/app/calls/7f1f5b00-b323-4b38-bd41-a2e0850e2d0f","resourceUrl":"/communications/calls/7f1f5b00-b323-4b38-bd41-a2e0850e2d0f","resourceData":{"@odata.type":"#microsoft.graph.call","state":"transferring","callChainId":"750ae201-cc8f-48e9-94cc-a99f93cedba5"}}]}
220502;09:17:32.315;[00760];028;SERVER;CALLBACK_CALL_ACK;0DBC;QServer;EndOp;X;<<<<<<<<<< {"@odata.type":"#microsoft.graph.commsNotifications","value":[{"@odata.type":"#microsoft.graph.commsNotification","changeType":"updated","resource":"/app/calls/7f1f5b00-b323-4b38-bd41-a2e0850e2d0f","resourceUrl":"/communications/calls/7f1f5b00-b323-4b38-bd41-a2e0850e2d0f","resourceData":{"@odata.type":"#microsoft.graph.call","state":"hold","mediaState":{"@odata.type":"#microsoft.graph.callMediaState","audio":"inactive"},"callChainId":"750ae201-cc8f-48e9-94cc-a99f93cedba5"}}]}
220502;09:17:32.735;[00760];028;SERVER;CALLBACK_CALL_ACK;5CB4;QServer;EndOp;X;<<<<<<<<<< {"@odata.type":"#microsoft.graph.commsNotifications","value":[{"@odata.type":"#microsoft.graph.commsNotification","changeType":"updated","resource":"/app/calls/7f1f5b00-b323-4b38-bd41-a2e0850e2d0f","resourceUrl":"/communications/calls/7f1f5b00-b323-4b38-bd41-a2e0850e2d0f","resourceData":{"@odata.type":"#microsoft.graph.call","state":"transferAccepted","callChainId":"750ae201-cc8f-48e9-94cc-a99f93cedba5"}}]}
220502;09:17:39.203;[00760];028;SERVER;CALLBACK_CALL_ACK;4483;QServer;EndOp;X;<<<<<<<<<< {"@odata.type":"#microsoft.graph.commsNotifications","value":[{"@odata.type":"#microsoft.graph.commsNotification","changeType":"deleted","resource":"/app/calls/7f1f5b00-b323-4b38-bd41-a2e0850e2d0f","resourceUrl":"/communications/calls/7f1f5b00-b323-4b38-bd41-a2e0850e2d0f","resourceData":{"@odata.type":"#microsoft.graph.call","state":"terminated","resultInfo":{"@odata.type":"#microsoft.graph.resultInfo","code":200,"subcode":7015,"message":"The conversation has ended. DiagCode: 0#7015.@"},"terminationReason":"AppTransferred","callChainId":"750ae201-cc8f-48e9-94cc-a99f93cedba5"}}]}

 

 

 

Regards,

 

David CHOLLET

@Mad_hatter - We will investigate the logs and update you soon.

@ChetanSharma-msft- The issue has not resolved, please see my answers to

 
Regards,
 
David CHOLLET
@Mad_hatter - Engineering team had investigated the logs.
For the first scenario, the transfer has been failed in the middle since User A interrupted during transferring.
For the second scenario, the transfer has been succeeded. If neither User A or User B hanged up after the transferred call being connected.
These both look like client issues.

Could you please try to update the Teams client version and check again?

@Nivedipa-MSFT- Hi, I still have the issue unfortunately after a client update. I concur, it is a client issue.

I couldn't reproduce the second scenario though, only the first one.

 

Best regards,

 

David CHOLLET

@Mad-hatter - Still your first issue is reproducable?

@Nivedipa-MSFT- In fact, both issues are still reproducible :( my client version is 1.5.00.13769 (64 bits)

 

Regards,

 

David CHOLLET

@Mad_hatter - Both issue is reproducible in updated Teams version also?

@Nivedipa-MSFT- Hello,

 

I will be more specific, I've just downloaded the last teams client version (1.5.00.14473 64 bits).

For the first scenario, I have two cases :

  1. The call is dropped and the transfer target never rings. So it is good.
  2. The call is not dropped, the window closes, the transfer target rings and answers. BUT, and this is important, there is now a small thumbnail window on the bottom right of my screen, allowing 'A' to recover the lost window. So this is good also !

For the second scenario, I'm afraid the window is lost, lost, lost.

 

Regards,

 

David CHOLLET

@Mad_hatter - Have you checked the both scenario in latest version of Teams? Is this reproducable in latest version also?