基于Asterisk、Laravel与PAMI的拨号计划:添加输入后的二次音频播放
解决Asterisk+Laravel+PAMI外呼后无法播放感谢录音的问题
问题核心是你的拨号计划在用户输入完成后直接挂断通话,没有执行播放感谢录音的步骤。以下是具体修改方案:
1. 修改Asterisk拨号计划
在原拨号计划的read步骤后、Hangup()前添加播放感谢录音的逻辑,使用Asterisk的Playback应用实现:
[robo_call] exten => _X.,1,NoOp(Starting dial OTP) same => n,Set(CHANNEL(language)=bykea_robo_call) same => n,read(inputd,${REC},1,n,1,8) same => n,Playback(thank-you) ; 新增:播放感谢录音,替换为你的实际录音文件名 same => n,Hangup()
注意事项:
Playback后的参数是录音文件名(无需加后缀),文件需放在Asterisk对应语言的录音目录下(对应你设置的bykea_robo_call语言目录,默认路径为/var/lib/asterisk/sounds/bykea_robo_call/)。- 确保录音文件格式为Asterisk支持的类型(如WAV、GSM),且文件权限允许Asterisk进程读取。
2. PAMI函数无需调整
你当前的Laravel PAMI函数已经正确传递了第一个录音的变量REC,无需修改,只需保证感谢录音文件存在且路径正确即可。
若仍无法播放,可查看Asterisk日志文件/var/log/asterisk/messages,排查是否存在文件找不到、权限不足等错误。
内容的提问来源于stack exchange,提问作者Naushad Punjani
相关产品推荐
相关产品推荐

