call resource type

Namespace: microsoft.graph

The call resource is created when there is an incoming call for the application or the application creates a new outgoing call via a POST on app/calls.

Calls can be set up as a peer-to-peer or as a group call. For creating or joining a group call, supply the chatInfo and meetingInfo. If these are not supplied, a new group call is created automatically. For an incoming call, record these values in a highly available store so that your application can rejoin the call in the event that your application crashes.

Although the same identity cannot be invited multiple times, it is possible for an application to join the same meeting multiple times. Each time the application wants to join a call, a separate identity must be provided in order for the clients to display them as different participants.

Note: You can get the join URL from a meeting scheduled with Microsoft Teams. Extract the data from the URL as shown to populate chatInfo and meetingInfo.

https://teams.microsoft.com/l/meetup-join/19%3ameeting_NTg0NmQ3NTctZDVkZC00YzRhLThmNmEtOGQ3M2E0ODdmZDZk%40thread.v2/0?context=%7b%22Tid%22%3a%2272f988bf-86f1-41af-91ab-2d7cd011db47%22%2c%22Oid%22%3a%224b444206-207c-42f8-92a6-e332b41c88a2%22%7d

Becomes:

https://teams.microsoft.com/l/meetup-join/19:meeting_NTg0NmQ3NTctZDVkZC00YzRhLThmNmEtOGQ3M2E0ODdmZDZk@thread.v2/0?context={"Tid":"72f988bf-86f1-41af-91ab-2d7cd011db47","Oid":"4b444206-207c-42f8-92a6-e332b41c88a2"}

Methods

Method Return Type Description
Get call Read properties of the call object.
Delete None Delete or Hang-up an active call.
KeepAlive None Ensure that the call remains active.
Call Handling
Answer None Answer an incoming call.
Reject None Reject an incoming call.
Redirect None Redirect an incoming call.
Transfer None Transfer a call
Group Calls
List participants participant collection Get a participant object collection.
Invite participants commsOperation Invite participants to the active call.
Mute participant muteParticipantOperation Mute a participant in the group call.
Interactive-Voice-Response
PlayPrompt playPromptOperation Play prompt in the call.
RecordResponse recordOperation Records a short audio response from the caller.
CancelMediaProcessing commsOperation Cancel media processing.
SubscribeToTone commsOperation Subscribe to DTMF tones.
Self Participant Operations
Mute muteParticipantOperation Mute self in the call.
Unmute unmuteParticipantOperation Unmute self in the call.
ChangeScreenSharingRole None Start and stop sharing screen in the call.
Recording Operations
UpdateRecordingStatus updateRecordingStatusOperation Updates the recording status.
Logging Operations
Log device quality data teleconferenceDeviceQuality Log video teleconferencing device quality data.

Properties

Property Type Description
callbackUri String The callback URL on which callbacks will be delivered. Must be https.
callChainId String A unique identifier for all the participant calls in a conference or a unique identifier for two participant calls in a P2P call. This needs to be copied over from Microsoft.Graph.Call.CallChainId.
callRoutes callRoute collection The routing information on how the call was retargeted. Read-only.
chatInfo chatInfo The chat information. Required information for joining a meeting.
direction callDirection The direction of the call. The possible value are incoming or outgoing. Read-only.
id String The call id. Read-only.
mediaConfig appHostedMediaConfig or serviceHostedMediaConfig The media configuration. Required.
mediaState callMediaState Read-only. The call media state.
meetingInfo organizerMeetingInfo or tokenMeetingInfo The meeting information that's required for joining a meeting.
transcription callTranscriptionInfo The transcription information for the call. Read-only.
myParticipantId String Read-only.
requestedModalities modality collection The list of requested modalities. Possible values are: unknown, audio, video, videoBasedScreenSharing, data.
resultInfo resultInfo The result information. For example can hold termination reason. Read-only.
source participantInfo The originator of the call.
state callState The call state. Possible values are: incoming, establishing, ringing, established, hold, transferring, transferAccepted, redirecting, terminating, terminated. Read-only.
subject String The subject of the conversation.
targets invitationParticipantInfo collection The targets of the call. Required information for creating peer to peer call.
toneInfo toneInfo Read-only.
incomingContext incomingContext Call context associated with an incoming call.

Relationships

Relationship Type Description
operations commsOperation collection Read-only. Nullable.
participants participant collection Read-only. Nullable.

JSON representation

The following is a JSON representation of the resource.

{
  "callbackUri": "String",
  "callChainId": "String",
  "chatInfo": {"@odata.type": "#microsoft.graph.chatInfo"},
  "direction": "incoming | outgoing",
  "id": "String (identifier)",
  "mediaConfig": {"@odata.type": "#microsoft.graph.mediaConfig"},
  "mediaState": {"@odata.type": "#microsoft.graph.callMediaState"},
  "meetingInfo": {"@odata.type": "#microsoft.graph.meetingInfo"},  
  "transcription": {"@odata.type": "#microsoft.graph.callTranscriptionInfo"},
  "myParticipantId": "String",
  "replacesContext": "String",
  "requestedModalities": ["unknown | audio | video | videoBasedScreenSharing | data"],
  "resultInfo": {"@odata.type": "#microsoft.graph.resultInfo"},
  "source": {"@odata.type": "#microsoft.graph.participantInfo"},
  "state": "incoming | establishing | ringing | established | hold | transferring | transferAccepted | redirecting | terminating | terminated",
  "subject": "String",
  "targets": [{"@odata.type": "#microsoft.graph.invitationParticipantInfo"}],
  "toneInfo": {"@odata.type": "#microsoft.graph.toneInfo"}
}