First time here? Check out the FAQ!

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

Оценка качества обслуживания клиентов

0

Добрый день, коллеги.

Есть 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

Я немного не монстр в астере, может быть кто-то уже столкнулся и решил подобную штуку?

спросил Jan 14 '15

sscoodd Gravatar sscoodd
1 1 1 2

обновил Jan 16 '15

Comments

вам надо показывать настройки очереди

awsswa (Jan 14 '15)edit

Если вас не затруднит - можно на пальцах? Как лучше всего раскрыть настройки очереди, чтобы вам понятно было?

sscoodd (Jan 14 '15)edit

3 Ответа

0

Всем доброго времени суток! Сейчас настраиваю оценку операторов и у меня такая же проблема. Если один оператор отключен, сразу включается 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)

Что где подправить?

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

ответил Aug 16 '18

DirectRaw Gravatar DirectRaw
1 1 1

обновил Aug 16 '18

Comments

Начать с освежения своих знаний по очередям? queuestatus посмотреть, погадать почему так.

meral (Aug 16 '18)edit

Переделал вот так: member=Local/101@from-queue/n,0,"101",hint:101@ext-local member=Local/102@from-queue/n,0,"102",hint:102@ext-local

Но ничего не изменилось (

DirectRaw (Aug 17 '18)edit

Skip Busy Agents установил на Yes + (ringinuse=no) Все заработало!

DirectRaw (Aug 17 '18)edit

Теперь другая трабла с UCP. Если ответит один из агентов, то у остальных в UCP этот звонок отображается как пропущенный. Mark calls answered elsewhere включен. Что можно сделать?

DirectRaw (Aug 20 '18)edit
0

Спасибо за основу! У меня работает на 6.12.65-2 Подскажите, как проверить имя или номер очереди куда поступил звонок, чтобы система поняла на какое продолжение IVR (opinion-ivr) отправить звонящего? (opinion1 или opinion2) В данном случае оценка звонка на двух языках. И есть соответственно очереди с разноязычными операторами.

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

ответил Mar 1 '16

yakutfromastana Gravatar yakutfromastana
1
0

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

В queues.conf:

member=Local/299@opinion-ivr/n,,,SIP/299
member
=Local/999@opinion-ivr/n,,,SIP/999

Нужно мемберам добавить указание интерфейсов куда пойдет вызов, чтобы он шел только тогда когда астериск видит что телефон реально доступен для вызова. Ну и можно в контекст opinion-ivr добавить проверку переменной DIALSTATUS.

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

ответил Jan 15 '15

igorg Gravatar igorg flag of Russian Federation
2244 3 7 40
http://igorg.ru/

Comments

hint: данное написание не работает в 1.8, там надо использовать hints

meral (Jan 15 '15)edit

Подскажите возможно ли запустить на 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

начните его с чегонибудь попроще. например noop. потому как может mysql и не быть.

meral (Aug 30 '15)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 ленту новостей

Статистика

Задан: Jan 14 '15

Просмотрен: 3,606 раз

Обновлен: Aug 16 '18

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