Graph API: create a PSTN call and invite a PSTN participant

Brass Contributor

Hello everybody,

 

We are using the MS Graph API within a C# project.

After successful creating a PSTN call from our bot like described here https://docs.microsoft.com/en-us/graph/api/application-post-calls?view=graph-rest-1.0&tabs=http#exam... we run into the next problem:

We want to invite another PSTN participant to this existing call like described here: https://docs.microsoft.com/en-us/graph/api/participant-invite?view=graph-rest-1.0&tabs=http#example-....
But we receive following event:

{
"value": [
{
"changeType": "Deleted",
"resourceUrl": "/communications/calls/981f6100-cb65-42d9-af3c-1390c68cac8b/operations/5fedb136-cff9-446d-a8bc-4166db960e19",
"resource": "/app/calls/981f6100-cb65-42d9-af3c-1390c68cac8b/operations/5fedb136-cff9-446d-a8bc-4166db960e19",
"resourceData": {
"@odata.type": "#microsoft.graph.inviteParticipantsOperation",
"participants": [
{
"@odata.type": "#microsoft.graph.invitationParticipantInfo",
"identity": {
"@odata.type": "#microsoft.graph.identitySet",
"phone": {
"@odata.type": "#microsoft.graph.identity",
"id": "+49175********"
}
}
}
],
"status": "failed",
"resultInfo": {
"@odata.type": "#microsoft.graph.resultInfo",
"code": 403,
"subcode": 9999,
"message": "addParticipants failed for participant 4:+49175******. Underlying reason: Call does not contain the metadata required for making this PSTN dial out.. DiagCode: 403#10151"
},
"id": "5fedb136-cff9-446d-a8bc-4166db960e19"
},
"@odata.type": "#microsoft.graph.commsNotification"
}
],
"@odata.type": "#microsoft.graph.commsNotifications"
}

 

Any idea why we can not invite another PSTN participant to an existing call from the bot to a PSTN number?

 

Thanks.

 

Regards

 

Gerd

39 Replies
We are looking into it. I will get back to you soon.

Thanks
Could you please share the doc or steps that you have followed to setup the bot with PSTN?

@HunaidHanfee-MSFT 

 

I have send you a private message with the dokumentation.

I have the exactly same issue. +1

@HunaidHanfee-MSFT 

Have you any news regarding this issue? Our customer is waiting and gets impatient ...

We have tried this but right we are not having the repro. I will update you as soon we get anything.

Thanks
Any update?

A peer-to-peer bot to PSTN call, works as expected, but we receive the following exception when adding a PSTN participant into a group call:

Code: 403
Message: Unexpected 'Failed' status for operation eb8990a2-4dd0-48f8-b171-01ae9092696b:
addParticipants failed for participant 4:+4xxxxxxxxxx. Underlying reason: Forbidden. DiagCode: 403#10151.@
AdditionalData:
subcode: 10151

"@odata.type": "#microsoft.graph.commsNotifications",
"value": [
{
"@odata.type": "#microsoft.graph.commsNotification",
"changeType": "Deleted",
"resourceUrl": "/communications/calls/06206100-0f1d-44dd-88ff-80a5610d7637/operations/9ace7412-7553-4246-b232-80ed4a0f5a35",
"resource": "/app/calls/06206100-0f1d-44dd-88ff-80a5610d7637/operations/9ace7412-7553-4246-b232-80ed4a0f5a35",
"resourceData": {
"@odata.type": "#microsoft.graph.inviteParticipantsOperation",
"participants": [
{
"@odata.type": "#microsoft.graph.invitationParticipantInfo",
"identity": {
"@odata.type": "#microsoft.graph.identitySet",
"phone": {
"@odata.type": "#microsoft.graph.identity",
"id": "+4xxxxxxxxxx"
}
},
"participantId": "f6d17697-0b8c-4f89-946b-b04d43a5d658"
}
],
"clientContext": "f3d0bc58-09c9-4887-8244-c4aaf6fb02b8",
"resultInfo": {
"@odata.type": "#microsoft.graph.resultInfo",
"code": 403,
"message": "addParticipants failed for participant 4:+4xxxxxxxxxx. Underlying reason: Forbidden. DiagCode: 403#10151.@",
"subcode": 10151
},
"status": "Failed",
"id": "9ace7412-7553-4246-b232-80ed4a0f5a35"
}
}
]

Thank you!
@adrianpopa - We are confirm with the engineering team ,if bot wants to invite another PSTN to join, the P2P call will be escalated into a group call. So far we don't support escalation by adding PSTN. We are working on this feature now and it will be ready soon.
So, here are some scenarios:
1. P2P call between Bot and another peer (Teams user, PSTN), bot invites another PSTN: Not supported.
2. P2P call between Bot and another peer (Teams user, PSTN), bot invites another Teams user: Supported.
3. P2P call between Bot and another peer (Teams user, PSTN), bot invites another bot: Supported.

@Sayali-MSFT - Thanks for the confirmation.

From our tests, also the following scenario is not supported: group call between Bot and 2+ users, bot invites another PSTN, so no group escalation. Exception: addParticipants failed for participant 4:+4xxxxxxxxxx. Underlying reason: Forbidden. DiagCode: 403#10151.

Tested with both direct routing and calling plans. The Bot can receive and create P2P PSTN calls.

Hi,
Could you please share the doc or steps that you have followed to setup the bot with PSTN?
Thanks in advance.
I would like to add to the scenario @adrianpopa, there is a difference in how the group call was created.

A) When having a group call where the 'escalation part' is done by inviting a Teams user, you cannot invite a PSTN participant.
B) When having a group call where the 'escalation part' is done by inviting a PSTN user, you can invite another PSTN participant.

I noticed there is a slight difference in the calls (by requesting info via graph) before requesting the 4th particpant depending on the scenario:

A ChatInfo null,
B ChatInfo not null
A meetingCapability null
B meetingCapability not null
A pstnDetails null
B pstnDetails not null (altough the values are guid's with all '0' and dialinUrl null)

The only difference here is that A uses POST /participants/invite with a azure id, and B with a phone number (before requesting an additional participant with PSTN)
Any luck resolving this?

@relkniw, have been looking into this issue, and it seems that when the bot makes a call between a Teams user and a PSTN, it now counts 3 identities in the call (including the bot), and escalates it to a group call, which it seems from this thread it doesn't currently support. 

Is that still the case?

 

Thank you.

@yisroelperton: i don't know what exact was the cause: whether a SBC configuration or a Microsoft update. But it works now

@relkniw, thank you for that update. Which API call did you use the peer-to-peer, or group call?

I'm using this page for reference:
https://learn.microsoft.com/en-us/graph/api/application-post-calls?view=graph-rest-1.0&tabs=http#exa...