Как получить сведения о получателе из очереди вызовов (Asterisk Dialplan) с помощью AGI?

0

Я настроил один Dialplan для входящего контекста.

У меня есть в /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 Queue и получить информацию о вызываемой очереди, такую как идентификатор расширения и т. Д....

колл-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.

?>
Теги:
asterisk
agi

1 ответ

0

Эта одна строка имеет ошибку (нет приоритета)

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

Вы можете получить информацию о том, кто ответил в QueueLog, нет необходимости в этом.

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

Также функция CHANNEL (имя) наверняка покажет вам агента в макро или другой стороне (вызывающий). Если он возвращает канал звонящего, вы можете получить другой канал, прочитав переменную BRIDGEDPEER.

Вы можете получить список всех переменных в канале путем выпуска

$agi->exec("Dumpchan","");
  • 0
    Обновлена запятая в Festival с exten => _X.,n,Festival(Welcome to Asterisk)
  • 0
    Кроме того, могу ли я получить данные CDR после зависания, используя AGI или Macro для текущего вызова?
Показать ещё 5 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню