我正在尝试在带星号的电话上播放消息。到那时一切都很好。
因此,我可以为扩展名留下一条消息,以使用另一个扩展名连接到语音邮件,但是当我从voicemessages
表中选择录音时,我没有得到实际的录音,但有录音的数量..
我在func_odbc.conf
中的功能是
[NEWMESSAGES]
dsn=asterisk
readsql=SELECT count(mailboxuser) FROM voicemessages WHERE mailboxuser='${SQL_ESC(${ARG1})}'
[GETMESSAGES]
dsn=asterisk
readsql=SELECT recording FROM voicemessages WHERE mailboxuser='${SQL_ESC(${ARG1})}'
我的拨号方案是
if(${ODBC_NEWMESSAGES(${CALLERID(num)})} != 0) {
Playback(${ODBC_GETMESSAGES(${CALLERID(num)})});
}
首先,我检查是否有新消息,是否尝试播放它们。
我在日志中收到的是:
[Jun 28 09:25:35] DEBUG [29406] [C-000001bb] pbx_variables.c:函数ODBC_NEWMESSAGES(5005)结果为'2'
表示有2条新消息,然后
[Jun 28 09:25:35] DEBUG [29406] [C-000001bb] pbx_variables.c:函数ODBC_GETMESSAGES(5005)结果为'2'
[6月28日09:25:35]调试[29406] [C-000001bb] pbx.c:启动“播放”
[Jun 28 09:25:35] DEBUG [29406] [C-000001bb] media_cache.c:无法在“ 2”获取媒体
[Jun 28 09:25:35] DEBUG [29406] [C-000001bb] channel.c:Channel SIP / 5005-00000158设置写入格式路径:slin-> alaw
与其播放表中recording
列中的消息,不如播放NEWMESSAGES
函数中的消息总数。
此外,我该如何在消息上循环播放,并一一播放?