@Yuuki Takahashi When user presses a button you will get the request at your specific callBack Url. Try to get the request that is coming. Inside the incoming request.body, you should get the property as toneInfo. Once you had it you can do toneInfo.tone to get the information.
You will not get the toneInfo by getting call info. You need to get it from incoming request body only.
Check the property "BodyReader" and changed the code and got the response.
{"@odata.type":"#microsoft.graph.commsNotifications","value":[{"@odata.type":"#microsoft.graph.commsNotification","changeType":"updated","resource":"/app/calls/xxxxx","resourceUrl":"/communications/calls/xxxxxxx","resourceData":{"@odata.type":"#microsoft.graph.call","state":"established","toneInfo":{"@odata.type":"#microsoft.graph.toneInfo","sequenceId":1,"tone":"tone1"}}}]}
ReadResult readResult = await Request.BodyReader.ReadAsync();
var buffer = readResult.Buffer.ToArray();
var doc = Encoding.UTF8.GetString(buffer);
var foo = doc;
Thanks,
Hunaid Hanfee
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.