群组通话中的DTMF订阅(subscribeToTone)在Microsoft图形通话中不起作用

时间:2020-06-02 06:44:22

标签: botframework microsoft-teams

我们正在尝试在Teams中构建一个呼叫机器人,该机器人可以开始会议并成为该会议的一部分。我们希望能够SubscribeToTone,因此bot可以在会议期间提供适当的帮助。

在我们的场景中,组织者在2个外部参与者(假设2个gmail用户)之间组织会议,一旦会议开始,组织者将退出呼叫。 因此,在会议中只有3位参与者,2位外部用户和我们的呼叫机器人。该会议是针对某个频道组织的,因此外部用户无法进行聊天。我们正在尝试使用DTMF为用户提供帮助。例如,用户可以按“ 0”寻求帮助,我们的机器人将呼叫组织者并将组织者带入呼叫。

不幸的是,到目前为止,我们发现,DTMF仅在IVR上以1:1呼叫方式工作,而不能在群组呼叫中工作。我们已经从通讯示例中查看并尝试了事件机器人,但在会议期间没有发出声音。没有足够的文档来描述subscribeToTone方案。

我将不胜感激。

以下是SubscribeToTone的请求响应 ***********请求********************************

POST https://graph.microsoft.com/v1.0/communications/calls/f91f0100-c01f-49d3-85ff-846c19e01c5b/microsoft.graph.subscribeToTone HTTP/1.1
Scenario-Id: d79f31e0-ab43-4645-8cba-bcc7e2061f9a
Client-Request-Id: d6d42b44-51ab-435e-be8c-4623b7af54c7
User-Agent: GraphCommunicationsClient-IncidentBot/1.2.0.850
Authorization: Bearer {AuthToken}
Content-Type: application/json; charset=utf-8
Host: graph.microsoft.com
Content-Length: 56

{"clientContext":"dcf53dfb-fe16-4b05-8703-6b0820fc3879"}

***********响应******************************

HTTP/1.1 200 OK
Cache-Control: private
Content-Type: application/json;odata.metadata=minimal;odata.streaming=true;IEEE754Compatible=false;charset=utf-8
Location: https://graph.microsoft.com
request-id: 5e121c7b-fa38-4931-98ef-9da66324d34c
client-request-id: d6d42b44-51ab-435e-be8c-4623b7af54c7
x-ms-ags-diagnostic: {"ServerInfo":{"DataCenter":"South India","Slice":"SliceC","Ring":"3","ScaleUnit":"001","RoleInstance":"AGSFE_IN_5"}}
scenario-id: d79f31e0-ab43-4645-8cba-bcc7e2061f9a
OData-Version: 4.0
Strict-Transport-Security: max-age=31536000
Date: Fri, 29 May 2020 11:23:16 GMT
Content-Length: 284



{"@odata.context":"https://graph.microsoft.com/v1.0/$metadata#subscribeToToneOperation","@odata.type":"#microsoft.graph.subscribeToToneOperation","id":"dcc28d33-beee-413f-b971-5865a40e484a","status":"Completed","clientContext":"dcf53dfb-fe16-4b05-8703-6b0820fc3879","resultInfo":null}

1 个答案:

答案 0 :(得分:1)

仅在一对一通话中有效。在群呼中,IVR可以控制从您的IVR应用程序到会议服务器的呼叫线路。所有其他分支都有自己的会议服务器呼叫分支。您接收的音频是会议服务器中所有其他参与者的“混合”音频。

DTMF通常以以下两种方式之一发送:“音调”(主叫方通过音频输入发送音调声音)和信号(接收方根据来自另一侧的信号播放音调) )。通常,会议服务器将丢弃这些DTMF信号,并且不会混入发送给参与者的音频流中。

对于内部团队通话,我希望他们发送DTMF信号,因为它更有可能起作用。 PSTN呼叫始终将DTMF作为音调发送,因为它必须穿越许多可能/可能无法使用DTMF信号的不同网络。

如果发送方是PSTN通话组,则您可能会发现可以在通话组中检测到DTMF“音”。会议服务器也可能会过滤掉这些音调(在这种情况下,您很不走运)。另一个问题是您无法确定谁发送了DTMF(这可能对您没有影响)。

您必须将PSTN呼叫者测试为群呼,以查看是否是这种情况。如果不是这样,那您就不走运了。

您可以尝试通过uservoice请求该功能。