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
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):
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
ойдите
Doe open
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
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.
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.
Als u een agent nodig heeft voor bijvoorbeeld testen/testen, kunt u die van ons nemen via deze link:
Eenvoudige backend op NodeJS
Laten we bijvoorbeeld een eenvoudige backend op een knooppunt implementeren, zoals deze:
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
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
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