Подключение GSM-модема USB Huawei E1550 к Asterisk 13 + chan_dongle на Debian 8 Jessie.

Появилась интересная задача, которая заключается в том что нужно подключить GSM-модем USB HUAWEI E1550 к Asterisk 13 работающий на Debian 8 Jessie. Настроить возможность принимать/отправлять SMS, принимать/звонить с номера находящегося в GSM-модеме.

 

Рекомендуется чтобы GSM-модем HUAWEI E1550 работал на прошивке версии: 11.608.12.00.143, а так же чтобы работал только в режиме «только модем».

 

На момент написания статьи используемая версия Asterisk — 13.25.0, который развернут на Debian 8 Jessie (как развернуть Asterisk 13 на Debian 8 Jessie, можно по этой статье)

 

Настройка системы и GSM-модема

Обновляем систему до актуального состояния:

 

Устанавливаем необходимые пакеты для работы с USB GSM шлюзом:

usb-modeswitch необходима для автоматического переключения устройства из режима, minicom необходима для подключения к последовательным портам (COM).

 

Подключаем GSM-модем HUAWEI E1550, проверяем появились ли устройства ttyUSB*:

 

Теперь необходимо перевести GSM-модем HUAWEI E1550 в режим работы «только модем».

В случае если GSM-модем HUAWEI E1550, уже находится в режиме работы «только модем», то пропускайте данный пункт и переходите к установке модуля chan_dongle.

 

Запускаем утилиту для подключения к последовательным портам (COM):

Выбираем пункт «Настройка последовательного порта»:

Нажимаем «A» для выбора имени устройства COM порта, вводим название устройства «/dev/ttyUSB0»

Нажимаем 2 раза ENTER и выбираем «Сохранить настройки как…»

Вводим название профиля, нажимаем ENTER и выбираем пункт «Выход из Minicom»

 

Подключаемся к сохраненному профилю (я сохранил профиль как e1550):

 

В терминале, вводим команду AT, нажимаем ENTER, должен вернутся результат —  «ОК«.

Обратите внимание, что символы, которые вводим, могут не отображаться на экране! Однако, после ввода команды и нажатия Enter, GSM-модем должен отобразить результат.

 

После успешного выполнения команды AT, выполним команду, которая переключит режим работы GSM-модем, в режим работы «только модем»:

Доступные режимы работы GSM-модема HUAWEI E1550:

AT^U2DIAG=0 (режим только модем)
AT^U2DIAG=1 (режим модем + CD-ROM)
AT^U2DIAG=255 (режим модем + CD-ROM + Card Reader)
AT^U2DIAG=256 (режим модем + Card Reader)

Полезные AT-команды:

ATI — Информация о устройстве
AT+CIMI — IMSI модема
AT+CGSN — IMEI модема

 

Для выхода из программы нажмите Ctrl+A, затем нажмите Q и подтвердите выход нажатием Enter.

 

Установка модуля chan_dongle

Скачиваем исходник модуля chan_dongle под Asterisk 13 и разархивируем его:

 

Выполняем сборку модуля, компиляцию и установку модуля:

Не обращаем внимание на строчку «automake: error: no ‘Makefile.am’ found for any configure output» — это не является ошибкой

 

Копируем конфигурационный файл dongle.conf в каталог asterisk и назначаем ему нужные права:

 

Чтобы при подключении GSM-модема, Asterisk имел доступ к нему, необходимо устройству назначать владельца asterisk и группу dialout. Создаем файл (nano /etc/udev/rules.d/92-dongle.rules) со следующим содержимым:

 

Перезапустим службу udev и asterisk:

 

Для проверки, переподключим GSM-модем к системе и проверим назначенные права на него:

 

Настройка обработки SMS, USSD, Входящих/Исходящих вызовов

В файле конфигурации (/etc/asterisk/dongle.conf) опишем параметры подключенного устройства HUAWEI E1550.

 

Для примера скорректируем имеющуюся секцию [dongle0]:

Параметры imei, imsi должны автоматом подхватится при соединении asterisk c GSM-модемом. Если не этого не произошло, то можно в ручную их указать, в строках imei, imsi.

 

В консоли asterisk, перечитываем конфигурацию chan_dongle и проверяем состояние устройства. Если все было сделано правильно, то подключение к GSM-модему будет осуществлено и устройство будет отображаться в консоли asterisk:

 

Теперь когда соединение с GSM-модемом установлено, настроим dialplan обработки SMS, USSD, входящих и исходящих вызовов. В файле конфигурации (/etc/asterisk/extensions.conf) добавляем следующее:

При поступлении SMS и USSD запросов, данные их будут сохранятся в тестовые файлы (/var/log/asterisk/sms.txt), (/var/log/asterisk/ussd.txt). При входящем звонке на номер который находится на GSM-модеме, будет запущен «ЭХО тест», при исходящем будет вызван набранный номер. 

 

 

Для наглядности работы модуля chan_dongle, приведу выводы из консоли asterisk.

 

Получение SMS:

Пример отправки SMS:

 

Пример отправки USSD запроса:

 

Очистка SMS из памяти SIM и GSM-модема

Периодически рекомендуется очищать SMS из память SIM и GSM-модема.

 

Для очистки памяти SIM в консоли asterisk, вводим команды:

Для очистки памяти GSM-модема в консоли asterisk, вводим команды:

 

 

Понравилась или оказалась полезной статья, поблагодари автора

 

БесполезноСлабоватоПриемлемоОтличноПревосходно (Еще нет оценок)
Загрузка...

Всего комментариев: 3 Комментировать

  1. Kuzya /

    Похоже вы что-то не договариваете в заметке
    root@debian:/opt/dongle# aclocal && autoconf && automake -a
    aclocal: warning: autoconf input should be named ‘configure.ac’, not ‘configure.in’
    automake: warning: autoconf input should be named ‘configure.ac’, not ‘configure.in’
    configure.in:50: installing ‘./compile’
    configure.in:6: installing ‘./config.guess’
    configure.in:6: installing ‘./config.sub’
    configure.in:7: installing ‘./install-sh’
    configure.in:7: installing ‘./missing’
    automake: error: no ‘Makefile.am’ found for any configure output
    root@debian:/opt/dongle# lsb_release -a
    No LSB modules are available.
    Distributor ID: Debian
    Description: Debian GNU/Linux 9.8 (stretch)
    Release: 9.8
    Codename: stretch
    root@debian:/opt/dongle# uname -a
    Linux debian 4.9.0-8-amd64 #1 SMP Debian 4.9.144-3.1 (2019-02-19) x86_64 GNU/Linux
    root@debian:/opt/dongle# asterisk -rx «core show version»
    Asterisk 15.7.2 built by root @ debian on a x86_64 running Linux on 2019-03-01 13:11:50 UTC
    root@debian:/opt/dongle#

    1. Жаконда / Автор записи

      Похоже что вы пытаетесь сделать на Asterisk 15.7.2 + Debian 9, хотя в заметке явно указано что все описанное применимо к Asterisk 13 + Debian 8 Jessie!

      Лично у меня на Asterisk 13 + Debian 8 Jessie, все прекрасно заводится, делая в точности по шагам заметки. На других версиях не пробовал и не могу знать что там за подводные камни могут быть.

      К примеру указанный в статье модуль chan_dongle поддерживает Asterisk 13, поддержку Asterisk 15, насколько я знаю никто не делал..

  2. dioxine /

    Привет всем. У меня такой вот вопрос. Звонит человек извне на номер, привязанный к аналоговому транку DAHDI (Openvox A800p). Еще существует транк chan_dongle на основе модема Huawei E171. Возможно ли его звонок перенаправить каким-либо образом с DAHDI в билайновский chan_dongle, по определенным временным условиям?
    ситуация простая, здесь, где я нахожусь, нет возможностей интернета абсолютно, SIP гуляет только от поднятого FreePBX13+Asterisk11 и только внутри. Наружу работают только аналоговая плата OpenVox (один FXO) и усб-модем вышеуказанный. Хотелось бы сделать, чтобы все входящие после восьми часов вечера на основной телефон, который включен в DAHDI инициировал бы дозвон по определенному сотовому номеру донгловский транк и потом как-то их контачил между собой. Звонки c внутренних sipовских экстеншнов нормально проходят по условиям исходящей маршрутизации на chan_dongle. Но , возможно ли осуществить вот такой коннекшн транков ?
    простите, я новичок. начал изучение с FreePBX, а не с астера :'( может быть поэтому — туплю

Оставить ответ

восемнадцать − тринадцать =

© IT-блог Жаконды All Rights Reserved.
Яндекс.Метрика