您可以使用xinetd
。從每一個星號框中輸入您的撥號方案,調用AGI具有快速AGI參數,取代fastagi服務器的IP地址:
AGI(agi://192.168.1.100/)
請確保您有在/etc/services
類似:
agi 4573/tcp # FAST AGI entry
在FastAGI服務器:在一個名爲/etc/xinetd.d/agi
的文件中(確保/etc/xinetd.conf
正在從/etc/xinetd.d/
加載模塊)有一個調用您的agi腳本的定義。
# description: agi service for PHP fastagi interaction
service agi
{
socket_type = stream
user = root
group = nobody
server = /path/to/agiLaunch.sh
wait = no
protocol = tcp
bind = 127.0.0.1
disable = no
per_source = UNLIMITED
instances = UNLIMITED
cps = 1000 0
}
在你的AGI腳本,現在你可以只是做像往常一樣,通過讀取STDIN或STDOUT。
好的,謝謝你的迴應。在這個平臺上的某個地方有紅色,並嘗試過它。所以,如果我已經說過10個AGI腳本已經工作了,那麼我該如何使用這種方法來使用這種方法調用所有的AGI腳本? – CEDOC
您可以使用xinetd爲每個端口創建一個不同的端口。但!我可能會使用「網絡腳本」功能,例如如果你調用'AGI(agi:// hostname [:port] [/ script],args)'你放入'/ script'部分的內容將作爲一個通道變量'agi_network_script'傳遞給腳本。因此,使用網絡腳本來編寫一個處理10的哪個AGI腳本的腳本來處理它。另外,這本書「星號:電話的未來」使用xinetd和他們的fastagi例子來說明它的價值。 – dougBTV
非常感謝dougBTV,你一直很樂於助人。您是否有任何想法可以進行身份驗證,以允許經過身份驗證的人員或用戶從他們的撥號計劃中調用FASTAGI腳本?我計劃將服務擴展到任何願意在其dialplan中使用AGI腳本的人。 – CEDOC