公式の twilio の例から変更した、NodeJS を使用したコール スクリーニング用の実用的なコードがいくつかあります。
- https://www.twilio.com/docs/howto/callscreening
- https://github.com/coolaj86/bizilio/blob/master/routes/twilio/voice/index.js#L246
スニピット:
response += ""
+ '<Response><Gather action="/twilio/voice/connect' + search + '" finishOnKey="any digit" numDigits="1">'
+ '<Say>Press any key to accept this call</Say>'
+ '</Gather>'
// TODO instead of hanging up, redirect to voicemail?
// otherwise it's left to the fallback url to pickup the voicemail and that takes a while
+ '<Hangup/>'
+ '</Response>'
;
スクリーニングが正常に完了すると、 へのコールバックが返され/twilio/voice/connect?foo=bar
ます。
スクリーニングが失敗した場合は、へのコールバックも必要です/twilio/voice/miss?foo=bar
。
これを行う最も適切な方法は、<Redirect>
代わりにa を実行してからリダイレクトで<Hangup/>
実行することですか? <Hangup/>
またはstatusCallback
、元のダイヤルのどこかにコール ID を参照する必要がありますか?
ここに質問を書き出す可能性について考えてみると、おそらくすでに実用的な解決策を発見しているでしょう (そして、試してみるつもりです) が、それでもベスト プラクティスのアプローチを聞きたいと思っています。