基于 Voximplant 和 Dialogflow 制作您自己的 Google 呼叫筛选

基于 Voximplant 和 Dialogflow 制作您自己的 Google 呼叫筛选
您可能听说过或读到过 Google 在美国为其 Pixel 手机推出的呼叫筛选功能。 这个想法很棒——当你接到来电时,虚拟助手开始交流,而你以聊天的形式看到这个对话,并且你可以随时开始代替助手说话。 这在当今几乎是非常有用的 一半的电话是垃圾电话,但您不想错过联系人列表之外的人打来的重要电话。 唯一的问题是,此功能仅在 Pixel 手机上可用,并且仅在美国可用。 嗯,障碍是需要克服的,对吗? 因此,我们决定告诉您如何使用 Voximplant 和 Dialogflow 制定类似的解决方案。 请下猫。

建筑

我建议您不要浪费时间解释 Voximplant 和 Dialogflow 的工作原理;如果您愿意,您可以轻松地在互联网上找到信息。 那么让我们来熟悉一下呼叫筛选的概念。

假设您已经拥有一个每天使用的特定电话号码,并通过该号码接听重要电话。 在这种情况下,我们将需要第二个号码,该号码将在任何地方显示 - 在邮件中、名片上、填写在线表格时等。 该号码将连接到自然语言处理系统(在我们的示例中为 Dialogflow),并且仅在您需要时才会将呼叫转接至您的主号码。 以图表形式来看,它看起来像这样(图片可点击):
基于 Voximplant 和 Dialogflow 制作您自己的 Google 呼叫筛选
了解了架构,我们就可以进行实施,但有一个警告:我们不会这样做 移动的 应用程序来显示 Dialogflow 和来电者之间的对话,我们将创建一个简单的 卷筒纸- 带有对话渲染器的应用程序,可清楚地显示呼叫筛选的工作原理。 该应用程序将有一个干预按钮,按下该按钮,Voximplant 会将呼入用户与拨打的用户连接起来(如果后者决定自己通话)。

履行

登入 您的 Voximplant 帐户 并创建一个新的应用程序,例如筛选:

基于 Voximplant 和 Dialogflow 制作您自己的 Google 呼叫筛选
打开 “房间”部分 并购买一个可以作为中介的号码:

基于 Voximplant 和 Dialogflow 制作您自己的 Google 呼叫筛选
接下来,转到筛选应用程序的“号码”部分的“可用”选项卡。 在这里您将看到您刚刚购买的号码。 使用“附加”按钮将其链接到应用程序 - 在出现的窗口中,保留所有默认值并单击“附加”。

进入应用程序后,转到“脚本”选项卡并创建一个脚本 myscreening - 在其中我们使用文章中的代码 如何使用 Dialogflow 连接器。 在这种情况下,代码将稍作修改,因为我们需要“看到”呼叫者和助手之间的对话; 所有代码都是可能的 拿这里.

注意:您需要将服务器变量的值更改为您的 ngrok 服务器的名称(有关 ngrok 的详细信息将在下面介绍)。 还要替换第 31 行中您的值,其中您的电话号码是您的主号码(例如您的个人手机),voximplant 号码是您最近购买的号码。

outbound_call = VoxEngine.callPSTN(“YOUR PHONE NUMBER”, “VOXIMPLANT NUMBER”)

当您决定中断对话并亲自与拨入用户通话时,将发生 callPSTN 呼叫。

保存脚本后,您需要将其链接到购买的号码。 为此,请在应用程序内部,转到“路由”选项卡以创建新规则 - 右上角的“新规则”按钮。 提供名称(例如 allcalls),保留默认掩码(.* - 这意味着所有传入呼叫将由为此规则选择的脚本处理)并指定 myscreening 脚本。

基于 Voximplant 和 Dialogflow 制作您自己的 Google 呼叫筛选
保存规则。

从现在开始,电话号码将链接到脚本。 您需要做的最后一件事是将机器人链接到应用程序。 为此,请转到“Dialogflow 连接器”选项卡,单击右上角的“添加 Dialogflow 代理”按钮,然后上传 Dialogflow 代理的 JSON 文件。

基于 Voximplant 和 Dialogflow 制作您自己的 Google 呼叫筛选
如果您需要代理进行示例/测试,您可以通过以下链接获取我们的代理: github.com/aylarov/callscreening/tree/master/dialogflow。 只是不要要求太多,这只是一个例子,你可以随意重做,并随意分享结果:)

NodeJS 上的简单后端

让我们在节点上部署一个简单的后端,例如,如下所示:
github.com/aylarov/callscreening/tree/master/nodejs

这是一个简单的应用程序,只需要运行两个命令:

npm install
node index.js

服务器将在您计算机的端口 3000 上运行,因此为了将其连接到 Voximplant 云,我们使用 ngrok 实用程序。 当你安装时 恩格罗克,使用以下命令运行它:

ngrok http 3000

您将看到 ngrok 为您的本地服务器生成的域名 - 将其复制并粘贴到服务器变量中。

客户

客户端应用程序看起来像一个简单的聊天,您可以 从这里拿起它.

只需将所有文件复制到网络服务器上的某个目录即可。 在 script.js 文件中,将 server 变量替换为 ngrok 域名,将 callee 变量替换为您购买的号码。 保存文件并在浏览器中启动应用程序。 如果一切正常,您将在开发者面板中看到 WebSocket 连接。

演示

您可以在此视频中看到该应用程序的实际运行情况:


PS 如果您单击“干预”按钮,呼叫者将被定向到我的电话号码,如果您单击“断开连接”,则会...? 没错,通话就会被挂断。

来源: habr.com

添加评论