ื‘ื™ืฆื•ืข ืกื™ื ื•ืŸ ืฉื™ื—ื•ืช ื‘ื’ื•ื’ืœ ืžืฉืœืš ื”ืžื‘ื•ืกืก ืขืœ Voximplant ื•-Dialogflow

ื‘ื™ืฆื•ืข ืกื™ื ื•ืŸ ืฉื™ื—ื•ืช ื‘ื’ื•ื’ืœ ืžืฉืœืš ื”ืžื‘ื•ืกืก ืขืœ Voximplant ื•-Dialogflow
ืื•ืœื™ ืฉืžืขืชื ืื• ืงืจืืชื ืขืœ ืชื›ื•ื ืช ื”ืงืจื ืช ื”ืฉื™ื—ื•ืช ืฉื’ื•ื’ืœ ื”ืคื™ืงื” ืขื‘ื•ืจ ื˜ืœืคื•ื ื™ื Pixel ืฉืœื” ื‘ืืจื”"ื‘. ื”ืจืขื™ื•ืŸ ืžืฆื•ื™ืŸ - ื›ืฉืžืงื‘ืœื™ื ืฉื™ื—ื” ื ื›ื ืกืช, ื”ืขื•ื–ืจืช ื”ื•ื™ืจื˜ื•ืืœื™ืช ืžืชื—ื™ืœื” ืœืชืงืฉืจ, ืชื•ืš ื›ื“ื™ ืฉืจื•ืื™ื ืืช ื”ืฉื™ื—ื” ื”ื–ื• ื‘ืฆื•ืจื” ืฉืœ ืฆ'ืื˜ ื•ื‘ื›ืœ ื–ืžืŸ ืืคืฉืจ ืœื”ืชื—ื™ืœ ืœื“ื‘ืจ ื‘ืžืงื•ื ื”ืขื•ื–ืจ. ื–ื” ืžืื•ื“ ืฉื™ืžื•ืฉื™ ื‘ื™ืžื™ื ืืœื” ื›ืืฉืจ ื›ืžืขื˜ ืžื—ืฆื™ืช ืžื”ืฉื™ื—ื•ืช ื”ืŸ ืกืคืื, ืื‘ืœ ืื™ื ืš ืจื•ืฆื” ืœืคืกืคืก ืฉื™ื—ื•ืช ื—ืฉื•ื‘ื•ืช ืžืžื™ืฉื”ื• ืฉืื™ื ื• ื‘ืจืฉื™ืžืช ืื ืฉื™ ื”ืงืฉืจ ืฉืœืš. ื”ืงืืฅ' ื”ื™ื—ื™ื“ ื”ื•ื ืฉื”ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช ื”ื–ื• ื–ืžื™ื ื” ืจืง ื‘ื˜ืœืคื•ืŸ Pixel ื•ืจืง ื‘ืืจื”"ื‘. ื•ื‘ื›ืŸ, ื™ืฉ ืœื”ืชื’ื‘ืจ ืขืœ ืžื›ืฉื•ืœื™ื, ื ื›ื•ืŸ? ืœื›ืŸ, ื”ื—ืœื˜ื ื• ืœืกืคืจ ืœื›ื ื›ื™ืฆื“ ืœื™ืฆื•ืจ ืคืชืจื•ืŸ ื“ื•ืžื” ื‘ืืžืฆืขื•ืช Voximplant ื•-Dialogflow. ื‘ื‘ืงืฉื” ืžืชื—ืช ืœื—ืชื•ืœ.

ืื“ืจื™ื›ืœื•ืช

ืื ื™ ืžืฆื™ืข ืœืš ืœื ืœื‘ื–ื‘ื– ื–ืžืŸ ื‘ื”ืกื‘ืจ ื›ื™ืฆื“ ืคื•ืขืœื™ื Voximplant ื•-Dialogflow; ืื ืชืจืฆื”, ืชื•ื›ืœ ืœืžืฆื•ื ืžื™ื“ืข ื‘ืงืœื•ืช ื‘ืื™ื ื˜ืจื ื˜. ืื– ื‘ื•ืื• ื ื›ื™ืจ ืืช ืขืฆื ื”ืจืขื™ื•ืŸ ืฉืœ ืกื™ื ื•ืŸ ื”ืฉื™ื—ื•ืช ืฉืœื ื•.

ื‘ื•ื ื ื ื™ื— ืฉื›ื‘ืจ ื™ืฉ ืœืš ืžืกืคืจ ื˜ืœืคื•ืŸ ืžืกื•ื™ื ืฉืืชื” ืžืฉืชืžืฉ ื‘ื• ืžื“ื™ ื™ื•ื ื•ื‘ื• ืืชื” ืžืงื‘ืœ ืฉื™ื—ื•ืช ื—ืฉื•ื‘ื•ืช. ื‘ืžืงืจื” ื–ื”, ื ืฆื˜ืจืš ืžืกืคืจ ืฉื ื™, ืฉื™ืฆื•ื™ืŸ ื‘ื›ืœ ืžืงื•ื - ื‘ื“ื•ืืจ, ื‘ื›ืจื˜ื™ืก ื‘ื™ืงื•ืจ, ื‘ืขืช ืžื™ืœื•ื™ ื˜ืคืกื™ื ืžืงื•ื•ื ื™ื ื•ื›ื•'. ืžืกืคืจ ื–ื” ื™ื—ื•ื‘ืจ ืœืžืขืจื›ืช ืขื™ื‘ื•ื“ ืฉืคื” ื˜ื‘ืขื™ืช (ื‘ืžืงืจื” ืฉืœื ื•, Dialogflow) ื•ื™ืขื‘ื™ืจ ืฉื™ื—ื•ืช ืœืžืกืคืจ ื”ืจืืฉื™ ืฉืœืš ืจืง ืื ืชืจืฆื” ื‘ื›ืš. ื‘ืฆื•ืจืช ื“ื™ืื’ืจืžื” ื–ื” ื ืจืื” ื›ืš (ื ื™ืชืŸ ืœืœื—ื•ืฅ ืขืœ ื”ืชืžื•ื ื”):
ื‘ื™ืฆื•ืข ืกื™ื ื•ืŸ ืฉื™ื—ื•ืช ื‘ื’ื•ื’ืœ ืžืฉืœืš ื”ืžื‘ื•ืกืก ืขืœ Voximplant ื•-Dialogflow
ืื ื ื‘ื™ืŸ ืืช ื”ืืจื›ื™ื˜ืงื˜ื•ืจื”, ืื ื—ื ื• ื™ื›ื•ืœื™ื ืœืงื—ืช ืขืœ ืขืฆืžื ื• ืืช ื”ื™ื™ืฉื•ื, ืื‘ืœ ืขื ืื–ื”ืจื” ืื—ืช: ืœื ื ืขืฉื” ื ื™ื™ื“ ืืคืœื™ืงืฆื™ื” ืœื”ืฆื’ืช ื“ื™ืืœื•ื’ ื‘ื™ืŸ Dialogflow ืœืžืชืงืฉืจ ื ื›ื ืก, ื ื™ืฆื•ืจ ืืคืœื™ืงืฆื™ื” ืคืฉื•ื˜ื” ืื™ื ื˜ืจื ื˜-ืืคืœื™ืงืฆื™ื” ืขื ืžืขื‘ื“ ื“ื™ืืœื•ื’ ื›ื“ื™ ืœื”ืจืื•ืช ื‘ื‘ื™ืจื•ืจ ื›ื™ืฆื“ ืคื•ืขืœ ืกื™ื ื•ืŸ ืฉื™ื—ื•ืช. ืœืืคืœื™ืงืฆื™ื” ื”ื–ื• ื™ื”ื™ื” ื›ืคืชื•ืจ ื”ืชืขืจื‘ื•ืช, ืขืœ ื™ื“ื™ ืœื—ื™ืฆื” ืขืœ ืื™ื–ื” Voximplant ื™ื—ื‘ืจ ืืช ื”ืžื ื•ื™ ื”ื ื›ื ืก ืœืžื ื•ื™ ืฉื—ื•ื™ื™ื’, ืื ื”ืื—ืจื•ืŸ ื”ื—ืœื™ื˜ ืœื“ื‘ืจ ื‘ืขืฆืžื•.

ะ ะตะฐะปะธะทะฐั†ะธั

ืœื”ืชื—ื‘ืจ ื—ืฉื‘ื•ืŸ Voximplant ืฉืœืš ื•ืœื™ืฆื•ืจ ืืคืœื™ืงืฆื™ื” ื—ื“ืฉื”, ืœืžืฉืœ ื”ืงืจื ื”:

ื‘ื™ืฆื•ืข ืกื™ื ื•ืŸ ืฉื™ื—ื•ืช ื‘ื’ื•ื’ืœ ืžืฉืœืš ื”ืžื‘ื•ืกืก ืขืœ Voximplant ื•-Dialogflow
ืœืคืชื•ื— ืกืขื™ืฃ "ื—ื“ืจื™ื" ื•ืงื ื” ืžืกืคืจ ืฉื™ืขื‘ื•ื“ ื›ืžืชื•ื•ืš:

ื‘ื™ืฆื•ืข ืกื™ื ื•ืŸ ืฉื™ื—ื•ืช ื‘ื’ื•ื’ืœ ืžืฉืœืš ื”ืžื‘ื•ืกืก ืขืœ Voximplant ื•-Dialogflow
ืœืื—ืจ ืžื›ืŸ, ืขื‘ื•ืจ ืœืืคืœื™ืงืฆื™ื™ืช ื”ืกื™ื ื•ืŸ, ื‘ืกืขื™ืฃ "ืžืกืคืจื™ื", ื”ื›ืจื˜ื™ืกื™ื™ื” "ื–ืžื™ื ื™ื". ื›ืืŸ ืชืจืื” ืืช ื”ืžืกืคืจ ืฉื–ื” ืขืชื” ืจื›ืฉืช. ืงืฉืจ ืื•ืชื• ืœืืคืœื™ืงืฆื™ื” ื‘ืืžืฆืขื•ืช ื›ืคืชื•ืจ "ืฆืจืฃ" - ื‘ื—ืœื•ืŸ ืฉืžื•ืคื™ืข, ื”ืฉืืจ ืืช ื›ืœ ืขืจื›ื™ ื‘ืจื™ืจืช ื”ืžื—ื“ืœ ื•ืœื—ืฅ ืขืœ "ืฆืจืฃ".

ื‘ืจื’ืข ืฉื ื›ื ืกื™ื ืœืืคืœื™ืงืฆื™ื”, ืขื‘ื•ืจ ืœืœืฉื•ื ื™ืช "ืกืงืจื™ืคื˜ื™ื" ื•ืฆื•ืจ ืกืงืจื™ืคื˜ myscreening - ื‘ื• ืื ื• ืžืฉืชืžืฉื™ื ื‘ืงื•ื“ ืžื”ืžืืžืจ ื›ื™ืฆื“ ืœื”ืฉืชืžืฉ ื‘-Dialogflow Connector. ื‘ืžืงืจื” ื–ื”, ื”ืงื•ื“ ื™ืฉื•ื ื” ืžืขื˜, ื›ื™ ืื ื—ื ื• ืฆืจื™ื›ื™ื "ืœืจืื•ืช" ืืช ื”ื“ื™ืืœื•ื’ ื‘ื™ืŸ ื”ืžืชืงืฉืจ ืœืขื•ื–ืจืช; ื›ืœ ื”ืงื•ื“ ืืคืฉืจื™ ืงื— ื›ืืŸ.

ืฉื™ืžื• ืœื‘: ื™ื”ื™ื” ืขืœื™ื›ื ืœืฉื ื•ืช ืืช ื”ืขืจืš ืฉืœ ืžืฉืชื ื” ื”ืฉืจืช ืœืฉื ืฉืœ ืฉืจืช ื”-ngrok ืฉืœื›ื (ืคืจื˜ื™ื ืขืœ ngrok ื™ื•ืคื™ืขื• ื‘ื”ืžืฉืš). ื”ื—ืœืฃ ื’ื ืืช ื”ืขืจื›ื™ื ืฉืœืš ื‘ืฉื•ืจื” 31, ื›ืืฉืจ ืžืกืคืจ ื”ื˜ืœืคื•ืŸ ืฉืœืš ื”ื•ื ื”ืžืกืคืจ ื”ืจืืฉื™ ืฉืœืš (ืœื“ื•ื’ืžื”, ื”ื˜ืœืคื•ืŸ ื”ื ื™ื™ื“ ื”ืื™ืฉื™ ืฉืœืš), ื•ืžืกืคืจ voximplant ื”ื•ื ื”ืžืกืคืจ ืฉืจื›ืฉืช ืœืื—ืจื•ื ื”.

outbound_call = VoxEngine.callPSTN(โ€œYOUR PHONE NUMBERโ€, โ€œVOXIMPLANT NUMBERโ€)

ืฉื™ื—ืช callPSTN ืชืชืจื—ืฉ ื‘ืจื’ืข ืฉื‘ื• ืชื—ืœื™ื˜ ืœืคืจื•ืฅ ืœืฉื™ื—ื” ื•ืœื“ื‘ืจ ื‘ืื•ืคืŸ ืื™ืฉื™ ืขื ื”ืžื ื•ื™ ื”ื ื›ื ืก.

ืœืื—ืจ ืฉืžื™ืจืช ื”ืกืงืจื™ืคื˜, ืขืœื™ืš ืœืงืฉืจ ืื•ืชื• ืœืžืกืคืจ ืฉื ืจื›ืฉ. ืœืฉื ื›ืš, ื‘ืขื•ื“ืš ื‘ืืคืœื™ืงืฆื™ื” ืฉืœืš, ืขื‘ื•ืจ ืœืœืฉื•ื ื™ืช "ื ื™ืชื•ื‘" ื›ื“ื™ ืœื™ืฆื•ืจ ื›ืœืœ ื—ื“ืฉ - ื›ืคืชื•ืจ "ื›ืœืœ ื—ื“ืฉ" ื‘ืคื™ื ื” ื”ืฉืžืืœื™ืช ื”ืขืœื™ื•ื ื”. ืกืคืง ืฉื (ืœื“ื•ื’ืžื”, allcalls), ื”ืฉืืจ ืืช ืžืกื™ื›ืช ื‘ืจื™ืจืช ื”ืžื—ื“ืœ (.* - ื›ืœื•ืžืจ ื›ืœ ื”ืฉื™ื—ื•ืช ื”ื ื›ื ืกื•ืช ื™ืขื•ื‘ื“ื• ืขืœ ื™ื“ื™ ื”ืกืงืจื™ืคื˜ื™ื ืฉื ื‘ื—ืจื• ืœื›ืœืœ ื–ื”) ื•ืฆื™ื™ืŸ ืืช ื”ืกืงืจื™ืคื˜ myscreening.

ื‘ื™ืฆื•ืข ืกื™ื ื•ืŸ ืฉื™ื—ื•ืช ื‘ื’ื•ื’ืœ ืžืฉืœืš ื”ืžื‘ื•ืกืก ืขืœ Voximplant ื•-Dialogflow
ืฉืžื•ืจ ืืช ื”ื›ืœืœ.

ืžืขืชื”, ืžืกืคืจ ื”ื˜ืœืคื•ืŸ ืžืงื•ืฉืจ ืœืชืกืจื™ื˜. ื”ื“ื‘ืจ ื”ืื—ืจื•ืŸ ืฉืืชื” ืฆืจื™ืš ืœืขืฉื•ืช ื”ื•ื ืœืงืฉืจ ืืช ื”ื‘ื•ื˜ ืœืืคืœื™ืงืฆื™ื”. ื›ื“ื™ ืœืขืฉื•ืช ื–ืืช, ืขื‘ื•ืจ ืœื›ืจื˜ื™ืกื™ื™ื” "ืžื—ื‘ืจ Dialogflow", ืœื—ืฅ ืขืœ ื›ืคืชื•ืจ "ื”ื•ืกืฃ Dialogflow Agent" ื‘ืคื™ื ื” ื”ืฉืžืืœื™ืช ื”ืขืœื™ื•ื ื” ื•ื”ืขืœื” ืืช ืงื•ื‘ืฅ ื”-JSON ืฉืœ ืกื•ื›ืŸ Dialogflow ืฉืœืš.

ื‘ื™ืฆื•ืข ืกื™ื ื•ืŸ ืฉื™ื—ื•ืช ื‘ื’ื•ื’ืœ ืžืฉืœืš ื”ืžื‘ื•ืกืก ืขืœ Voximplant ื•-Dialogflow
ืื ืืชื” ืฆืจื™ืš ืกื•ื›ืŸ ืœื“ื•ื’ืžื/ื‘ื“ื™ืงื”, ืืชื” ื™ื›ื•ืœ ืœืงื—ืช ืืช ืฉืœื ื• ื‘ืงื™ืฉื•ืจ ื”ื–ื”: github.com/aylarov/callscreening/tree/master/dialogflow. ืจืง ืืœ ืชื“ืจื•ืฉ ืžื–ื” ื”ืจื‘ื”, ื–ื• ืจืง ื“ื•ื’ืžื” ืฉืืชื” ื—ื•ืคืฉื™ ืœืขืฉื•ืช ืžื—ื“ืฉ ื›ืจืฆื•ื ืš ื•ืชืจื’ื™ืฉ ื—ื•ืคืฉื™ ืœืฉืชืฃ ืืช ื”ืชื•ืฆืื•ืช :)

ืื—ื•ืจื™ ืคืฉื•ื˜ ื‘-NodeJS

ื‘ื•ืื• ื ืคืจื•ืก ืงืฆื” ืื—ื•ืจื™ ืคืฉื•ื˜ ื‘ืฆื•ืžืช, ืœืžืฉืœ, ื›ืš:
github.com/aylarov/callscreening/tree/master/nodejs

ื–ื”ื• ื™ื™ืฉื•ื ืคืฉื•ื˜ ืฉื“ื•ืจืฉ ืจืง ืฉืชื™ ืคืงื•ื“ื•ืช ืœื”ืคืขืœื”:

npm install
node index.js

ื”ืฉืจืช ื™ืคืขืœ ืขืœ ื™ืฆื™ืื” 3000 ืฉืœ ื”ืžื—ืฉื‘ ืฉืœืš, ืื– ื›ื“ื™ ืœื—ื‘ืจ ืื•ืชื• ืœืขื ืŸ Voximplant, ืื ื• ืžืฉืชืžืฉื™ื ื‘ื›ืœื™ ื”ืฉื™ืจื•ืช ngrok. ื›ืืฉืจ ืืชื” ืžืชืงื™ืŸ ื ื’ืจื•ืง, ื”ืคืขืœ ืื•ืชื• ืขื ื”ืคืงื•ื“ื”:

ngrok http 3000

ืืชื” ืชืจืื” ืืช ืฉื ื”ื“ื•ืžื™ื™ืŸ ืฉ-ngrok ื™ืฆืจ ืขื‘ื•ืจ ื”ืฉืจืช ื”ืžืงื•ืžื™ ืฉืœืš - ื”ืขืชืง ืื•ืชื• ื•ื”ื“ื‘ืง ืื•ืชื• ื‘ืžืฉืชื ื” ื”ืฉืจืช.

ืœืงื•ื—

ื™ื™ืฉื•ื ื”ืœืงื•ื— ื ืจืื” ื›ืžื• ืฆ'ืื˜ ืคืฉื•ื˜ ืฉืืชื” ื™ื›ื•ืœ ืœืืกื•ืฃ ืืช ื–ื” ืžื›ืืŸ.

ืคืฉื•ื˜ ื”ืขืชืง ืืช ื›ืœ ื”ืงื‘ืฆื™ื ืœืกืคืจื™ื™ื” ื›ืœืฉื”ื™ ื‘ืฉืจืช ื”ืื™ื ื˜ืจื ื˜ ืฉืœืš ื•ื–ื” ื™ืขื‘ื•ื“. ื‘ืงื•ื‘ืฅ script.js, ื”ื—ืœืฃ ืืช ืžืฉืชื ื” ื”ืฉืจืช ื‘ืฉื ื”ื“ื•ืžื™ื™ืŸ ngrok ื•ืืช ื”ืžืฉืชื ื” Callee ื‘ืžืกืคืจ ืฉืจื›ืฉืช. ืฉืžื•ืจ ืืช ื”ืงื•ื‘ืฅ ื•ื”ืคืขืœ ืืช ื”ื™ื™ืฉื•ื ื‘ื“ืคื“ืคืŸ ืฉืœืš. ืื ื”ื›ืœ ื‘ืกื“ืจ, ืชืจืื” ืืช ื—ื™ื‘ื•ืจ ื”-WebSocket ื‘ืคืื ืœ ื”ืžืคืชื—ื™ื.

ะ”ะตะผะพ

ืืชื” ื™ื›ื•ืœ ืœืจืื•ืช ืืช ื”ืืคืœื™ืงืฆื™ื” ื‘ืคืขื•ืœื” ื‘ืกืจื˜ื•ืŸ ื–ื”:


ื .ื‘. ืื ืชืœื—ืฅ ืขืœ ื›ืคืชื•ืจ ื”ืชืขืจื‘ื•ืช, ื”ืžืชืงืฉืจ ื™ื•ืคื ื” ืœืžืกืคืจ ื”ื˜ืœืคื•ืŸ ืฉืœื™, ื•ืื ืชืœื—ืฅ ืขืœ ื ืชืง ื–ื” ื™ื”ื™ื”...? ื ื›ื•ืŸ, ื”ืฉื™ื—ื” ืชืชื ืชืง.

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”