如何检查文件是否存在于星号中

时间:2013-09-18 08:11:32

标签: asterisk asteriskami

我目前正在制作星号。 如果文件存在,我必须执行一些操作,如果不存在,我将不得不播放文件不存在的消息。

那么如何检查文件是否存在于星号拨号方案

由于

3 个答案:

答案 0 :(得分:1)

或者你可以这样做

 same => n,System(test -e /path/to/file)
 same => n,GotoIf($["${SYSTEMSTATUS}" = "SUCCESS"]?alabel)

不要忘记文件名

上的文件扩展名

答案 1 :(得分:1)

即使Muhammad Salman Farooq之前提到它,这里有一个例子: 我们希望播放个人提示或通用,作为后备。

same => n,Set(exists=${STAT(e,${ASTDATADIR}/sounds/custom/user-${EXTEN}.wav)})

如果文件存在,STAT function返回1,否则返回0。在这种情况下,我们使用Playback函数检查我们想要播放的一些文件。因此,我们必须定义整个文件路径。使用ASTDATADIR变量使您的拨号方案系统保持独立。

要播放通用或个性化文件,请使用:

same => n,Playback(custom/user-${IF($[ ${exists} = 1 ] ? ${EXTEN} : generic)})

答案 2 :(得分:0)

在拨号计划中,您可以执行星号AGI脚本(例如perl)来检查文件是否存在,然后分配一个布尔变量,稍后可以在拨号计划中检索该变量。然后在下一个拨号计划操作中,您可以根据设置变量管理它的行为方式(播放声音文件)。您可以在此处引用星号perl agi:http://www.voip-info.org/wiki/view/Asterisk+perl+library