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

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

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

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

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

спросил 2015-01-14 11:13:20 +0400

sscoodd Gravatar sscoodd
1 1 1 2

обновил 2015-01-16 12:16:06 +0400

Comments

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

awsswa ( 2015-01-14 12:57:18 +0400 )редактировать

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

sscoodd ( 2015-01-14 14:51:44 +0400 )редактировать

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)

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

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

ответил 2018-08-16 20:30:41 +0400

DirectRaw Gravatar DirectRaw
1 1 1

обновил 2018-08-16 20:32:13 +0400

Comments

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

meral ( 2018-08-17 00:30:22 +0400 )редактировать

Переделал вот так: 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 ( 2018-08-17 10:23:23 +0400 )редактировать

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

DirectRaw ( 2018-08-17 11:29:17 +0400 )редактировать

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

DirectRaw ( 2018-08-20 18:16:18 +0400 )редактировать
0

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

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

ответил 2016-03-01 13:50:07 +0400

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.

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

ответил 2015-01-15 10:49:44 +0400

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

Comments

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

meral ( 2015-01-15 20:13:14 +0400 )редактировать

Подскажите возможно ли запустить на 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 ( 2015-08-28 16:50:51 +0400 )редактировать

инструкции с хабра они такие. я когда вижу там статью по астериску,у меня только критика возникает. посмотрите есть ли у вас макрос(core show dialplan macro-press1) ну и вообще лучше используйте инструкции например с voip-info.org.

meral ( 2015-08-29 01:46:35 +0400 )редактировать

Макрос есть

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 ( 2015-08-30 10:01:43 +0400 )редактировать

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

meral ( 2015-08-31 03:31:03 +0400 )редактировать

Ваш ответ

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 ленту новостей

Статистика

Задан: 2015-01-14 11:13:20 +0400

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

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

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