Δημιουργήστε το δικό σας Google Call Screening με βάση το Voximplant και το Dialogflow

Δημιουργήστε το δικό σας Google Call Screening με βάση το Voximplant και το Dialogflow
Μπορεί να έχετε ακούσει ή διαβάσει για τη λειτουργία Call Screening που κυκλοφόρησε η Google για τα τηλέφωνά της Pixel στις ΗΠΑ. Η ιδέα είναι υπέροχη - όταν λαμβάνετε μια εισερχόμενη κλήση, ο εικονικός βοηθός αρχίζει να επικοινωνεί, ενώ βλέπετε αυτή τη συνομιλία με τη μορφή συνομιλίας και ανά πάσα στιγμή μπορείτε να αρχίσετε να μιλάτε αντί για τον βοηθό. Αυτό είναι πολύ χρήσιμο αυτές τις μέρες όταν σχεδόν οι μισές κλήσεις είναι ανεπιθύμητες, αλλά δεν θέλετε να χάσετε σημαντικές κλήσεις από κάποιον που δεν βρίσκεται στη λίστα επαφών σας. Το μόνο πρόβλημα είναι ότι αυτή η λειτουργία είναι διαθέσιμη μόνο στο τηλέφωνο Pixel και μόνο στις ΗΠΑ. Λοιπόν, τα εμπόδια υπάρχουν για να ξεπεραστούν, σωστά; Ως εκ τούτου, αποφασίσαμε να σας πούμε πώς να φτιάξετε μια παρόμοια λύση χρησιμοποιώντας το Voximplant και το Dialogflow. Παρακαλώ κάτω από γάτα.

Αρχιτεκτονική

Σας προτείνω να μην χάνετε χρόνο εξηγώντας πώς λειτουργούν το Voximplant και το Dialogflow· εάν θέλετε, μπορείτε να βρείτε εύκολα πληροφορίες στο Διαδίκτυο. Ας εξοικειωθούμε λοιπόν με την ίδια την έννοια του Call Screening μας.

Ας υποθέσουμε ότι έχετε ήδη έναν συγκεκριμένο αριθμό τηλεφώνου που χρησιμοποιείτε καθημερινά και στον οποίο λαμβάνετε σημαντικές κλήσεις. Σε αυτήν την περίπτωση, θα χρειαστούμε έναν δεύτερο αριθμό, ο οποίος θα αναγράφεται παντού - ταχυδρομικά, σε μια επαγγελματική κάρτα, όταν συμπληρώνετε ηλεκτρονικές φόρμες κ.λπ. Αυτός ο αριθμός θα συνδεθεί με ένα σύστημα επεξεργασίας φυσικής γλώσσας (στην περίπτωσή μας, το Dialogflow) και θα προωθήσει τις κλήσεις στον κύριο αριθμό σας μόνο εάν το θέλετε. Σε μορφή διαγράμματος μοιάζει με αυτό (η εικόνα μπορεί να κάνει κλικ):
Δημιουργήστε το δικό σας Google Call Screening με βάση το Voximplant και το Dialogflow
Κατανοώντας την αρχιτεκτονική, μπορούμε να αναλάβουμε την υλοποίηση, αλλά με μια προειδοποίηση: δεν θα το κάνουμε κινητό εφαρμογή για την εμφάνιση διαλόγου μεταξύ του Dialogflow και ενός εισερχόμενου καλούντος, θα δημιουργήσουμε ένα απλό web-μια εφαρμογή με απόδοση διαλόγου για να δείχνει ξεκάθαρα πώς λειτουργεί ο έλεγχος κλήσεων. Αυτή η εφαρμογή θα έχει ένα κουμπί Intervene, πατώντας το οποίο το Voximplant θα συνδέσει τον εισερχόμενο συνδρομητή με τον συνδρομητή που καλεί, εάν ο τελευταίος αποφασίσει να μιλήσει μόνος του.

Реализация

Συνδεθείτε τον λογαριασμό σας στο Voximplant και δημιουργήστε μια νέα εφαρμογή, για παράδειγμα προβολή:

Δημιουργήστε το δικό σας Google Call Screening με βάση το Voximplant και το Dialogflow
Άνοιγμα ενότητα "Δωμάτια" και αγοράστε έναν αριθμό που θα λειτουργεί ως ενδιάμεσος:

Δημιουργήστε το δικό σας Google Call Screening με βάση το Voximplant και το Dialogflow
Στη συνέχεια, μεταβείτε στην εφαρμογή ελέγχου, στην ενότητα "Αριθμοί", καρτέλα "Διαθέσιμο". Εδώ θα δείτε τον αριθμό που μόλις αγοράσατε. Συνδέστε το με την εφαρμογή χρησιμοποιώντας το κουμπί "Επισύναψη" - στο παράθυρο που εμφανίζεται, αφήστε όλες τις προεπιλεγμένες τιμές και κάντε κλικ στο "Επισύναψη".

Μόλις μπείτε στην εφαρμογή, μεταβείτε στην καρτέλα "Σενάρια" και δημιουργήστε ένα σενάριο myscreening - σε αυτό χρησιμοποιούμε τον κώδικα από το άρθρο Πώς να χρησιμοποιήσετε το Dialogflow Connector. Σε αυτήν την περίπτωση, ο κωδικός θα τροποποιηθεί ελαφρώς, επειδή πρέπει να "δούμε" τον διάλογο μεταξύ του καλούντος και του βοηθού. όλος ο κώδικας είναι δυνατός πάρε εδώ.

ΠΡΟΣΟΧΗ: θα χρειαστεί να αλλάξετε την τιμή της μεταβλητής διακομιστή στο όνομα του διακομιστή ngrok (λεπτομέρειες σχετικά με το ngrok θα παρατίθενται παρακάτω). Επίσης, αντικαταστήστε τις τιμές σας στη γραμμή 31, όπου ο αριθμός τηλεφώνου σας είναι ο κύριος αριθμός σας (για παράδειγμα, το προσωπικό σας κινητό τηλέφωνο) και ο αριθμός voximplant είναι ο αριθμός που αγοράσατε πρόσφατα.

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

Η κλήση callPSTN θα πραγματοποιηθεί τη στιγμή που αποφασίσετε να εισέλθετε στη συνομιλία και να μιλήσετε προσωπικά με τον εισερχόμενο συνδρομητή.

Αφού αποθηκεύσετε το σενάριο, πρέπει να το συνδέσετε με τον αριθμό που αγοράσατε. Για να το κάνετε αυτό, ενώ είστε ακόμα μέσα στην εφαρμογή σας, μεταβείτε στην καρτέλα "Δρομολόγηση" για να δημιουργήσετε έναν νέο κανόνα - το κουμπί "Νέος κανόνας" στην επάνω δεξιά γωνία. Δώστε ένα όνομα (για παράδειγμα, όλες τις κλήσεις), αφήστε την προεπιλεγμένη μάσκα (.* - που σημαίνει ότι όλες οι εισερχόμενες κλήσεις θα υποβληθούν σε επεξεργασία από τα σενάρια που έχουν επιλεγεί για αυτόν τον κανόνα) και καθορίστε το σενάριο myscreening.

Δημιουργήστε το δικό σας Google Call Screening με βάση το Voximplant και το Dialogflow
Αποθηκεύστε τον κανόνα.

Από εδώ και στο εξής, ο αριθμός τηλεφώνου συνδέεται με το σενάριο. Το τελευταίο πράγμα που πρέπει να κάνετε είναι να συνδέσετε το bot στην εφαρμογή. Για να το κάνετε αυτό, μεταβείτε στην καρτέλα "Dialogflow Connector", κάντε κλικ στο κουμπί "Add Dialogflow Agent" στην επάνω δεξιά γωνία και μεταφορτώστε το αρχείο JSON του παράγοντα Dialogflow.

Δημιουργήστε το δικό σας Google Call Screening με βάση το Voximplant και το Dialogflow
Εάν χρειάζεστε έναν πράκτορα για παράδειγμα/δοκιμή, μπορείτε να πάρετε τον δικό μας σε αυτόν τον σύνδεσμο: github.com/aylarov/callscreening/tree/master/dialogflow. Απλώς μην απαιτείτε πολλά από αυτό, αυτό είναι απλώς ένα παράδειγμα που είστε ελεύθεροι να επαναλάβετε όπως θέλετε και μη διστάσετε να μοιραστείτε τα αποτελέσματα :)

Απλό backend στο NodeJS

Ας αναπτύξουμε ένα απλό backend σε έναν κόμβο, για παράδειγμα, όπως αυτό:
github.com/aylarov/callscreening/tree/master/nodejs

Αυτή είναι μια απλή εφαρμογή που απαιτεί μόνο δύο εντολές για να εκτελεστεί:

npm install
node index.js

Ο διακομιστής θα λειτουργεί στη θύρα 3000 του μηχανήματος σας, επομένως για να τον συνδέσουμε στο νέφος Voximplant, χρησιμοποιούμε το βοηθητικό πρόγραμμα ngrok. Όταν εγκαθιστάτε ngrok, εκτελέστε το με την εντολή:

ngrok http 3000

Θα δείτε το όνομα τομέα που δημιούργησε το ngrok για τον τοπικό σας διακομιστή - αντιγράψτε το και επικολλήστε το στη μεταβλητή διακομιστή.

Πελάτης

Η εφαρμογή πελάτη μοιάζει με μια απλή συνομιλία που μπορείτε πάρε το από εδώ.

Απλώς αντιγράψτε όλα τα αρχεία σε κάποιον κατάλογο στον διακομιστή ιστού σας και θα λειτουργήσει. Στο αρχείο script.js, αντικαταστήστε τη μεταβλητή διακομιστή με το όνομα τομέα ngrok και τη μεταβλητή callee με τον αριθμό που αγοράσατε. Αποθηκεύστε το αρχείο και εκκινήστε την εφαρμογή στο πρόγραμμα περιήγησής σας. Εάν όλα είναι εντάξει, θα δείτε τη σύνδεση WebSocket στον πίνακα προγραμματιστών.

Демо

Μπορείτε να δείτε την εφαρμογή σε δράση σε αυτό το βίντεο:


ΥΓ Εάν κάνετε κλικ στο κουμπί Παρέμβαση, ο καλών θα κατευθυνθεί στον αριθμό τηλεφώνου μου και αν κάνετε κλικ στο Αποσύνδεση, θα είναι...; Σωστά, η κλήση θα αποσυνδεθεί.

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο