Здравствуйте.
Подскажите, знающие люди, как в астере организовать "очередь" где в качестве мемберов используются DAHDI-экстеншены?
Что имеем. Asterisk 1.6.2.19 на FreeBSD 7.4, две платки "Digium TE122" и "Digium TDM2400P", KX-TD 1232.
При наборе добавочного (DAHDI/g2/101 и DAHDI/g2/227) с астера на 1232 звонок проходит нормально, а вот при попытке указать эти же экстеншены в качестве мемберов очереди получаю:
queues.conf
[general] persistentmembers = yes autofill = yes autopause = no monitor-type = MixMonitor musiconhold=default [1000] context = office strategy = roundrobin ;strategy = ringall eventwhencalled = yes ringinuse = no timeout = 20 retry = 1 wrapuptime = 3 maxlen = 0 ;memberdelay=0 timeoutrestart = yes member => DAHDI/g1/101 member => DAHDI/g1/227
и CLI> queue show 1000
1000 has 0 calls (max unlimited) in 'rrmemory' strategy (0s holdtime, 0s talktime),
W:0, C:0, A:0, SL:0.0% within 0s Members: DAHDI/g1/101 (Invalid) has taken no calls yet DAHDI/g1/227 (Invalid) has taken no calls yet No Callers
При входящем звонке ни один мембер не реагирует вообще и звонок уходящий в очередь, "подвисает".
Где-то я вычитал что в очереди могут быть представлены только "физически присутствующие" экстеншены типа SIP или Agent. А как сделать так чтобы мембером был DAHDI, так и не сообразил...
Тут где-то есть пример, у кого-то такая схема работает.. А вот у меня почему-то не хочет...
Что можно предпринять в данном случае?
Возможно это от того, что appqueue.so грузится раньше чем chandahdi.so и chan_local.so. Попробуйте исправить это указав порядок загрузки в modules.conf...
Возможно это от того, что appqueue.so грузится раньше чем chandahdi.so и chan_local.so. Попробуйте исправить это указав порядок загрузки в modules.conf...
Гыы. А я уверен что именно в этом дело. Руками указать порядок загрузки модулей (see modules.conf) и проблема с invalid решится.
litnimax ( 2011-10-12 09:54:54 +0400 )редактироватьНе работает, потому что статус invalid.
Используйте динамические очереди:
10*CLI> queue add member DAHDI/g1/110 to 601
Added interface 'DAHDI/g1/110' to queue '601'
10*CLI> queue show 601
601 has 0 calls (max unlimited) in 'ringall' strategy (0s holdtime), W:0, C:0, A:0, SL:0.0% within 0s
Members:
DAHDI/g1/110 (dynamic) (Unknown) has taken no calls yet
No Callers
Unknown это уже не invalid.
Отвечу сразу и litnialex и asteriskguru..
Собственно да, после того как я указал в modules.conf строку
preload => chan_dahdi.so
мемберы стали (Unknown) но на них пошли звонки...
Всем откликнувшимся ОГРОМНОЕ спасибо за помощь...
litnialex & asteriskguru - вы определитесь, какой аватар у вас главный, и слейтесь :-)
litnimax ( 2011-10-12 12:33:37 +0400 )редактироватьKrasnov, пометьте ответ, который Вам понравился, как подходящий! Дайте же кармы в знак благодарности :-) Рядом с ответом есть галочка.
litnimax ( 2011-10-12 12:35:10 +0400 )редактироватьТак это, если у каждого раздвоение, то всего учетверение? ;-))
litnimax ( 2011-10-12 13:09:51 +0400 )редактироватьСегодня поймал тот же самый глюк: asterisk 1.8.18.1 dahdi 2.6.1 Изменения порядка загрузки модулей результатов не дало, при звонках из очереди показывает что занят
За DAHDI/5 закреплен номер 511
было member => DAHDI/5
стало member => DAHDI/5/511
Звонки пошли, но ... ringinuse=no приводит к этой ситуации, при ringinuse=yes все работает как и раньше без извратов.
Да я сам обалдел, пробовал куча вариантов, и тут бац и заработало. Хотел через группу, честно слово. Самое интересно, обновил только asterisk с 1.8.15.1, dahdi осталось прежнее.
awsswa ( 2012-12-10 13:03:40 +0400 )редактироватьДаже не буду спрашивать причину обновления. Видимо виндоз стайл нынче в моде. Надеюсь , что ваши эксперементы не нервируют пользователей на продакшен системе.
zzuz ( 2012-12-10 13:08:44 +0400 )редактироватьЯ делал так member => DAHDI/4 например. Без указания группы. Работает такой вариант.
Боюсь без группы не получится... У меня два DAHDI-устройства: TE122 (DAHDI/g1) и TDM2400P (DAHDI/g2). Первое для связи с KX-TD 1232 второе для подключения PSTN...
Krasnov ( 2011-10-11 16:34:26 +0400 )редактироватьИспользуйте кастомный контекст . где номера будут отслеживаться с интерфейса Local.
в виде
member => Local/101@dahdi-dial-local/n
У меня, по идее, запись должна быть такая: member => Local/101@office Проверил, не работает пишет что: Local/227@office/n (Invalid) has taken no calls yet Local/101@office/n (Invalid) has taken no calls yet хотя прозвон в диалплане (Dial(Local/101@office)) на номер проходит.
Krasnov ( 2011-10-11 16:59:30 +0400 )редактироватьпопробуйте настроить хинты для этих номеров в контексте очереди
exten => 227,hint,Local/227@office/n
хотя я могу ошибаться в этом вопросе , так как хинты для dahdi устройств отрабатывают немного подругому.
как минимум проверьте DEVSTATE у экстеншена Local/227@office
Задан: 2011-10-11 15:04:17 +0400
Просмотрен: 1,036 раз
Обновлен: Dec 10 '12
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.
Так решилась проблема или нет? preload => chan_dahdi.so помогло?
matperez ( 2011-10-13 07:25:00 +0400 )редактироватьКонечно решилась... я же ниже отписался уже...
Krasnov ( 2011-10-26 14:02:57 +0400 )редактировать