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
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 all participants | commsOperation | Mute all participants in the 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. |
Start recording | startRecordingOperation | Starts the recording of a call. |
Stop recording | stopRecordingOperation | Stops the recording of a call. |
Start transcription | startTranscriptionOperation | Starts the transcription of a call. |
Stop transcription | stopTranscriptionOperation | Stops the transcription of a call. |
Logging Operations | ||
Log teleconference 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
The following JSON representation shows the resource type.
{
"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",
"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"}
}