Требования
1. Понадобится Linux-сервер. Можно и на базе ПК. При меньшей надёжности «бытовые» компьютеры имеют одно огромное преимущество — в случае чего они могут быть оперативно перезагружены, перерыв в связи составит менее минуты, что категорически невозможно при использовании, например, серверов IBM с контроллером ServeRaid.
2. Понадобится Asterisk (он же «*», как его иногда ласково называют), который вы установите на этом сервере и каким-то образом свяжете с офисной АТС. Лучше бы по IP, чтобы ничего дополнительно не приобретать. SIP или H.323. С H.323, может быть, придётся поэкспериментировать: существует целых три опциональных модуля H.323 на ваш выбор, но все они на данный момент откровенно устарели, а поддержка OPAL для Asterisk-а, к сожалению, до сих пор не реализована. По умолчанию H.323 в Asterisk-е отключен, имейте в виду.
3. Оператор кол-центра должен быть жизнерадостным и здоровым. Не заставляйте его прижимать весь день трубку к уху. Приобретите удобную гарнитуру — наушники с микрофоном. Подключим её к компьютеру оператора. На компьютер установим X-Lite или любой другой бесплатный программный SIP-телефон, который вам больше понравится. (Для * нет разницы, звонить на программный SIP-телефон или на стандартный офисный, но тут всё дело именно в удобстве.)
4. Операторов может быть много. Мы будем подразумевать, что у каждого оператора в его часы работы есть выделенный компьютер (это может быть и его домашний компьютер, если ваш Asterisk подключить к Интернет). Оператор сидит, надев гарнитуру, и принимает звонки, кликая мышкой по кнопке с нарисованной трубкой.
Технология
На каждом компьютере установлен X-Lite или аналог, все они зарегистрированы в Asterisk-е, каждый под своим внутренним телефонным номером. Вы можете через офисную АТС вызвать любого оператора, набрав его внутренний номер. Операторы также могут перезваниваться между собой, если им это специально не запретить. Но точка входа в ваш контакт-центр должна быть единая!
Реализуется это элементарно. В файле конфигурации /etc/asterisk/extentions.conf добавляем вот такой текст:
; пусть точкой входа будет для примера внутренний номер 1111, а внутренние номера операторов — 1001, 1002, 1003 и т.д.
;
; 1) запустим монитор, который запишет весь разговор в файл /home/monitor/ГГММДД-ЧЧммСС-1111(номер_звонящего)
exten => 1111,1,Monitor(wav,/home/monitor/${STRFTIME(${EPOCH},,%y%m%d-%H%M%S)}-${EXTEN}(${CALLERID(num)}),bm)
;
; 2) направим звонки сразу всем операторам, пусть их, к примеру, трое, а если никто не ответит в течение 10 секунд, прекратим вызов и перейдём к шагу 3:
exten => 1111,2,Dial(SIP/1001&SIP/1002&SIP/1003,10,Tt)
;
; 3) если никто из операторов не ответил в течение 10 секунд, вызываем голосовую почту:
exten => 1111,3,VoiceMail(1111,su)
;
; 4) по традиции на всякий случай:
exten => 1111,4,Hangup
Осталось средствами офисной АТС перенаправить звонки в кол-центр на номер 1111, записать приветствие для голосовой почты и решить, что делать с аудиозаписями: удалять их через N дней автоматизированным способом или как-то ещё обрабатывать.
Резюме
Затраты:
1) простейший сервер — 1 шт (но он не обязательно должен быть выделенным, возможно даже, что он у вас уже есть);
2) гарнитура handsfree — 1 шт/оператор (но можно предложить ему приобрести её и самостоятельно, ведь, как говорится, «на вкус и цвет...»);
3) как ни печально об этом писать, но личный опыт показывает, что на обучение ваших операторов кол-центра вы потратите куда больше времени и сил, чем на «допиливание» астериска.
Результат:
Звонок раздаётся одновременно у всех, свободные операторы конкурируют между собой, а если все они заняты (или отключены), клиент сразу услышит сообщение голосовой почты и оставит своё сообщение.
Осталось ли что-то ещё не рассмотрено или не реализовано?
Разумеется! Мы не организовали очередь на обслуживание для клиентов, не определились с оплатой труда операторов на основе анализа биллинга Master.csv, не реализовали интерфейс регистрации обращений по образу и подобию багтрекеров да и много чего ещё, наверное, не сделали, если начать разбираться. Но главное — наш кол-центр уже работает, а дальнейшую потребность в развитии можно определить в ходе его эксплуатации.