Странности с очередью, trixbox 2.8
При joinempty=no всё равно пускает в пустую очередь
Откуда: С-Пб
Сообщений: 31
|
Странности с очередью, trixbox 2.8
Добрый день!
Подскажите, пожалуйста, где я косячу:
Триксбокс 2.8, Астериск 1.6
В триксе создаю очередь (201), в Static Agents из меню выбираю свой sip экстеншн (101), Join Empty ставлю "No". Звоню в эту очередь в момент, когда 101-й софтфон выключен, и всё равно попадаю в эту очередь (слышу музыку). Если с этого софтфона осуществляется разговор, то я также попадаю в очередь (хотя в Астериске 1.6 для этого нужно указывать Join Empty "Strict"), и, при освобождении агента, попадаю к нему (его софтфон начинает звонить).
Пускать в эту очередь меня перестаёт только если я оставлю поле Static Agents пустым, но эта очередь специально создаётся для одного-единственного номера.
В файле queues_additional.conf создаётся такая запись:
[201]
announce-frequency=0
announce-holdtime=no
announce-position=no
autofill=no
eventmemberstatus=no
eventwhencalled=no
joinempty=no
leavewhenempty=yes
maxlen=0
periodic-announce-frequency=0
queue-callswaiting=silence/1
queue-thereare=silence/1
queue-youarenext=silence/1
retry=3
strategy=ringall
timeout=0
weight=0
wrapuptime=0
member=Local/101@from-internal/n,0
В файле extensions_additional.conf:
[ext-queues]
exten => 201,1,Macro(user-callerid,)
exten => 201,n,Answer
exten => 201,n,Set(__BLKVM_OVERRIDE=BLKVM/${EXTEN}/${CHANNEL})
exten => 201,n,Set(__BLKVM_BASE=${EXTEN})
exten => 201,n,Set(DB(${BLKVM_OVERRIDE})=TRUE)
exten => 201,n,ExecIf($["${REGEX("(M[(]auto-blkvm[)])" ${DIAL_OPTIONS})}" != "1"]?Set(_DIAL_OPTIONS=${DIAL_OPTIONS}M(auto-blkvm)))
exten => 201,n,Set(__NODEST=${EXTEN})
exten => 201,n,Set(MONITOR_FILENAME=/var/spool/asterisk/monitor/q${EXTEN}-${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)}-${UNIQUEID})
exten => 201,n,Set(__CWIGNORE=TRUE)
exten => 201,n,Queue(201,t,,,60)
exten => 201,n,dbDel(${BLKVM_OVERRIDE})
exten => 201,n,Set(__NODEST=)
exten => 201,n,Set(__CWIGNORE=)
exten => 201,n,Goto(app-blackhole,hangup,1)
exten => 201*,1,Macro(agent-add,201,)
exten => 201**,1,Macro(agent-del,201,201)
Также пробовал создавать кастомную очередь, в которой вместо "member=Local/101@from-internal/n,0" прописывал "member=SIP/101" - результат не менялся нисколько.
Логи готов показать, только прошу подсказать, где их смотреть.
|
Откуда: SPb
Сообщений: 1307
|
Re: Странности с очередью, trixbox 2.8
переопределяйте для очереди на strict
ключевые слова :
#exec
queues.conf
|
Откуда: С-Пб
Сообщений: 31
|
Re: Странности с очередью, trixbox 2.8
joinempty=strict ничего не изменила в первом случае (который приведён выше), но почему-то сработала в созданной вручную очереди, где всё сделано копи-пастом, только вместо "member=Local/100@from-internal/n,0" стоит "member=SIP/100". Тут, правда, вылез ещё один странный момент: если мембер этой очереди таки находится в онлайне, то ему поступают звонки не по одной линии (как в первом случае), а сразу по двум. При этом все остальные вызовы продолжают нормально висеть в очереди. Собственно, теперь есть 2 варианта куда двигаться: пилить кастомную очередь, или триксовую. Читаю мануалы, но ничего путного пока не нашёл. В сторону execute я совсем не понял зачем меня отправили..
PS В процессе тестирования экстеншены и очереди были созданы заново, с другой нумерацией, поэтому во избежание путаницы привожу листинг с новыми номерами:
extensions_additional.conf
[ext-queues]
exten => 301,1,Macro(user-callerid,)
exten => 301,n,Answer
exten => 301,n,Set(__BLKVM_OVERRIDE=BLKVM/${EXTEN}/${CHANNEL})
exten => 301,n,Set(__BLKVM_BASE=${EXTEN})
exten => 301,n,Set(DB(${BLKVM_OVERRIDE})=TRUE)
exten => 301,n,ExecIf($["${REGEX("(M[(]auto-blkvm[)])" ${DIAL_OPTIONS})}" != "1"]?Set(_DIAL_OPTIONS=${DIAL_OPTIONS}M(auto-blkvm)))
exten => 301,n,Set(__NODEST=${EXTEN})
exten => 301,n,Set(MONITOR_FILENAME=/var/spool/asterisk/monitor/q${EXTEN}-${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)}-${UNIQUEID})
exten => 301,n,Set(__CWIGNORE=TRUE)
exten => 301,n,Queue(301,t,,,120)
exten => 301,n,dbDel(${BLKVM_OVERRIDE})
exten => 301,n,Set(__NODEST=)
exten => 301,n,Set(__CWIGNORE=)
exten => 301,n,Goto(app-blackhole,hangup,1)
exten => 301*,1,Macro(agent-add,301,)
exten => 301**,1,Macro(agent-del,301,301)
queues_additional.conf
[301]
announce-frequency=0
announce-holdtime=no
announce-position=no
autofill=no
eventmemberstatus=no
eventwhencalled=no
joinempty=strict
leavewhenempty=yes
maxlen=0
periodic-announce-frequency=0
queue-callswaiting=silence/1
queue-thereare=silence/1
queue-youarenext=silence/1
retry=5
strategy=ringall
timeout=0
weight=0
wrapuptime=0
member=Local/100@from-internal/n,0
|
Откуда: С-Пб
Сообщений: 31
|
Re: Странности с очередью, trixbox 2.8
Неужели ни у кого нет мыслей? У всех очереди нормально работают?
|
Откуда: С-Пб
Сообщений: 31
|
Re: Странности с очередью, trixbox 2.8
Протестировал первый вариант (с конфигурированием через веб-интерфейс) на предыдущей версии трикса (2.6), результат тот же: при отключенном агенте всё равно пускает в очередь, чтобы не стояло в joinempty: no или strict. Я так понимаю нужно копать в сторону определения статуса статичных агентов и модуля локальных номеров, но как они реализуется пока ещё не понял.
Попутно отловил ещё один глюк: при перезапуске астериска очередь перестаёт работать до момента обновления конфигурации очереди и её применения. Вылечилось добавлением строк в modules.conf, подробности нашёл тут: http://www.freepbx.org/v2/ticket/3963
|
Откуда: SPb
Сообщений: 1307
|
Re: Странности с очередью, trixbox 2.8
Хм. Мне казалось , что прелоад обычно по умолчанию установлен. По крайней мере всегда устанавливался при апгрейде ( в случае присутствия старых конфигов , ручками то есть.).
|
Откуда: С-Пб
Сообщений: 31
|
Re: Странности с очередью, trixbox 2.8
2 zzuz
У меня автоматом ни в 2.6 ни в 2.8 не прописался
2 all
Нашёл интересный документ (http://www.freepbx.org/news/2010-02-26/heavy-queue-usage-in-freepbx), но пока ещё доконца в него не врубился.
Из того что понял:
В триксбоксе все внутренние экстеншены при автоматической конфигурации адресуются не напрямую в канал, который использует абонент, а через канал Local, который позволяет настраивать дополнительные фичи, такие как folow_me, обратный вызов и т.п. И состояние этого канала не является повторением состояния реального канала абонента. И и хотя в астере 1.6 всё значительно лучше, чем в 1.4, как это правильно настроить понямание пока ещё не пришло. Попробую решить по-простому: в поле static agents вместо 100,0 прописать S100,0 что будет соответствовать использованию Sip канала вместо Local (вроде как я это уже проходил, но тут хотя-бы это будет сделано автоматически, а не через правку конфигов), и посмотреть, что из этого получилось. Если заработает как надо - на этом решении и остановлюсь, не заработает - будем курить мануал дальше
|
Откуда: Уфа
Сообщений: 5856
|
Re: Странности с очередью, trixbox 2.8
я сделал через канал агентов. работает вроде
но на 1.6 какой-то мудак убрал agentcallbacklogin
|
Откуда: С-Пб
Сообщений: 31
|
Re: Странности с очередью, trixbox 2.8
2 switch
Спасибо за мысль, позднее попробую. Колл-бэк для этого агента мне пока не нужен, а дальше буду решать проблемы по мере их поступления.
|
Откуда: Уфа
Сообщений: 5856
|
Re: Странности с очередью, trixbox 2.8
Schastliviy: Колл-бэк для этого агента мне пока не нужен...
это не то, что вы подумали. Почитайте маны
|
|