我试图通过Asterisk管理界面(AMI)暂停通话,我已经知道为了做到这一点,你需要有效地暂停通话。我遇到麻烦的地方是您放入和停放的第二个通道。
我尝试将Channel2设置为扩展702,但这不起作用,因为它抱怨它不是一个频道(显然)。那么我该如何创建第二个频道呢?我是否会发起另一个电话?
我的features.conf详细介绍了parkedcalls:
[general]
parkext => 700
parkpos => 701-720
context => parkedcalls
;parkinghints = no
;parkingtime => 45
我正在使用优秀的PAMI库(AMI for PHP):
$parkMsg = new ParkAction($_REQUEST['channel'],'702');//Getting channel is the original call chan, 702 is my misguided attempt at parking
$results = $pamiClient->send($parkMsg);
答案 0 :(得分:3)
看起来你正在使用PAMI,你可能想在你的问题中提及。
您可能希望查看您正在使用的AMI命令的文档,即here。
channel2是宣布停车位的通道,如果超时,则发送停靠的呼叫。它需要是另一个直播频道。
以下是此命令的星号帮助以供参考:
CLI> manager show command Park
Action: Park
Synopsis: Park a channel
Privilege: call,all
Description: Park a channel.
Variables: (Names marked with * are required)
*Channel: Channel name to park
*Channel2: Channel to announce park info to (and return to if timeout)
Timeout: Number of milliseconds to wait before callback.
答案 1 :(得分:0)
我已经明白了,解决方案比我想象的要简单得多。
要做到这一点,你将Park1与Channel1和Channel2设置为相同的东西。
示例:
Action: Park
Channel: SIP/1037-0000bb4a
Channel2: SIP/1037-0000bb4a
不确定它是否正确,但它运行良好(它会将呼叫者置于保持状态)