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.

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 to rejoin the call in the event 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 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.
Configure audio mixer commsOperation Configure audio in multiparty conversation.
Create audioRoutingGroup audioRoutingGroup Create a new audioRoutingGroup by posting to the audioRoutingGroups collection.
List audioRoutingGroups audioRoutingGroup collection Get a audioRoutingGroup object collection.
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
activeModalities String 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.
chatInfo chatInfo The chat information. Required information for meeting scenarios.
direction String The direction of the call. The possible value 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 or tokenMeetingInfo The meeting information. Required information for meeting scenarios.
myParticipantId String Read-only.
requestedModalities String 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.
ringingTimeoutInSeconds Int32 Ringing timeout in seconds for outgoing peer to peer calls. The max value for this attribute is 115 seconds.
routingPolicies String collection This property is applicable for peer to peer calls only. Possible values are: none, noMissedCall, disableForwardingExceptPhone, disableForwarding, preferSkypeForBusiness.
source participantInfo The originator of the call.
state String 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 Azure Active Directory.
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.

JSON representation

The following is a JSON representation of the resource.

{
  "activeModalities": ["unknown | audio | video | videoBasedScreenSharing | data"],
  "answeredBy": {"@odata.type": "#microsoft.graph.participantInfo"},
  "callRoutes": [{"@odata.type": "#microsoft.graph.callRoute"}],
  "callbackUri": "String",
  "callChainId": "String",
  "chatInfo": {"@odata.type": "#microsoft.graph.chatInfo"},
  "direction": "incoming | outgoing",
  "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"},
  "myParticipantId": "String",
  "replacesContext": "String",
  "requestedModalities": ["unknown | audio | video | videoBasedScreenSharing | data"],
  "resultInfo": {"@odata.type": "#microsoft.graph.resultInfo"},
  "ringingTimeoutInSeconds": 99,
  "routingPolicies": ["none | noMissedCall | disableForwardingExceptPhone | disableForwarding | preferSkypeForBusiness"],
  "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"}],
  "tenantId": "String",
  "terminationReason": "String",
  "toneInfo": {"@odata.type": "#microsoft.graph.toneInfo"}
}