Сборка chan_dongle для Asterisk 13 на FreeBSD

Однажды душным августовским вечером одному моему знакомому взгрустнулось. Внезапно он осознал, что время быстротечно, жизнь проходит, а минуты, которые ежемесячно предоставляет оператор Yota, не используются и пропадают!! в модеме.. Было решено собрать подзабытый всеми старинный модуль chan_dongle для Asterisk, чтобы пробалтывать, использовать эти минуты через 3G modem. По фигу с кем, но использовать их!

Конечно же ,собрать его требовалось на FreeBSD 12. Описания присутствуют в этих ваших интернетах, но они не годятся, так как не приводят к нужному результату. Без лишних вопросов — приступаем..

Для начала обновляем пакеты FreeBSD и ядро оси. Теперь устанавливаем нужные для сборки пакеты, а именно — autotools и gmake:

# Установим нужный для сборки софт
#
pkg install -y autotools gmake git

Теперь клонируем пакет с GIT-хаба и готовим его к сборке :

# Клонируем пакет
#
git clone https://github.com/oleg-krv/asterisk-chan-dongle
cd dongle/
# Готовимся к сборке
#
aclocal
autoconf
automake -a
./configure

Теперь пара важных моментов — нужно внести исправления в конфиг файла Makefile, а именно — в опции компилятора добавить ключ -fblocks и указать компилятору верный путь до библиотеки libiconv. Для этого находим строчку CFLAGS в файле Makefile и добавляем туда опцию -fblocks

А также в строке LIB = указываем путь LIBS = /usr/local/lib/

# Редактируем нужный файл
#
vi Makefile
 
CFLAGS  = -g -O2 -O6 -I$(srcdir)  ... -fblocks
 
LIBS = /usr/local/lib/

Теперь компилируем пакет:

# Компилируем и устанавливаем пакет
#
gmake
gmake install

./config.status
config.status: creating Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
strip chan_dongle.so
/usr/bin/install -c -m 755 chan_dongle.so /usr/local/lib/asterisk

Астериск получил плагин для звонков через 3G modem. Теперь можно настраивать его.

# Устанавливаем Asteriks
#
pkg search asterisk13
# В настоящий момент в пакетах собран asterisk13-13.34.0_1,
# устанавливаем его.
pkg install asterisk13-13.34.0_1
# Добавляем в rc.conf
sysrc asterisk_enable="YES"
# Добавляем пользователя asterisk в группу dialer 
# 
pw groupmod dialer -m asterisk
# Стартуем asteriks
#
/usr/local/etc/rc.d/asterisk start

Вероятнее всего, что астериск стартанет и будет работать. Теперь требуется создать конфиг для плагина chan_dongle — файл /usr/local/etc/asterisk/dongle.conf и написать в нем примерно следующее.

[general]
interval=15 
[defaults]
context=default
group=0
rxgain=0 
txgain=0
autodeletesms=yes
resetdongle=yes
u2diag=-1
usecallingpres=yes 
callingpres=allowed_passed_screen 
disablesms=no 
[beeline]
imei=35870507777777
context=beeline-incoming
exten=+79051111111
audio=/dev/cuaU0.1
data=/dev/cuaU0.2
group=1
rxgain=2
txgain=2
resetdatacard=yes
u2diag=0
usecallingpres=yes
callingpres=allowed_passed_screen
disablesms=no

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *