Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asterisk 呼叫文件能否搜索可用频道?_Asterisk - Fatal编程技术网

Asterisk 呼叫文件能否搜索可用频道?

Asterisk 呼叫文件能否搜索可用频道?,asterisk,Asterisk,我正在为一家公司写一个机器人呼叫器,它的服务器上也有来电。我已经设置了一个AMI轮询,在它推送调用文件之前,它将确保有一定数量的可用通道,但我不知道哪些特定通道将被打开。由于在生成.call文件时,我无法确定哪些频道将被打开,是否有一种方法可以自动为通话分配空闲频道,即自动分配传入/转接/桥接频道,或者只有在拨号计划中才能这样做?如果可以在拨号计划之外使用,您有什么建议?只有使用拨号计划时才可以使用,您需要在任何呼叫启动时检查src/dst频道是否由robocaller保留。还有另一种方法:收听

我正在为一家公司写一个机器人呼叫器,它的服务器上也有来电。我已经设置了一个AMI轮询,在它推送调用文件之前,它将确保有一定数量的可用通道,但我不知道哪些特定通道将被打开。由于在生成.call文件时,我无法确定哪些频道将被打开,是否有一种方法可以自动为通话分配空闲频道,即自动分配传入/转接/桥接频道,或者只有在拨号计划中才能这样做?如果可以在拨号计划之外使用,您有什么建议?

只有使用拨号计划时才可以使用,您需要在任何呼叫启动时检查src/dst频道是否由robocaller保留。还有另一种方法:收听AMI事件,检查新频道,如果保留频道使用-发送此频道的挂断。

对于通过搜索找到此频道的任何人,我找到了一种更好的方法

首先,使用.call文件调用本地频道。确保将通话文件中的PHONENUMBER变量设置为您最终想要拨打的号码。然后,我们找到一个可用的频道,并这样称呼它:

exten => 1,1,ChanIsAvail(Appropriate channels here); Checks if those channels are available and assigns ${AVAILORIGCHAN} an available channel
exten => 1,2,Dial(${AVAILORIGCHAN}${PHONENUMBER}/n); Dials the phone number on the available channel. The /n is very important if you plan on changing CDR variables after the call goes through. Otherwise, leave it out.
exten => 1,3,Hangup(); Clean up the local channel when we're done with it.

这将把被叫人转发到通话文件中上下文和扩展名变量中列出的上下文和扩展名。

我不想挂断来电,我会找到另一种方法。无论如何谢谢你。