我想从(动态生成的)文件中动态读取星号拨号计划命令。注意:在这个文件中可以有Dial()或Playback()命令,可能比这两个更晚。
有没有星号命令或命令组合允许这样做?类似的东西
exten => 1234,1,ReadAndExecuteCommandFromFile("/foo/bar")
而"/foo/bar"包含一(1)行类似
Dial(SIP/123456@provider)
或
Playback(something)
您正在寻找的功能称为AGI-Asterisk网关接口。它将允许您以同步的方式与频道进行交互。但是,"命令"将略有不同。
AGI有多个脚本工具包。如果你熟悉PHP,我建议你看看PHPAGI,因为在这种情况下,它会给你带来最大的回报。
使用AGI的最简单方法是这样做:
exten => 1234,1,AGI(/bin/cat /foo/bar)
在/foo/bar文件中,您需要放置AGI命令
EXEC Dial SIP/123456@provider
或
EXEC Playback somefile
然而,更有效的方法是使用func_odbc函数+拨号计划或完整的AGI堆栈(更快的AGI)