Добрый день, коллеги.
Есть FreePBX + Asterisk 11.15.0.
# amportal a ma list | grep framework
framework 12.0.29 Enabled
# cat /etc/schmooze/pbx-version
6.12.65-23
Попытался наладить систему оценки удовольствия клиентов, чтобы после окончания звонка нажатием клавиши оставлять отзыв.
Делал по статье: http://habrahabr.ru/post/147122/ и, в целом, все работает, за одним печальным исключением - если хотя бы один телефон в очереди не зарегался в системе, то переходит сразу в контекст "opinion-ivr". То есть, я звоню, выбираю нужный вариант в IVR и вместо ожидания в очереди сразу попадаю в оценку. Известно, какие меня там ждут оценки! :)
Что где было прописано:
queues_post_custom.conf
member=Local/11@opinion-ivr/n,0,11,hint:11@ext-local
member=Local/12@opinion-ivr/n,0,12,hint:12@ext-local
member=Local/13@opinion-ivr/n,0,13,hint:13@ext-local
member=Local/14@opinion-ivr/n,0,14,hint:14@ext-local
member=Local/15@opinion-ivr/n,0,15,hint:15@ext-local
extensions_custom.conf
[opinion-ivr]
exten => _X.,1,NoOp(Statrt IVR)
exten => _X.,n,DIAL(SIP/${EXTEN},,trg) ;
exten => _X.,n,GotoIf($[${DIALSTATUS}=BUSY]?ZANAT,1) ;
exten => _X.,n,Goto(opinion,${EXTEN},1)
[opinion]
exten => _X.,1,Answer
exten => _X.,n,Wait(1)
exten => _X.,n(skip),Set(IVR_MSG=en/beep)
exten => _X.,n(start),Set(TIMEOUT(digit)=1)
exten => _X.,n,Background(custom/provide_feedback,m) ; otsenite_rabotu_operatora
exten => _X.,n,WaitExten(5,)
exten => 1,1,MYSQL(Connect connid localhost freepbxuser ************* asteriskcdrdb)
exten => 1,n,MYSQL(Query resultid ${connid} INSERT INTO opinion (id,date,callerid,idasternumber,exten,queues,opinion) VALUES(NULL,"${STRFTIME(${EPOCH},,%Y-%m-%d-%H:%M:%S)}","${CALLERID(NUM)}","${UNIQUEID}","${DIALEDPEERNUMBER}","${NODEST}","1"))
exten => 1,n,MYSQL(Disconnect ${connid})
exten => 1,n,Playback(custom/thanks,skip) ; Thanks
exten => 2,1,MYSQL(Connect connid localhost freepbxuser ************* asteriskcdrdb)
exten => 2,n,MYSQL(Query resultid ${connid} INSERT INTO opinion (id,date,callerid,idasternumber,exten,queues,opinion) VALUES(NULL,"${STRFTIME(${EPOCH},,%Y-%m-%d-%H:%M:%S)}","${CALLERID(NUM)}","${UNIQUEID}","${DIALEDPEERNUMBER}","${NODEST}","2"))
exten => 2,n,MYSQL(Disconnect ${connid})
exten => 2,n,Playback(custom/thanks,skip) ; Thanks
exten => t,1,Playback(custom/thanks,skip) ; Thanks
exten => e,1,Playback(custom/thanks,skip) ; Thanks
Я немного не монстр в астере, может быть кто-то уже столкнулся и решил подобную штуку?
Всем доброго времени суток! Сейчас настраиваю оценку операторов и у меня такая же проблема. Если один оператор отключен, сразу включается opinion.
Сделал как подсказывали:
extensions_custom.conf
member=Local/101@opinion-ivr/n,,,PJSIP/101
member=Local/102@opinion-ivr/n,,,PJSIP/102
[opinion-ivr]
exten => _X.,1,NoOp(Statrt IVR)
exten => _X.,n,DIAL(PJSIP/${EXTEN},,trg)
exten => _X.,n,GotoIf($[${DIALSTATUS}=BUSY]?ZANAT,1)
exten => _X.,n,Goto(opinion,${EXTEN},1)
Что где подправить?
Спасибо за основу! У меня работает на 6.12.65-2 Подскажите, как проверить имя или номер очереди куда поступил звонок, чтобы система поняла на какое продолжение IVR (opinion-ivr) отправить звонящего? (opinion1 или opinion2) В данном случае оценка звонка на двух языках. И есть соответственно очереди с разноязычными операторами.
Я бы конечно отрывал руки тем кто пишет на хабре досконально не понимая что пишет. Ошибок в статье много, вот что мешает вам:
В queues.conf:
member=Local/299@opinion-ivr/n,,,SIP/299
member=Local/999@opinion-ivr/n,,,SIP/999
Нужно мемберам добавить указание интерфейсов куда пойдет вызов, чтобы он шел только тогда когда астериск видит что телефон реально доступен для вызова. Ну и можно в контекст opinion-ivr добавить проверку переменной DIALSTATUS.
Подскажите возможно ли запустить на asterisk 1.8 это оценивание?
все сделано по инструкции с хабра, но при нажатии просто обрывает разговор
выведя в консоль
-- Feature Found: press1 exten: press1
-- Feature Found: press1 exten: press1
== Spawn extension (macro-press-1, s, 1) exited non-zero on 'Local/115@from-queue-0001fb19;1' in macro 'press-1'
JerryLutor (Aug 28 '15)editинструкции с хабра они такие. я когда вижу там статью по астериску,у меня только критика возникает. посмотрите есть ли у вас макрос(core show dialplan macro-press1) ну и вообще лучше используйте инструкции например с voip-info.org.
meral (Aug 28 '15)editМакрос есть
t*CLI> dialplan show macro-press-1
[ Context 'macro-press-1' created by 'pbxconfig' ]
's' => 1. MYSQL(Connect connid localhost root superparol asteriskcdrdb) [pbxconfig]
2. MYSQL(Query resultid ${connid} INSERT INTO opinion (id
, callerid
, exten
, queues
, opinion
) VALUES (NULL, ${FROMEXTEN}, ${CDR(dst)}, ${CDR(src)}, 1)) [pbxconfig]
3. MYSQL(Clear ${resultid}) [pbxconfig]
4. MYSQL(Disconnect ${connid}) [pbx_config]
-= 1 extension (4 priorities) in 1 context. =- t*CLI>
JerryLutor (Aug 30 '15)editЗадан: Jan 14 '15
Просмотрен: 3,606 раз
Обновлен: Aug 16 '18
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.
вам надо показывать настройки очереди
awsswa (Jan 14 '15)editЕсли вас не затруднит - можно на пальцах? Как лучше всего раскрыть настройки очереди, чтобы вам понятно было?
sscoodd (Jan 14 '15)edit