| title | call: redirect |
|---|---|
| description | Redirect an incoming call. |
| author | rahulva-msft |
| ms.localizationpriority | medium |
| ms.subservice | cloud-communications |
| doc_type | apiPageType |
| ms.date | 04/05/2024 |
Namespace: microsoft.graph
[!INCLUDE beta-disclaimer]
Redirect an incoming call that wasn't answered or rejected yet. The terms "redirecting" and "forwarding" a call are used interchangeably.
The bot is expected to redirect the call before the call times out. The current timeout value is 15 seconds.
[!INCLUDE national-cloud-support]
Choose the permission or permissions marked as least privileged for this API. Use a higher privileged permission or permissions only if your app requires it. For details about delegated and application permissions, see Permission types. To learn more about these permissions, see the permissions reference.
[!INCLUDE permissions-table]
POST /app/calls/{id}/redirect
POST /communications/calls/{id}/redirectNote: The
/apppath is deprecated. Going forward, use the/communicationspath.
| Name | Description |
|---|---|
| Authorization | Bearer {token}. Required. Learn more about authentication and authorization. |
In the request body, provide a JSON object with the following parameters.
| Parameter | Type | Description |
|---|---|---|
| targets | invitationParticipantInfo collection | The target participants of the redirect operation. If more than one target is specified, it's a simultaneous ring call. This means that all of the targets are called at the same time and only the first target that picks up is connected. We support up to 25 targets for simultaneous ring. |
| targetDisposition | String | (Deprecated) The possible values are: default , simultaneousRing , forward. This parameter is deprecated. The system automatically identifies whether it's a forward call or simultaneous ring call from the number of targets provided. |
| timeout | Int32 | The timeout (in seconds) for the redirect operation. The range of the timeout value is between 15 and 90 seconds inclusive. The default timeout value is 55 seconds for 1 target and 60 seconds for multiple targets (subject to change). |
| maskCallee | Boolean | Indicates whether the callee is to be hidden from the caller. If true, then the callee identity is the bot identity. Default: false. |
| maskCaller | Boolean | Indicates whether the caller is to be hidden from the callee. If true, then the caller identity is the bot identity. Default: false. |
| callbackUri | String | Allows bots to provide a specific callback URI for the current call to receive later notifications. If this property isn't set, the bot's global callback URI is used instead. The URI must be https. |
If successful, this method returns a 202 Accepted response code.
These examples cover a workflow of an incoming call notification and how that call is redirected.
Note: The response objects shown here might be shortened for readability. All the properties are returned from an actual call.
{
"@odata.type": "#microsoft.graph.commsNotifications",
"value": [
{
"@odata.type": "#microsoft.graph.commsNotification",
"changeType": "created",
"resourceUrl": "/communications/calls/491f0b00-ffff-4bc9-a43e-b226498ec22a",
"resourceData": {
"@odata.type": "#microsoft.graph.call",
"state": "incoming",
"direction": "incoming",
"callbackUri": "https://bot.contoso.com/api/calls/24701998-1a73-4d42-8085-bf46ed0ae039",
"source": {
"@odata.type": "#microsoft.graph.participantInfo",
"identity": {
"@odata.type": "#microsoft.graph.identitySet",
"user": {
"@odata.type": "#microsoft.graph.identity",
"id": "8d1e6ab6-26c5-4e22-a1bc-06ea7343958e",
"tenantId": "632899f8-2ea1-4604-8413-27bd2892079f"
}
},
"region": "amer",
},
"targets": [
{
"@odata.type": "#microsoft.graph.participantInfo",
"identity": {
"@odata.type": "#microsoft.graph.identitySet",
"application": {
"@odata.type": "#microsoft.graph.identity",
"displayName": "test bot",
"id": "24701998-1a73-4d42-8085-bf46ed0ae039"
}
}
}
],
"tenantId": "632899f8-2ea1-4604-8413-27bd2892079f",
"myParticipantId": "c339cede-4bd6-4f20-ab9f-3a13e65f6d00",
"id": "491f0b00-ffff-4bc9-a43e-b226498ec22a"
}
}
]
}POST https://graph.microsoft.com/beta/communications/calls/491f0b00-ffff-4bc9-a43e-b226498ec22a/redirect
Content-Type: application/json
{
"targets": [
{
"@odata.type": "#microsoft.graph.invitationParticipantInfo",
"identity": {
"@odata.type": "#microsoft.graph.identitySet",
"application": {
"@odata.type": "#microsoft.graph.identity",
"displayName": "test bot 2",
"id": "22bfd41f-550e-477d-8789-f6f7bd2a5e8b"
}
}
}
],
"callbackUri": "https://bot.contoso.com/api/calls/24701998-1a73-4d42-8085-bf46ed0ae039"
}[!INCLUDE sample-code] [!INCLUDE sdk-documentation]
[!INCLUDE sample-code] [!INCLUDE sdk-documentation]
[!INCLUDE sample-code] [!INCLUDE sdk-documentation]
[!INCLUDE sample-code] [!INCLUDE sdk-documentation]
[!INCLUDE sample-code] [!INCLUDE sdk-documentation]
[!INCLUDE sample-code] [!INCLUDE sdk-documentation]
[!INCLUDE sample-code] [!INCLUDE sdk-documentation]
The following example shows the response.
HTTP/1.1 202 AcceptedPOST https://bot.contoso.com/api/calls/24701998-1a73-4d42-8085-bf46ed0ae039
Content-Type: application/json{
"@odata.type": "#microsoft.graph.commsNotifications",
"value": [
{
"@odata.type": "#microsoft.graph.commsNotification",
"changeType": "deleted",
"resourceUrl": "/communications/calls/491f0b00-ffff-4bc9-a43e-b226498ec22a",
"resourceData": {
"@odata.type": "#microsoft.graph.call",
"state": "terminated",
"direction": "incoming",
"callbackUri": "https://bot.contoso.com/api/calls/24701998-1a73-4d42-8085-bf46ed0ae039",
"source": {
"@odata.type": "#microsoft.graph.participantInfo",
"identity": {
"@odata.type": "#microsoft.graph.identitySet",
"user": {
"@odata.type": "#microsoft.graph.identity",
"id": "8d1e6ab6-26c5-4e22-a1bc-06ea7343958e",
"tenantId": "632899f8-2ea1-4604-8413-27bd2892079f"
}
},
"region": "amer",
},
"targets": [
{
"@odata.type": "#microsoft.graph.participantInfo",
"identity": {
"@odata.type": "#microsoft.graph.identitySet",
"application": {
"@odata.type": "#microsoft.graph.identity",
"displayName": "test bot",
"id": "24701998-1a73-4d42-8085-bf46ed0ae039"
}
}
}
],
"tenantId": "632899f8-2ea1-4604-8413-27bd2892079f",
"myParticipantId": "c339cede-4bd6-4f20-ab9f-3a13e65f6d00",
"id": "491f0b00-ffff-4bc9-a43e-b226498ec22a"
}
}
]
}POST https://bot.contoso.com/api/calls
Content-Type: application/json{
"@odata.type": "#microsoft.graph.commsNotifications",
"value": [
{
"@odata.type": "#microsoft.graph.commsNotification",
"changeType": "created",
"resourceUrl": "/communications/calls/481f0b00-ffff-4ca1-8c67-a5f1e31e8e82",
"resourceData": {
"@odata.type": "#microsoft.graph.call",
"state": "incoming",
"direction": "incoming",
"callbackUri": "https://bot.contoso.com/api/calls/24701998-1a73-4d42-8085-bf46ed0ae039",
"source": {
"@odata.type": "#microsoft.graph.participantInfo",
"identity": {
"@odata.type": "#microsoft.graph.identitySet",
"user": {
"@odata.type": "#microsoft.graph.identity",
"id": "ec040873-8235-45fd-a403-c7259a5a548e",
"tenantId": "632899f8-2ea1-4604-8413-27bd2892079f"
}
},
"region": "amer"
},
"targets": [
{
"@odata.type": "#microsoft.graph.participantInfo",
"identity": {
"@odata.type": "#microsoft.graph.identitySet",
"application": {
"@odata.type": "#microsoft.graph.identity",
"displayName": "test bot",
"id": "24701998-1a73-4d42-8085-bf46ed0ae039"
}
}
}
],
"tenantId": "632899f8-2ea1-4604-8413-27bd2892079f",
"myParticipantId": "f540f1b6-994b-4866-be95-8aad34c4f4dc",
"id": "481f0b00-ffff-4ca1-8c67-a5f1e31e8e82"
}
}
]
}The following example shows a request.
POST https://graph.microsoft.com/beta/communications/calls/481f0b00-ffff-4ca1-8c67-a5f1e31e8e82/redirect
Content-Type: application/json
{
"targets": [
{
"@odata.type": "#microsoft.graph.invitationParticipantInfo",
"identity": {
"@odata.type": "#microsoft.graph.identitySet",
"user": {
"@odata.type": "#microsoft.graph.identity",
"displayName": "test user",
"id": "98da8a1a-1b87-452c-a713-65d3f10b1253"
}
}
},
{
"@odata.type": "#microsoft.graph.invitationParticipantInfo",
"identity": {
"@odata.type": "#microsoft.graph.identitySet",
"user": {
"@odata.type": "#microsoft.graph.identity",
"displayName": "test user 2",
"id": "bf5aae9a-d11d-47a8-93b1-782504c9c3f3"
}
}
}
],
"routingPolicies": [
"disableForwarding"
],
"callbackUri": "https://bot.contoso.com/api/calls/24701998-1a73-4d42-8085-bf46ed0ae039"
}The following example shows the response.
HTTP/1.1 202 AcceptedPOST https://bot.contoso.com/api/calls/24701998-1a73-4d42-8085-bf46ed0ae039
Content-Type: application/json
{
"@odata.type": "#microsoft.graph.commsNotifications",
"value": [
{
"@odata.type": "#microsoft.graph.commsNotification",
"changeType": "deleted",
"resourceUrl": "/communications/calls/491f0b00-ffff-4bc9-a43e-b226498ec22a",
"resourceData": {
"@odata.type": "#microsoft.graph.call",
"state": "terminated",
"direction": "incoming",
"callbackUri": "https://bot.contoso.com/api/calls/24701998-1a73-4d42-8085-bf46ed0ae039",
"source": {
"@odata.type": "#microsoft.graph.participantInfo",
"identity": {
"@odata.type": "#microsoft.graph.identitySet",
"user": {
"@odata.type": "#microsoft.graph.identity",
"id": "ec040873-8235-45fd-a403-c7259a5a548e",
"tenantId": "632899f8-2ea1-4604-8413-27bd2892079f"
}
},
"region": "amer"
},
"targets": [
{
"@odata.type": "#microsoft.graph.participantInfo",
"identity": {
"@odata.type": "#microsoft.graph.identitySet",
"application": {
"@odata.type": "#microsoft.graph.identity",
"displayName": "test bot",
"id": "24701998-1a73-4d42-8085-bf46ed0ae039"
}
}
}
],
"tenantId": "632899f8-2ea1-4604-8413-27bd2892079f",
"myParticipantId": "f540f1b6-994b-4866-be95-8aad34c4f4dc",
"id": "481f0b00-ffff-4ca1-8c67-a5f1e31e8e82"
}
}
]
}This call requires an application instance with a PSTN number assigned. For details, see Assign a phone number to your bot.
Note: Phone ID is the phone number in E.164 format.
{
"@odata.type": "#microsoft.graph.commsNotifications",
"value": [
{
"@odata.type": "#microsoft.graph.commsNotification",
"changeType": "created",
"resourceUrl": "/communications/calls/491f0b00-ffff-4bc9-a43e-b226498ec22a",
"resourceData": {
"@odata.type": "#microsoft.graph.call",
"state": "incoming",
"direction": "incoming",
"callbackUri": "https://bot.contoso.com/api/calls/24701998-1a73-4d42-8085-bf46ed0ae039",
"source": {
"@odata.type": "#microsoft.graph.participantInfo",
"identity": {
"@odata.type": "#microsoft.graph.identitySet",
"user": {
"@odata.type": "#microsoft.graph.identity",
"id": "8d1e6ab6-26c5-4e22-a1bc-06ea7343958e",
"tenantId": "632899f8-2ea1-4604-8413-27bd2892079f"
}
},
"region": "amer",
},
"targets": [
{
"@odata.type": "#microsoft.graph.invitationParticipantInfo",
"identity": {
"@odata.type": "#microsoft.graph.identitySet",
"applicationInstance": {
"@odata.type": "#microsoft.graph.identity",
"displayName": "PstnAppInstance",
"id": "7629bdce-046c-4903-86b4-a8f718277e1a",
"tenantId": "632899f8-2ea1-4604-8413-27bd2892079f"
}
},
"endpointType": "default",
"id": "c339cede-4bd6-4f20-ab9f-3a13e65f6d00",
"region": "amer",
"languageId": null
}
],
"tenantId": "632899f8-2ea1-4604-8413-27bd2892079f",
"myParticipantId": "c339cede-4bd6-4f20-ab9f-3a13e65f6d00",
"id": "491f0b00-ffff-4bc9-a43e-b226498ec22a"
}
}
]
}The following example shows a request.
POST https://graph.microsoft.com/beta/communications/calls/491f0b00-ffff-4bc9-a43e-b226498ec22a/redirect
Content-Type: application/json
{
"targets": [
{
"@odata.type": "#microsoft.graph.invitationParticipantInfo",
"identity": {
"@odata.type": "#microsoft.graph.identitySet",
"phone": {
"@odata.type": "#microsoft.graph.identity",
"id": "+12345678901"
}
}
}
],
"callbackUri": "https://bot.contoso.com/api/calls/24701998-1a73-4d42-8085-bf46ed0ae039"
}The following example shows the response.
HTTP/1.1 202 AcceptedPOST https://bot.contoso.com/api/calls/24701998-1a73-4d42-8085-bf46ed0ae039
Content-Type: application/json{
"@odata.type": "#microsoft.graph.commsNotifications",
"value": [
{
"@odata.type": "#microsoft.graph.commsNotification",
"changeType": "deleted",
"resourceUrl": "/communications/calls/491f0b00-ffff-4bc9-a43e-b226498ec22a",
"resourceData": {
"@odata.type": "#microsoft.graph.call",
"state": "terminated",
"direction": "incoming",
"callbackUri": "https://bot.contoso.com/api/calls/24701998-1a73-4d42-8085-bf46ed0ae039",
"source": {
"@odata.type": "#microsoft.graph.participantInfo",
"identity": {
"@odata.type": "#microsoft.graph.identitySet",
"user": {
"@odata.type": "#microsoft.graph.identity",
"id": "8d1e6ab6-26c5-4e22-a1bc-06ea7343958e",
"tenantId": "632899f8-2ea1-4604-8413-27bd2892079f"
}
},
"region": "amer",
},
"targets": [
{
"@odata.type": "#microsoft.graph.invitationParticipantInfo",
"identity": {
"@odata.type": "#microsoft.graph.identitySet",
"applicationInstance": {
"@odata.type": "#microsoft.graph.identity",
"displayName": "PstnAppInstance",
"id": "7629bdce-046c-4903-86b4-a8f718277e1a",
"tenantId": "632899f8-2ea1-4604-8413-27bd2892079f"
}
},
"endpointType": "default",
"id": "c339cede-4bd6-4f20-ab9f-3a13e65f6d00",
"region": "amer",
"languageId": null
}
],
"answeredBy": {
"@odata.type": "#microsoft.graph.participantInfo",
"identity": {
"@odata.type": "#microsoft.graph.identitySet",
"encrypted": {
"@odata.type": "#microsoft.graph.identity",
"id": "1xt4uextl99sdzwdxuvdxrvgrv8gehcq7jdgf9yhzeto"
}
},
"endpointType": "default"
},
"tenantId": "632899f8-2ea1-4604-8413-27bd2892079f",
"myParticipantId": "c339cede-4bd6-4f20-ab9f-3a13e65f6d00",
"id": "491f0b00-ffff-4bc9-a43e-b226498ec22a"
}
}
]
}