Php 在PAMI中发起调用-无限while循环
我目前正在编写一个使用PAMI与Asterisk服务器通信的脚本 我发起呼叫的代码如下:Php 在PAMI中发起调用-无限while循环,php,asterisk,Php,Asterisk,我目前正在编写一个使用PAMI与Asterisk服务器通信的脚本 我发起呼叫的代码如下: public function store(Requests\CallRequest $request, ClientImpl $a) { $originateMsg = new OriginateAction('Local/' . $request->agent . '@auto-answer'); $originateMsg->setContext('G-Outgoing')
public function store(Requests\CallRequest $request, ClientImpl $a)
{
$originateMsg = new OriginateAction('Local/' . $request->agent . '@auto-answer');
$originateMsg->setContext('G-Outgoing');
$originateMsg->setPriority('1');
$originateMsg->setExtension($request->dial);
$a->send($originateMsg);
while(true) {
if( $a->process() ) return redirect(route('call-hangup'));
usleep(1000);
}
$a->close();
}
问题是,在发出挂断请求之前,我必须设置一个无限while循环$a->process()
调用以下方法:
class VoipEventStart implements IEventListener
{
public function handle(EventMessage $event)
{
$a = $event->getKeys();
if( ($a['event'] == "Hangup" || $a['event'] == "HangupRequest") && strpos($a['channel'], 'SIP/') !== FALSE)
{
return true;
}
return false;
}
}
我所追求的。。
我是否可以设置此进程运行,而不让页面看起来由于while循环而试图加载
javascript有什么帮助吗?我确实想过使用
AJAX
来发出请求,但它仍然会进入while循环并停止,直到调用成功 您不应该将web应用程序与电话后端耦合。异步是一种方式
在最好的情况下,您应该编写web应用程序,以便它可以使用WebSocket、长轮询、SSE或第三方服务,这些服务可用于向web应用程序传递事件,并以异步方式从“后端”传入
从web应用程序到“后端”的请求可以通过传统方式(使用HTTP请求)或使用WebSocket完成
“后端”可以是在后台运行的进程(或通过消息总线通信的进程生态系统),侦听来自PBX和web客户端的有趣事件,然后通过任何必要的方式将它们交付给web应用程序或PBX
例如:
干杯 您不应该将web应用程序与电话后端耦合。异步是一种方式 在最好的情况下,您应该编写web应用程序,以便它可以使用WebSocket、长轮询、SSE或第三方服务,这些服务可用于向web应用程序传递事件,并以异步方式从“后端”传入 从web应用程序到“后端”的请求可以通过传统方式(使用HTTP请求)或使用WebSocket完成 “后端”可以是在后台运行的进程(或通过消息总线通信的进程生态系统),侦听来自PBX和web客户端的有趣事件,然后通过任何必要的方式将它们交付给web应用程序或PBX 例如:
干杯 你不应该在没有经验的情况下拨打核心电话。查看vicidial.org或其他操作系统项目,了解拨号核心变量。您可以使用ARI或AMI接口来发现事件/拨号结束,也可以使用FastAGI接口来控制呼叫。我遇到了不同的问题,我使用的是PAMI,当拨号分机接听电话时,它会自动拨打其他本地分机号码,而不会拨打客户号码:(您不应该在没有经验的情况下拨打core。请查看vicidial.org或其他操作系统项目中的拨打core变体。您可以使用ARI或AMI接口来发现事件/拨号结束,或者您可以使用FastAGI接口来控制呼叫。我有不同的问题,我使用的是PAMI,当拨打的分机接听电话时,它会拨打其他本地e。)xtension号码自动拨打,不拨打客户号码:(我有不同的问题,我使用的是PAMI,当拨打的分机接听电话时,它会自动拨打其他本地分机号码,不拨打客户号码:(我有不同的问题,我正在使用PAMI,当拨号分机接听电话时,它会自动拨打其他本地分机号码,而不会拨打客户号码:(