Skip to main content

Інструкція користувача

Встановлення пакета IP-АТС Asterisk OPKG

Ця стаття є посібником з налаштування комунікаційної платформи Asterisk від Digium на Keenetic. Asterisk дозволяє розширити можливості вашого маршрутизатора функціями IP-АТС (IP-PBX). Така АТС може підтримувати десятки внутрішніх номерів, забезпечуючи маршрутизацію викликів через кілька зовнішніх ліній, запис розмов, інтерактивні голосові меню, конференц-дзвінки та інші функції. Її можна використовувати для організації телефонної мережі в невеликому офісі. Підключення Keenetic з встановленими на тому ж пристрої модулями телефонії Keenetic Plus DECT та Keenetic Linear до Asterisk виконується автоматично під час процесу встановлення.

Щоб максимально спростити встановлення та налаштування Asterisk, скористайтеся програмою встановлення, доступною за посиланням наприкінці цієї статті. Вона дозволяє автоматично встановити Asterisk і налаштувати такі функції:

  • Внутрішні номери 1000–1009, 2000–2009 для підключення IP-телефонів, смартфонів, софтфонів, шлюзів VoIP тощо (далі «IP-телефони») до Asterisk за протоколом SIP. Користувачі IP-телефонів зможуть здійснювати та приймати дзвінки через зовнішні лінії, телефонувати один одному за внутрішніми номерами через Asterisk та влаштовувати конференц-дзвінки. Слухавки DECT та телефони з Телефонної станції Keenetic, встановлені на тому ж маршрутизаторі, підключаються до Asterisk автоматично під час налаштування;

  • Зовнішні лінії для підключення до провайдерів IP-телефонії (далі «SIP-транки») можна налаштувати автоматично, скопіювавши конфігурацію лінії Keenetic;

  • Дзвінки через мережу LTE мобільного оператора з телефонів або слухавок DECT, підключених до маршрутизатора за допомогою телефонних адаптерів Keenetic Plus DECT та Keenetic Linear (далі «VoLTE» або «дзвінки VoLTE»). Для підключення до мережі LTE використовується USB-модем 4G. Налаштування VoLTE виконується автоматично, якщо під час процесу встановлення Asterisk виявлено USB-модем з підтримкою VoLTE;

  • Функція переведення виклику. Переведення дзвінка на інший внутрішній номер. Працює на будь-якому IP-телефоні, підключеному до Asterisk;

  • Голосове меню для вхідних дзвінків. Абонент, який телефонує із зовнішньої лінії, чує пропозицію ввести додатковий номер. Абонент вводить додатковий номер, і Asterisk з'єднує його з відповідним користувачем;

  • Конференції для трьох і більше учасників. Кожен користувач, підключений до конференції, може спілкуватися з усіма іншими користувачами конференції;

  • Голосова пошта. Абоненти, які телефонують вам, коли ви недоступні, можуть залишити голосове повідомлення. Для збереження повідомлень потрібен зовнішній USB-накопичувач. Щоб налаштувати голосову пошту, потрібно запустити спеціальний скрипт після встановлення Asterisk; дивіться далі в цій статті;

  • Запис розмов. Усі розмови можуть бути записані. Для зберігання записів розмов потрібен зовнішній USB-накопичувач. Щоб налаштувати запис розмов, потрібно запустити спеціальний скрипт після встановлення Asterisk; дивіться далі в цій статті.

Ця програма встановлення призначена для налаштування Asterisk у внутрішній пам'яті маршрутизатора об'ємом не менше 55 МБ. Усі необхідні програмні компоненти Asterisk завантажуються з репозиторію під час процесу встановлення.

Для встановлення Asterisk вам знадобиться наступне:

1. Keenetic із вбудованою пам'яттю. Сумісні моделі наведено нижче.

Архітектура MIPSel: Hero (KN-1011), Titan (KN-1810), Skipper (KN-1910/1912), Hero 4G (KN-2310/KN-2311), Skipper 4G (KN-2910), Hopper (KN-3810)

Архітектура MIPS: Hero DSL (KN-2410), Skipper DSL (KN-2112), Hopper DSL (KN-3610)

Архітектура AArch64: Peak (KN-2710), Titan (KN-1811/KN-1812), Hero (KN-1012), Hopper (KN-3811), Hopper SE (KN-3812), Hopper 4G+ (KN-2312), Hero 5G (KN-4110)

2. Підключення до Інтернету для завантаження програмних компонентів із репозиторію.

На додаток до вищезазначеного, для дзвінків VoLTE потрібно:

3. 4G-модем Quectel з підтримкою USB Audio, сумісний з драйвером каналу asterisk-chan-quectel. Детальну інформацію про драйвер можна знайти тут.

Підказка

Ця збірка була протестована тільки з модемом Quectel EC25-E.

4. SIM-карта для здійснення телефонних дзвінків у мережі LTE мобільного оператора.

5. Адаптер Mini PCI-E на USB зі слотом «SIM-карти». Цей адаптер потрібен для підключення 4G-модема з інтерфейсом Mini PCI-E до універсального порту USB маршрутизатора.

6. Зовнішні антени для модема. Зовнішні антени необхідно підключати до модема, якщо модем не має вбудованих антен.

7. Телефонний адаптер Keenetic Plus DECT або Keenetic Linear з підключеними слухавками DECT або телефонами відповідно.

На маршрутизаторі має бути встановлена KeeneticOS версія 4.0.4 або новіша з такими компонентами:

1. Сервер SSH;

2. Підтримка відкритих пакетів;

a. Модулі ядра для підтримки файлових систем;

б. Модулі ядра для підтримки USB Audio (для VoLTE);

3. Інтерфейс QMI для USB-модемів 5G/4G/3G (для VoLTE);

4. Keenetic Телефонна станція (для VoLTE та автоматичного налаштування SIP-транку).

Підготовка до встановлення Asterisk

Якщо вам потрібно налаштувати дзвінки VoLTE, виконайте наведені нижче кроки перед встановленням Asterisk:

1. Підключіть USB-модем і телефонний адаптер до маршрутизатора. Виконайте команду show usb та переконайтеся, що обидва пристрої з’явилися в системі, як показано на знімку екрана нижче;

asterisk-01-en.png

Підказка

USB-модем слід підключати до порту USB 3.0, а телефонний адаптер – до порту USB 2.0.

2. Якщо ви використовуєте телефонний адаптер Keenetic Plus DECT, зареєструйте принаймні одну слухавку DECT;

3. Переконайтеся, що Телефонна станція увімкнена і що слухавки DECT або телефони відображаються в системі (дивіться сторінку Телефонна станція у вебінтерфейсі);

asterisk-02-en.png

4. Переконайтеся, що ваш маршрутизатор підключений до Інтернету.

asterisk-03-en.png

Підказка

Для встановлення підійде будь-яке інтернет-з'єднання, включно з мобільним з'єднанням через 4G USB-модем.

Якщо вам потрібно автоматично налаштувати SIP-транки для підключення Asterisk до постачальників IP-телефонії, спершу потрібно створити спеціальні телефонні лінії в Keenetic Телефонній станції для підключення до цих постачальників і переконатися, що SIP-реєстрація пройшла успішно і дзвінки працюють. Назва кожної з цих ліній повинна містити префікс, як показано на знімку екрана нижче.

asterisk-04-en.png

Префікс складається з цифри від 0 до 9 і символу *. Під час встановлення Asterisk конфігурація кожної лінії з такою назвою використовується для налаштування SIP-транку, а префікс використовується при створенні правил маршрутизації дзвінків через цей SIP-транк.

Встановлення Asterisk

1. На сторінці вебінтерфейсу Керування > Додатки, у розділі Накопичувачі та пристрої, виберіть Внутрішня пам'ять і створіть у ній нову папку з назвою install;

asterisk-05-en.png

2. Залежно від архітектури маршрутизатора, завантажте файл інсталятора Asterisk mipsel-ast-installer.tar.gz, aarch64-ast-installer.tar.gz або mips-ast-installer.tar.gz у папку install;

Примітка

Інсталятор Asterisk для MIPSel: mipsel-ast-installer-20240528.tar.gz

asterisk-06-en.png

3. На сторінці вебінтерфейсу Керування > OPKG, у розділі Основні налаштування, виберіть диск Внутрішня пам'ять. Натисніть кнопку Зберегти, щоб застосувати налаштування та розпочати встановлення Asterisk.

asterisk-07-en.png

Встановлення та налаштування Asterisk може зайняти близько чотирьох хвилин. Ви можете стежити за процесом у системному журналі маршрутизатора. Для цього перейдіть на сторінку вебінтерфейсу Керування > Діагностика та натисніть Показати журнал.

asterisk-08-en.png

Повідомлення Asterisk installed! у системному журналі означає, що встановлення Asterisk завершено.

asterisk-09-en.png

Після завершення встановлення наступні налаштування будуть сконфігуровані автоматично:

  • Створено телефонну лінію mobile для підключення вбудованої АТС «Телефонна станція» до Asterisk;

  • Усі слухавки DECT або телефонні порти на Keenetic Телефонній станції будуть прив'язані до лінії mobile для дзвінків VoLTE;

  • Asterisk буде налаштовано на маршрутизацію дзвінків VoLTE через лінію mobile;

  • Будуть створені SIP-транки Asterisk для підключення до постачальників IP-телефонії відповідно до конфігурації виділених телефонних ліній на Keenetic Телефонній станції;

    Підказка

    Інсталятор вимкне телефонні лінії, конфігурація яких була використана для створення SIP-транків.

  • Для кожної Keeneticслухавки DECT або телефону на Телефонній станції буде створена окрема телефонна лінія з правилами набору для дзвінків через SIP-транки Asterisk, внутрішніх дзвінків, голосової пошти, тестових дзвінків та конференцій. Докладніше про голосову пошту, тестові дзвінки та конференції див. далі в цій статті.

На знімках екрана нижче наведено приклад автоматичного налаштування для Телефонної станції та Asterisk.

Keenetic Телефонна станція:

asterisk-10-en.png
asterisk-11-en.png

Asterisk:

Ви можете перевірити поточний стан Asterisk за допомогою команд pjsip show contacts та quectel show device state quectel0. Ці команди виконуються в консолі Asterisk. Інструкції щодо підключення до консолі Asterisk див. далі в цій статті.

asterisk-12-en.png
asterisk-13-en.png
Підключення IP-телефонів

Внутрішні номери 1000–1009 та 2000–2009, налаштовані в Asterisk, призначені для підключення IP-телефонів. При налаштуванні внутрішнього номера на IP-телефоні використовуйте наступні параметри:

  • SIP-реєстратор/проксі/домен: IP-адреса маршрутизатора;

  • Ідентифікатор користувача SIP (SIP User ID): один з номерів 1000–1009 або 2000–2009;

  • Ідентифікатор автентифікації SIP (SIP Authentication ID): user1000–user1009 або user2000–user2009;

  • Пароль: ast18-opkg-mipsel;

  • Аудіокодеки: G.711a, G.711u.

Підказка

Під час автоматичного налаштування внутрішні номери в діапазоні 1000–1006 використовуються для підключення слухавок DECT або телефонів, підключених до Телефонної станції. Не використовуйте ці номери для підключення ІР-телефонів.

Зазначений вище пароль автоматично налаштовується для всіх внутрішніх номерів. Його слід змінити в конфігураційному файлі /opt/etc/asterisk/pjsip.conf.

Дзвінки VoLTE

Щоб зробити вихідний дзвінок VoLTE, наберіть номер одержувача на слухавці DECT або на телефоні, підключеному до телефонного адаптера, а потім натисніть кнопку виклику. При наборі номера дотримуйтесь правил, встановлених вашим оператором мобільного зв’язку.

При отриманні вхідного дзвінка VoLTE на SIM-карту, встановлену в USB-модемі, усі слухавки DECT або телефони дзвонитимуть, а на їхніх дисплеях відображатиметься номер абонента та назва лінії mobile.

Підказка

На слухавках DECT, які не підтримують CAT-iq 2.0, відображається лише номер абонента; назва лінії не відображається.

Дзвінки через SIP-транки

Щоб зробити вихідний дзвінок через автоматично налаштований SIP-транк, наберіть номер абонента з відповідним префіксом. У наведеному вище прикладі, щоб зателефонувати на номер 1234567 через Sky, потрібно набрати 1*1234567. Під час набору номера дотримуйтесь правил набору, що діють для вашого постачальника IP-телефонії.

При вхідному дзвінку через SIP-транк абонент почує пропозицію набрати внутрішній номер. Потім він може набрати один із внутрішніх номерів 1000–1009, 2000–2009 і зателефонувати на інший IP-телефон, пов’язаний із цим номером. У наведеному вище прикладі телефон 2, підключений до адаптера Keenetic Linear, пов’язаний з лінією line1002. Щоб зателефонувати на цей телефон, потрібно набрати 1002.

Тестові дзвінки

Для перевірки взаємодії між слухавками/телефонами DECT, Телефонною станцією Keenetic та Asterisk у цьому налаштуванні були сконфігуровані наступні функції:

  • Ехо-тест. Зателефонуйте на номер 800, прослухайте підказку, запишіть своє повідомлення, натисніть #, а потім прослухайте записане повідомлення, щоб перевірити аудіообмін між Asterisk та вашим IP-телефоном;

  • Зворотний дзвінок. Дозволяє перевірити вхідні дзвінки з Asterisk і відображення номера абонента (Caller ID). Наберіть 802, прослухайте повідомлення, дочекайтеся завершення з’єднання та покладіть слухавку. Через 10 секунд надійде вхідний дзвінок. На дисплеї IP-телефону відображається ім’я CallBack та номер 1234567890. Після відповіді на дзвінок грає музика;

  • Внутрішній номер 9999. При дзвінку на цей номер грає музика.

Переадресація дзвінка

Під час розмови наберіть ## (сліпий перевід) або ** (перевід з повідомленням), а потім наберіть номер абонента, якому ви бажаєте переадресувати дзвінок.

Конференції для трьох і більше учасників

Щоб приєднатися до конференції, наберіть 001. Кожен учасник, який приєднується до конференції, може розмовляти з усіма іншими учасниками конференції. Коли учасник приєднується до конференції або залишає її, всі інші учасники конференції чують відповідні сповіщення. Перший користувач, що приєднався до конференції, отримує спеціальне сповіщення та музику, поки не приєднаються інші учасники.

Додаткові функції

Після встановлення Entware за допомогою спеціального скрипту можна автоматично налаштувати та увімкнути наступні функції:

  • голосова пошта;

  • запис дзвінків;

  • Транспорт TLS.

Розмови записуються для зовнішніх та внутрішніх дзвінків, а також під час конференцій. Аудіозаписи розмов у форматі PCM 8000 Гц моно 128 кбіт/с зберігаються на USB-накопичувачі в папці /asterisk/records.

Назви файлів аудіозаписів мають такий формат:

<caller>-<callee>_<YYMMDD>-<HHMM>.wav

де:

caller — номер абонента, що телефонує;

callee — номер абонента, що приймає дзвінок;

YYMMDD — рік, місяць і день, коли відбувся дзвінок;

HHMM — час (години, хвилини), коли відбувся дзвінок.

При налаштуванні запису дзвінків ви можете увімкнути автоматичне перетворення аудіозаписів у MP3. Це зменшить розмір аудіозаписів приблизно в 16 разів.

Голосова пошта працює наступним чином: якщо внутрішній номер не відповідає на вхідний дзвінок протягом однієї хвилини, абонент чує пропозицію залишити повідомлення для цього користувача. Доступ до повідомлень можна отримати за номером 9000. Для входу в систему необхідно ввести відповідний внутрішній номер 100x як номер абонента та пароль. Паролі голосової пошти можна змінити в конфігураційному файлі \opt\etc\asterisk\voicemail.conf.

Записані повідомлення зберігаються на USB-накопичувачі в папці /asterisk/voicemail/.

Транспорт TLS SIP забезпечує автентифікацію SIP-сервера за допомогою сертифікатів та шифрування SIP-повідомлень. Це гарантує підключення до справжнього SIP-сервера та запобігає перехопленню інформації про зовнішні дзвінки зловмисниками.

Для налаштування описаних вище додаткових функцій запустіть скрипт, виконавши команду configure-features в консолі Linux. Потім дотримуйтесь інструкцій на екрані. Інформацію про те, як підключитися до консолі Linux, див. в кінці цієї статті.

Резервне копіювання та відновлення Asterisk

Ви можете створити резервну копію поточної інсталяції Asterisk у файл на USB-накопичувачі, щоб за потреби можна було її швидко відновити. Для цього виконайте команду backup в консолі Linux і дотримуйтесь інструкцій на екрані. Інформацію про те, як підключитися до консолі Linux, див. в кінці цієї статті.

Щоб відновити раніше створену резервну копію інсталяції Asterisk з файлу:

1. Підключіть до маршрутизатора USB-накопичувач з розділом ext4;

2. Створіть папку з назвою /install в розділі ext4 на USB-накопичувачі та скопіюйте в цю папку файл, що містить вашу інсталяцію Asterisk;

3. Скопіюйте той самий файл у кореневий каталог розділу ext4 на USB-накопичувачі;

4. На сторінці вебінтерфейсу Керування > OPKG, у розділі Основні налаштування, виберіть розділ ext4 на USB-накопичувачі та натисніть кнопку Зберегти, щоб застосувати налаштування та розпочати встановлення Asterisk;

5. Після завершення встановлення ваша інсталяція Asterisk запущена на USB-накопичувачі. Щоб розгорнути її у внутрішній пам'яті маршрутизатора, виконайте команду restore в консолі Linux, щоб запустити скрипт. Потім дотримуйтесь інструкцій на екрані. Детальніше про те, як підключитися до консолі Linux, див. нижче;

6. Після завершення роботи скрипту на сторінці вебінтерфейсу Керування > OPKG, у розділі «Основні налаштування», виберіть Внутрішня пам'ять і натисніть кнопку Зберегти, щоб застосувати налаштування та запустити інсталяцію Asterisk на внутрішній пам'яті.

Консоль Linux

Щоб підключитися до консолі Linux, увійдіть до маршрутизатора через SSH. Для цього використовуйте безкоштовний SSH-клієнт PuTTY. При налаштуванні підключення використовуйте наступні дані:

  • IP-адреса: 192.168.1.1 (за замовчуванням у сегменті Домашня мережа);

  • Тип з'єднання: SSH;

  • порт: 22. Якщо на вашому маршрутизаторі встановлено компонент Сервер SSH та/або Сервер SFTP, вкажіть порт 222.

При першому підключенні підтвердьте, що ключ безпеки був доданий до кешу PuTTY, щоб продовжити встановлення з’єднання. Для автентифікації використовуйте ім’я користувача: root та пароль: keenetic.

asterisk-14-en.png

Після успішного входу ми рекомендуємо змінити пароль за допомогою команди passwd.

Консоль Asterisk

Щоб підключитися до консолі Asterisk, використовуйте команду asterisk -rvvvv в консолі Linux.

asterisk-15-en.png

Нижче наведено кілька корисних команд консолі Asterisk:

dialplan reload — перезавантажити extensions.conf;

pjsip show registrations — список зареєстрованих SIP-пірів;

pjsip show contacts — показати список контактів;

pjsip show transports — показати список SIP-транспортів;

core show translation — відобразити таблицю транскодування. Показує кодеки, встановлені в системі, та час, необхідний для перекодування однієї секунди аудіоданих з одного кодека в інший;

pjsip show channels — інформація про всі активні SIP-з'єднання;

quectel show device state quectel0 — відобразити поточний стан 4G USB-модему;

exit — повернутися до консолі Linux.

За потреби ви можете змінювати конфігурацію Asterisk, встановлювати додаткові модулі та налаштовувати нові функції. Список усіх доступних модулів Asterisk та інших пакетів, доступних для завантаження та встановлення, можна знайти за цим посиланням: https://bin.entware.net/aarch64-k3.10/ (AArch64)

Команда opkg використовується для встановлення нових модулів.

Приклад використання команди для встановлення відеокодека H.264: opkg install asterisk-format-h264

Детальну інформацію про налаштування Asterisk можна знайти в книзі 'Asterisk: The Definitive Guide, 5th Edition' та в численних онлайн-статтях.

Інформація про проект Entware: https://forum.keenetic.com/forum/53-open-packages/