2013-05-12 34 views
0

我有一个扩展名为h的PHP脚本。我认为在呼叫完成后应该执行分机h,但是当一方挂机并且正在执行AGI脚本时,另一方仍然可以将呼叫视为“活动”,直到脚本处理完成。PHPAGI保持频道直播

在这种情况下,我需要的脚本来执行一些动作5秒,但对于当事方之一调用由5“假”秒的持续时间增加:

[10:54:48] x.php: >>> [NOTICE] One of the parties hanged up <<< 
[10:54:53] x.php: >>> [NOTICE] Script took 5 seconds <<< 
[10:54:53]  -- <SIP/from-sip-00000584>AGI Script x.php completed, returning 0 
[10:54:53] == Spawn extension (from-sip, 123456789, 10) exited non-zero on 'SIP/from-sip-00000584' 

问题:如何才挂断双方运行AGI脚本?

回答

1

这是预期的行为。

h扩展是为日志设计的,而不是可能需要几秒钟的东西。如果它太多(僵尸预防),它也可以挂断脚本。

如果你需要在通话结束后做长时间的行为,正确的方法将被放在agi(更好的fastagi)脚本中,只是代码记录/准备所需的动作(把信息放到临时sql表或文件中)。

之后,您可以根据外部守护程序/脚本中保存的信息执行操作。因此,每一个动作可以花费数小时而不受影响星号性能或呼吁

+0

了解!谢谢。 – k4h 2013-05-12 11:33:33