Initiate then decline a call using Microsoft Graph call is sending connected event

Colin Stone 46 Reputation points
2021-03-17T03:35:15.633+00:00

Hello,

This is demonstrated in the incidentbot provided by Microsoft. If I create a call in example 1 of application-post-calls and then cancel it I get a state of the call as connected when it clearly isn't. This poses a problem in Click to dial type applications where, for example, I must be in the call first before calling the recipient.

Steps to reproduce is to make a call in the same way as 1 and then when the bot calls teams immediately decline on teams. You will get the connected event and ideally unless i am missing something you should get the terminated event. In the Incident bot just make a call via the makeCallcontroller.cs (MakeOutgoingCallAsync) and decline.

Just wanted to know whether my thinking is correct or am i missing something. It would seem to be a bug to me.

Thanks.

Microsoft Graph
Microsoft Graph
A Microsoft programmability model that exposes REST APIs and client libraries to access data on Microsoft 365 services.
10,647 questions
Microsoft Teams Development
Microsoft Teams Development
Microsoft Teams: A Microsoft customizable chat-based workspace.Development: The process of researching, productizing, and refining new or existing technologies.
2,870 questions
{count} votes

Accepted answer
  1. Jarno Holstein | ANYWHERE365 81 Reputation points
    2021-04-21T08:13:59.923+00:00

    Does the Teams client you are calling have VoiceMail configured?
    If it does then wat might be happening is that your bot is connected to the voicemail endpoint of the Teams user.
    So:
    -Bot calls user
    -user rejects call
    -call gets send to voicemail
    -call gets established to voicemail
    -after voicemail ends call gets terminated

    You can check this in the settings of the Teams client. Settings -> Calls -> Call answering rules -> if unanswered -> Voicemail .
    If you set the "if unanswered" setting to "Do nothing" instead of "Voicemail" you should be getting terminated events on rejecting the call.

    Hope this helps.


3 additional answers

Sort by: Most helpful
  1. Nikitha-MSFT 541 Reputation points
    2021-03-26T09:43:36.817+00:00

    We are not able to repro the issue at our end. When you initiate using bot and user reacted to that call you will receive responder event on incident bot and there you can handle the status of the call please check this docs.

    Thanks,

    Nikitha.


    If the response is helpful, please click "Accept Answer" and upvote it. You can share your feedback via Microsoft Teams Developer Feedback link. Click here to escalate.

    0 comments No comments

  2. Colin Stone 46 Reputation points
    2021-03-30T06:34:22.153+00:00

    Hello, many thanks for the reply. In order to make this problem as simple as I can i have used the standard case of incidents/raise sample in your readme of the IncidentBot project.

    I have taken screenshots from the debugger, postman and the ngrok local response pages to assist in explanation. I have attached the pdf here and i hope that you see my problem.

    the very nature of getting an established event is where the problem lies. It should say terminated but not after 5 minutes when it is terminated by the bot.

    Many thanks
    82674-teamscallingeventproblem.pdf


  3. kwaghmode 1 Reputation point
    2022-01-06T13:24:18.34+00:00

    @Colin Stone Did you find any solution to get actual user event "rejected" or is there any other info in teams event request by which we can determine user action?