有没有办法刷新pbx_spools的缓存? pbx_spool.so也不支持CLI重新加载。
示例:
#!/bin/bash
cat >/tmp/wakeup.call <<EOF
Channel: SIP/telefon
CallerID: "Weckruf" <9999>
MaxRetries: 3
WaitTime: 60
Context: wecker
Extension: s
Priority: 1
EOF
touch -d "7 hours" /tmp/wakeup.call
# At this point Asterisk learns his task
mv /tmp/wakeup.call /var/spool/asterisk/outgoing/
# for demonstration I decided to not want to be waken later
sleep 10 && rm /var/spool/asterisk/outgoing/wakeup.call
最后Asterisk 7小时后响了......
我希望,如果我从/ var / spool / asterisk / outgoing /手动删除.call文件,应该拨打之前Asterisk不再拨打电话。但确实如此。
答案 0 :(得分:1)
此行为的解决方案是使用唯一的文件名。
Asterisk在创建时读取调用文件,并且仅在执行时检查是否仍存在具有相同名称的文件。无论那里有什么。
Asterisk没有提到中间删除文件。 包含其内容的文件名仍在堆栈中,甚至新创建的文件名相同的文件也会被忽略。只有在执行时存在具有该名称的文件才会使星号触发初始调用文件内容。