如何实现自助语音验证码?

用户通过 VOIP 电话连接到 Asterisk,拨打固定的数字 8000,Asterisk 将调用 AGI 接口获取验证码,然后将获取到的验证码播报给用户,播报完毕后自动挂断。 我们根据自助语音验证码原理,将自助验证码实现分解为以下几个技术要点,只要我们解决以下技术要点,就可以实现自助语音验证码。

技术要点:

1,如何播放音频文件?音频文件从哪里来?如何播放动态数据?

2,如何存储用户信息?如何使用数据库存储用户信息?

3,如何获取验证码?

下面内容是我对各个技术点的对应解决方案。

1,Asterisk 自带 Playback 应用,可以通过它播放音频文件。音频文件需要我们提前录制好,并且转换为对应的音频格式,最简单的方法就是使用手机上的录音机。当在拨号计划中多次执行 Playback 应用,Asterisk 会将音频流自动连接起来。所以我们可以使用循环多次执行 Playback 应用即可。

2,Asterisk 使用配置文件写入 SIP 用户信息,但当写入新的 SIP 用户信息后,需要重新加载配置文件。为了方便和第三方对接,我们推荐使用数据库。Asterisk 支持数据库,并且可以实时获取用户信息。

3,Asterisk 支持 AGI 接口,我们可以使用 AGI 获取第三方应用的验证码,获取后和提前录制好的文件结合起来进行播放。

当掌握了这些技术点后,我们就可以灵活应用到其它解决方案。