我想在使用星号拨号计划收听时获得播放歌曲
extend => s,n,播放(facebook/english/song1)我需要使用拨号计划获取这首歌的名字
最简单的解决方案:
exten => s,n,Set(SONG_TO_PLAY=${SHELL(/usr/local/asterisk/very_complicated_script_to_get_next_song_to_play.sh arg1 arg2 arg3):0:-1})
exten => s,n,Playback(${SONG_TO_PLAY})
exten => s,n,System(/usr/local/asterisk/notify_fb.sh ${SONG_TO_PLAY})
我对你的Asterisk安装一无所知,所以我建议你使用一些linux,可以很容易地执行shell命令。这就是为什么在这个例子中我使用系统应用程序和SHELL函数。顺便说一句,SHELL函数可以在星号版本>= 1.6下工作。
在您的环境中,您可以使用AGI, CURL, ODBC或任何您喜欢的东西来完成出站操作,而不是使用System和SHELL。