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

AMI + Queue

Добавлено: 18 июн 2015, 14:54
LiOH13
Приветствую!
Настроил обратный звонок с сайта по данной статье http://asterisk-pbx.ru/wiki/artikle/ast ... b_callback
Если в качестве локального канала ставлю SIP/XXXX, то вызов идёт сначала на внутренний номер, если взяли трубку, то вызов идёт во вне, если нет, то во вне не идёт. То есть, правильное поведение asterisk
Если же в качестве канала указываю Local/XXX@context, то есть пытаюсь перевести вызов не одному пользователю, а на очередь, кто взял - тот и будет с клиентом общаться... В данном случае вызов идёт сразу и на очередь и во вне. Сложность в том, что если внутри никто трубку не взял, то клиенты звонок всё равно идёт.
Подскажите, как можно это исправить?
Нужно, что бы звонок во вне шёл, только когда кто-то из очереди возьмёт трубку.

Re: AMI + Queue

Добавлено: 18 июн 2015, 15:01
Wapo
У вас в Local/XXX@context сначала видимо есть команда Answer.
Сделайте иную передачу в очередь без answera и кидайте на Local/YYY@context

Re: AMI + Queue

Добавлено: 18 июн 2015, 15:53
LiOH13
Да, логично!
Спасибо за помощь!

Re: AMI + Queue

Добавлено: 18 июн 2015, 16:34
Wapo
Еще вдогонку - не используйте зарезервированные слова: у вас Local/XXX@context
Советую сменить :)

Re: AMI + Queue

Добавлено: 18 июн 2015, 16:54
LiOH13
Да, спасибо!
Это я для наглядности примера. Сам контекст называется по-другому конечно же.

Re: AMI + Queue

Добавлено: 19 июн 2015, 13:24
LiOH13
Ещё одна сложность... Запись данного вызова не производиться. Файл создаётся, но он пустой. В чём может быть дело?

Re: AMI + Queue

Добавлено: 20 июн 2015, 07:38
virus_net
Ответ на этот вопрос, для начала, необходимо искать в логах отработки диалплана:

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

CLI> core set verbose 3

Re: AMI + Queue

Добавлено: 22 июн 2015, 12:07
LiOH13
В том-то и суть, что запись начинается
Executing [s@macro-record-enable-new:999] MixMonitor("Local/5555@from-internal-e574;2", "/хххх.wav,,") in new stack
Executing [s@macro-record-enable-new:1000] Set("Local/5555@from-internal-e574;2", "AUDIOHOOK_INHERIT(MixMonitor)=yes") in new stack
Begin MixMonitor Recording Local/5555@from-internal-e574;2

И заканчивается только после HangUp
== MixMonitor close filestream
End MixMonitor Recording Local/5555@from-internal-e574;2

Я полагаю, что сложность именно в AMI, точнее в originate.
Может кт сталкивался, подскажет.

Re: AMI + Queue

Добавлено: 23 июн 2015, 07:40
virus_net
начинайте запись в момент ответа, тогда когда подняли трубку, а не заранее
Для этого в Dial есть опции M и U, а в очереди есть macro и gosub

Re: AMI + Queue

Добавлено: 23 июн 2015, 12:59
LiOH13
Отключил запись очереди, запись идёт без проблем. Возможно, какое-то задвоение было. Пока логику не совсем понял.
Но всё равно спасибо за ответ!