Asterisk PHPAGI使频道保持活跃

Asterisk PHPAGI使频道保持活跃,asterisk,Asterisk,我在扩展h上有一个PHP脚本。我认为扩展h应该在调用完成后执行,但是当一方挂断并执行AGI脚本时,另一方仍然可以将调用视为“活动”,直到脚本完成处理 在这种情况下,我需要脚本执行一些操作5秒,但是对于其中一方,调用持续时间增加了5“假”秒: [10:54:48]x.php:>>>>[NOTICE]其中一方挂断了>[NOTICE]脚本花费了5秒,这是预期的行为 h扩展是为日志记录而设计的,而不是为可能需要几秒钟的事情而设计的。如果花费太多(僵尸预防),它还可以挂断脚本 若您需要在调用结束后执行长时

我在扩展h上有一个PHP脚本。我认为扩展h应该在调用完成后执行,但是当一方挂断并执行AGI脚本时,另一方仍然可以将调用视为“活动”,直到脚本完成处理

在这种情况下,我需要脚本执行一些操作5秒,但是对于其中一方,调用持续时间增加了5“假”秒:


[10:54:48]x.php:>>>>[NOTICE]其中一方挂断了>[NOTICE]脚本花费了5秒,这是预期的行为

h扩展是为日志记录而设计的,而不是为可能需要几秒钟的事情而设计的。如果花费太多(僵尸预防),它还可以挂断脚本

若您需要在调用结束后执行长时间操作,正确的方法将放在agi(更好的fastagi)脚本中,只需编写代码来记录/预处理所需的操作(将信息放在临时sql表或文件中)

之后,您可以根据外部守护进程/脚本中保存的信息执行操作。因此,每项操作都可能需要数小时,而不会影响星号performance或调用

[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'