0

我已经为传入上下文配置了一个拨号方案。

我在/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()

我想获取具有 ANSWERED 队列的呼叫者信息并获取被呼叫队列成员信息,例如分机 ID 等....

呼叫-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.

?>
4

1 回答 1

1

这一行有错误(无优先级)

exten => _X.,Festival(Welcome to Asterisk)

您可以在 QueueLog 中获取有关谁回答的信息,不需要 agi。

http://www.voip-info.org/wiki/view/Asterisk+log+queue_log

此外,功能 CHANNEL(name) 肯定会在宏或其他方面(呼叫者)向您显示代理。如果它返回调用者频道,您可以通过读取变量 BRIDGEDPEER 获得其他频道。

您可以按问题获取频道中所有变量的列表

$agi->exec("Dumpchan","");
于 2015-02-05T07:02:11.403 回答