Установка Asterisk 11 chan_dongle E1550 на Ubuntu 14

Вышла более новая статья, описывающая установку Asterisk 13 с chan_dongle на Debian 8

За все время работы в разных телекоммуникационных компаниях приходилось много раз устанавливать и настраивать софтсвитч Asterisk. Чтобы каждый раз не вспоминать последовательность действий, вывел для себя своего рода эталонную инструкцию, следуя которой можно быстро и без проблем собрать рабочий сервер Asterisk с драйверами GSM-модемов Huaweii E1500. Версия Asterisk 11 выбрана потому, как драйверов модемов E1550 нет под более новые версии. Последний релиз 11 версии достаточно стабилен и может успешно применяться для организации офисной мини-АТС или для организации небольшого контакт-центра.

Так как изначально Asterisk предназначен и полностью заточен под ядро Linux, то и устанавливать его будем под Убунту, которую проще и быстрее развернуть. На самом деле совершенно не принципиально, под какой дистрибутив Linux производить установку. Попытки полноценно установить и использовать все модули под FreeBSD не привели к желаемому результату. Для правильной работы всех модулей все таки рекомендуется именно Linux.

В этой статье будет рассмотрена установка софтсвитча asterisk 11 chan_dongle на операционную систему Ubuntu 14.04 LTS. Тоже самое не раз было проделано на Debian 7 и 8 без изменений. Так что можете смело использовать Debian.

Описана процедура установки только телефонной системы без веб-интерфейсов и т.д.

Ставим UBUNTU 14.04 LTS сервер, при разметке диска выносим /media/calls в отдельный физический раздел. Этот каталог пригодиться позже, когда будем вести запись телефонных разговоров.

Установка необходимых инструментов и зависимостей

Ставим утилиты, нужные для сборки

sudo apt-get install build-essential

Устанавливаем зависимости (список зависимостей очень важен! подбирался лично!)

sudo apt-get install libncurses5-dev libssl-dev libxml2-dev libsqlite3-dev libmysqlclient15-dev curl mpg123 libxml2 libxml2-dev libaudiofile-dev subversion sox libiksemel-dev libssl-dev

Если при инсталляции системы не были установлены хедеры ядра, то еще ставим их

sudo apt-get install linux-headers-`uname -r`

Установка DAHDI

Качаем и собираем DAHDI (берем последнюю версию)

wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz
tar -zxvf dahdi-linux-complete-current.tar.gz

переходим в распаковавшийся каталог и запускаем сборку и установку

cd dahdi-linux-complete-2.10.0.1+2.10.0.1
sudo make all && sudo make install && sudo make config
cd ..

Удачное завершение выглядит примерно так:

01 - after dahdi install

Установка LibPRI

Качаем и собираем LibPRI (берем последнюю версию)

wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-1.4-current.tar.gz
tar -zxvf libpri-1.4-current.tar.gz

переходим в распаковавшийся каталог и запускаем сборку и установку

cd libpri-1.4.15
sudo make && sudo make install
cd ..

Удачное завершение выглядит примерно так:

02 - after libpri

Установка SpanDSP

Если надо работать с факсом, качаем и собираем spandsp (опытная установка не удалась!)

Для начала скачаем и установим libtiff http://packages.ubuntu.com/saucy/libtiff4

sudo dpkg -i ./libtiff4_3.9.7-2ubuntu1_amd64.deb

теперь выкачиваем и ставим SnapDSP

wget http://www.soft-switch.org/downloads/spandsp/spandsp-0.0.6.tar.gz
tar -zxvf spandsp-0.0.6.tar.gz

переходим в распаковавшийся каталог

./configure
sudo make && sudo make install

Установка Asterisk

Теперь подошла очередь самого Asterisk.

Выкачиваем последнюю версию 11 ветки:

wget -c http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-11-current.tar.gz

Распаковываем и переходим в распакованную директорию (на время написания версия 11.15)

tar -zxvf asterisk-11-current.tar.gz
cd asterisk-11.15.0

Конфигурим

./configure

Если увидели лого Asterisk (звездочку), значит все в порядке, идем дальше.

03 - asterisk after configure

Вызываем конфигурационное меню

make menuselect

Отмечаем в меню следующие пункты (возврат в предыдущее меню — стрелка влево):

Add-ons: format_mp3, app_mysql, cdr_mysql
Resource Modules: res_xmpp (не обязательно. используется для уведомлений в jabber о пропущенных)
Core Sound Packages: CORE-SOUNDS-EN-ALAW, CORE-SOUNDS-EN-GSM, CORE-SOUNDS-EN-G729, CORE-SOUNDS-RU-ALAW, CORE-SOUNDS-RU-GSM, CORE-SOUNDS-RU-G729
Music On Hold File Packages: MOH-OPSOUND-WAV
Extras Sound Packages: ALAW, GSM и G729

Нажимаем [S] для сохранения конфигурации

04 - menuselect add-ons 05 - menuselect resource modules 06 - core sound pack 07 - menuselect MOH 08 - menuselect extras sound pack

Запускаем скрипт скачивания source mp3 (т.к. выбрали модуль поддержки mp3):

contrib/scripts/get_mp3_source.sh

09 - get mp3 source

Собираем и устанавливаем

sudo make install

Сборка происходит достаточно долго с загрузкой звуковых пакетов. В итоге увидим примерно это:

10 - asterisk make install

Создаем демонстрационные конфиги (если нужны), если не нужны — не создаем

sudo make samples

Генерим все необходимые скрипты (скирпты запуска)

sudo make config

Выходим из каталога с исходниками:

cd ..

Стартуем!

sudo /etc/init.d/asterisk start

11 - asterisk start

Подключаемся к консоли и проверяем, все ли ОК (выход из консоли Ctrl+C или quit)

sudo asterisk -rvvvvvvvvvvddddddddddc

12 - asterisk console

Все в порядке!

Выйти из консоли Asterisk можно нажав комбинацию клавиш Ctrl+C

Установка кодеков G729

G729 — узкополосный речевой кодек, который применяется для эффективного цифрового представления узкополосной телефонной речи (сигнала телефонного качества).

Устанавливаем при необходимости использования (передаем SIP-трафик через узкополосные соединения). Скачать с сайта http://asterisk.ru/codecs/ кодек G729, который подходит под версию Asterisk и под версию процессора, положить в /usr/lib/asterisk/modules и затем перезагрузить Asterisk. Открыть ссылку выше в браузере, найти подходящий кодек, скопировать URL на файл и вставить его в команду wget, как показано ниже:

wget -P /usr/lib/asterisk/modules -O codec_g729.so (подставить ссылку на нужный кодек)

Послеустановочная настройка

Создаем пользователя asterisk и нужные группы

sudo /etc/init.d/asterisk stop
sudo adduser --system --group --home /var/lib/asterisk --no-create-home --gecos "Asterisk PBX" asterisk
sudo adduser asterisk dialout
sudo adduser asterisk audio

Если используем веб на этом же сервере, то и:

sudo adduser www-data asterisk

Создаем каталог запуска

sudo mkdir -p /var/run/asterisk

Изменяем права на нужные каталоги

Если нет устройств DAHDI, то и /dev/dahdi не существует. Это нормально.

sudo chown -R asterisk:asterisk /var/lib/asterisk
sudo chown -R asterisk:asterisk /var/log/asterisk
sudo chown -R asterisk:asterisk /var/run/asterisk
sudo chown -R asterisk:asterisk /var/spool/asterisk
sudo chown -R asterisk:asterisk /usr/lib/asterisk
sudo chown -R asterisk:asterisk /dev/dahdi
sudo chmod -R u=rwX,g=rX,o= /var/lib/asterisk
sudo chmod -R u=rwX,g=rX,o= /var/log/asterisk
sudo chmod -R u=rwX,g=rX,o= /var/run/asterisk
sudo chmod -R u=rwX,g=rX,o= /var/spool/asterisk
sudo chmod -R u=rwX,g=rX,o= /usr/lib/asterisk
sudo chmod -R u=rwX,g=rX,o= /dev/dahdi
sudo chown -R asterisk:asterisk /etc/asterisk
sudo chmod -R u=rwX,g=rX,o= /etc/asterisk

В файле /etc/default/asterisk раскомментируем две строчки и изменяем название группы

AST_USER="asterisk"
AST_GROUP="dialout"

13 - file default asterisk

Запускаем Asterisk и смотрим, от какого пользователя он запустился

sudo /etc/init.d/asterisk start
ps aux | grep asterisk

14 - user and group

Все в порядке!

Использование GSM модемов E1550

Модуль chan_dongle необходим для работы с модемами Huawei E1550. Модемы должны быть обязательно разлочены. Также обязательно отключить на модемах функции CR-ROM и CARDREADER, оставив модем только в режиме, собственно, модема. Для этого необходимо подключиться к модему консолью и дать следующую АТ-команду:

AT^U2DIAG=0

Это можно сделать как под Windows (при помощи гипертерминала), так и под Linux (при помощи команды:

minicom -s

Установка chan_dongle

Доустановим необходимые для сборки chan_dongle пакеты:

apt-get install unzip automake autoconf

Качаем пропатченный под 11 версию астериска chan_dongle. Подойдет только эта версия! И разархивируем.

wget https://github.com/jstasiak/asterisk-chan-dongle/archive/asterisk11.zip
unzip asterisk11.zip

Переходим в распаковавшийся каталог

Подготавливаем к сборке

cd asterisk-chan-dongle-asterisk11
aclocal && autoconf && automake -a

Не обращаем внимание на последнюю строку. Возникает всегда, но на работу не влияет.

15 - dongle automake

Конфигурим

./configure

Конфигурирование завершится примерно такими строками:

16 - dongle configure

Собираем и инсталлируем

make && make install

Все должно пройти успешно. В итоге увидим примерно следующее:

17 - dongle make install

Копируем файл конфига

cp etc/dongle.conf /etc/asterisk/
sudo chown -R asterisk:asterisk /etc/asterisk
sudo chmod -R u=rwX,g=rX,o= /etc/asterisk

Перезапускаем Asterisk, смотрим, загрузился ли модуль

sudo /etc/init.d/asterisk restart
sudo asterisk -rvvv
asterisk*CLI> reload
asterisk*CLI> dongle show devices

Если модуль загрузился и функционирует, не смотря на наличие модемов, должна появиться строка:

18 - dongle show devices

Создаем файл /etc/udev/rules.d/92-dongle.rules со следующим содержимым (назначения пользователя и группы устройствам):

KERNEL=="ttyUSB*", MODE="0666", OWNER="asterisk", GROUP="dialout"

Перезагружаем демон udev:

service udev restart

Теперь при подключении устройства типа ttyUSB…, система автоматически назначит ему владельца asterisk и группу dialout. Это необходимо для полного доступа Asterisk к модемам.

В Файле /etc/asterisk/dongle.conf обязательно прописываем все модемы по IMEI (и/или IMSI). Можно указать и то и другое, но лучше привязать только по одному параметру. В ранних версиях chan_dongle была возможность привязки только к контроллеру, что не давало менять модемы местами, а в udev приходилось прописывать все устройства, назначая им aliases. В текущей версии этого делать нет необходимости. Модемы замечательно привязываются по IMEI. Их можно менять местами, делать что угодно — система сама найдет их.

[KS]
imsi=255012345678012
imei=345678901234567
exten=+380991234567
context=from-gsm

В данном примере [KS] — это идентификатор устройства. На этот идентификатор можно будет направлять вызовы. IMSI — идентификатор SIM-карты (мобильного абонента). IMEI — идентификатор GSM-терминала (мобильного устройства). exten — номер телефона в международном формате, context — имя контекста (группы), с которого будут приниматься и обрабатываться вызовы.

В конфиге можно не указывать exten. Достаточно указать либо IMSI либо IMEI — модуль dongle по этим идентификаторам сам отыщет устройство и сопоставит его с конкретным идентификатором устройства. Указание context обязательно.

Если идентификация по IMEI / IMSI не работает

В последней версии chan_dongle обнаружение устройств выполняется либо по идентификатору терминала (модема) — IMEI, либо по идентификатору абонента (SIM-карты) — IMSI. Если же по каким-то причинам Вам необходимо идентифицировать устройство по порту USB-контроллера, то используйте расширенную конфигурацию udev для присвоения псевдонимов портам, а затем эти псевдонимы можно использовать для определения модемов в dongle.conf.

Для привязки модемов по номеру порта контроллера USB, нужно определить адреса этих портов. Извлеките все модемы из сервера, затем запустите

udevadm monitor

Вставляйте по одному модему и записывайте адреса портов контроллера, которые относятся к каждому из них. Затем в файл /etc/udev/rules.d/92-dongle.rules допишите псевдонимы для каждого из модемов, указав адреса контроллеров в качестве ID, подобно следующему:

KERNEL=="ttyUSB[0-9]*", ID=="1-1:1.1", SYMLINK+="KS-audio"
KERNEL=="ttyUSB[0-9]*", ID=="1-1:1.2", SYMLINK+="KS-data"

KERNEL=="ttyUSB[0-9]*", ID=="1-2:1.1", SYMLINK+="MTS-audio"
KERNEL=="ttyUSB[0-9]*", ID=="1-2:1.2", SYMLINK+="MTS-data"

KERNEL=="ttyUSB[0-9]*", ID=="1-3:1.1", SYMLINK+="LIFE-audio"
KERNEL=="ttyUSB[0-9]*", ID=="1-3:1.2", SYMLINK+="LIFE-data"

Как видно из примера, необходимы только два порта, вместо четырех.

Теперь в файле /etc/asterisk/dongle.conf вместо идентификации по IMEI и/или IMSI укажите идентификацию по портам USB следующим образом:

[KS]
audio=/dev/KS-audio 
data=/dev/KS-data
exten=+380991234567
context=from-gsm

Однако этот метод определения модемов не является рекомендуемым, т.к. при случайной смене USB-порта либо вообще ничего не будет работать, либо Ваши вызовы пойдут не туда куда планировалось. Настоятельно рекомендуется использовать идентификацию по IMEI / IMSI.

На этом установка полностью завершена.

Дополнения от читателей

17.07.2016 от Александра Dongle на виртуальной машине:

Через USB-hub подключил 3G-modem, в свойствах виртуальной машины подключил этот самый 3G модем (виртуальная машина ->Съемные устройства ->HUAWEI mobile -> подключить), он увиделся донглом.


Если эта статья помогла Вам, пожалуйста, окажите финансовую поддержку моему блогу.

Установка Asterisk 11 chan_dongle E1550 на Ubuntu 14: 155 комментариев

  1. Здравствуйте.
    Спасибо за статью. Все получилось быстро.
    Кроме указанного в статье также попытался принимать СМС. СМС пишутся в указанный файл (sms.txt).
    Правда не смог решить такую проблему — если в тексте СМС приходит символ «@» (чаще e-mail), то все что после «@» исчезает / не приходят / чем то отсекается, исключением является кириллица и то через раз.

    Вот настройки к донглу:
    exten => sms, 1, Noop (Incoming SMS from $ {CALLERID (num)} $ {BASE64_DECODE ($ {SMS_BASE64})})
    exten => sms, n, System (echo «$ {STRFTIME ($ {EPOCH} ,,% Y-% m-% d% H:% M:% S)} — $ {DONGLENAME} — $ {CALLERID (num )} $ {BASE64_DECODE ($ {SMS_BASE64})} ь >> /var/log/asterisk/sms.txt)
    exten => sms, n, Hangup ()

  2. Добрый день!
    СИтуация забавная, если прописать imsi то после рестарта сервера не подключается, но если прописать audio и data — то всё подключается, а если после этого заменить на imsi, и сдедать CLI> dongle reload now то тоже всё в порядке, сам определяет юсб и подключются

    == Parsing ‘/etc/asterisk/dongle.conf’: Found
    [2017-03-26 16:39:30] NOTICE[1969]: chan_dongle.c:426 do_monitor_phone: [LIFECELL] stopping by restart request
    — [LIFECELL] Dongle has disconnected
    — [LIFECELL] IMSI 2550610XXXXXXXX found on data_tty=/dev/ttyUSB5 audio_tty=/dev/ttyUSB4
    — [LIFECELL] Trying to connect on /dev/ttyUSB5…
    — [LIFECELL] Dongle has connected, initializing…
    [2017-03-26 16:39:30] NOTICE[1888]: chan_dongle.c:426 do_monitor_phone: [KYIVSTAR] stopping by restart request
    — [KYIVSTAR] Dongle has disconnected
    — [KYIVSTAR] IMSI 2550306XXXXXXXX found on data_tty=/dev/ttyUSB2 audio_tty=/dev/ttyUSB1
    — [KYIVSTAR] Trying to connect on /dev/ttyUSB2…
    — [KYIVSTAR] Dongle has connected, initializing…
    — [LIFECELL] Dongle initialized and ready
    — [KYIVSTAR] Dongle initialized and ready

    можете подсказать в чём может быть проблема?

    Asterisk 13.13.1

    [LIFECELL]
    audio=/dev/ttyUSB4
    data=/dev/ttyUSB5
    ;imei=3529650XXXXXXXX
    ;imsi=2550610XXXXXXXX
    exten=+38063XXXXXXX

    [KYIVSTAR]
    audio=/dev/ttyUSB1
    data=/dev/ttyUSB2
    ;imei=3546380XXXXXXXX
    ;imsi=2550306XXXXXXXX
    exten=+38067XXXXXXX

    1. Добрый день.
      Драйвер донгла полон сюрпризов, да и рестарт сервера и релоад донгла — все таки не одно и то же.
      Если не работает определение по imei/imsi, просто используйте порты аудио и данных. Это не так удобно, конечно, зато надежно. Вы же не переставляете модемы каждый день местами.
      Может быть найдете ответ в официальной документации

  3. Характеристики Asterisk — chan_dongle — Modem E173

    Входящие проходят нормально, при исходящем звонке на моб (пример 89123456789) выходит ошибка:
    [2016-11-05 11:45:05] ERROR[1894][C-00000000]: channel.c:7910 ast_channel_start_silence_generator: Could not set write format to SLINEAR
    [2016-11-05 11:45:06] ERROR[1894][C-00000000]: channel.c:5424 set_format: Unable to set format because channel Local/FMGL-89123456789#@from-internal-00000001;2 supports no formats

    Настройки проверил, норм, возможно причина в прошивке модема? Прошивка 11.126.85.00.209

  4. Все 6 GSM dongle я настроил на виртуалке, работают без проблем, входящие/исходящие есть. Но в процесе эксплуатации возникла острая необходимость записывать все входящие звонки на эти самые 3G модемы — но записи нет вообще!( Исходящие пишутся без проблем.
    Единственное что нарыл — при настройке внутренних Extension номеров (FreePBX), есть возможность указать запись разговоров. Но при входящих видно что CDR report говорит входящий от мобильного абонента на мобильный номер
    CallerID — 8063888XXXX (клиент) -> Destination +38063233XXXX (номер dongle) — хотя звонок принимает внутренний номер 5000. Записи нет. ((
    extension такой:
    [from-gsm]
    exten => +38063233XXXX,1,Set(CALLERID(all)=${CALLERID(num)})
    exten => +38063233XXXX,n,Set(CALLERID(num)=${CALLERID(num):1})
    exten => +38063233XXXX,n,Dial(SIP/5000,120)

    Перепробовал кучу разных шаблонов выложенных в нете, но входящие принимаются только с таким extension [from-gsm] шаблоном.
    Не подскажете куда рыть?

    1. Александр, я не берусь помогать, если конфиг астериска сгенерирован различными интерфейсами, типа FreePBX и прочих. Такие автоконфиги абсолютно не читаемые и ковыряться в них — себе дороже.
      Касательно записи есть два момента:
      1. За запись отвечает MixMonitor. Между первой и второй строкой вставьте:
      exten => +38063233XXXX,n,MixMonitor(путь_к_файлу_и_имя_файла.wav)
      тогда у Вас все разговоры будут записаны в указанный файл. Вместо имени файла, конечно же, лучше подставить переменные (CallerID и т.д.)
      2. Убедитесь, что в Asterisk в настройках SIP выключена функция ReInvite, а так же выключена данная фукнция на SIP-клиентах.
      ReInvite позволяет устанавливать речевой канал непосредственно между клиентами минуя астериск

    1. Модемы, конечно же, работать не будут. Нужен прямой доступ к USB.
      Все остальное работать будет, но если будете пускать голос через Asterisk, то скорее всего качество будет не очень хорошим.
      Если найдете решение, как заставить работать USB напрямую на виртуальной машине — напишите, пожалуйста, здесь.

      1. Работает! Я все же поставил виртуалку, Ubuntu 14.04 32bit (ставил на VMWare Workstation 12.1.1), Asterisk 11 версии — всё по вашему мануалу. Далее через USB-hub подключил 3G-modem, в свойствах виртуальной машины подключил этот самый 3G модем(виртуальная машина ->Съемные устройства ->HUAWEI mobile -> подключить ), он увиделся донглом. Нюансы:Пока настроил только исходящие звонки через сим-ку. Донгл второй модем не определяет, хотя сама Ubuntu видит два модема. Возможно что это из-за того что симка не может зарегистрироваться в сети, буду дальше копать.

        1. Без сим-карты донгл тоже должен определяться. Проблема не в отсутствии симки. Проверьте, отключили ли Вы CD-ROM и CardReader.

          Запускайте Астериск в режиме полной диагностики asterisk -rvvvvvvvvvvddddddddddc и пробуйте выполнить входящий вызов. Возможно, где-то допустили опечатку в конфиге.

          Большое спасибо за информацию! Вставлю часть Вашего комментария в статью.

          1. Получилось добавить и второй модем, но только в ручную (тогда как первый определился автоматически как dongle0), для второго мне понадобилось вручную, в файле /etc/asterisk/dongle.conf описать его параметры:
            [MTS]
            audio=/dev/ttyUSB4
            data=/dev/ttyUSB5
            imei=356356042656815
            context=from-gsm
            — только тогда он увиделся и подгрузился.
            Входящие так же удалось настроить.
            Спасибо Вам огромное замануал! Лучшего чем этот, я в интернете не нашел)
            Буду дальше разбираться с настройками групп и т.д. и т.п.

            1. Без принудительного указания портов не получалось? Автообнаружение по IMEI / IMSI не сработало?
              Спасибо за Ваш опыт и за благодарность.
              Успехов Вам в освоении!

              1. «Без принудительного указания портов не получалось? Автообнаружение по IMEI / IMSI не сработало?» — нет, не получалось(
                Нужно разбираться, еще не нарыл причину.

                1. по умолчанию раскомментированы строчки в dongle.conf imei и imsi в конце файла, закомментируй их

  5. Добрый день. Может быть есть идеи, почему отваливается модем при любом обращении к нему из asterisk (ussd, sms, звонок)? Пишет ERROR[29143]: chan_dongle.c:414 do_monitor_phone: [dongle1] Lost connection to Dongle — [dongle1] Dongle has disconnected
    При этом через пару секунд модем поднимается сам

    1. Добрый день, Павел.
      Такое может быть, если ему не хватает тока по питанию. При любой попытке задействовать передатчик модема, он начинает потреблять относительно большой ток, и, если тока недостаточно, происходит просадка по напряжению, что может привести к перезагрузке модема. Это как одна из возможных причин. Везде рекомендуют включать модемы через USB-хаб с нормальным внешним питанием 500 мА на гнездо.
      Но я не гарантирую, что проблема в этом. Проблем с этими модемами, к сожалению, может быть множество.

  6. Здравствуйте, собрал все по инструкции. при запуске астериска вижу chan_dongle.c:218 opentty: unable to open /dev/ttyUSB3: Device or resource busy система Debian 8 модем МТС Е1550 разлочен. с мегафоновской симкартой. пробовал запускать из под винды — все работает. даже звонок приходит на модем

  7. Модем huawei E160G, Asterisk 11, chan_dongle. Нет ответа от ussd.

    asterisk*CLI> dongle ussd MEGAFON *100#
    [MEGAFON] USSD queued for send with id 0x7f3814000f40
    — [MEGAFON] Successfully sent USSD 0x7f3814000f40
    asterisk*CLI>

    И тишина. В extensions.conf ussd экстеншн есть:
    [MEGAFON-ussd]
    exten => ussd,1,Verbose(Incoming USSD: ${BASE64_DECODE(${USSD_BASE64})})

    В чём может быть дело?

    1. В мобильник вставляю симку, тоже самое набираю — ответ есть. Баланс, на русском языке. Может chan_dongl’у язык не нравится?

      Как-то можно посмотреть возвращается хоть что-то в ответ? Может не с ‘ussd’ экстеншеном возвращается.

      Заранее благодарю.

      1. Добрый день. Только что проверил на своем тестовом сервере, который собирал для написания статьи Asterisk13+cnan_dongle. Всё работает:
        sip*CLI> dongle ussd GSM *111#
        [Apr 28 10:06:44] NOTICE[3011]: at_response.c:267 at_response_ok: [GSM] Successfully sent USSD 0x7f033044c660
        [GSM] Got USSD type 0 'USSD Notify': 'Balans 0.00hrn, bonus 0.00hrn.
        ***
        Vidpravte OK na 5707 - vygrayte 100 000 GRN ta iPhone 6S! 2,5 grn/den'
        '

        Может быть проблема в конкретной модели модема или прошивке. Я не могу подсказать, к сожалению.
        sip*CLI> dongle show devices
        ID Group State RSSI Mode Submode Provider Name Model Firmware IMEI IMSI Number
        GSM 0 Free 31 3 3 life:) E1550 11.609.18.00.00

        1. Ок, попробую перепрошить более новой прошивкой и поискать если есть другой вариант chan-dongle для Asterisk 11.

          1. Кстати, когда dongle собирал, в configure ему никаких параметров не передавал?

            А у разработчика советуется вот так:
            2.3) Configure package
            simple
            ./configure
            explicite set install directory for module
            DESTDIR=»/usr/lib/asterisk/modules» ./configure
            turn off some parts
            ./configure —disable-manager —disable-apps
            explicite set path to asterisk headers
            ./configure —with-asterisk=/usr/src/asterisk-1.6.2.13/include
            or
            CFLAGS=»-I /usr/src/asterisk-1.6.2.13/include» ./configure
            enable debugging
            ./configure —enable-debug

            Ты так делал?

  8. Здравствуй Денис. Спасибо большое всё получилось. Не подскажешь как в конференции убрать эхо ?

    1. Добрый день. Эхокомпенсация — это задача устройств с DSP, преобразующих аналоговый сигнал в цифровой, т.е. телефонных аппаратов, плат расширения DAHDI и т.д.
      Если между двумя софт-фонами, подключенными по SIP через Asterisk возникает эхо, покрутите настройки софтфонов, попробуйте заменить на другие, например на PhonerLite, в котором множество настроек.

  9. Денис, добрый день!
    Вот уже второй день бьюсь. Никак не могу понять почему астериск не конектится к модемам.
    $ lsusb
    Bus 001 Device 009: ID 12d1:1001 Huawei Technologies Co., Ltd. E169/E620/E800 HSDPA Modem
    модем на АТ команды отвечает,
    модуль chan_dongle встал.
    $ ls -l /dev/ttyUSB*
    crw-rw-rw- 1 ev dialout 188, 0 Apr 17 21:18 /dev/ttyUSB0
    crw-rw-rw- 1 ev dialout 188, 1 Apr 17 21:18 /dev/ttyUSB1
    crw-rw-rw- 1 ev dialout 188, 2 Apr 17 21:12 /dev/ttyUSB2

    $ ps aux | grep asterisk
    ev 27289 52.4 0.6 2663036 55024 ? Ssl 21:20 0:02 /usr/sbin/asterisk -U ev -G dialout
    ev 27345 0.0 0.0 10744 2288 pts/19 S+ 21:20 0:00 grep —color=auto asterisk

    в CLI выдает [dongle0] Trying to connect on /dev/ttyUSB2…
    [dongle0] Trying to connect on /dev/ttyUSB2..

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