В тази статия ще разгледаме стъпка по стъпка как да превърнете сървър с Debian 12 в напълно функционална VoIP централа с GSM свързаност. Ще използваме най-новата версия на FreePBX 17 и модула chan_dongle за работа с USB модеми (като Huawei E1550/E173).
Стъпка 1: Инсталиране на FreePBX 17
Първата стъпка е да инсталирате базовата система. FreePBX 17 разполага с автоматизиран инсталатор за Debian 12.
Можете да следвате официалното ръководство тук: FreePBX 17 Installation Guide.
След като имате работещ FreePBX, преминете към следващата стъпка.
Стъпка 2: Подготовка за компилиране на модула
Тъй като chan_dongle не е включен по подразбиране, трябва да го компилираме. За целта са необходими изходният код на Asterisk и няколко библиотеки.
2.1. Инсталиране на зависимости
apt install -y git autoconf automake libtool pkg-config sqlite3 libsqlite3-dev libedit-dev uuid-dev libjansson-dev libxml2-dev
2.2. Подготовка на Asterisk Source
Проверете текущата версия на Asterisk:
asterisk -V
Изтеглете съответната версия (в примера използваме 22.7.0) и подгответе файловете за компилация:
cd /usr/src wget https://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-22.7.0.tar.gz tar -xvf asterisk-*.tar.gz cd /usr/src/asterisk-22.7.0 # Конфигуриране и генериране на необходимите хедъри ./configure make menuselect.makeopts make include/asterisk/buildopts.h
Стъпка 3: Инсталиране на chan_dongle
Ще използваме версията на wdoekes, която е съвместима със съвременните версии на Asterisk.
cd ~ git clone https://github.com/wdoekes/asterisk-chan-dongle.git cd asterisk-chan-dongle/ ./bootstrap ./configure make make install # Копиране на конфигурационния файл cp etc/dongle.conf /etc/asterisk/ chown asterisk:asterisk /etc/asterisk/dongle.conf
Стъпка 4: Настройка на правата и хардуера
Asterisk трябва да има права за достъп до USB портовете.
usermod -aG dialout asterisk chmod 666 /dev/ttyUSB*
Проверете на кои портове е разпознат модемът:
ls -l /dev/ttyUSB*
Забележка: Обикновено това са ttyUSB0, ttyUSB1 и ttyUSB2.
Стъпка 5: Конфигурация на dongle.conf
Редактирайте файла /etc/asterisk/dongle.conf. Най-важното е да зададете правилния контекст, за да може FreePBX да управлява обажданията.
nano /etc/asterisk/dongle.conf
Уверете се, че секцията [dongle0] изглежда така:
[dongle0] context=from-trunk ; Задължително за FreePBX audio=/dev/ttyUSB1 ; Аудио порт (често е USB1 или USB2) data=/dev/ttyUSB2 ; Порт за данни/команди rxgain=0 txgain=0 disallow=all allow=alaw allow=ulaw
След редакция, заредете модула в Asterisk:
asterisk -rvvv module load chan_dongle.so dongle show devices
Ако видите статус Free, модемът работи успешно.
Стъпка 6: Настройка на FreePBX
Целта на тази конфигурация е: Входящо повикване → Запис на разговор → Звънене на вътрешен номер 200 (Zoiper).
1. Създаване на вътрешен номер (Extension)
- Отидете в меню Applications → Extensions.
- Натиснете Add Extension → Add New PJSIP Extension.
- User Extension:
200. - Secret: Копирайте паролата (ще ви трябва за Zoiper).
- Натиснете Submit.
2. Създаване на Трънк (Trunk)
- Отидете в меню Connectivity → Trunks.
- Изберете Add Trunk → Add Custom Trunk.
- Trunk Name:
GSM-Dongle. - В таб Custom Settings, полето Custom Dial String напишете:
dongle/dongle0/$OUTNUM$
- Натиснете Submit.
3. Настройка на входящи повиквания и запис
- Отидете в меню Connectivity → Inbound Routes.
- Натиснете Add Inbound Route.
- В таб General:
- DID Number: Оставете празно (Any).
- Set Destination: Изберете Extensions и посочете 200.
- В таб Call Recording:
- Call Recording: Променете на Force (или Yes). Това гарантира запис на всички разговори.
- Натиснете Submit и след това червения бутон Apply Config.
Готово! Вече имате работеща GSM централа, която приема обаждания, записва ги автоматично и ги пренасочва към вашия IP телефон.









