First time here? Check out the FAQ!

Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

Переадресация при отсутствии операторов в очереди

0

Здравствуйте,

Прошу помощи вот в таком вопросе, мне необходимо что бы при отсутствии всех операторов в очереди звонок переадресовывался на мобильный телефон, если и он недоступен или занят то на второй мобильный телефон. Вот мой конфиг

exten => XXXXXXXXX,1,GotoIfTime(21:00-9:00|*|*?voicemail,s,1)
exten
=> XXXXXXXXX,n,Answer
exten
=> XXXXXXXXX,n,Wait(1)
exten
=> XXXXXXXXX,n,Set(channel=${FILTER(0123456789qwertyuiopasdfghjklzxcvbnm,${CDR(channel)})})
exten
=> XXXXXXXXX,n,Set(fname=${EPOCH}-${CHANNEL(channeltype)}-${channel})
exten
=> XXXXXXXXX,n,MixMonitor(/home/asterisk/${fname}.wav,b)
exten
=> XXXXXXXXX,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?busy:unavail)
exten
=> XXXXXXXXX,n(unavail),Voicemail(999@vmail,u,s)
exten
=> XXXXXXXXX,n,Queue(managers,t,,)
exten
=> XXXXXXXXX,n,Hangup

Вот только как я понимаю конструкция

exten => XXXXXXXXX,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?busy:unavail)
exten
=> XXXXXXXXX,n(unavail),Voicemail(999@vmail,u,s)

прокатывает только в случае с обычным диалом, а как же можно сделать подобную фичу в очереди? То есть что бы сохранялась функциональность очереди с очередями и прочим но при отсутствии обоих операторов астериск пытался позвонить им на мобильные

Подскажите пожалуйста, очень нужно это сделать

А когда оно должно устанавливать эту переменную ${QUEUESTATUS} ? У меня такая схема не срабатывает:

    exten => XXXXXXXXX,1,GotoIfTime(21:00-9:00|*|*?voicemail,s,1)
    exten
=> XXXXXXXXX,2,Set(channel=${FILTER(0123456789qwertyuiopasdfghjklzxcvbnm,${CDR(channel)})})
    exten
=> XXXXXXXXX,3,Set(fname=${EPOCH}-${CHANNEL(channeltype)}-${channel})
    exten
=> XXXXXXXXX,4,MixMonitor(/home/asterisk/${fname}.wav,b)
    exten
=> XXXXXXXXX,5,Queue(managers,t,,)

    exten
=> XXXXXXXXX,6,GotoIf($["${QUEUESTATUS}" = "LEAVEEMPTY"]?7:8)
    exten
=> XXXXXXXXX,7,Voicemail(999@vmail,u,s)

    exten
=> XXXXXXXXX,8,Hangup

В чем моя ошибка? Я привел здесь вызов Voicemail как пример, если заработает подставлю туда диал на мобильник.

спросил May 31 '11

godlike Gravatar godlike flag of Ukraine
814 92 24 62

обновил Jun 1 '11

2 Ответа

1

во первыйх вот

${QUEUESTATUS}: The status of the call as a text string.
    TIMEOUT
    FULL
    JOINEMPTY
    LEAVEEMPTY
    JOINUNAVAIL
    LEAVEUNAVAIL
    CONTINUE

во вторых если номера мобильных внести как агентов, но с пенальти, то будет именно то что вам надо.

ссылка удалить спам редактировать

ответил May 31 '11

meral Gravatar meral flag of Ukraine
23347 24 20 177
http://pro-sip.net/

Comments

Спасибо огромное, сейчас попробую godlike (May 31 '11)edit
Вот только если я введу их с пенальти то при занятости (а не недоступности) оно будет звонить им на мобильный. То есть оператор 1 и 2 будут говорить, в это время позвонит 3й клиент и у первого оператора начнет звонить телефон что недопустимо, ведь 3й клиент должен встать в очередь. Я правильно понимаю? godlike (May 31 '11)edit
ну тогда делайте через hint например. если оба не зарегистрированы, то в другую очередь. ну или звоните через local. ставьте group при ответе. ну и дальше анализируйте.вообще дофига вариантов. вам должно быть виднее. meral (May 31 '11)edit
еще есть leavewhenempty = yes в конфиге. тогда будет сразу вылетать со статусом LEAVEEMPTY meral (May 31 '11)edit
спасибо, попробую godlike (Jun 1 '11)edit
не выходит, выше указал как делаю, есть идеи? :( godlike (Jun 1 '11)edit
без понятия. а вывести эту переменную и посмотреть что там не судьба? exten =>XXXXXX,6,Dumpchan. оно у вас вообще выходит из очереди или нет? таймаут там в очереди стоит? meral (Jun 1 '11)edit
0

Я знаю что некропостинг, но может кому поможет. Можно делать проверку на колличество агентов в очереди.

exten => XXXXXXXX,1,GotoIf($[${QUEUE_MEMBER_COUNT(quenename)}<1]?redirect,1)
ссылка удалить спам редактировать

ответил Mar 15 '12

zunkree Gravatar zunkree
133 3 5

Comments

а чем это лучше QUEUSTATUS/joinempty=no?

meral (Mar 15 '12)edit

ну че, неплохо, joinempty=no это частный случай ${QUEUEMEMBERCOUNT(quenename)}<1, вдруг кому то нужно будет обработать событие когда нужно прыгнуть куда то если в очереди меньше N агентов

godlike (Mar 15 '12)edit

Ваш ответ

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
[скрыть предварительный просмотр]

Закладки и информация

Добавить закладку

подписаться на rss ленту новостей

Статистика

Задан: May 31 '11

Просмотрен: 2,914 раз

Обновлен: Mar 15 '12

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.