openwrt上Asterisk系统语音信箱时间不对问题分析

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

      最近在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 =>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值