Crmgo Блог

Asterisk, звоним через модем huawei e173

Asterisk, звоним через модем huawei e173

Стала необходимость настроить asterisk для звонков через 3g модем. Немного поискав нашел модуль под названием chan_dongle. Имеем в наличии asterisk 11 на ubuntu. Модем huawei e173 (Djuice). Для начала нужно открыть голос и отучить модем от sim карт оператора. Сделал…

Asterisk, звоним через модем huawei e173

Стала необходимость настроить asterisk для звонков через 3g модем. Немного поискав нашел модуль под названием chan_dongle.

Имеем в наличии asterisk 11 на ubuntu. Модем huawei e173 (Djuice).

Для начала нужно открыть голос и отучить модем от sim карт оператора. Сделал я это через программу dc-unlocker. Мне эта программа припала по душе и я решил купить кредиты для разблокировки.

Что ж, начнем.

Скачиваем chan_dongle здесь или тут.

Разархивируем его и заходим в директорию:

tar xzvf chan_dongle-1.1.r14.tgz

cd chan_dongle-1.1.r14/

Компилим и устанавливаем:

aclocal && autoconf && automake -a

./configure

make

make install

На asterisk 11 возникнет следующая ошибка:

In file included from app.c:21:0: /usr/include/asterisk/version.h:1:2: error: #error «Do not include ‘asterisk/version.h’; use ‘asterisk/ast_version.h’ instead.» app.c: In function ‘app_register’: app.c:162:3: warning: passing argument 2 of ‘ast_register_application2’ from incompatible pointer type [enabled by default] In file included from app.c:20:0: /usr/include/asterisk/module.h:458:5: note: expected ‘int (*)(struct ast_channel *, const char *)’ but argument is of type ‘int (*)(struct ast_channel *, void *)’ make: *** [app.o] Error 1

Решение:

1. Качаем исходник с патчем
2. Ставим autoconf и automake
3. Разархивируем исходник, переходим в его папку и выполняем одну за другой команды: aclocal, autoconf, automake -a
4. Ставим chan_dongle как обычно: ./configure, make, make install
5. Копируем дефолтный конфиг из etc/dongle.conf в папку с конфигом астериска.

На этом установка завершена. Переходим к конфигурированию.

Для начала проверим определился ли наш модем системой, выполняем:

ls /dev/ | grep USB

И если видим что то вроде этого:

ttyUSB0 ttyUSB1 ttyUSB2

То значит все ок и идем дальше.

Переходим в директорию с asterisk и открываем dongle.conf:

cd /etc/asterisk/

vim dongle.conf

Должно выглядеть примерно так:

[dongle0] audio=/dev/ttyUSB1 data=/dev/ttyUSB2 context=income

Пример настройки входящих звонков в extensions.conf:

[income] exten => +380XXXXXXXXX,1,Dial(SIP/100) exten => +380XXXXXXXXX,n,hangup

Пример настройки исходящих звонков в extensions.conf:

[out] exten => _X.,1,Dial(dongle/i:XXXXXXXXXXXXX/${EXTEN}) exten => _X.,n,hangup

Где XXXXXXXXXXXXX imei модема, через который хотите позвонить.

Note: Никогда не используйте екстеншен _X. так как это очень не безопасно!

Вот и все. Модем и asterisk готов к звонкам.

Примечание: материал мог быть создан с помощью ИИ и затем отредактирован человеком. Ответственный: Dmytro Lomaka, Kaltenkirchen.