呼叫断开连接的星号

问题描述:

如何使用PHPAGI捕获呼叫断开连接的星号? 例如如果用户断开呼叫哪个事件被调用?如何捕捉它?呼叫断开连接的星号

您可以查看PHP-AGI API调用的返回结果,例如 ,例如stream_file在挂断时返回-1

您也可以在拨号方案的h分机上调用另一个AGI脚本。

如果你必须清理一些东西,你也可以注册一个Shutdown function

另一种方法是注册一个Signal Handler,edmund在他的博客中长篇描述。 PCNTL是一个PHP扩展,使PCNTL能够使用--enable-pcntl重新编译PHP。

<?php 
declare(ticks=1); 

function sig_handler($signo) 
{ //Do some stuff in here 
    exit(0); 
} 

//Register the hangup handler 
if (function_exists('pcntl_signal')) 
{ 
     pcntl_signal(SIGHUP, "sig_handler"); 
} 
+0

1.来自stream_file/get_data的返回值不起作用。因为如果有第三方呼叫(CURL)并且用户此时断开呼叫,它将不会捕获断开连接。 2.退出被调用或脚本完成后,关闭函数被调用onl。 3. SIGHUP不起作用,函数不会在呼叫终止时被调用。 – user723826 2013-02-27 11:09:04

+0

工作中,需要添加语句,声明(ticks = 1); – user723826 2013-02-27 12:53:31