Прикручиваем USB модем Huawei e160 к Elastix

Тестовый стенд: CentOS 5.10 (kernel 3.2.55-1.el5.elrepo), Asterisk 11.7.0, 2 модема Huawei e160

# yum install libtool.x86_64 autoconf.noarch automake.noarch
# cd /usr/src/
# wget https://github.com/jstasiak/asterisk-chan-dongle/archive/asterisk11.zip

Можно попробовать зеркало http://кушеев.рф/wp-content/uploads/asterisk-chan-dongle-asterisk11.zip  (puny код для wget’a «http://xn--b1afas9b4a.xn--p1ai/wp-content/uploads/asterisk-chan-dongle-asterisk11.zip»)

# unzip asterisk-chan-dongle-asterisk11.zip && cd asterisk-chan-dongle-asterisk11
# aclocal && autoconf && automake -a

Если вылезут ошибки, просто проигнорируйте их

configure.in:10: warning: AC_ARG_PROGRAM was called before AC_CANONICAL_TARGET
../../lib/autoconf/general.m4:1795: AC_CANONICAL_TARGET is expanded from...
../../lib/autoconf/general.m4:1819: AC_CANONICAL_SYSTEM is expanded from...
configure.in:10: the top level
automake: no `Makefile.am' found for any configure output

# ./configure
configure: error: cannot run /bin/sh ./config.sub

Лечим так:

# ln -s /usr/share/automake-1.9/config.sub config.sub
# ln -s /usr/share/automake-1.9/config.guess config.guess
# ./configure && make
# cp chan_dongle.so /usr/lib64/asterisk/modules/
# cp etc/dongle.conf /etc/asterisk

Что бы не получать сообщений

chan_dongle.c: unable to open /dev/ttyUSB1: Permission denied

меняем права на устойства модемов:

# chmod 0666 /dev/ttyUSB*

А что бы при вынимании/вставлянии они не слетали, напишем udev-правило:

# cat 92-dongle.rules
KERNEL=="ttyUSB*", MODE="0666", OWNER="asterisk", GROUP="uucp"

и перечитаем:

# udevcontrol reload_rules

В файле /etc/asterisk/dongle.conf меняем только следующее:

[dongle0]
audio=/dev/ttyUSB1
data=/dev/ttyUSB2
[dongle1]
audio=/dev/ttyUSB4
data=/dev/ttyUSB5

Делаем рестарт астериска и смотрим наши устройства:

# /etc/init.d/asterisk restart
# asterisk -vr
...
Connected to Asterisk 11.7.0 currently running on host (pid = 3272)
host*CLI> dongle show devices
ID           Group State      RSSI Mode Submode Provider Name  Model      Firmware          IMEI     IMSI             Number        
dongle0      0     Free       14   0    0       Telecom        E160       11.609.10.02.432  XXXXXX   257027510612884  Unknown       
dongle1      0     Free       11   0    0       Telecom        E160G      11.609.10.02.432  XXXXXX   257027510844684  Unknown

Так же хочу сказать об одном нюансе при составлении dialplan’a: почему-то модем определяет свой номер как +1234567890 (именно с «плюсом»). Возможно это глюк с этими модемами, но с 2-мя сразу? Этот номер будет использоваться при входящих звонках. Именно так и писать dialplan:

exten => +1234567890,1,Set(CALLERID(all)=${CALLERID(num)})
exten => +1234567890,n,Set(CALLERID(num)=${CALLERID(num):1})
exten => +1234567890,n,Dial(SIP/25,120)
exten => +1234567890,n,HangUp()

А для исходящих лучше использовать такую конструкцию:

exten => _.,1,Dial(dongle/i:XXXXXXXXXXXXX/${EXTEN})
exten => _.,n,HangUp()

то есть привязываться к imei модема, так как бывали случаи, когда модемы менялись местами и звонки шли не с того модема.

Эту ситуацию можно исправить, задав принудительно номер модему

# asterisk -r
host*CLI>dongle cmd dongle0 AT+CPBS=\"ON\"
host*CLI>dongle cmd dongle0 AT+CPBW=1,\"+7922181****\",145

Но после рестарта asterisk’a он почему-то слетает, поэтому пришлось оставить dialplan, как есть.

Прикручиваем USB модем Huawei e160 к Elastix: 5 комментариев

  1. Роберт

    Подскажите пожалуйста, так куда все же писать диалплан, в extensions_custom.conf, или в extensions.conf? Сколько ни смотрю, везде по разному!

    1. skeletor Автор записи

      extensions.conf — главный файл, в него можно подключать другие, в том числе и extensions_custom.conf.

  2. Саша

    «привязываться к imei модема» лучше не в диалплане, а в dongle.conf. Для этого вместо

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

    пишем красивое

    [dongle0]
    imei=IMEI_этого_модема

  3. Сергей

    После «лечения» все равно выскакивает ошибка configure: error: cannot run /bin/sh ./config.sub

    Asterisk 11.13.0

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

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


*