基於 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 連線。

演示

您可以在此影片中看到該應用程式的實際運作情況:


P.S. 如果您單擊“幹預”按鈕,呼叫者將被定向到我的電話號碼,如果您單擊“斷開連接”,則會...?沒錯,通話就會被掛斷。

來源: www.habr.com

添加評論