แจแแกแแซแแแ แแกแแแแแแ แแ แฌแแแแแแแฎแแแ Call Screening แคแฃแแฅแชแแแก แจแแกแแฎแแ, แ แแแแแแช Google-แแ แแแแแฃแจแแ แแแแแกแ Pixel แขแแแแคแแแแแแกแแแแก แแจแจ-แจแ. แแแแ แแจแแแแแแ แแ - แ แแแแกแแช แจแแแแแแแแ แแแ แก แแแแฆแแแ, แแแ แขแฃแแแฃแ แ แแกแแกแขแแแขแ แแฌแงแแแก แแแแฃแแแแแชแแแก, แแแจแแ แ แแชแ แแ แกแแฃแแแ แก แฎแแแแแ แฉแแขแแก แกแแฎแแ แแ แแแแแกแแแแ แแ แแก แจแแแแซแแแแ แแแแฌแงแแ แกแแฃแแแ แ แแกแแกแขแแแขแแก แแแชแแแแ. แแก แซแแแแแ แกแแกแแ แแแแแแ แแ แแฆแแแแจแ, แ แแแแกแแช แแแแฅแแแก
แแ แฅแแขแแฅแขแฃแ แ
แแแ แฉแแแ, แแ แ แแ แแแแแ แแแ แแแแก แแฎแกแแแจแ, แแฃ แ แแแแ แแฃแจแแแแก Voximplant แแ Dialogflow; แกแฃแ แแแแแก แจแแแแฎแแแแแจแ, แจแแแแซแแแแ แแแ แขแแแแ แแแแแแ แแแคแแ แแแชแแ แแแขแแ แแแขแจแ. แแแแแ แแแแแชแแแ แฉแแแแ แแแ แแก แกแแ แแแแแแแก แแแแชแแคแชแแแก.
แแแแฃแจแแแ, แ แแ แฃแแแ แแแฅแแ แแแ แแแแฃแแ แขแแแแคแแแแก แแแแแ แ, แ แแแแแกแแช แงแแแแแแฆแแฃแ แแ แแงแแแแแ แแ แ แแแแแแแแแช แแแแจแแแแแแแแ แแแ แแแก แแฆแแแ. แแ แจแแแแฎแแแแแจแ แแแแแญแแ แแแแ แแแแ แ แแแแแ แ, แ แแแแแแช แงแแแแแแ แแฅแแแแ แแแแแแแแฃแแ - แคแแกแขแแแ, แกแแแแแแขแ แแแ แแแแ, แแแแแแ แคแแ แแแแแก แจแแแกแแแแกแแก แแ แ.แจ. แแก แแแแแ แ แแแฃแแแแจแแ แแแแ แแฃแแแแ แแแ แแแแแแก แแแแฃแจแแแแแแก แกแแกแขแแแแก (แฉแแแแก แจแแแแฎแแแแแจแ, Dialogflow) แแ แแแแแแแแแแแแแ แแแ แแแก แแฅแแแแก แแแแแแ แแแแแ แแ แแฎแแแแ แแฃ แแกแฃแ แ. แแแแแ แแแแก แกแแฎแแ แแกแ แแแแแแงแฃแ แแแ (แกแฃแ แแแแ แแแฌแแแแฃแแแแ แจแแกแแซแแแแแแแ):
แแ แฅแแขแแฅแขแฃแ แแก แแแแแแแ, แฉแแแ แจแแแแแซแแแ แแแแฆแแ แแแแฎแแ แชแแแแแแ, แแแแ แแ แแ แแ แจแแแแจแแแแ: แฉแแแ แแ แแแแแแแแแแ แแแแแแฃแ แ แแแแแแแชแแ Dialogflow-แกแ แแ แจแแแแแแแแ แแแแแแแขแก แจแแ แแก แแแแแแแแก แกแแฉแแแแแแแแ, แฉแแแ แจแแแฅแแแแ แแแ แขแแ แแแ-แแแแแแแชแแ แแแแแแแแก แ แแแแแ แแ, แ แแแแแแช แแแแแแ แแฉแแแแแแก, แ แแแแ แแฃแจแแแแก แแแ แแก แกแแ แแแแแแ. แแ แแแแแแแชแแแก แแฅแแแแ Intervene แฆแแแแแ, แ แแแแแก แแแญแแ แแ Voximplant แแแแแแแจแแ แแแก แจแแแแกแฃแ แแแแแแแขแก แแแ แแคแแ แแแแแแแขแแแ, แแฃ แแก แฃแแแแแกแแแแแ แแแแแ แแแแแฌแงแแแขแก แกแแฃแแแ แก.
ะ ะตะฐะปะธะทะฐัะธั
แจแแกแแแ
แแแฎแกแแแแ
แจแแแแแแ, แแแแแแแ แกแแ แแแแแแแก แแแแแแแชแแแจแ, แแแแงแแคแแแแแแจแ "แแแแ แแแ", "แฎแแแแแกแแฌแแแแแแ". แแฅ แแแฎแแแ แแฅแแแแก แแแแ แแฎแแแฎแแ แจแแซแแแแ แแแแแ แก. แแแแแแแจแแ แแ แแแ แแแแแแแชแแแกแแแ แฆแแแแแแก "แแแแแแ แแแ" - แคแแแฏแแ แแจแ, แ แแแแแแช แแแแแฉแแแแแ, แแแขแแแแ แงแแแแ แแแแฃแแแกแฎแแแแ แแแแจแแแแแแแ แแ แแแแญแแ แแ "แแแแแแ แแแ".
แแแแแแแชแแแจแ แจแแกแแแแก แจแแแแแ แแแแแแแ "แกแแ แแแขแแแแก" แฉแแแแ แแแ แแ แจแแฅแแแแแ แกแแ แแแขแ myscreening - แแแกแจแ แฉแแแ แแแงแแแแแ แกแขแแขแแแก แแแแก
แงแฃแ แแแฆแแแ: แแฅแแแ แฃแแแ แจแแชแแแแแ แกแแ แแแ แแก แชแแแแแแก แแแแจแแแแแแแ แแฅแแแแ ngrok แกแแ แแแ แแก แกแแฎแแแแ (แแแขแแแแแ ngrok-แแก แจแแกแแฎแแ แฅแแแแแ แแฅแแแแ). แแกแแแ แฉแแแแแชแแแแ แแฅแแแแ แแแแจแแแแแแแแแ 31-แ แฎแแแแ, แกแแแแช แแฅแแแแ แขแแแแคแแแแก แแแแแ แ แแ แแก แแฅแแแแ แแแแแแ แ แแแแแ แ (แแแแแแแแแ, แแฅแแแแ แแแ แแแ แแแแแแฃแ แ แขแแแแคแแแ), แฎแแแ voximplant แแแแแ แ แแ แแก แแแแแ แ, แ แแแแแแช แแฎแแแฎแแ แจแแแซแแแแ.
outbound_call = VoxEngine.callPSTN(โYOUR PHONE NUMBERโ, โVOXIMPLANT NUMBERโ)
callPSTN แแแ แ แแแฎแแแแ แแ แแแแแแขแจแ, แ แแแแกแแช แแแแแฌแงแแแขแ แกแแฃแแแ แจแ แจแแญแ แแก แแ แแแ แแแแ แแกแแฃแแ แแ แจแแแแแแแแ แแแแแแแขแแแ.
แกแแ แแแขแแก แจแแแแฎแแแก แจแแแแแ, แแฅแแแ แฃแแแ แแแฃแแแแจแแ แแ แแก แจแแซแแแแ แแแแแ แก. แแแแกแแแแก, แกแแแแ แฏแแ แแแแแ แแฅแแแแก แแแแแแแชแแแจแ แฎแแ แ, แแแแแแแ "แแแ แจแ แฃแขแแแแชแแแก" แฉแแแแ แแแ แแฎแแแ แฌแแกแแก แจแแกแแฅแแแแแแ - แฆแแแแแ "แแฎแแแ แฌแแกแ" แแแแ แแแ แฏแแแแ แแฃแแฎแแจแ. แแแฃแแแแแ แกแแฎแแแ (แแแแแแแแแ, แงแแแแ แแแ แ), แแแขแแแแ แแแแฃแแแกแฎแแแแ แแแฆแแแ (.* - แ แแช แแแจแแแแก, แ แแ แงแแแแ แจแแแแแแแแแ แแแ แ แแแแฃแจแแแแแแ แแ แฌแแกแแกแแแแก แจแแ แฉแแฃแแ แกแแ แแแขแแแแ) แแ แแแฃแแแแแ myscreening แกแแ แแแขแ.
แจแแแแแฎแแ แฌแแกแ.
แแแแแ แแแแ แขแแแแคแแแแก แแแแแ แ แแแแแฃแแแ แกแแ แแแขแแแ. แแแแ แ แแช แฃแแแ แแแแแแแแ แแ แแก แแแขแแก แแแแแแจแแ แแแ แแแแแแแชแแแกแแแ. แแแแกแแแแแก แแแแแแแ "Dialogflow Connector" แฉแแแแ แแแ, แแแแญแแ แแ แฆแแแแแก "Dialogflow Agent"-แแก แแแแแขแแแ แแแแ แแแ แฏแแแแ แแฃแแฎแแจแ แแ แแขแแแ แแแ แแฅแแแแ Dialogflow แแแแแขแแก JSON แคแแแแ.
แแฃ แแญแแ แแแแแ แแแแแขแ, แแแแแแแแแ/แขแแกแขแแ แแแ, แจแแแแซแแแแ แแแแฆแแ แฉแแแแ แแ แแแฃแแแ:
แแแ แขแแแ backend NodeJS-แแ
แแแแแ แแแแแแแแแกแแ แแแ แขแแแ แแแฅแแแแ แแแแแซแแ, แแแแแแแแแ, แแกแ:
แแก แแ แแก แแแ แขแแแ แแแแแแแชแแ, แ แแแแแก แแแกแแจแแแแแ แกแแญแแ แแ แแฎแแแแ แแ แ แแ แซแแแแแ:
npm install
node index.js
แกแแ แแแ แ แแแฃแจแแแแแก แแฅแแแแ แแแแ แแขแแก 3000 แแแ แขแแ, แแแแขแแ Voximplant แฆแ แฃแแแแแแ แแแกแแแแแจแแ แแแแแ แฉแแแ แแแงแแแแแ ngrok แแ แแแ แแแแก. แ แแชแ แแแแแแกแขแแแแ แแแ
ngrok http 3000
แแฅแแแ แแแฎแแแ แแแแแแแก แกแแฎแแแก, แ แแแแแแช ngrok-แแ แจแแฅแแแ แแฅแแแแ แแแแแแฃแ แ แกแแ แแแ แแกแแแแก - แแแแแแแแ แแ แแ แฉแแกแแแ แกแแ แแแ แแก แชแแแแแจแ.
แแแแแแแแ
แแแแแแขแแก แแแแแแแชแแ แฐแแแแก แแแ แขแแ แฉแแขแก, แ แแแแแแช แจแแแแซแแแแ
แฃแแ แแแแ แแแแแแแแ แแ แงแแแแ แคแแแแ แแฅแแแแก แแแ แกแแ แแแ แแ แแ แกแแแฃแ แแแแแแ แ แแแ แแฅแขแแ แแแจแ แแ แแก แแแฃแจแแแแแก. script.js แคแแแแจแ แจแแชแแแแแ แกแแ แแแ แแก แชแแแแแ ngrok แแแแแแแก แกแแฎแแแแ แแ callee แชแแแแแ แแฅแแแแก แแแแ แจแแซแแแแแ แแแแ แแ. แจแแแแแฎแแ แคแแแแ แแ แแแฃแจแแแ แแแแแแแชแแ แแฅแแแแก แแ แแฃแแแ แจแ. แแฃ แงแแแแแคแแ แ แฌแแกแ แแแจแแ, แแแแแแแแแ แแก แแแแแแจแ แแแแแแฎแแแ WebSocket แแแแจแแ แก.
แแแแ
แแแแแแแชแแแก แแแฅแแแแแแ แจแแแแซแแแแ แแแฎแแ แแ แแแแแแจแ:
แ.แก แฉแแ แแแแก แฆแแแแแแ แแฃ แแแแฌแแแแฃแแแ แแแแแแแขแ แฉแแแ แขแแแแคแแแแก แแแแแ แแ แแฅแแแแ แแแแแ แแฃแแ แแ แแฃ แแแแฌแแแแฃแแแ Disconnect-แแ แแฅแแแแ...? แแแ แแแแแ, แแแ แ แแแแแแจแแแ.
แฌแงแแ แ: www.habr.com