Μπορεί να έχετε ακούσει ή διαβάσει για τη λειτουργία Call Screening που κυκλοφόρησε η Google για τα τηλέφωνά της Pixel στις ΗΠΑ. Η ιδέα είναι υπέροχη - όταν λαμβάνετε μια εισερχόμενη κλήση, ο εικονικός βοηθός αρχίζει να επικοινωνεί, ενώ βλέπετε αυτή τη συνομιλία με τη μορφή συνομιλίας και ανά πάσα στιγμή μπορείτε να αρχίσετε να μιλάτε αντί για τον βοηθό. Αυτό είναι πολύ χρήσιμο αυτές τις μέρες όταν σχεδόν
Αρχιτεκτονική
Σας προτείνω να μην χάνετε χρόνο εξηγώντας πώς λειτουργούν το Voximplant και το Dialogflow· εάν θέλετε, μπορείτε να βρείτε εύκολα πληροφορίες στο Διαδίκτυο. Ας εξοικειωθούμε λοιπόν με την ίδια την έννοια του Call Screening μας.
Ας υποθέσουμε ότι έχετε ήδη έναν συγκεκριμένο αριθμό τηλεφώνου που χρησιμοποιείτε καθημερινά και στον οποίο λαμβάνετε σημαντικές κλήσεις. Σε αυτήν την περίπτωση, θα χρειαστούμε έναν δεύτερο αριθμό, ο οποίος θα αναγράφεται παντού - ταχυδρομικά, σε μια επαγγελματική κάρτα, όταν συμπληρώνετε ηλεκτρονικές φόρμες κ.λπ. Αυτός ο αριθμός θα συνδεθεί με ένα σύστημα επεξεργασίας φυσικής γλώσσας (στην περίπτωσή μας, το Dialogflow) και θα προωθήσει τις κλήσεις στον κύριο αριθμό σας μόνο εάν το θέλετε. Σε μορφή διαγράμματος μοιάζει με αυτό (η εικόνα μπορεί να κάνει κλικ):
Κατανοώντας την αρχιτεκτονική, μπορούμε να αναλάβουμε την υλοποίηση, αλλά με μια προειδοποίηση: δεν θα το κάνουμε κινητό εφαρμογή για την εμφάνιση διαλόγου μεταξύ του Dialogflow και ενός εισερχόμενου καλούντος, θα δημιουργήσουμε ένα απλό web-μια εφαρμογή με απόδοση διαλόγου για να δείχνει ξεκάθαρα πώς λειτουργεί ο έλεγχος κλήσεων. Αυτή η εφαρμογή θα έχει ένα κουμπί Intervene, πατώντας το οποίο το Voximplant θα συνδέσει τον εισερχόμενο συνδρομητή με τον συνδρομητή που καλεί, εάν ο τελευταίος αποφασίσει να μιλήσει μόνος του.
Реализация
Συνδεθείτε
Άνοιγμα
Στη συνέχεια, μεταβείτε στην εφαρμογή ελέγχου, στην ενότητα "Αριθμοί", καρτέλα "Διαθέσιμο". Εδώ θα δείτε τον αριθμό που μόλις αγοράσατε. Συνδέστε το με την εφαρμογή χρησιμοποιώντας το κουμπί "Επισύναψη" - στο παράθυρο που εμφανίζεται, αφήστε όλες τις προεπιλεγμένες τιμές και κάντε κλικ στο "Επισύναψη".
Μόλις μπείτε στην εφαρμογή, μεταβείτε στην καρτέλα "Σενάρια" και δημιουργήστε ένα σενάριο myscreening - σε αυτό χρησιμοποιούμε τον κώδικα από το άρθρο
ΠΡΟΣΟΧΗ: θα χρειαστεί να αλλάξετε την τιμή της μεταβλητής διακομιστή στο όνομα του διακομιστή ngrok (λεπτομέρειες σχετικά με το ngrok θα παρατίθενται παρακάτω). Επίσης, αντικαταστήστε τις τιμές σας στη γραμμή 31, όπου ο αριθμός τηλεφώνου σας είναι ο κύριος αριθμός σας (για παράδειγμα, το προσωπικό σας κινητό τηλέφωνο) και ο αριθμός voximplant είναι ο αριθμός που αγοράσατε πρόσφατα.
outbound_call = VoxEngine.callPSTN(“YOUR PHONE NUMBER”, “VOXIMPLANT NUMBER”)
Η κλήση callPSTN θα πραγματοποιηθεί τη στιγμή που αποφασίσετε να εισέλθετε στη συνομιλία και να μιλήσετε προσωπικά με τον εισερχόμενο συνδρομητή.
Αφού αποθηκεύσετε το σενάριο, πρέπει να το συνδέσετε με τον αριθμό που αγοράσατε. Για να το κάνετε αυτό, ενώ είστε ακόμα μέσα στην εφαρμογή σας, μεταβείτε στην καρτέλα "Δρομολόγηση" για να δημιουργήσετε έναν νέο κανόνα - το κουμπί "Νέος κανόνας" στην επάνω δεξιά γωνία. Δώστε ένα όνομα (για παράδειγμα, όλες τις κλήσεις), αφήστε την προεπιλεγμένη μάσκα (.* - που σημαίνει ότι όλες οι εισερχόμενες κλήσεις θα υποβληθούν σε επεξεργασία από τα σενάρια που έχουν επιλεγεί για αυτόν τον κανόνα) και καθορίστε το σενάριο myscreening.
Αποθηκεύστε τον κανόνα.
Από εδώ και στο εξής, ο αριθμός τηλεφώνου συνδέεται με το σενάριο. Το τελευταίο πράγμα που πρέπει να κάνετε είναι να συνδέσετε το bot στην εφαρμογή. Για να το κάνετε αυτό, μεταβείτε στην καρτέλα "Dialogflow Connector", κάντε κλικ στο κουμπί "Add Dialogflow Agent" στην επάνω δεξιά γωνία και μεταφορτώστε το αρχείο JSON του παράγοντα Dialogflow.
Εάν χρειάζεστε έναν πράκτορα για παράδειγμα/δοκιμή, μπορείτε να πάρετε τον δικό μας σε αυτόν τον σύνδεσμο:
Απλό backend στο NodeJS
Ας αναπτύξουμε ένα απλό backend σε έναν κόμβο, για παράδειγμα, όπως αυτό:
Αυτή είναι μια απλή εφαρμογή που απαιτεί μόνο δύο εντολές για να εκτελεστεί:
npm install
node index.js
Ο διακομιστής θα λειτουργεί στη θύρα 3000 του μηχανήματος σας, επομένως για να τον συνδέσουμε στο νέφος Voximplant, χρησιμοποιούμε το βοηθητικό πρόγραμμα ngrok. Όταν εγκαθιστάτε
ngrok http 3000
Θα δείτε το όνομα τομέα που δημιούργησε το ngrok για τον τοπικό σας διακομιστή - αντιγράψτε το και επικολλήστε το στη μεταβλητή διακομιστή.
Πελάτης
Η εφαρμογή πελάτη μοιάζει με μια απλή συνομιλία που μπορείτε
Απλώς αντιγράψτε όλα τα αρχεία σε κάποιον κατάλογο στον διακομιστή ιστού σας και θα λειτουργήσει. Στο αρχείο script.js, αντικαταστήστε τη μεταβλητή διακομιστή με το όνομα τομέα ngrok και τη μεταβλητή callee με τον αριθμό που αγοράσατε. Αποθηκεύστε το αρχείο και εκκινήστε την εφαρμογή στο πρόγραμμα περιήγησής σας. Εάν όλα είναι εντάξει, θα δείτε τη σύνδεση WebSocket στον πίνακα προγραμματιστών.
Демо
Μπορείτε να δείτε την εφαρμογή σε δράση σε αυτό το βίντεο:
ΥΓ Εάν κάνετε κλικ στο κουμπί Παρέμβαση, ο καλών θα κατευθυνθεί στον αριθμό τηλεφώνου μου και αν κάνετε κλικ στο Αποσύνδεση, θα είναι...; Σωστά, η κλήση θα αποσυνδεθεί.
Πηγή: www.habr.com