Есть задача, абонент для которого нет свободного оператора должен услышать, что то типа "Все операторы заняты, оставайтесь на линии."
Попробовал сделать, вот что получилось.
Код: Выделить всё
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