call resource type

Namespace: microsoft.graph

Important

APIs under the /beta version in Microsoft Graph are subject to change. Use of these APIs in production applications is not supported. To determine whether an API is available in v1.0, use the Version selector.

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 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 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 to rejoin the call in the event 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 joins, 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 all participants commsOperation Mute all participants in the 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
activeModalities modality collection The list of active modalities. Possible values are: unknown, audio, video, videoBasedScreenSharing, data. Read-only.
answeredBy participantInfo The participant that answered the call. Read-only.
callRoutes callRoute collection The routing information on how the call was retargeted. Read-only.
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.
callOptions outgoingCallOptions Contains the optional features for the call.
chatInfo chatInfo The chat information. Required information for meeting scenarios.
direction callDirection The direction of the call. The possible values are incoming or outgoing. Read-only.
id String The call id. Read-only.
incomingContext incomingContext The context associated with an incoming call. Read-only. Server generated.
mediaConfig appHostedMediaConfig or serviceHostedMediaConfig The media configuration. Required information for creating peer to peer calls or joining meetings.
mediaState callMediaState Read-only. The call media state.
meetingCapability meetingCapability Contains the capabilities of a meeting. Read-only.
meetingInfo organizerMeetingInfo, tokenMeetingInfo, or joinMeetingIdMeetingInfo The meeting information. Required information for meeting scenarios.
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, the result can hold termination reason. Read-only.
ringingTimeoutInSeconds Int32 Ringing timeout in seconds for outgoing peer to peer calls. The max value for this attribute is 115 seconds.
routingPolicies routingPolicy collection This property is applicable for peer to peer calls only. Possible values are: none, noMissedCall, disableForwardingExceptPhone, disableForwarding, preferSkypeForBusiness, unknownFutureValue.
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.
tenantId String Read-only. tenantId in Microsoft Entra ID.
terminationReason String Read-only.
toneInfo toneInfo Read-only.

Relationships

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

JSON representation

Here's a JSON representation of the resource.

{
  "activeModalities": ["String"],
  "answeredBy": {"@odata.type": "#microsoft.graph.participantInfo"},
  "callRoutes": [{"@odata.type": "#microsoft.graph.callRoute"}],
  "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)",
  "incomingContext": {"@odata.type": "#microsoft.graph.incomingContext"},
  "mediaConfig": {"@odata.type": "#microsoft.graph.mediaConfig"},
  "mediaState": {"@odata.type": "#microsoft.graph.callMediaState"},
  "meetingCapability": {"@odata.type": "#microsoft.graph.meetingCapability"},
  "meetingInfo": {"@odata.type": "#microsoft.graph.meetingInfo"},
  "transcription": {"@odata.type": "#microsoft.graph.callTranscriptionInfo"},
  "myParticipantId": "String",
  "replacesContext": "String",
  "requestedModalities": ["String"],
  "resultInfo": {"@odata.type": "#microsoft.graph.resultInfo"},
  "ringingTimeoutInSeconds": 99,
  "routingPolicies": ["String"],
  "source": {"@odata.type": "#microsoft.graph.participantInfo"},
  "state": "String",
  "subject": "String",
  "targets": [{"@odata.type": "#microsoft.graph.invitationParticipantInfo"}],
  "tenantId": "String",
  "terminationReason": "String",
  "toneInfo": {"@odata.type": "#microsoft.graph.toneInfo"}
}