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
andmeetingInfo
.
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"}
Note
The following known issues are associated with this resource:
Methods
Method | Return Type | Description |
---|---|---|
Create | call | Create call enables your bot to create a new outgoing peer-to-peer or group call, or join an existing meeting. |
Get | call | Read properties of the call object. |
Delete/hang up | None | Delete or Hang-up an active call. |
Keep alive | 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 | 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 | Create a new audioRoutingGroup by posting to the audioRoutingGroups collection. |
List audio routing groups | audioRoutingGroup collection | Get an audioRoutingGroup object collection. |
Add large gallery view | addLargeGalleryViewOperation | Add the large gallery view to a call. |
Interactive-voice-response | ||
Play prompt | playPromptOperation | Play prompt in the call. |
Record response | recordOperation | Records a short audio response from the caller. |
Cancel media processing | commsOperation | Cancel media processing. |
Subscribe to tone | commsOperation | Subscribe to DTMF tones. |
Send DTMF tone | commsOperation | Send DTMF tones in a call. |
Self participant operations | ||
Mute application | muteParticipantOperation | Mute self in the call. |
Unmute application | unmuteParticipantOperation | Unmute self in the call. |
Change screen sharing role | None | Start and stop sharing screen in the call. |
Recording Operations | ||
Update recording status | updateRecordingStatusOperation | Updates the recording status. |
Logging operations | ||
Log teleconference 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
The following JSON representation shows the resource type.
{
"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",
"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"},
}