Страница 1 из 2

Соединение в очереди с оператором, который дольше всех ждет

Добавлено: 16 июн 2015, 15:40
P.Ilya
Подскажите по решению вот такой проблемы.
Есть очередь. В ней соединяет клиента и оператора. Все ок. Стратегия

Код: Выделить всё

strategy=rrmemory
Необходимо сделать так, что бы очередного клиента соединяло именно с таким оператором, который не принимал звонок дольше всех(грубо говоря, дольше всех слушает музыку).
А вот тут и начинается проблемы, потому что все стратегии мне не подходят.

Стратегия leastrecent, если я правильно понял, соединяет с тем, который был самый последний вызван очередью. Ну то есть кого-то использует активно, остальных - по мере необходимости.

fewestcalls- который меньше всего получил звонков. Вроде бы хорошо, но это не учитывает время на линии. Если кто придет свежий, то все время будет соединять именно с ним.

rrmemory больше похоже на то что надо, но это же рандом.
Вот есть какой-то способ сделать по-простому именно так, как описано?

Re: Соединение в очереди с оператором, который дольше всех ж

Добавлено: 16 июн 2015, 16:41
ded
leastrecent - это стратегия самому-незанятому.
Переключите интерфейс на русский язык и там в подсказках всё будет расписано понятней.

Re: Соединение в очереди с оператором, который дольше всех ж

Добавлено: 16 июн 2015, 16:46
P.Ilya
Нету у меня интерфейса. Спасибо за скриншот.
leastrecent - "отвечавший ранее других", где-то нагуглил.
Подразумевается, что "не отвечавший дольше всех", верно?
В этом случае агент, который только что зарегистрировался, будет помещен в начало списка, или в конец?

Re: Соединение в очереди с оператором, который дольше всех ж

Добавлено: 16 июн 2015, 16:51
ded
Динамический агент?
Проверьте, и нам отпишите.
Всё обозревается там и на командном уровне
CLI> queue show ХХХ

Re: Соединение в очереди с оператором, который дольше всех ж

Добавлено: 16 июн 2015, 16:56
P.Ilya
Нет, агент статический.

Код: Выделить всё

/usr/sbin/asterisk -rx "queue show queue1"
Ну я конечно могу найти в этой портянке агента, который имеет самую большую длительность.
(last was 24 secs ago)
и который на линии, и смотреть, что именно его соединит, и никого ранее, чем его. Но как? :D :D :D
В том смысле, что очень много всего, и не видно ничего в динамике.

Re: Соединение в очереди с оператором, который дольше всех ж

Добавлено: 16 июн 2015, 18:03
gosha
asterisk -rvvvvvvvvvvvvvv | tee /tmp/logfile
звонок
^C
grep ( vim ) /tmp/logfile

profit

нее ?

Re: Соединение в очереди с оператором, который дольше всех ж

Добавлено: 16 июн 2015, 23:12
zzuz
Очень хочется узнать , что же такого выдаст команда

Код: Выделить всё

grep ( vim ) /tmp/logfile
из текстового файла. Желательно с примером автора этой строки. Желательно указав среду выполнения этой команды.

Re: Соединение в очереди с оператором, который дольше всех ж

Добавлено: 16 июн 2015, 23:28
gosha
vim чтоб посмотреть call-id искомого звонка и потом grep, либо сразу греп если id уже подсмотрен в консоле по тому логу. специально для танкистов.

Re: Соединение в очереди с оператором, который дольше всех ж

Добавлено: 16 июн 2015, 23:47
zzuz
А пример выполнения команды?

Re: Соединение в очереди с оператором, который дольше всех ж

Добавлено: 17 июн 2015, 07:01
awsswa
cat /var/log/asterisk/full | grep 0001abe3

id звонка - 0001abe3

[2015-06-17 09:00:40] VERBOSE[15100][C-0001abe3] app_mixmonitor.c: [2015-06-17 09:00:40] == Begin MixMonitor Recording SIP/la-la-la-0007d422