Перейти к содержимому


Фотография
- - - - -

ASterisk + GSM свисток (chandobgle)


  • Авторизуйтесь для ответа в теме
В этой теме нет ответов

#1 Demonik

Demonik

    Учусь Linux

  • Администраторы
  • 41 сообщений

Отправлено 03 Июнь 2016 - 04:23

Важная информация !!!

Перед установкой в сервер, модем huawei должен быть разлочен под любую симку.

МОдели для которых есть драйвера:

 

* Hоawei K3715

* Huawei E169 / K3520
* Huawei E155X
* Huawei E175X
* Huawei K3765

 

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

AT^U2DIAG=0

Также желательно отключить на модеме ожидание вызова:

AT+CCWA=0,0,1

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

apt-get install -y automake autoconf

Также поставим usb-modeswitch:

apt-get install usb-modeswitch

Приступим к установке модуля Dongle

1) Первое, что необходимо сделать, это настроить udev, чтобы при подключении модема, он получал права пользователя Asterisk и сам Asterisk мог работать с модемом. Для этого создаем файл /etc/udev/rules.d/92-dongle.rules командой:

touch 92-dongle.rules

Далее наполняем его содержимым

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

При подключении модема мы можем посмотреть права которые он получил командой:

ls -la /dev/ttyUSB*

Ответ системы будет:

crw-rw-rw- 1 asterisk dialout 188, 0 Май 20 08:24 /dev/ttyUSB0
crw-rw-rw- 1 asterisk dialout 188, 1 Июн  3 08:38 /dev/ttyUSB1
crw-rw-rw- 1 asterisk dialout 188, 2 Июн  3 08:37 /dev/ttyUSB2

Качаем саму версию chan_dongle, последнюю стабильную. Для ASterisk 11 и 13 нужны специальные пропатченные с проекта(wget https://github.com/jstasiak/asterisk-chan-dongle/archive/asterisk11.zip):

wget http://asterisk-chan-dongle.googlecode.com/files/chan_dongle-1.1.r14.tgz
tar xvfz chan_dongle-1.1.r14.tgz
cd chan_dongle-1.1.r14

Для установки пакета (все инструкции описаны в файле INSTALL, который находится в каталоге исходников chan_dongle) перейдите в папку с исходными кодами chan_dongle и выполните в Вашей системе linux из командной строки:

aclocal
autoconf
automake -a
./configure
make 
make install

После выполнения команды make install:

  1. убедитесь в том, что в каталог модулей asterisk скопирован модуль chan_dongle.so. Каталог модулей asterisk по умолчанию находится здесь: /usr/lib/asterisk/modules . Если там нет файла chan_dongle.so, найдите его в папке с исходными кодами chan_dongle и скопируйте к модулям asterisk вручную;
  2. убедитесь в том, что в каталог конфигурации asterisk скопирован файл dongle.conf. По умолчанию каталог конфигурации asterisk находится здесь: /etc/asterisk . Если там этого файла нет, скопируйте его из папки с исходными кодами chan_dongle (подпапка etc) вручную.

Для настройки chan_dongle отредактируйте файл dongle.conf в каталоге конфигурации asterisk (по умолчанию это каталог /etc/asterisk)

 

context - имя контекста для входящего звонка (incoming, а не default, как указано в настройках, разумеется, контекст incoming должен существовать в Вашем диалплане.)

resetdongle - при инициализации устройства производить сброс модема (yes)

u2diag - Послать команду AT^U2DIAG на устройство  (-1 (не посылать никакх команд))

exten - exten для входящих звонков (должен быть Ваш номер телефона сим карты начинающийся с +7, но это не обязательно если вы не указали АТ командами номер телефона в USB модеме, но лучше поставить)

 

audio - имя устройства для приема/передачи звука /dev/ttyUSB1

data - имя устройства для управления модемом /dev/ttyUSB2

imei - IMEI устройства

 

Перезапускаем Asterisk:

/etc/init.d/asterisk restart

2) Загружаем модуль в asterisk

Заходим в астериск:

asterisk -rvvv

Затем выгружаем и загружаем модуль:

module unload chan_dongle.so
module load chan_dongle.so

Настройка Dialplan-a:

На исходящие: (GSM1 - экстеншн указываем такой какой вы указали в dongle.conf)

exten => _89XXXXXXXXX,1,Dial(Dongle/GSM1/${EXTEN})

На входящие: (Если Вы не указывали номер телефона в модеме, то атрибутом будет буква "s")

exten => s,1,Verbose(${CALLERID(num)})
exten => s,n,GoToIfTime(9:00-17:59:59,mon-fri,*,*?menuivr,s,1)
exten => s,n,GoToIfTime(18:00-08:59:59,mon-fri,*,*?menuivr_night,k,1)
exten => s,n,GoToIfTime(00:00-23:59:59,sat-sun,*,*?menuivr_night,k,1)

Все.

 


Есть вопросы или пожелания? demonik.0789@gmail.com

Сайт: https://asteriskperm.ru/

Группа ВК: ССЫЛКА (Заходим и вступаем! ;D)