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

Asterisk 如何检查文件是否存在于星号中,asterisk,asteriskami,Asterisk,Asteriskami,我目前正在研究asterisk。 如果文件存在,我必须执行一些操作,如果文件不存在,我将不得不播放文件不存在的消息 那么,如何检查该文件是否存在于星号拨号计划中 感谢拨号计划中的,您可以执行星号AGI脚本(例如perl)来检查文件是否存在,然后分配一个布尔变量,稍后可以在拨号计划中检索该变量。然后在下一个拨号计划操作中,您可以根据设置的变量管理它的行为(播放声音文件)。。您可以在此处引用星号perl agi:在拨号计划中,您可以执行星号agi脚本(例如perl)来检查文件是否存在,然后分配一个布

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

那么,如何检查该文件是否存在于星号拨号计划中


感谢拨号计划中的

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

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

,也可以这样做

 same => n,System(test -e /path/to/file)
 same => n,GotoIf($["${SYSTEMSTATUS}" = "SUCCESS"]?alabel)
不要忘记文件名上的文件扩展名,否则您可以这样做

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

不要忘记文件名上的文件扩展名,即使Muhammad Salman Farooq之前提到过,这里有一个例子: 我们想播放个人提示或通用提示,作为后备

same => n,Set(exists=${STAT(e,${ASTDATADIR}/sounds/custom/user-${EXTEN}.wav)})
如果文件存在,则返回1;如果不存在,则返回0。在本例中,我们使用
播放功能检查一些要播放的文件。因此,我们必须定义整个文件路径。使用
ASTDATADIR
变量保持拨号计划系统独立

要播放通用或个性化文件,请使用以下命令:

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

即使穆罕默德·萨尔曼·法鲁克(Muhammad Salman Farooq)之前提到过这一点,这里有一个例子: 我们想播放个人提示或通用提示,作为后备

same => n,Set(exists=${STAT(e,${ASTDATADIR}/sounds/custom/user-${EXTEN}.wav)})
如果文件存在,则返回1;如果不存在,则返回0。在本例中,我们使用
播放功能检查一些要播放的文件。因此,我们必须定义整个文件路径。使用
ASTDATADIR
变量保持拨号计划系统独立

要播放通用或个性化文件,请使用以下命令:

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

不,AGI不是我们的选择,我们的AGI被放在另一台机器上,如果那台机器坏了,我们的日常计划应该会灵巧地工作。我找到了解决方案,asterisk的STAT()函数帮我完成了任务。我不知道这个函数,这很有趣:)不,AGI不是我们的选择,我们的AGI被放在另一台机器上,如果那台机器坏了,我们的日常计划应该会灵巧地工作。我找到了解决方案,星号的STAT()函数帮我完成了任务。我不知道那个函数,很有趣:)