最近在openwrt上搭建了Asterisk,配合fxo语音网关,内线转外线,外线转内线,十分方便。但在微信这么流行,长途也取消漫游费的情况下,这个完全成了屠龙术,无用武之地。偶然发现Asterisk的语音信箱系统十分完善,给家里的固定电话加个语音留言功能,这个还算有些使用场景,折腾了几天把一个语音信箱系统搭建起来了,支持电话无人接听转语音信箱,支持密码,支持不同的家庭成员用不同的号码收听语音留言,以下是过程纪录:
先要在voicemail中配置一个账号,类似于sip.conf中配置号码一样
[myvm]
home =>, HOME,,,tz=eastern
然后把中文语音包替换原始的,中国人当然要听中文,感谢翻译人员的默付出
本文附件中的是根据上述翻译包与openwrt默认的语音文件合并后,绝大部分语音都是中文,点击下载》》》》》》下载链接
asterisk默认的语音留言目录是var/spool/asterisk,这个目录是软链接,实际整个var目录都是映射到了/tmp目录,重启就丢失语言留言数据了,真坑。
需要修改如下两处:
1) /etc/init.d/asterisk
dbdir=/var/lib/asterisk/astdb
logdir=/var/log/asterisk
cdrcsvdir=$logdir/cdr-csv
rundir=/var/run/asterisk
spooldir=/mnt/sdb/asterisk ##修改为自己的目录
varlibdir=/var/lib/asterisk
2)/etc/asterisk/asterisk.conf
[directories]
astcachedir => /tmp
astetcdir => /etc/asterisk
astmoddir => /usr/lib/asterisk/modules
astvarlibdir => /var/lib/asterisk
astdbdir => /var/lib/asterisk
astkeydir => /var/lib/asterisk
astdatadir => /usr/share/asterisk
astagidir => /usr/share/asterisk/agi-bin
astspooldir => /mnt/sdb/asterisk ;修改为自己的目录
astrundir => /var/run/asterisk
astlogdir => /var/log/asterisk
astsbindir => /usr/sbin
最后加个extension,设置呼叫多长时间转语音信箱,内外线用不同的号码访问语音信箱,收听留言
/etc/asterisk/extensions.conf
;for fix phone, redirct to voicemail for 40s timeout
exten => 1002,1,Answer()
exten => 1002,n,Dial(SIP/1002,40,tr) ;拨打1002分机40秒无人接听就转语音留言
exten => 1002,n,VoiceMail(home@myvm)
exten => 1002,n,Hangup
;for reading voicemail
exten =>

博主在OpenWRT上成功搭建了Asterisk并配置了语音信箱功能,但在使用过程中发现语音信箱播报时间不正确,相差8小时。经过排查,确定是时区设置问题。通过检查OpenWRT的时区配置、Asterisk的日志和代码,发现tzdata文件缺失。安装`zoneinfo-asia`包后,问题仍未解决。最终,博主发现OpenWRT上缺少特定的时区文件,并通过拷贝或安装相关包解决了问题。

4545

被折叠的 条评论
为什么被折叠?



