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

CALLBACK распределение на операторов.

Добавлено: 03 ноя 2016, 17:31
thebaron
В общем callback генератор работает хорошо, на 1 операторе(Если прямо указать в Channel). Но понадобилось что бы он передавал канал через очередь, на нескольких операторов. Всю сеть облазил, не нашел аналогичных случаев, только через AMI решения, но мне как-то они не нравятся, из соображений безопасности.

Очередь

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

strategy = roundrobin
member => Local/101@phpagi,1
member => Local/102@phpagi,2
Эктеншен

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

[phpagi]
exten => 100,1,Answer()
exten => 100,n,Queue(queue1,tT)
exten => 100,n,Hangup()
exten => 101,1,Dial(SIP/101)
exten => 102,1,Dial(SIP/102)
exten => _XXX.,1,Dial(SIP/567473/${EXTEN})
Генератор call-файлов

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

#!/bin/bash
echo "Channel: Local/100@phpagi" > /tmp/$1
echo "MaxRetries: 0" >> /tmp/$1
echo "Callerid: $1" >> /tmp/$1
echo "WaitTime: 20" >> /tmp/$1
echo "Extension: $1" >> /tmp/$1
echo "Priority: 1" >> /tmp/$1
echo "Archive: Yes" >> /tmp/$1
mv /tmp/$1 /var/spool/asterisk/outgoing

Re: CALLBACK распределение на операторов.

Добавлено: 04 ноя 2016, 01:13
Samael28
thebaron писал(а):strategy = roundrobin
уже протухло
Используйте

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

strategy=rrmemory

Re: CALLBACK распределение на операторов.

Добавлено: 04 ноя 2016, 09:56
virus_net
а вопрос то собственно в чем ?

Re: CALLBACK распределение на операторов.

Добавлено: 04 ноя 2016, 10:24
thebaron
С этим конфигом когда занят SIP/101. Звонок идет не на SIP/102. А снова пытается достучаться до SIP/101.
Попробую сейчас rrmemory.

Re: CALLBACK распределение на операторов.

Добавлено: 04 ноя 2016, 18:14
Samael28
А. На каналах Local, насколько я знаю, не гарантируется индикация состояний. Что в момент звонка показывает queue show queue1

Re: CALLBACK распределение на операторов.

Добавлено: 05 ноя 2016, 10:19
thebaron
Что во время звонка что без звонка, ничего не изменяется.
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER: Кусок лога
queue show queue1
queue1 has 0 calls (max unlimited) in 'rrmemory' strategy (0s holdtime, 0s talktime), W:0, C:0, A:0, SL:0.0% within 0s
Members:
Local/102@phpagi with penalty 2 (ringinuse disabled) (Invalid) has taken no calls yet
Local/101@phpagi with penalty 1 (ringinuse disabled) (Invalid) has taken no calls yet
No Callers

Re: CALLBACK распределение на операторов.

Добавлено: 05 ноя 2016, 10:23
Vlad1983
потому что "(Invalid)"

в modules.conf

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

preload => pbx_config.so
preload => chan_local.so

Re: CALLBACK распределение на операторов.

Добавлено: 05 ноя 2016, 10:24
thebaron
Есть способ создать очередь без Local? Просто из CALL-файла можно указать только 1 канал.
Еще заметил что если SIP/101 сбросит или будет оффлайн, то звонок все-таки уйдет на SIP/102.
Вручную отклонять каждый вызов глупо как-то, тем более во время разговора)

Re: CALLBACK распределение на операторов.

Добавлено: 05 ноя 2016, 10:31
thebaron
Vlad1983 писал(а):потому что "(Invalid)"

в modules.conf

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

preload => pbx_config.so
preload => chan_local.so
Так я где-то читал что chan_local уже встроен в 14 астериск. И файла chan_local.so прросто нету.
Error loading module 'chan_local.so': /usr/lib/asterisk/modules/chan_local.so: cannot open shared object file: No such file or directory

Re: CALLBACK распределение на операторов.

Добавлено: 05 ноя 2016, 10:39
virus_net
Может я конечно не совсем осознал, но все же скажу, что в этом случае я не понимаю зачем тут вообще очередь.
Сделать вызов двух телефонов с проверкой по ChanIsAvail перед вызовом и закольцевать их, т.е. расставить метки и используя их и GotoIf возвращаться назад к первому и так по кругу.