Я настроил один диалплан для входящего контекста.
Я следую за /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()
Я хотел бы получить информацию о вызывающем абоненте, у которого есть ОТВЕТСТВЕННАЯ очередь, и получить информацию об участнике вызываемой очереди, такую как добавочный идентификатор и т. Д ….
колл-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, нет необходимости в этом.
http://www.voip-info.org/wiki/view/Asterisk+log+queue_log
Также функция CHANNEL (имя) наверняка покажет вам агента в макросе или другой стороне (вызывающей стороне). Если он возвращает канал вызывающего абонента, вы можете получить другой канал, читая переменную BRIDGEDPEER.
Вы можете получить список всех переменных в канале по проблеме
$agi->exec("Dumpchan","");
Других решений пока нет …