使用Asterisk的ARI记录语音留言,并通过さくら的AI引擎的Whisper API进行转录。
转录的内容将通知到Slack。
开始
因为已经有Asterisk的环境,所以直接利用它。
启用ARI
编辑Asterisk的配置文件ari.conf以启用ARI。
- ari.conf
[general] enabled = yes [asterisk] type = user read_only = no password = asterisk password_format = plain
还需要启用Asterisk的HTTP服务器。
- http.conf
[general] servername=Asterisk enabled=yes bindaddr=127.0.0.1 bindport=8088
这次我们将对999号进行语音留言。
- extensions.conf
[default] exten => 999,1,Wait(1) same => n,Stasis(rusudenkun) same => n,Hangup()
工作流程
- 收到999号电话
- 启动ARI应用程序
rusudenkun - 播放语音提示
- 开始录音
- 录音结束后,使用さくら的AI引擎的Whisper API转录录音的WAV文件
- 将转录的内容通知到Slack
因此,我用Go稍微实现了一下ARI应用程序。
实际拨打电话
拨打999号并进行语音留言。
root@asterisk:~# tail -f /var/log/rusudenkun.log
{"time":"2025-09-26T15:25:45.529096517+09:00","level":"INFO","msg":"StasisStart","channel":"1758867943.63"}
{"time":"2025-09-26T15:25:45.529204145+09:00","level":"INFO","msg":"Running app","channel":"1758867943.63"}
{"time":"2025-09-26T15:25:45.680639184+09:00","level":"INFO","msg":"playing announce","media":"sound:custom/rusuden"}
{"time":"2025-09-26T15:25:54.607939088+09:00","level":"INFO","msg":"announce finished"}
{"time":"2025-09-26T15:26:04.981533804+09:00","level":"INFO","msg":"completed recording"}
{"time":"2025-09-26T15:26:05.982012514+09:00","level":"INFO","msg":"recorded","path":"rusudenkun-1758867943.63.wav"}
{"time":"2025-09-26T15:26:06.69882038+09:00","level":"INFO","msg":"transcribed text","text":"语音留言的录音转录测试,语音留言的录音转录测试"}
录音的WAV文件保存在/var/lib/asterisk/sounds/rusudenkun-<channel>.wav中。
这个音频文件通过さくら的AI引擎的Whisper API进行转录。

成功进行了转录。
总结
- 使用Asterisk的ARI成功录制了语音留言
- 录制的WAV文件使用さくら的AI引擎的Whisper API进行了转录
- 成功将转录的内容通知到Slack
老实说,我家里的电话很少响,所以免费额度的50次请求已足够了。