Gsm станция своими руками

В настоящее время, когда технологии стремительно развиваются и обслуживание клиентов на высоте, все стремятся быть на уровне. Большая часть организаций разных рангов и размеров постоянно стараются сделать общение с клиентом удобнее и приятнее. В нашем интерне-агентстве, руководителем, которого я и являюсь, одним из положительных моментов стало введение в эксплуатацию небольшой мини-АТС на базе Openvox и Asterisk, собранной своими руками.

Но обо всем по-порядку:

Для начала определим проблему

Телефон — пожалуй, главный канал связи с клиентами в любой организации. Число звонков в день растет с каждым разом, и каждый звонок нужно принять и обработать. От того, чтобы использовать аналоговую линию наша компания отказалась сразу же, так как местные провайдеры стали какими-то алчными и ненадежными. Да и появилось более лучшее решение.Решение использовать GSM-связь поддержала вся наша команда. Первое время в компании за прием звонков отвечал вот такой вот не убиваемый аппарат:

Изначально, картина выглядела так: в разных углах одного офиса принимали звонки я и мой партнер. Звонит клиент, и, прослушав пару сигналов зуммера желал, чтобы его соединили с конкретным специалистом. На другом конце провода клиент, скорее всего, мог слышать свист ветра, так как аппарат  пролетал из одного угла офиса в другой. За счет того, что телефон поддерживал две сим-карты, удалось реализовать многоканальность. О том, чтобы вести запись разговоров, на тот момент мы еще не думали. Не было ни голосового приветствия, ни меню. Метод трансфера поступивших звонков от одного сотрудника к другому был описан выше. Как говорится, одни минусы. Но самое обидное было в том, что у человека, набравшего наш номер, могло сложиться впечатление, что он позвонил в очередную шарашкину контору, состоявшей из парочки фрилансеров. Что было несправедливо, ведь мы свою работу выполняли качественно, с гарантиями и душой.

Перетерпев достаточно неудобств, в один прекрасный день я, наконец, решил это изменить.

А теперь время поставить задачу

Нужно такое решение, которое поможет нам в решении всех наших проблем и придет на смену устаревшей нокии. Эта «штука» должна решать вот такие задачи:

  • Как минимум 3 GSM линии;
  • Головосое приветствие;
  • Музыка вместо гудков;
  • Удержание вызова;
  • Трансфер вызова;
  • Не менее трех независимых трубок, с возможностью расширения;
  • Гибкую настройку переадресации вызова;
  • Запись разговоров;
  • АОН;
  • Список контактов;
  • Минимум проводов;
  • Компактные размеры оборудования.

Поиск решения

На выполнении задачи компания выделила 40 000 рублей. Начал я с самого обычного и простого пути, а конкретно: обзвонил все организации в Хабаровске, занимающиеся установкой и настройкой мини-АТС. Таких организаций оказалось очень немного, а вернее всего одна-единственная. На мой вопрос о стоимости подобной радости, специалист ответил, что если увеличить наш выделенный бюджет в 4 раза, то выйдет сумма, необходимая для того, чтобы мы получили все свои «хотелки». Идея повышать бюджет, а тем более в 4 раза, мне совсем не понравилась, поэтому наступило время приступать к плану «Б» — облачная АТС. Хорошо, что сейчас существует огромное количество таких сервисов с различным функционалом и разной стоимости. Но есть один недостаток, причем очень существенный — абсолютная зависимость связи от сервиса: отсутствует интернет — нет связи, на сервисе ведутся технические работы — нет связи, не вовремя заплатили абонентскую плату — нет связи. Да и сервис может в любой момент изменить стоимость своих услуг в большую сторону или не вернуть данные (записи разговоров, к примеру). И такой подход также нас не устраивает. Ну что, у меня оставался последний вариант — «костыльно-велосипедный». Что ж, заморочек больше, зато процесс интересней. Вот его-то я и выбрал.

Выбор и покупка оборудования и софта

Так как бюджет выделен ограниченный, да и любитель я всяких Linux да Open Sourse, поэтому с ПО определился быстро — Asterisk в качестве сервера телефонии. За ОС взял Ubuntu. С аппаратурой несколько сложнее. Поразмыслив некоторое время и израсходовав кучу бумаги, мною была составлена такая схема:

На изображении видны ее главные элементы:

  • сервер, на котором установлен Asterisk;
  • GSM-шлюз;
  • база беспроводных телефонных трубок;
  • роутер, как связывающие звено;
  • телефонные трубки.

Продуманная схема имеет такую цепочку работы: На шлюз поступает звонок, этот звонок принимает и отдает на сервер посредством витой пары и роутера. Сервер «берет трубку», звучит приветствие, звонок переходит в режим ожидания и связывается с базой трубок. База выбирает нужную трубку и звонок поступает уже на нее. Когда сотрудник отвечает на звонок, сервер соединяет клиента и специалиста.

Теперь нужно купить необходимое для реализации задуманного. Зайдя в интернет-магазин, выбираю и кладу в корзину следующие товары:

  • GSM Шлюз OpenVox VoxStack VS-GW1202-4G — 16 932 рублей;
  • База и 1 трубка Yealink W52P — 4 828 рублей;
  • Две дополнительные трубки Yealink W52H — 3 175 рублей.

Большую часть пунктов можно смело вычеркнуть из списка оборудования, а товары из двух остальных пунктов легко найти в любом компьютерном магазине нашего города.

  • Сервер: Неттоп DNS Porto 0166749 [Intel i5-3337U, 2×1800 МГц, 4096 Мб, HDD 500 Гб] — 11 500 рублей;
  • Бытовой роутер Zyxel Keenetic 4G II — 1 500 рублей.

Итого потрачено: 37921 рубль

Что ж, уложились в выделенный бюджет.

Примечание: Цены приведены на осень 2014 года, сейчас они выше, в связи с изменением курса рубля.

Прошло 2 недели…

Купленные в интернет-магазине и такие долгожданные товары наконец доставила мне курьерская служба. Пришло время осуществлять сборку оборудования. Содержимое:

OpenVox VoxStack VS-GW1202-4G

Шлюз выглядит в виде небольшого блока (по габаритам как стандартный DVD-привод) и содержит плату, которая помещается внутрь. Эта модель шлюза поддерживает четыре сим-карты, но их число может быть увеличено до восьми, если купить дополнительно еще одну плату, поместив ее рядом. Шлюз подключается в локальную сеть обычной витой парой и в электрическую при помощи адаптера питания.

База и трубки Yealink W52P

Комплект из компактной беспроводной базы и трех трубок. Каждая трубка имеет свою зарядную станцию, имеет цветной дисплей и крепление на пояс. Внешний вид вполне приятен. База предполагает подключение пяти телефонов. Если появится необходимость увеличения числа трубок, то необходимо докупить дополнительную базу. Сигнал довольно мощный, хорошо принимается через кирпичную стену. Качество связи нас также устроило, никак претензий и замечаний в ходе работы не возникло.

Неттоп DNS Porto 0166749

Компактный компьютер выступает в качестве сервера. По габаритам устройство приблизительно такое же, как и вышеупомянутый шлюз. Характеристики достаточны для бесперебойной работы телефонии и хранения записей разговоров на несколько месяцев. Познакомьтесь, это Артем.

А теперь собираем все элементы вышеприведенной схемы и ставим ОС Ubuntu:

Ну а дальше, пожалуй, самое интересное — настроить сервер.

Этап установки и настройки

Первое, что нужно сделать — это установить сам Asterisk и GUI к нему. Подробную инструкцию установки можно посмотреть здесь:http://wiki.enchtex.info/howto/asterisk/asterisk-ubuntu-10.04. Почему не freePBX? GUI от Digium, на мой взгляд, легче в установке и в эксплуатации. Но, как говорится, здесь дело вкуса.

Теперь необходимо настроить совместимость OpenVox и Asterisk. Сделать это совсем не сложно. Сначала войдем в веб-GUI Asterisk (по-умолчанию:localhost:8088), введем логин и пароль, указанный при установке. Идем по пути: Trunks -> VOIP Trunks -> New SIP/IAX Trunk и указываем следующие настройки:

Type: sip
Context Naming: Based on Username
Provider Name: openvox
Hostname: адрес openvox (по-умолчанию: 172.16.99.1)
Username: придумываем имя пользователя
Password: придумываем пароль

Далее следуем по адресу openvox (по-умолчанию: 172.16.99.1, дефолтный логин и пароль admin:admin) и видим панель управления. Кликаем SIP -> SIP endpoints -> Add New SIp Endpoint:

Name — придумаем имя
User Name — имя пользователя, которое придумали ранее
Password — пароль, который придумали ранее
Registration – This gateway registers with the endpoint

Заходим в ADVANCED -> Asterisk CLI и прописываем sip show registry, при удачном стечении обстоятельств увидим «1 SIP registrations», что означает, что все работает.

Теперь настроим правила для входящих и исходящих звонков в ROUTING -> Call Routing Rules -> New Call Routing Rule.

Исходящие:

Routing Name — имя роута (пусть будет «out-route»)
Call Comes in From — выбираем транк
Send Call Through — выбираем порт openvox’a

Для входящих вызовов все настраивается точно также, одна трудность, которая может возникнуть — параметр «Forward Number» для правил, тут нужно написать Extension на стороне asterisk, на который будет идти звонок.

Продолжим настройку Asterisk GUI, создадим пользователей и правила для звонков, вот небольшая инструкция, как это получить: http://invoip.net/2011/11/vvedenie-v-asterisk-gui/

После настройки Asterisk и Openvox произведем настройку базы трубок, она так же имеет веб-интерфейс, а сама настройка сводится к сопоставлению пользователей Asterisk и телефонных аппаратов. Теперь ничего не препятствует входящим и исходящим звонкам. А дальше еще интересней.

Прикручиваем различного рода «свистелки»

Один из самых интересных файлов Asterisk — это «extensions.conf», в котором производится большая часть настроек. Через GUI добавим голосовое меню и настроем перевод всех входящих вызовов на него, назовем его «voicemenu-custom-1». Далее можно задавать различные параметры того меню, используя либо встроенный редактор GUI, либо открыв файл «extensions.conf» в любом текстовом редакторе.

Голосовое приветствие

Изначально предполагалось, что клиент, набрав наш номер телефона будет слышать голосовое приветствие, в котором сообщается куда он позвонил. Записать приветствие можно как самостоятельно, так и обратившись в специализированную компанию, в которой профессиональный диктор запишет приветствие своим голосом, наложит музыку и прочие звуковые эффекты. Вводим в Google «запись голосового приветствия» и выбираем, то что понравилось. Стоимость одной записи в среднем составляет от 1000 до 5000 рублей. На выходе вы получите запись в формате mp3, но Asterisk не очень охотно работает с записями такого формата. Необходимо преобразовать файл в удобный для Asterisk формат:

Полученный файл, положим в папку «asterisk/sounds» и вернемся к редактированию меню. Первоначально нам нужно взять трубку и проиграть приветствие, после этого соединить с нужным пользователем:

exten=s,1,Answer()

exten=s,2,Background(/var/lib/asterisk/sounds/hello)

exten=s,3,Dial(SIP/500,30,tm)

В «Background» переедаем путь до файла приветствия (только имя файла, без расширения). В «Dial» передаем идентификатор пользователя Asterisk, время в секундах, которое нужно для того, что бы проиграть приветствие и два параметра «t» (разрешает ответившему пользователю перевести звонок) и «m» (проигрывать музыку ожидания).

Запись разговора

После того, как уже работает голосовое приветствие и редактирование «extensions.conf» не вызывает затруднений, займемся настойкой записи разговоров. Пусть все записи складываются в директории разбитые по годам, месяцам и дням, а в названии файла записи присутствует дата, время и номер звонившего. И все это сделать абсолютно не сложно, как может показаться на первый взгляд.

Многоканальность и переадресация

В ovenvox я вставил три сим-карты, к двум из них привязаны номера, на которые можно совершить звонок, третья карточка — резервная. На уровне оператора настроил переадресацию с первой на вторую, со второй на третью с третьей обратно на первую. Таким образом, получилось три полноценных линии для звонка. Хочу сделать акцент на том, что поток звонков в моей компании большой, но не настолько, чтобы позвонило одновременно три человека, поэтому такая схема меня вполне устраивает. А если вдруг количество звонков станет больше, то можно увеличить число сим-карт до 8 и настроить очередь звонков.

Теперь выстроим логику следущим образом: звонит первый клиент, менеджер берет телефон №1, тут же происходит второй входящий звонок, должен зазвонить телефон №2, которым воспользуется второй менеджер. Третий клиент будет соединен с третьим менеджером. Что бы это реализовать можно использовать условие «GotoIf»:

Но что будет, если трубку никто не возьмет? Допустим, все ушли на обед или звонок поступил в выходной день. Выход банален: выбираем самого ответственного менеджера и записываем номер его мобильного телефона. Правим «extensions.conf» таким образом:

Теперь, если трубку никто не взял в течении 20 секунд, вызов будет переведен на указанный мобильный телефон. Для клиента это будет выглядеть, как незначительно увеличенное время ожидания ответа. Можно пойти дальше и сделать переадресацию в нерабочее время без ожидания, но этот случай я рассматривать не буду.

Трансфер, АОН, список контактов

Все эти функции поддерживаются по-умолчанию и работают достаточно хорошо, что бы удовлетворить потребности моей компании, но если есть желание, их всегда можно улучшить. Например, список контактов можно подгружать в xml-файле из CRM-системы.

Завершение работ

Все собрав, настроив и проверив, я вдоволь насладился проделанной работой. Осталось все эти коробки и провода, аккуратно убрать куда-нибудь с глаз долой, например, в большой железный ящик:

Выводы

С момента описанных событий прошло около 4 месяцев. За это время незначительные недоделки были устранены и все работает четко и без сбоев. Без учета времени доставки железок на все работу ушло около 5 дней времени. В итоге клиенты и менеджеры довольны, звонки пишутся, голосовые приветствия проигрываются, музыка в трубках звучит, уровень сервиса растет. Всем спасибо за внимание, надеюсь, что мое повествование было полезным и интересным.

Источник: https://goodwork-studio.com/blog/kak-my-mini-ats-s-gsm-i-zapisyami-razgovorov-delali/

Предыдущая статья: декорирование беседки своими руками

Следущая статья: веганские плита своими руками

Лучшие статьи: