call resource type

Namespace: microsoft.graph

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

Calls can be set up as a peer-to-peer or as a group call. To create or join a group call, supply the chatInfo and meetingInfo. If these values aren't 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 if your application crashes.

Although the same identity can't be invited multiple times, it's 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.
Create audioRoutingGroup audioRoutingGroup Create a new audioRoutingGroup by posting to the audioRoutingGroups collection.
List audioRoutingGroups audioRoutingGroup collection Get an audioRoutingGroup object collection.
Add large gallery view addLargeGalleryViewOperation Add the large gallery view to a 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.
SendDtmfTones commsOperation Send DTMF tones in a call.
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 are delivered. Must be an HTTPS URL.
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 identifier must be copied over from Microsoft.Graph.Call.CallChainId.
callOptions outgoingCallOptions Contains the optional features for the call.
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 values are incoming or outgoing. Read-only.
id String The unique identifier for the call. Read-only.
incomingContext incomingContext Call context associated with an incoming call.
mediaConfig appHostedMediaConfig or serviceHostedMediaConfig The media configuration. Required.
mediaState callMediaState Read-only. The call media state.
meetingInfo organizerMeetingInfo, tokenMeetingInfo, or joinMeetingIdMeetingInfo The meeting information. Required information for meeting scenarios.
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, the result 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.
transcription callTranscriptionInfo The transcription information for the call. Read-only.

Relationships

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

JSON representation

Here's a JSON representation of the resource.

{
  "callbackUri": "String",
  "callChainId": "String",
  "callOptions": {"@odata.type": "#microsoft.graph.outgoingCallOptions"},
  "chatInfo": {"@odata.type": "#microsoft.graph.chatInfo"},
  "contentSharingSessions": [{ "@odata.type": "microsoft.graph.contentSharingSession" }],
  "direction": "String",
  "id": "String (identifier)",
  "mediaConfig": {"@odata.type": "#microsoft.graph.mediaConfig"},
  "mediaState": {"@odata.type": "#microsoft.graph.callMediaState"},
  "meetingInfo": {"@odata.type": "#microsoft.graph.meetingInfo"},
  "myParticipantId": "String",  
  "replacesContext": "String",
  "requestedModalities": ["String"],
  "resultInfo": {"@odata.type": "#microsoft.graph.resultInfo"},
  "source": {"@odata.type": "#microsoft.graph.participantInfo"},
  "state": "String",
  "subject": "String",
  "targets": [{"@odata.type": "#microsoft.graph.invitationParticipantInfo"}],
  "toneInfo": {"@odata.type": "#microsoft.graph.toneInfo"},
  "transcription": {"@odata.type": "#microsoft.graph.callTranscriptionInfo"},
}