TM Feed
Хабрахабр
Мегамозг
Geektimes
Тостер
Brainstorage
Фрилансим
Внушает трепет
С карты на карту
Более 1 млн. на образование
Разделы
Публикации
Хабы
Компании
Пользователи
Q&A
Песочница
Биржа авторов
Спецпроекты
Windows Server 2003
Деньги на образование
Будущее уже наступило
Alexcr
карма
34,0
38 голосов
рейтинг
3,4
Профиль
Публикации (
Комментарии (
105
Избранное (
102
4 июля 2012 в 15:47
Оценка работы операторов на Asterisk
Разработка систем связи
Asterisk
Добрый день, %habrauser%
Пару дней назад ко мне обратился руководитель тех отдела интернет магазина. Как у всех больших инет магазинов, у них есть свой Колл-центр, построенный на базе Elastix. Перед ним стояла задача сделать на Elastixе возможность оценки оператора.
Задача:
Требуется дописать дополнительный модуль для Астериска (elastix):
Для работы горячей линии необходимо голосовое меню со сбором статистики.
Вопрос: «Помогли ли вам специалисты Горячей линии?»
Варианты ответа: Нет — кнопка «0» и Да — кнопка «1»
Решение
Все шло к тому, чтобы после разговора с оператором клиент попадал в IVR где смог бы проголосовать, но меня потянуло дальше и я решил эту задачу так:
1) Приготовление mysql ДБ:
По умолчанию asterisk ведет запись CDR в базу asteriskcdrdb, для нашей дополнительной статистике добавим туда новую таблицу.
DROP
TABLE
IF
EXISTS
`opinion`
CREATE
TABLE
IF
NOT
EXISTS
`opinion`
`id`
int
11
NOT
NULL
auto_increment,
`callerid`
varchar
15
NOT
NULL
default
''
`exten`
varchar
15
NOT
NULL
default
''
`queues`
varchar
NOT
NULL
`opinion`
char
NOT
NULL
PRIMARY
KEY
`id`
) ENGINE=InnoDB
DEFAULT
CHARSET=latin1 AUTO_INCREMENT=
2) Готовим Макро
В /etc/asterisk/extensions_custom.conf добавим:
[macro-press-1]
exten => s,1,MYSQL(Connect connid localhost ВАШ_ЮЗЕР ВАШ_ПАСС asteriskcdrdb)
exten => s,n,MYSQL(Query resultid
${connid}
INSERT INTO opinion (`id`, `callerid`, `exten`, `queues`, `opinion`) VALUES (NULL,
${FROMEXTEN}
${CDR(dst)}
${CDR(src)}
, 1))
exten => s,n,MYSQL(Clear
${resultid}
exten => s,n,MYSQL(Disconnect
${connid}
[macro-press-0]
exten => s,1,MYSQL(Connect connid localhost ВАШ_ЮЗЕР ВАШ_ПАСС asteriskcdrdb)
exten => s,n,MYSQL(Query resultid
${connid}
INSERT INTO opinion (`id`, `callerid`, `exten`, `queues`, `opinion`) VALUES (NULL,
${FROMEXTEN}
${CDR(dst)}
${CDR(src)}
, 0))
exten => s,n,MYSQL(Clear
${resultid}Оценка работы операторов на Asterisk / Хабрахабр
Материал перенесён из старой базы знаний ATC-IP и оформлен в едином стиле нового сайта.