Asterisk queue: сбор статистики.
Не могу получить переменные канала после завершения звонка в очереди.
Сообщений: 74
|
Asterisk queue: сбор статистики.
Доброго времени суток.
Настраиваю работу queue для обслуживания входящих звонков в службу поддержки.
Агенты динамические. Их может быть от 0 до 3. Добавляются через AddQueueMember при входе в систему.
Очень важно собирать следующие данные:
* Сколько звонков поступило всего (решаемо до вызова app queue)
* сколько звонок длился (я так понимаю, что переменная ANSWEREDTIME в данном случае не работает, тогда как?)
* кто из агентов ответил на звонок (судя по описанию за это отвечает переменная MEMBERINTERFACE...)
* сколько звонков было принято (???)
* причина завершения звонка (опять же в теории за это отвечает переменная QUEUESTATUS...)
Теперь суть проблемы.
После вызова апликейшена queue, когда звонящий или агент вешает трубку - обработка дальше по диалплану в этом экстене не идет.
== Spawn Extension (default ... бла-бла) exited non-zero....
Все. Все директивы после queue не обрабатываются.
Если же для приложения Queue указать параметр "n" - то после неответа или при занятости всех линий астериск завершает queue и обрабатывает директивы после его вызова... но как тогда абоненту оставаться на линии и дождаться свободного агента? Циклически перезапускать queue ? Бред. Тогда пропадают периодические анонсы о месте в очереди.
|
Сообщений: 1573
|
Re: Asterisk queue: сбор статистики.
Ключ - 'exten => h'
P.S. А вообще - вопрос непонятен. Вам что нужно, что бы абонент дольше висел в очереди? Или выполнение команд после "вешания" трубки?
|
Сообщений: 74
|
Re: Asterisk queue: сбор статистики.
cron333
Пробовал этот экстен. Все переменные, что мне нужны пустые.
Вот так выглядят переменные в экстене h:
QUEUESTATUS:200 result=-1
MEMBERINTERFACE:200 result=0
DIALSTATUS:200 result=1
DIALEDPEERNUMBER:200 result=0
ANSWEREDTIME:200 result=0
Мне нужно что бы абонент висел в очереди бесконечно, пока сам не повесит трубку, или пока ему не ответит свободный агент.
В любом случае - ответили ему или нет мне нужно получить информацию по этому вызову:
Ответили на этот вызов агенты или нет.
Если да, то кто именно и сколько длился звонок.
|
Сообщений: 1573
|
Re: Asterisk queue: сбор статистики.
Что это за вывод?
Сделайте так:
exten => _X.,n,Queue(...)
exten => h,1,NoOp(${переменная})
exten => h,n,NoOp ...
... и так для всех интересующих переменных
и покажите вывод ..
|
Сообщений: 74
|
Re: Asterisk queue: сбор статистики.
Это вывод из AGI.
Вот. Из диалплана. Переменные том же порядке что и в предидущем посте:
-- Executing [h@default:1] NoOp("H323/ip$A.B.C.D:44783/19144", "") in new stack
-- Executing [h@default:2] NoOp("H323/ip$A.B.C.D:44783/19144", "H323/101101@W.X.Y.Z") in new stack
-- Executing [h@default:3] NoOp("H323/ip$A.B.C.D:44783/19144", "") in new stack
-- Executing [h@default:4] NoOp("H323/ip$A.B.C.D:44783/19144", "") in new stack
-- Executing [h@default:5] NoOp("H323/ip$A.B.C.D:44783/19144", "") in new stack
Забавно :) Мемберинтерфейс отобразился. Через Аги почему-то не выводился.
Но этого в любом случае недостаточно. Нужно время на линии и причина завершения звонка.
Косвенно по отсутствию мемберинтерфеса можно судить о том - был коннект или нет.
Но обязательно нужна продолжительность звонка!
|
Откуда: NiNo
Сообщений: 112
|
Re: Asterisk queue: сбор статистики.
mthawk: Это вывод из AGI.
...
Через Аги почему-то не выводился.
если 1.4, то юзай DeadAGI.
|
Сообщений: 74
|
Re: Asterisk queue: сбор статистики.
AGI / DeadAGI. Не об этом сейчас речь.
Нужно получить информацию о звонке после его окончания.
1) Кто звонил.
2) Ответили или нет
3) Если да, то кто
4) Сколько секунд продолжался разговор.
|
Откуда: Уфа
Сообщений: 5856
|
Re: Asterisk queue: сбор статистики.
|
Сообщений: 74
|
Re: Asterisk queue: сбор статистики.
switch, если подскажете решение, как ложить queue_log в базу данных (у меня posgresql) — буду очень признателен!
|
Откуда: AST
Сообщений: 280
|
Re: Asterisk queue: сбор статистики.
http://www.voip-info.org/wiki/view/Asterisk+queue_log+on+MySQL
|
|