我使用这个PHP库PAGI来构建一个带有Asterisk的IVR应用程序。 对于每个调用,我需要做一些清理并向数据库写一些东西。所以我在用户挂断电话后需要一些回调/处理程序。
ASAIK,这个库提供了一些检测用户挂起的方法:
pcntl_signal(SIGHUP, $signalHandler);
但是,在通过发送命令ANSWER
接听电话后,这不起作用。如果在没有ANSWER
的情况下使用它,则在挂断呼叫后上述回调会起作用!
所以我想知道我的情况的解决方法是什么?
答案 0 :(得分:0)
实际上我有一台服务器,上面装有Asterisk,Digium卡(FSX KS Signaling)和固定电话。客户可以拨打连接到我服务器的公用电话号码以获得IVR服务。
我发现当用户挂断电话时,星号不会将SIGHUP
发送到我的AGI脚本。当从内部网络调用IVR时, 工作。
我终于通过调整chan_dahdi.conf中的一些配置来解决它。
busydetect=yes
busycount=3
如果你和我有类似情况,希望这会有所帮助!