Все операторы очереди заняты
Добавлено: 05 фев 2013, 10:47
Добрый день.
Есть задача, абонент для которого нет свободного оператора должен услышать, что то типа "Все операторы заняты, оставайтесь на линии."
Попробовал сделать, вот что получилось.
Есть многоканальный номер 4957235599, который уходит в приветствие экстеншен 7655.(создано в freepbx)
Далее после приветствия начинается очередь 123.(прописано в ручную)
Очередь 123.(создано через freepbx)
Конфиг очереди.
Хотелось бы спросить правильный ход мыслей по реализации задачи или я чего то не понимаю? С астериск знакомиться начал недавно, поэтому много чего еще не знаю.
Есть задача, абонент для которого нет свободного оператора должен услышать, что то типа "Все операторы заняты, оставайтесь на линии."
Попробовал сделать, вот что получилось.
Код: Выделить всё
Asterisk 1.8.15.1
FreePBX 2.10.0.8
Код: Выделить всё
exten => 4957235599,1,Set(__FROM_DID=${EXTEN})
exten => 4957235599,n,Set(CDR(did)=${FROM_DID})
exten => 4957235599,n,ExecIf($[ "${CALLERID(name)}" = "" ] ?Set(CALLERID(name)=${CALLERID(num)}))
exten => 4957235599,n,Set(__CALLINGPRES_SV=${CALLERPRES()})
exten => 4957235599,n,Set(CALLERPRES()=allowed_not_screened)
exten => 4957235599,n(dest-ext),Goto(test-welcome,7655,1)
Код: Выделить всё
[test-welcome]
exten => 7655,1,Answer
exten => 7655,n,Playback(custom/greeting)
exten => 7655,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?busy:unavail)
exten => 7655,n(busy),Playback(custom/operators-busy)
exten => 7655,n,Goto(ext-queues,123,1)
exten => 7655,n(unavail),Goto(ext-queues,123,1)
exten => 7655,n,Hangup()
Код: Выделить всё
[ext-queues]
include => ext-queues-custom
exten => 123,1,Macro(user-callerid,)
exten => 123,n,Answer
exten => 123,n,Macro(blkvm-set,reset)
exten => 123,n,ExecIf($["${REGEX("(M[(]auto-blkvm[)])" ${DIAL_OPTIONS})}" != "1"]?Set(_DIAL_OPTIONS=${DIAL_OPTIONS}M(auto-blkvm)))
exten => 123,n,Set(__NODEST=${EXTEN})
exten => 123,n,Set(__MIXMON_FORMAT=wav)
exten => 123,n,Gosub(sub-record-check,s,1(q,123,always))
exten => 123,n,Set(__MOHCLASS=dido)
exten => 123,n,QueueLog(123,${UNIQUEID},NONE,DID,${FROM_DID})
exten => 123,n,Queue(123,t,,)
exten => 123,n,Macro(blkvm-clr,)
exten => 123,n,Gosub(sub-record-cancel,s,1())
exten => 123,n,Set(__NODEST=)
exten => 123,n,Goto(test-welcome,s,1)
exten => 123*,1,Macro(agent-add,123,)
exten => 123**,1,Macro(agent-del,123)
Код: Выделить всё
[123]
announce-frequency=0
announce-holdtime=no
announce-position=no
autofill=no
eventmemberstatus=no
eventwhencalled=no
joinempty=yes
leavewhenempty=no
maxlen=0
memberdelay=0
monitor-type=mixmonitor
monitor-format=wav
music=dido
penaltymemberslimit=0
periodic-announce-frequency=0
queue-callswaiting=silence/1
queue-thereare=silence/1
queue-youarenext=silence/1
reportholdtime=no
retry=5
ringinuse=no
servicelevel=60
strategy=rrmemory
timeout=15
timeoutpriority=app
timeoutrestart=no
weight=0
wrapuptime=0
member=Local/101@from-queue/n,0,101,hint:101@ext-local
member=Local/102@from-queue/n,0,102,hint:102@ext-local
member=Local/103@from-queue/n,0,103,hint:103@ext-local