вопрос по queue.log и agent
Не так давно начал погружаться в настройку астериска, вопросов было много, но все решалось при помощи мануалов/гугла, но вот появилась одна проблема над которой бьюсь уже два дня, а решения найти не могу. Проблема в следующем: Звонок попадает в очередь, у члена очереди начинает звонить телефон, в этот момент в логе появляется строчка:
| Код: |
| time callid queuename agent event data 1331099757 1331099754.2 support NONE ENTERQUEUE | |
Далее если звонящий вешает трубку, лог начинает выглядить так:
| Код: |
| time callid queuename agent event data 1331099757 1331099754.2 support NONE ENTERQUEUE | 1331099762 1331099754.2 support NONE ABANDON 1|1|5 |
Если бы член очереди поднял трубку, то лог выглядел бы так:
| Код: |
| time callid queuename agent event data 1331098319 1331098316.2 support NONE ENTERQUEUE | 1331098325 1331098316.2 support SIP/1001 CONNECT 6|1331098319.3|5 1331098327 1331098316.2 support SIP/1001 COMPLETEAGENT 6|2|1 |
Проблема в следующем, я бы очень хотел контролировать пропущенные вызовы в очереди, а как следовательно, я бы хотел видеть в логах какому члену очереди адресуется звонок. Может быть кто-то сталкивался с подобным?
P.S. cdr не подходит т.к. запись появляется только по завершению вызова, а мне бы хотелось иметь возможность получить вышеупомянутую информацию в момент вызова.
| Код: |
| callid queuename agent event data1 data2 data3 data4 data5 time 1321427764.0 300 NONE ENTERQUEUE 7812 1 2011-11-16 11:16:04.442828 1321427764.0 300 SIP/102 RINGNOANSWER 10000 2011-11-16 11:16:14.970902 1321427764.0 300 SIP/101 RINGNOANSWER 10000 2011-11-16 11:16:30.796322 1321427764.0 300 SIP/104 RINGNOANSWER 10000 2011-11-16 11:16:46.635719 1321427764.0 300 SIP/103 RINGNOANSWER 10000 2011-11-16 11:17:02.438135 1321427764.0 300 SIP/102 CONNECT 66 1321427827.5 2 2011-11-16 11:17:10.360790 1321427764.0 300 SIP/102 COMPLETEAGENT 66 51 1 2011-11-16 11:18:01.977994 |
_________________
P4 3.0 + 1Gb CentOS 5.8 Aster 1.8.16
Не люблю gui-сборки: натуральный продукт вкуснее.
И еще: я ПРОФИ так как НЕ ЛЕНЮСЬ читать литературу.
Просмотрев, Ваш лог я увидел тоже самое что и у себя, если пройдет тайм-аут очереди, то в логе появиться строка, но если звонящий не дождется тайм-аута, то строки не будет и возможности отследить кто же пропустил вызов также не будет..
| Код: |
| callid queuename agent event data1 data2 data3 data4 data5 time 1321427764.0 300 SIP/102 RINGNOANSWER 10000 2011-11-16 11:16:14.970902 |
| Код: |
| callid queuename agent event data1 data2 data3 data4 data5 time 1321446731.970 300 NONE ENTERQUEUE 7833 2 2011-11-16 16:32:12.026852 1321446731.970 300 SIP/103 RINGNOANSWER 10000 2011-11-16 16:32:22.565403 1321446731.970 300 SIP/102 RINGNOANSWER 10000 2011-11-16 16:32:38.374829 1321446731.970 300 NONE ABANDON 1 2 29 2011-11-16 16:32:41.221351 |
По моему очень даже понятно что 102 пропустил
_________________
P4 3.0 + 1Gb CentOS 5.8 Aster 1.8.16
Не люблю gui-сборки: натуральный продукт вкуснее.
И еще: я ПРОФИ так как НЕ ЛЕНЮСЬ читать литературу.
| Код: |
| 1321446731.970 300 SIP/103 RINGNOANSWER 10000 2011-11-16 16:32:22.565403 |
Данная строка появится в логе, только если в очереди прошел таймаут. К примеру: поступает звонок, он добавляется в очередь, проходит таумаут заданный в queue.conf, и только тогда появиться эта строка в логе, а если звонящий не дождется таймаута и повесит трубку, то будет просто:
| Код: |
| 1321446731.970 300 NONE ABANDON 1 2 29 2011-11-16 16:32:41.221351 |
Added after 29 minutes:
Еще один вопрос, как выяснилось в процессе, я почему-то не могу изменить стратегию очереди:
queues.conf:
| Код: |
| [support] music=default stratetgy = linear timeout = 20 member => SIP/1001 member => SIP/1005 |
Результат queue show:
| Код: |
| asterisk*CLI> queue show support has 0 calls (max unlimited) in 'ringall' strategy (0s holdtime, 0s talktime), W:0, C:0, A:0, SL:0.0% within 0s Members: SIP/1001 (Not in use) has taken no calls yet SIP/1005 (Unknown) has taken no calls yet No Callers |
Почему-то стратегия всегда ringall.
Последний раз редактировалось: mik (Ср Мар 07, 2012 09:27)
_________________
P4 3.0 + 1Gb CentOS 5.8 Aster 1.8.16
Не люблю gui-сборки: натуральный продукт вкуснее.
И еще: я ПРОФИ так как НЕ ЛЕНЮСЬ читать литературу.
| Код: |
| asterisk*CLI> queue reload all [Mar 7 12:24:03] NOTICE[27859]: app_queue.c:5673 reload_queue_rules: queuerules.conf has not changed since it was last loaded. Not taking any action. |
И /etc/init.d/asterisk restart тоже делал.
Причем, добавлять/удалять членов очереди я могу, и в консоли изменения отображаются, а вот изменить стратегию не получается.
Added after 59 minutes:
Разобрался, просто досадная опечатка:
| Цитата: |
| stratetgy = linear |
Но основной вопрос все еще актуален.
Т.е. запись логов событий очереди и CDR разные по времени. Их можно ПОТОМ связать в sql-запросе. А на лету .... ну могете подправить исходник логгирования очереди впихнув туда доп. поле и значение CID в канале.
_________________
P4 3.0 + 1Gb CentOS 5.8 Aster 1.8.16
Не люблю gui-сборки: натуральный продукт вкуснее.
И еще: я ПРОФИ так как НЕ ЛЕНЮСЬ читать литературу.
..нашел logger.c, буду разбираться, хотя подход, на мой взгляд, сомнительный