Підключення IP-телефонів Akuvox до АТС Avaya без ліцензії на SIP



Довелося мені побувати в офісі деякої компанії, де використовувалися тільки аналогові телефони. І у цих людей було стійке бажання перейти хоча б частково на IP-телефонію з можливістю «протягнути» телефони з зовнішньої мережі. Як АТС у них використовувалася апаратна Avaya. Все було заведено на неї: роботи, диалпланы, режими роботи. Повністю готовий офіс. Але аналоговий.

«До Avaya можна підключити і IP телефони», – скажете ви. І будете праві. Але оскільки це повністю закритий продукт – потрібна ліцензія і коштує ця ліцензія дуже відчутних грошей – більше вартості самих IP-телефонів. Причому ліцензії потрібні на все. Було поставлено завдання: створити гібридну зв'язок з розумною кількістю IP телефонів у межах мережі з мінімальними витратами.

Почнемо
В наявності є:

• Avaya на ~50 номерів з налаштованими кількома транками
• Готова мережу з NAT'ом і firwall'ом.
• Synology DS209+II (3,5 2TB HDD x2 в RAID1)
• Dell latitude (Intel T5600 @1.8 ГГц, 2ГБ ОПЕРАТИВНОЇ пам'яті, 750 ГБ HDD, зламаний тачпад і трэкболл)
• Людино-години
• IP телефони Akuvox



Серверна разом з Avaya

Після деяких роздумів, була обговорена така схема:

Піднімається Asterisk на latitude і забирається в шафу, бекап якого йде на Synology. Avaya транком підключається до Asterisk і відбувається налаштування з Avaya FXS шлюзу. А так само повне переконфігурування схеми. Avaya стає дурною залізком яка тільки обслуговує аналогові телефони.

Далі будь-IP телефон налаштовується безпосередньо для роботи тільки з Asterisk, що не є проблема і навіть полегшення.


Схема нашого рішення

Приступаємо
Перше, з чого варто почати – для реалізації даної задачі у Avaya повинна бути ліцензія хоча б на один транк. Нехай навіть і використана. Нам потрібна одна, щоб підчепити Asterisk. Далі зв'язком і транками (будь-яким їх кількістю) буде керувати він.

Беремо наш прекрасний дэлл і встановлюємо на нього Debian stable (благо не встигла померти клава, але навіть це не було б проблемою встановити систему на попередньо ПЗУ) через debootstrap (тому що можемо і хочеться), далі збираємо Asterisk з вихідних і встановлюємо на нього FreePBX морду. (Ну-ну, все ж не тільки з консолі управляти залізом)

Розписувати повний процес установки я не буду, просто дам посилання на мануал використовувався мною для підняття цього добра:

Після мінімальної налаштування Asterisk створюємо экстеншены на кожен аналоговий канал. Так. Не почулося. На кожен, на який в майбутньому захочемо дзвонити. В моїй конфігурації экстеншены аналогових телефонів мають чотиризначні номери. Для простоти використання рекомендую створювати такі номери, як у Avaya і в Asterisk. Автор використав для кращого опису в Asterisk чотиризначні номери, які відповідали аналоговим, вони тризначні.

Приблизна схема виглядає так:

На кожну аналогову лінію піднімається відповідний экстеншен. (Так-так, секурность на висоті). Так само створюємо користувача (для зручності у кожного экстеншона є користувач з таким же ім'ям, що не є обов'язково).



Далі йдемо в саму Avaya. Робимо з цього мануалу. Перевіряємо наявність ліцензій для транков.



Відмінно, вона ще й вічна!

Переходимо в розділ «Лінії» і створюємо нову лінію SIP.

У вкладці «Лінія SIP» Встановлюємо значення поля «Метод маршрутизації викликів» на значення «URI запиту». За бажанням можемо заповнити поле «Доменне ім'я ITSP», куди можна вписати домен нашого asterisk, якщо такий є. У мене її немає, тому залишаю порожнім.

Вкладка «Транспорт»

Поле «Адреса проксі-сервера ITSP» – вказуємо адресу нашого сервера Asterisk.
Так само вказуємо порти (стандартний 5060) і протоколи (TCP\UDP, якщо не впевнені — залиште UDP). Тут же можете вказати потрібні для даного транка DNS сервера.

Вкладка «Облікові дані SIP»

Додаємо обліковий запис за даними від экстеншена Asterisk



Вкладка «SIP URI»

Не чіпаємо поля, де встановлено значення «Використовувати ім'я користувача з облікових даних».
Вказати номери вхідної групи відповідає номеру экстеншена.

Вихідної групи – придумуємо самі і робимо єдиної для всіх облікових записів тут.



Вкладка «VoIP»
Тут налаштовуємо кодеки і вказуємо стандарт DTMF. Рекомендую виставити в такий же градації як встановлено в Asterisk. Або просто синхронізувати список.



Створимо диалплан для дзвінків.

Переходимо в «ASR». Створюємо новий глобальний діал-план. Поле «Код» — вказуємо N; (звертаю вашу увагу, що ";" в кінці обов'язкова, якщо не хочете телефонувати в порожнечу. Автор на цьому погорів і докопався до суті тільки в udp дампи). Поле «Функція» — Набір. Поле «Номер телефону» — Вказуємо сам маршрут. У мене це N"@host". Також вказуємо ідентифікатор вихідної лінії який придумали раніше.



Тепер створимо шорткат для дзвінків саме на цю лінію.

Переходимо в «Короткий код» і створюємо новий. У полі «Код» – вказуємо бажаний шорткат. У мене це 0. Поле функція – «Набір». Поле «Номер телефону» – N (без ";"). Поле «Ідентифікатор групи вихідної лінії» – власне, група, створена в ASR.

Дані параметри застосовуються тільки для зручності використання в Asterisk. Для клієнтів виключно SIP'ових на Asterisk будуть створені такі ж тризначні номери. Для аналогів це буде маршрут N і всі дзвінки будуть йти в Asterisk незалежно від того, хто викликається. На Asterisk заводимо роуты і всю логіку.



Мінімальний конфіг для дзвінків на телефони IP створений.

Але ми адже хочемо і приймати виклики з цієї лінії. Тому відкриваємо «Маршрут вхідних викликів» і створюємо новий. Що нам тут важливо — це два поля, «Ємність несе» та «Ідентифікатор групи лінії» вкладці «Стандартний».

І вкладка «Пункти призначення» – вказати номер, відповідний аналогової лінії. На даному контакті це номер 123. Але в маршрутах вказаний як 1125. Тому що в нетрях авайи вже стоїть редирект з 125 на 123. Не хочеться чіпати устоявщиеся маршрути роботи співробітників. Тому робимо все максимально прозоро для них.



Ось ми і схрестили Avaya з Asterisk. Але поки що вона у нас не повний FXS шлюз. Тому що ми з Asterisk не можемо дзвонити на інші транки Avaya. І ось тут зіткнулися з головною проблемою. Asterisk не може через IVR перевести виклик на потрібний нам транк. На цьому етапі було прийнято рішення зробити з Avaya «дурний» шлюз FXS, що займається тільки аналоговими лініями. А всю магію віддати на долю Asterisk. Він ще більш гнучкий. Це вимагає повної настройки прозорою для користувачів міграції їх АТС на Asterisk. Для мене особисто це ще пара днів роботи… Ех.

Так само була необхідність підключення деяких телефонів із зовнішньої мережі. Відкривати спільний доступ не хочеться, тому на тому ж Dell піднімаю OpenVPN. Багато ресурсів це не займе. Подумаєш VoIP трафік по UDP.

Налаштування бекапа нашого прекрасного сервера

Для бекапа використовувався вбудований пакет FreePBX для бекапа. Бекап лягає по ssh на Synology. Все за розкладом в 00.00 щотижня, враховуючи, що конфігурація сервера не змінюється часто після налаштування. В перші дні я робив бекапи майже щогодини. З радістю би підняв все Docker'е на Synology, якби була на руках модель з x86. Або зовсім в нативному пакеті DSM. Але маємо те, що маємо.

Телефони
Вибирати мені не довелося, працював з тими, які дали. Це моделі R50, R-53P, R-59P, EM53, EM63 від Akuvox. Телефони на тверду впевнену четвірку з плюсом, за що можна сміливо сказати спасибі. У всіх моделей Akuvox стандартно є два Ethernet-порту (Internet\PC), і робота в режимі моста або роутера. Моделі з індексом «P» мають PoE. Кому мало – повні специфікації російською мовою можна переглянути тут.

Всіх моделей у мене було по одній штуці з закупленого на склад набору, що цілком достатньо для простих тестів з базовою конфігурацією мого збоченого FXS шлюзу.
R50 базова модель на 1 SIP аккаунт, R53 має 3 SIP аккаунта, R59 має 6 SIP акаунтів.
Інша функціональна частина у них однакова. Хіба що модулі розширення, в моєму випадку можуть підключатися тільки до R-59P, тому що тільки у нього є необхідний порт RJ12. Різниця між EM53 і EM63 тільки тип екрану: у 53-його він монохромний, а у 63-го кольоровий. Послідовність підключення модулів не важлива.

Фото пристроїв

R59P з підключеним модулем розширення на якому запущений тест LED індикаторів



Коробка R59



Коробка від модуля EM53 і сам EM53



R53 з російським меню


Коробка R53



R50 в коробці



Коробка R50
Стандартний набір можливостей: індикатори BLF\BLFList, SRTP, локальна конференція, VPN (тільки OpenVPN через імпортування ovpn файлу, – чим ми і скористаємося), декілька віддалених книг (у тому числі Broadsoft), віддалене управління, стягання конфига і оновлення з сервера, інтеграція в LDAP.

Потішила можливість зміни дії клавіш. Наприклад, можна змінити дію клавіші «Ок» і «назад». Або стрілок.

Російська мова є, але не в прошивці «з коробки». Переклад добротний, не китайський.
Налаштування всього цього добра нижче.

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

ІМХО: R59P кращий з наявних. Екран ч/б але не монохромний як у R50/53.



Екрани для порівняння

Апарат має призначені за дэфолту клавіші перемикання облікових записів з кольоровими індикаторами на кожній (можна змінити) і порт для модулів розширення.

Про модулі – просто екран з дод. кнопками. Скільки в ланцюжку їх може бути не вдалося з'ясувати, бо все маю тільки 2. З двома точно працює. Якщо кнопок стане мало — є тристорінковий інтерфейс на кожному з модулів. Ланцюжок підключення (кольоровий або ч/б модуль так само не важлива).

Налаштування телефонів
Полазив по офіційному сайту була знайдена документація. У розділі support був знайдений документ AutoP.

Відмінно. Зайдемо на самі телефони. У мене було достатньо часу з ними погратися, так як мені прислали їх на руки в основний офіс. Самі роботи по налаштуванню цього симбіозу були пізніше.
Поруч у документації лежать рекомендації налаштувань для OpenVPN.

Ось в цьому і криється головний мінус даних телефонів. У них немає вибору типу VPN. Тільки OpenVPN без варіантів. Ну хоч би pptp або l2tp б дали. Скудновато в цьому плані.

Як я вже говорив, у телефонів є російська мова. Для LCD екрана це відмінно. Але от для web-інтерфейсу – суб'єктивно не звично. В цілому, російський інтерфейс зрозумілий, все що потрібно людині для використання і не тільки, є.



Міняємо на англ і йдемо в Upgrade>Advanced



Ну все зрозуміло. За PnP або DHCP телефон отримує адресу AutoP сервера і лізе туди за конфіг і оновленнями.

В документації не описана кожна можлива опція, тільки маленький шматочок. Налаштовуємо телефон через web, виставляємо потрібні настройки, і тиснемо кнопку Export Autop Template. В результаті, у нас буде текстовий документ з усіма доступними для користувачів/адміністраторів опціями.

Трохи нижче, у цьому меню є опція Export у підрозділі Others. Я спочатку його скачував і не міг зрозуміти, чому скачується config.tgz. Який не архів, а текстовий файл, але зашифрований. Благо все вирішилося.

Конфігураційний файл має синтаксис:

Config.Account\Network.<підрозділ>.<пункт> = <значення>
Наприклад:

Config.Account1.OUTPROXY.BakServer =
В залежності від параметра настройки, значення може бути цілим або текстовим. Все просто і зрозуміло.

Для автоматичного налаштування персоналізованих телефонів необхідно дати їм імена відповідні їх MAC-адресою з розширенням cfg.

Для сервера кулі було вирішено вибрати tftp як найпростіший і мінімально необхідний.
Для телефонів через VPN це проблема. Але ми попередньо в них завантажимо всі необхідні настройки і передамо людині. Для tftp використовував tftpd-hpa на все тому ж dell. Бекап директорії по ssh на Synology організований так само.

Питання безпеки не постає гостро, так як локальна мережа, вже за NAT'ом з проброшенным VPN по файлу конфігурації. А локально воно нікому не потрібно, але всім доступно. Так само туди поклав phonebook.xls створений за таким же принципом, як і конфіг. Так само нічого складного. Якщо буде мало однієї книжки – телефон тягне до 5 таких. Ще й локальну мати може. За очі місця під номеру.

Налаштування одного телефону полегшила налаштування всіх інших. Автору ідеї AutoP вічна слава.

Замість висновку
Пророблена велика робота. Створена основа для переїзду на Asterisk, всі аналогові лінії вже мають свій особистий экстеншен і вільно спілкуються з IP-телефонами. Тимчасово, поки не переніс транки з Avaya в Asterisk був використаний ще один аккаунт для транка від SIP провайдера. Він вже тільки для Asterisk. На ньому обкатується перенесення і загальне тестування теж на ньому. Маршрути – це окрема історія, і як тимчасове рішення в конфіги Avaya поки що ад'. Але це тимчасово. Перенесення йде повним ходом.

Вході введення в експлуатацію всього рішення, за підсумком дуже порадували телефони Akuvox. В моєму внутрішньому сприйнятті вони пройшли повний шлях від «ой що це» до розуміння, що замовник на цей раз дійсно не промахнувся. Akuvox виявився об'єктивно стабільний, нормальний і за свої гроші – це цілком робочий варіант.

Якщо буде ажіотаж, напишу повний мануал по перенесенню і налаштування усього цього добра в Asterisk.
З фіч які можуть сподобається – можна винести весь IVR в google.voice. Привітання, мови і т. д. будуть генеруватися в риалтайме, тобто, без записаних звукових файлів.
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.