Maak uw eigen Google Call Screening op basis van Voximplant en Dialogflow

Maak uw eigen Google Call Screening op basis van Voximplant en Dialogflow
Mogelijk heb je gehoord of gelezen over de functie Call Screening die Google heeft uitgerold voor zijn Pixel-telefoons in de VS. Het idee is geweldig: wanneer je een inkomende oproep ontvangt, begint de virtuele assistent te communiceren, terwijl je dit gesprek in de vorm van een chat ziet en je op elk moment kunt beginnen te spreken in plaats van de assistent. Dit is tegenwoordig erg handig als het bijna zover is de helft van de oproepen bestaat uit spam, maar u wilt geen belangrijke oproepen missen van iemand die niet in uw contactenlijst staat. Het enige addertje onder het gras is dat deze functionaliteit alleen beschikbaar is op de Pixel-telefoon en alleen in de VS. Nou ja, obstakels zijn er om overwonnen te worden, toch? Daarom hebben we besloten u te vertellen hoe u een vergelijkbare oplossing kunt maken met Voximplant en Dialogflow. Graag onder cat.

Architectuur

Ik stel voor dat u geen tijd verspilt met uitleggen hoe Voximplant en Dialogflow werken; als u dat wenst, kunt u gemakkelijk informatie op internet vinden. Laten we dus eens kennis maken met het concept van onze Call Screening.

Stel dat u al een bepaald telefoonnummer heeft dat u dagelijks gebruikt en waarop u belangrijke oproepen ontvangt. In dit geval hebben we een tweede nummer nodig, dat overal wordt aangegeven: in de post, op een visitekaartje, wanneer u onlineformulieren invult, enz. Dit nummer wordt verbonden met een systeem voor natuurlijke taalverwerking (in ons geval Dialogflow) en stuurt oproepen alleen door naar uw hoofdnummer als u dat wilt. In diagramvorm ziet het er als volgt uit (afbeelding is aanklikbaar):
Maak uw eigen Google Call Screening op basis van Voximplant en Dialogflow
Als we de architectuur begrijpen, kunnen we de implementatie op ons nemen, maar met één voorbehoud: dat zullen we niet doen mobiel applicatie om een ​​dialoog tussen Dialogflow en een inkomende beller te tonen, zullen we een eenvoudig maken web-een applicatie met een dialoogrenderer om duidelijk te laten zien hoe Call Screening werkt. Deze applicatie zal een Intervene-knop hebben, door erop te drukken zal Voximplant de inkomende abonnee verbinden met de gebelde abonnee, als deze besluit zelf te praten.

uitvoering

ойдите uw Voximplant-account en maak een nieuwe aanvraag aan, bijvoorbeeld screening:

Maak uw eigen Google Call Screening op basis van Voximplant en Dialogflow
Doe open sectie "Kamers" en koop een nummer dat als tussenpersoon zal werken:

Maak uw eigen Google Call Screening op basis van Voximplant en Dialogflow
Ga vervolgens naar de screeningapplicatie, in het gedeelte ‘Aantallen’, op het tabblad ‘Beschikbaar’. Hier ziet u het nummer dat u zojuist hebt gekocht. Koppel het aan de applicatie met behulp van de knop "Bijvoegen" - laat in het venster dat verschijnt alle standaardwaarden staan ​​en klik op "Bijvoegen".

Eenmaal in de applicatie ga je naar het tabblad "Scripts" en maak je een myscreening-script - daarin gebruiken we de code uit het artikel Hoe Dialogflow Connector te gebruiken. In dit geval zal de code enigszins worden aangepast, omdat we de dialoog tussen de beller en de assistent moeten 'zien'; alle code is mogelijk hierheen brengen.

LET OP: u moet de waarde van de servervariabele wijzigen in de naam van uw ngrok-server (details over ngrok vindt u hieronder). Vervang uw waarden ook op regel 31, waarbij uw telefoonnummer uw hoofdnummer is (bijvoorbeeld uw persoonlijke mobiele telefoon) en het voximplantnummer het nummer is dat u onlangs hebt gekocht.

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

De oproepPSTN-oproep vindt plaats op het moment dat u besluit in te breken in het gesprek en persoonlijk met de inkomende abonnee te praten.

Nadat u het script heeft opgeslagen, moet u het aan het gekochte nummer koppelen. Om dit te doen, terwijl u zich nog in uw applicatie bevindt, gaat u naar het tabblad "Routing" om een ​​nieuwe regel te maken - de knop "Nieuwe regel" in de rechterbovenhoek. Geef een naam op (bijvoorbeeld allcalls), laat het standaardmasker (.* - wat betekent dat alle inkomende oproepen worden verwerkt door de scripts die voor deze regel zijn geselecteerd) en specificeer het myscreening-script.

Maak uw eigen Google Call Screening op basis van Voximplant en Dialogflow
Sla de regel op.

Vanaf nu is het telefoonnummer gekoppeld aan het script. Het laatste dat u hoeft te doen, is de bot aan de applicatie koppelen. Ga hiervoor naar het tabblad “Dialogflow Connector”, klik rechtsboven op de knop “Dialogflow Agent toevoegen” en upload het JSON-bestand van uw Dialogflow-agent.

Maak uw eigen Google Call Screening op basis van Voximplant en Dialogflow
Als u een agent nodig heeft voor bijvoorbeeld testen/testen, kunt u die van ons nemen via deze link: github.com/aylarov/callscreening/tree/master/dialogflow. Vraag er gewoon niet veel van, dit is slechts een voorbeeld dat je opnieuw kunt doen zoals je wilt en voel je vrij om de resultaten te delen :)

Eenvoudige backend op NodeJS

Laten we bijvoorbeeld een eenvoudige backend op een knooppunt implementeren, zoals deze:
github.com/aylarov/callscreening/tree/master/nodejs

Dit is een eenvoudige applicatie waarvoor slechts twee opdrachten nodig zijn:

npm install
node index.js

De server draait op poort 3000 van uw machine, dus om hem met de Voximplant-cloud te verbinden, gebruiken we het hulpprogramma ngrok. Wanneer u installeert ngok, voer het uit met het commando:

ngrok http 3000

U zult de domeinnaam zien die ngrok voor uw lokale server heeft gegenereerd. Kopieer deze en plak deze in de servervariabele.

klant

De clientapplicatie ziet eruit als een eenvoudige chat waarmee u kunt chatten haal het hier vandaan.

Kopieer gewoon alle bestanden naar een map op uw webserver en het zal werken. Vervang in het bestand script.js de servervariabele door de ngrok-domeinnaam en de callee-variabele door het nummer dat u hebt gekocht. Sla het bestand op en start de applicatie in uw browser. Als alles in orde is, ziet u de WebSocket-verbinding in het ontwikkelaarspaneel.

Демо

Je kunt de applicatie in actie zien in deze video:


PS Als u op de knop Interveniëren klikt, wordt de beller doorverwezen naar mijn telefoonnummer, en als u op Verbinding verbreken klikt, is dit...? Dat klopt, het gesprek wordt verbroken.

Bron: www.habr.com

Voeg een reactie