我已经为传入上下文配置了一个拨号计划。
我在/etc/asterisk/extensions.conf中有以下内容
[incoming]
switch => Realtime
exten => _X.,1,NoOp(Incoming Call Received)
exten => _X.,n,Festival(Welcome to Asterisk)
exten => _X.,n,Answer()
;call-answer.php will be called when Member Connected to Queue
exten => _X.,n,Queue(my_queue,t,,,1000,call-answer.php)
exten => _X.,n,Hangup()
我想获取已应答队列的调用者信息,并获取被叫队列成员信息,例如分机 ID 等...
call-answer.php
#!/usr/bin/env php
<?php
set_time_limit(60);
error_reporting(0);
ini_set('display_errors', 0);
require_once ('phpagi.php');
$agi = new AGI();
$agi->verbose("AGI Started after ANSWERED QUEUE",3);
$src_extension = $agi->request['agi_callerid'];
$dst_extension = $agi->request['agi_extension'];
// I want to get CALL ANSWERED QUEUE MEMBER EXTENSION NUMBER HERE.
?>
最佳答案
这一行有错误(无优先级)
exten => _X.,Festival(Welcome to Asterisk)
您可以在 QueueLog 中获取有关谁回答的信息,不需要 agi。
http://www.voip-info.org/wiki/view/Asterisk+log+queue_log
此外,函数 CHANNEL(name) 肯定会向您显示宏或另一侧(调用者)中的代理。如果返回调用方 channel ,则可以通过读取变量 BRIDGEDPEER 来获取其他 channel 。
您可以按问题获取 channel 中所有变量的列表
$agi->exec("Dumpchan","");
关于php - 如何使用 AGI 从调用队列(Asterisk Dialplan)获取接收者详细信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28317971/