Разработка сайта для Вашего бизнеса. Веб дизайн. Дизайн логотипа, фирменного стиля, рекламная фотография . Комплексный рекламный креатив.

Ralex. We do the work.
На рынке с 1999го года. Средняя ценовая категория. Ориентация на эффективность решений.
Ознакомтесь с нашим портфолио
Узнайте больше о услугах
Свяжитесь с нами:
E-mail: [email protected]
Tel: (044) 587 - 84 - 78
Custom web design & дизайн и разработка сайта "под ключ"
Креативный, эффективный дизайн. Система управления сайтом (СУС).
Custom flexible разработка систем электронной коммерции
Система e-commerce разрабатывается под индивидуальные потребности. Гибкая функциональность.
Search Engine Optimzation & оптимизация под поисковые системы (SEO)
Постоянная оптимизация и мониторинг сайта в поисковых системах. Достигаем результата быстро и эффективно
Custom logo design & дизайн логотипа и фирменного стиля
Многолетний опыт. Огромное портфолио. Уникальное предложение и цена.
профессиональная рекламная фотография
креативно, смело, качественно
Custom logo design & рекламный креатив. дизайн рекламы
Многолетний опыт. Огромное портфолио. Уникальное предложение и цена.

Як менеджер міні-АТС з GSM і записами розмов робив

  1. проблема
  2. завдання
  3. Підбір рішення
  4. Вибір і покупка обладнання і софта
  5. Отримання і складання устаткування
  6. OpenVox VoxStack VS-GW1202-4G
  7. База і трубки Yealink W52P
  8. Неттоп DNS Porto 0166749
  9. Встановлення та налаштування
  10. Прикручуємо різного роду «свистілки»
  11. голосове привітання
  12. запис розмови
  13. Багатоканальність і переадресація
  14. Трансфер, АОН, список контактів
  15. завершення робіт
  16. висновки

Наша взаимовыгодная связь https://banwar.org/

Сьогодні, в еру високих технологій та бездоганного клієнтського сервісу, всім хочеться бути на рівні. Багато компаній в незалежності від рангу і розміру постійно намагаються зробити спілкування з клієнтом зручніше і приємніше. У нашому интерне-агентстві, керівником, якого я і є, однією з таких «приємностей» стало введення в експлуатацію невеликий міні-АТС на базі Openvox і Asterisk, зібраної своїми руками. Але давайте по-порядку:

проблема


Телефон - є одним з основних каналів зв'язку з клієнтами в нашій роботі. За день надходить безліч дзвінків, які потрібно обробити. Від використання аналогової лінії ми відмовилися відразу, з огляду на жадібності і ненадійність місцевих провайдерів. Та й застаріли нині аналогові технології. Рішення використовувати GSM-зв'язок було одноголосним і непохитним. У перші кілька років роботи за прийом дзвінків відповідав вот такой вот не вбиваємо апарат:

Спочатку дзвінки приймав я і мій партнер по-черзі, перебуваючи в різних кутах одного офісу. Коли клієнт дзвонив і прослухавши кілька сигналів бездушного зумера просив з ким-небудь з'єднати, то з великою ймовірністю він міг почути свист вітру, який створював цей фінський девайс, пролітаючи з одного кута офісу в інший. «Багатоканальність» була реалізована за рахунок наявності в даному телефоні двох слотів для сім-карт. Про записи розмов не йшлося, голосове привітання і меню були відсутні, метод трансферу дзвінків від одного фахівця до іншого був описаний вище. Суцільні мінуси, в загальному, і найголовніше, що той, що дзвонив до нас людина з перших хвилин міг подумати, що дзвонить чергову шарашкину контору з півтора фрілансерів. Що було досить прикро, адже свою роботу ми робили добре, з гарантіями і душею.
Вдосталь намучившись, одного прекрасного дня я сказав гучне «Досить!» І не менш гучне «Треба щось зробити!»

завдання


Необхідно зробити таку «штуку», яка вирішить всі наші проблеми яка замінить стару нокию. Ця «штука» повинна вміти наступне:

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

Підбір рішення


Для вирішення завдання було виділено бюджет ні багато ні мало 40 000 рублів Російської Федерації. Насамперед я вибрав самий тривіальний спосіб, а саме: обдзвонив всі компанії в місті, які могли встановити і налаштувати міні-АТС. Компаній виявилося «безліч», а саме одна (ох уже ці регіони), яка сказала, що якщо я помножу наш бюджет на 4, то вийде сума, якої буде достатньо, що б вони всі наші «хотілки» зробили. На 4 множити мені не хотілося, тому переходимо до плану «Б» - хмарна АТС. Благо, зараз безліч подібних сервісів з будь-яким функціоналом і на будь-який гаманець. Але бентежить одне - повна залежність зв'язку від сервісу: немає інтернету - немає зв'язку, на сервісі тех. роботи - немає зв'язку, невчасно заплатили абон. плату - немає зв'язку. Та й сервіс може в будь-який момент збільшити вартість своїх послуг або не повернути дані (записи розмов, наприклад). Такий варіант, так само мене не влаштував. Залишався третій варіант - «Костильна-велосипедний». Що ж, геморою більше, за те цікаво. На ньому і зупинився.

Вибір і покупка обладнання і софта


Оскільки бюджет невеликий, та й любитель я всяких Лінукс та опенсорс. Тому з софтом визначився відразу - 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, 2x1800 МГц, 4096 Мб, HDD 500 Гб] - 11 500 рублів;
  • Побутовий роутер Zyxel Keenetic 4G II - 1 500 рублів.

Разом: 37921 рубль

Що ж, дуже навіть добре, ще й на морозиво залишилося.
Прим. авт .: Справа була восени 2014 року, тому ціни дещо нижчі, ніж зараз.

Отримання і складання устаткування


Пройшли два тижні болісного очікування і замилений кур'єр вручив мені довгоочікувану посилку. вміст:

OpenVox VoxStack VS-GW1202-4G

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

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

Компактна бездротова база і три трубки. Кожна трубка обладнана зарядної станцією, має кольоровий дисплей і кріплення на пояс. Виглядає все досить акуратно. База розрахована максимум на 5 телефонів. У разі подальшого розширення просто докуповується ще одна база. Сигнал потужний, хороший прийом через цегляну стіну. На якість зв'язку так само скаржитися не доводиться.

Неттоп DNS Porto 0166749

Компактний комп'ютер виступає в якості сервера. Розміром девайс можна порівняти з вищезазначеним OpenVox. Характеристики достатні для безперебійної роботи телефонії та зберігання записів розмов на кілька місяців. І звуть його, до речі, Артем.
Компактний комп'ютер виступає в якості сервера
Збираємо все воєдино відповідно затвердженої схеми і встановлюємо ОС 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
Спочатку встановимо сам Asterisk і GUI до нього
Йдемо в 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» в будь-якому текстовому редакторі.

голосове привітання

Спочатку замислювалося, що клієнт, зателефонувавши до нас чує голосове привітання, в якому повідомляється куди він потрапив. Саму запис привітання можна здійснити, як самостійно, так і звернувшись в спеціалізовану компанію, де професійний диктор запише його своїм голосом, накладе музику та інші звукові ефекти. Забиваємо в гугл «запис голосового вітання» і вибираємо, то що сподобалося. В середньому одна запис коштує від 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» (програвати музику очікування). Про інших параметрах «Dial» можна дізнатися тут .

запис розмови

Після того, як запрацювало голосове привітання і редагування «extensions.conf» не викликає ускладнень, прикрутимо запис розмов. Нехай всі записи складаються в директорії розбиті по роках, місяцях і днях, а в назві файлу записи присутній дата, час і номер того, хто телефонував. Звучить складно? А робиться просто:
... exten = s, n, Set (fname = $ {STRFTIME ($ {EPOCH} ,,% Y -% m -% d_% H -% M -% S)} _ $ {CALLERID (number)} _ in) exten = s, n, MixMonitor (шлях до директорії з записами / $ {STRFTIME ($ {EPOCH} ,,% Y)} / $ {STRFTIME ($ {EPOCH} ,,% m)} ....

Багатоканальність і переадресація

У ovenvox я вставив три сім-карти, до двох з них прив'язані номера, на які можна зробити дзвінок, третя картка - резервна. На рівні оператора налаштував переадресацію з першої на другу, з другої на третю з третьої назад на першу. Таким чином вийшло три повноцінних лінії для дзвінка. Хочу зробити акцент на тому, що потік дзвінків в моїй компанії великий, але не настільки, щоб зателефонувало одночасно три людини, тому така схема для мене прийнятна. Якщо потік стане більше, можна збільшити кількість сім-карт до 8 і налаштувати чергу дзвінків.
Тепер вибудуємо логіку таким чином: дзвонить перший клієнт, менеджер бере телефон №1, тут же відбувається другий вхідний дзвінок, повинен задзвонити телефон №2, яким скористається другий менеджер. Третій клієнт буде з'єднаний з третім менеджером. Що б це реалізувати можна використовувати умова «GotoIf»:
... exten = s, n, Dial (SIP / 500, 30, tm) exten = s, n, GotoIf ($ [$ {DIALSTATUS} = BUSY]? ZANAT, 1) exten = ZANAT, 1, Dial (SIP / 501, 30, tm) exten = ZANAT, 2, GotoIf ($ [$ {DIALSTATUS} = BUSY]? ZANAT1, 1) exten = ZANAT1, 1, Dial (SIP / 502, 30, tm) exten = ZANAT1, 2 , GotoIf ($ [$ {DIALSTATUS} = BUSY]? ZANAT2, 1) exten = ZANAT2, 1, Dial (SIP / 500, 30, tm) ...
Але що буде, якщо трубку ніхто не візьме? Припустимо, всі пішли на обід або дзвінок надійшов у вихідний день. Вихід банальний: вибираємо найвідповідальнішого менеджера і записуємо номер його мобільного телефону. Правимо «extensions.conf» таким чином:
... exten = s, n, Dial (SIP / 500, 30, tm) exten = s, n, GotoIf ($ [$ {DIALSTATUS} = BUSY]? ZANAT, 1) exten = s, n, Dial (SIP / 8914XXXXXXX @ openvox, 20, tm) ...
Тепер, якщо трубку ніхто не взяв на протязі 20 секунд, дзвінок буде поставлено на вказаний мобільний телефон. З боку клієнта це буде виглядати, як незначно збільшений час очікування відповіді. Можна піти далі і зробити переадресацію в неробочий час без очікування, але цей випадок я розглядати не буду.

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

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

завершення робіт


Все зібравши, налаштувавши і перевіривши, я вдосталь насолодився виконаною роботою. Залишилося всі ці коробки і дроти, акуратно прибрати куди-небудь з очей геть, наприклад в великий залізний ящик:
Все зібравши, налаштувавши і перевіривши, я вдосталь насолодився виконаною роботою
Пізніше з'ясувалося, що засовувати базу бездротових трубок в бляшану коробку - не найкраща ідея, тому через пару днів винесли її назовні і приліпили збоку.

висновки


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

Чому не freePBX?
Звучить складно?
DIALSTATUS} = BUSY]?
DIALSTATUS} = BUSY]?
DIALSTATUS} = BUSY]?
Але що буде, якщо трубку ніхто не візьме?
DIALSTATUS} = BUSY]?
Категории
  • Биология
  • Математика
  • Краеведению
  • Лечебная
  • Наука
  • Физике
  • Природоведение
  • Информатика
  • Новости

  • Новости
    https://banwar.org/
    Наша взаимовыгодная связь https://banwar.org/. Запустив новый сайт, "Пари Матч" обещает своим клиентам незабываемый опыт и возможность выиграть крупные суммы.


    Наши клиенты
    Клиенты

    Быстрая связь

    Тел.: (044) 587-84-78
    E-mail: [email protected]

    Имя:
    E-mail:
    Телефон:
    Вопрос\Комментарий: