Tạo Sàng lọc cuộc gọi Google của riêng bạn dựa trên Voximplant và Dialogflow

Tạo Sàng lọc cuộc gọi Google của riêng bạn dựa trên Voximplant và Dialogflow
Bạn có thể đã nghe hoặc đọc về tính năng Sàng lọc cuộc gọi mà Google triển khai cho điện thoại Pixel ở Hoa Kỳ. Ý tưởng thật tuyệt - khi bạn nhận được một cuộc gọi đến, trợ lý ảo sẽ bắt đầu liên lạc, trong khi bạn xem cuộc trò chuyện này dưới dạng trò chuyện và bất cứ lúc nào bạn có thể bắt đầu nói thay vì trợ lý. Điều này rất hữu ích ngày nay khi hầu như một nửa số cuộc gọi là thư rác, nhưng bạn không muốn bỏ lỡ các cuộc gọi quan trọng từ một người không có trong danh sách liên lạc của bạn. Điều hấp dẫn duy nhất là chức năng này chỉ khả dụng trên điện thoại Pixel và chỉ ở Hoa Kỳ. Chà, có những trở ngại cần phải vượt qua, phải không? Do đó, chúng tôi quyết định hướng dẫn bạn cách tạo ra một giải pháp tương tự bằng cách sử dụng Voximplant và Dialogflow. Xin vui lòng dưới con mèo.

kiến trúc

Tôi khuyên bạn đừng lãng phí thời gian để giải thích cách thức hoạt động của Voximplant và Dialogflow; nếu muốn, bạn có thể dễ dàng tìm thấy thông tin trên Internet. Vì vậy, hãy làm quen với khái niệm Sàng lọc cuộc gọi của chúng tôi.

Giả sử rằng bạn đã có một số điện thoại nhất định mà bạn sử dụng hàng ngày và bạn nhận được các cuộc gọi quan trọng. Trong trường hợp này, chúng tôi sẽ cần số thứ hai, số này sẽ được ghi ở mọi nơi - trong thư, trên danh thiếp, khi bạn điền vào biểu mẫu trực tuyến, v.v. Số này sẽ được kết nối với hệ thống xử lý ngôn ngữ tự nhiên (trong trường hợp của chúng tôi là Dialogflow) và sẽ chỉ chuyển tiếp cuộc gọi đến số chính của bạn nếu bạn muốn. Ở dạng sơ đồ, nó trông như thế này (có thể nhấp vào hình ảnh):
Tạo Sàng lọc cuộc gọi Google của riêng bạn dựa trên Voximplant và Dialogflow
Hiểu kiến ​​trúc, chúng tôi có thể đảm nhận việc triển khai, nhưng với một lưu ý: chúng tôi sẽ không thực hiện di động để hiển thị cuộc đối thoại giữa Dialogflow và người gọi đến, chúng tôi sẽ tạo một ứng dụng đơn giản web-một ứng dụng có trình kết xuất hội thoại để hiển thị rõ ràng cách hoạt động của Sàng lọc cuộc gọi. Ứng dụng này sẽ có nút Can thiệp, bằng cách nhấn Voximplant sẽ kết nối thuê bao đến với thuê bao đã quay số, nếu thuê bao sau quyết định tự nói chuyện.

Thực hiện

Đăng nhập tài khoản Voximplant của bạn và tạo một ứng dụng mới, ví dụ như sàng lọc:

Tạo Sàng lọc cuộc gọi Google của riêng bạn dựa trên Voximplant và Dialogflow
Mở ra phần "Phòng" và mua một số sẽ làm trung gian:

Tạo Sàng lọc cuộc gọi Google của riêng bạn dựa trên Voximplant và Dialogflow
Tiếp theo, vào ứng dụng sàng lọc, trong phần “Số”, tab “Có sẵn”. Ở đây bạn sẽ thấy số bạn vừa mua. Liên kết nó với ứng dụng bằng nút “Đính kèm” - trong cửa sổ xuất hiện, để lại tất cả các giá trị mặc định và nhấp vào “Đính kèm”.

Khi đã ở trong ứng dụng, hãy chuyển đến tab "Tập lệnh" và tạo tập lệnh myscreening - trong đó chúng tôi sử dụng mã từ bài viết Cách sử dụng Trình kết nối Dialogflow. Trong trường hợp này, mã sẽ được sửa đổi một chút, vì chúng ta cần “xem” đoạn hội thoại giữa người gọi và trợ lý; tất cả các mã đều có thể mang đến đây.

LƯU Ý: bạn sẽ cần thay đổi giá trị của biến máy chủ thành tên máy chủ ngrok của bạn (chi tiết về ngrok sẽ có bên dưới). Đồng thời thay thế các giá trị của bạn trên dòng 31, trong đó số điện thoại của bạn là số chính của bạn (ví dụ: điện thoại di động cá nhân của bạn) và số voximplant là số bạn đã mua gần đây.

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

Cuộc gọi callPSTN sẽ diễn ra vào thời điểm bạn quyết định tham gia vào cuộc trò chuyện và nói chuyện trực tiếp với người đăng ký đến.

Sau khi lưu tập lệnh, bạn cần liên kết nó với số đã mua. Để thực hiện việc này, khi vẫn ở trong ứng dụng của bạn, hãy chuyển đến tab "Định tuyến" để tạo quy tắc mới - nút "Quy tắc mới" ở góc trên cùng bên phải. Cung cấp tên (ví dụ: allcalls), để lại mặt nạ mặc định (.* - có nghĩa là tất cả các cuộc gọi đến sẽ được xử lý bởi các tập lệnh đã chọn cho quy tắc này) và chỉ định tập lệnh myscreening.

Tạo Sàng lọc cuộc gọi Google của riêng bạn dựa trên Voximplant và Dialogflow
Lưu quy tắc.

Từ nay trở đi, số điện thoại sẽ được liên kết với kịch bản. Điều cuối cùng bạn cần làm là liên kết bot với ứng dụng. Để thực hiện việc này, hãy chuyển đến tab “Trình kết nối luồng hộp thoại”, nhấp vào nút “Thêm tác nhân luồng hộp thoại” ở góc trên bên phải và tải lên tệp JSON của tác nhân Dialogflow của bạn.

Tạo Sàng lọc cuộc gọi Google của riêng bạn dựa trên Voximplant và Dialogflow
Nếu bạn cần một đại lý làm ví dụ/thử nghiệm, bạn có thể lấy đại lý của chúng tôi tại liên kết này: github.com/aylarov/callscreening/tree/master/dialogflow. Chỉ cần đừng đòi hỏi nhiều ở nó, đây chỉ là một ví dụ mà bạn có thể tự do làm lại theo ý muốn và thoải mái chia sẻ kết quả :)

Phần phụ trợ đơn giản trên NodeJS

Hãy triển khai một chương trình phụ trợ đơn giản trên một nút, chẳng hạn như thế này:
github.com/aylarov/callscreening/tree/master/nodejs

Đây là một ứng dụng đơn giản chỉ cần hai lệnh để chạy:

npm install
node index.js

Máy chủ sẽ chạy trên cổng 3000 trên máy của bạn, vì vậy để kết nối nó với đám mây Voximplant, chúng tôi sử dụng tiện ích ngrok. Khi bạn cài đặt ngrok, chạy nó bằng lệnh:

ngrok http 3000

Bạn sẽ thấy tên miền mà ngrok đã tạo cho máy chủ cục bộ của mình - sao chép và dán vào biến máy chủ.

Khách hàng

Ứng dụng khách trông giống như một cuộc trò chuyện đơn giản mà bạn có thể nhặt nó lên từ đây.

Chỉ cần sao chép tất cả các tệp vào một số thư mục trên máy chủ web của bạn và nó sẽ hoạt động. Trong tệp script.js, thay thế biến máy chủ bằng tên miền ngrok và biến callee bằng số bạn đã mua. Lưu tệp và khởi chạy ứng dụng trong trình duyệt của bạn. Nếu mọi thứ đều ổn, bạn sẽ thấy kết nối WebSocket trong bảng dành cho nhà phát triển.

Bản trình diễn

Bạn có thể thấy ứng dụng đang hoạt động trong video này:


Tái bút Nếu bạn nhấp vào nút Can thiệp, người gọi sẽ được chuyển đến số điện thoại của tôi và nếu bạn nhấp vào Ngắt kết nối, đó sẽ là...? Đúng vậy, cuộc gọi sẽ bị ngắt.

Nguồn: www.habr.com

Thêm một lời nhận xét