我有一些使用 NodeJS 进行呼叫筛选的工作代码,这些代码是我从官方 twilio 示例中修改的。
- 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
.
执行此操作的最合适方法是执行 a<Redirect>
而不是<Hangup/>
然后<Hangup/>
在重定向中执行?或者我应该statusCallback
在原来的拨号盘上有一个地方并引用呼叫 ID?
在考虑在这里写出问题的可能性时,我可能已经发现了一个可行的解决方案(我会尝试一下),但我仍然想听听最佳实践方法。