Добавляем в Asterisk 1.8 поддержку gsm сетей.
0. Сначала нужно подготовить модем(в моем случае Huawei E1550),
а) перешить, запустить exe файл(сразу и голос появится)
б) разлочить, поможет dc-unlocker
в) активировать голос, поможет dc-unlocker
г) отключить неиспользуемые устройства, dc-unlocker или Asterisk
д) убрать пин из карточки, Руки
е) воткнуть модемы в хаб d-link H7(180грн), Руки
Для получения анлоккода и флешкода(для перепрошивки) нам поможет
http://a-zgsm.com/huawei.php
Для отключения ненужных устройств нужно с помощью dc-unlockera отослать AT команду AT^U2DIAG=0
Из годных прошивок народ рекомендует
E155XUpdate_11.608.14.15.311.B418
прошивки на модемы можно найти здесь http://dc-files.com/
ГЛЮЧНАЯ 11.608.12.10.209
Я использую мегафоновские модемы они уже разлочены + активирован голос, единственное что нужно сделать сменить прошивку!цена вопроса 200грн(могу сказать где брал:)
Отключить ненужные устройства можно и с помощью консоли астериска, но для начала нужно его собрать
1. Скачиваем http://code.google.com/p/asterisk-chan-dongle/downloads/list
2. Распаковываем
3. Заходим в распакованную папку, делаем
./configure gmake gmake install
4. Конфигурируем модем
Если вы не отключили кардридер и виртуальный сдром на 0 шаге тогда
audio – cuaUx.2, для data cuaUx.3. могут быть такие, правильная связка портов находится исключительно эмпирическим путем. После отключения ненужных девайсов выставляем порты как в листинге!
(/usr/local/etc/asterisk/dongle) [general] interval=15 ;--- JITTER BUFFER CONFIGURATION --- jbenable = yes jbforce = no jbmaxsize = 200 jbresyncthreshold = 1000 jbimpl = fixed ;----- ; shablon dl9 modemov ; opisuvaem odinakovie nastrojki dl9 vseh [E1550_t](!) context=incom ; context for incoming calls rxgain=0 ; increase the incoming volume txgain=0 ; increase the outgoint volume autodeletesms=yes ; auto delete incoming sms resetdongle=yes ; reset datacard during init u2diag=0 ; only modem function usecallingpres=no ; use the caller ID presentation callingpres=allowed_passed_screen ; set caller ID presentation disablesms=no ; disable of SMS reading from device when received language=ru callwaiting=no [kyivstar](E1550_t) audio=/dev/cuaU0.1 ; tty for audio connection data=/dev/cuaU0.2 ; tty for AT commands group=1 ; calling group [mts](E1550_t) audio=/dev/cuaU3.1 ; tty for audio connection data=/dev/cuaU3.2 ; tty for AT commands group=1 ; calling group [life](E1550_t) audio=/dev/cuaU6.1 ; tty for audio connection data=/dev/cuaU6.2 ; tty for AT commands group=1 ; calling group
5. Для того, чтобы Asterisk получил доступ к портам дадим пользователю asterisk доступ к ресурсам группы dialer.
pw groupmod dialer -M asterisk
6. перезапускаемс звездочку
7. проверка что все работает
dongle show devices ID Group State RSSI Mode Submode Provider Name Model Firmware life 1 Free 30 3 3 life:) E1550 11.608.13.02.00 ... mts 1 Free 28 3 3 MTS UKR E1550 11.608.13.02.00 ... kyivstar 1 Free 9 3 3 UA-KYIVSTAR E1550 11.608.13.02.00 ...
Есть и один глюк который пока не удалось решить, периодически зависает модем МТС украина, только принимает звонки, на форумах народ говорит это связано с положением модема и вышки(вышка мтс прямо над модемом).
Небольшое дополнение по АТ:
выполнение команд:
CLI> dongle cmd evice AT_command
АТ^SYSCFG=mode, order, band, roaming, domain
Mode
2 Automatic search
13 2G ONLY
14 3G ONLY
16 No change
Order
0 Automatic search
1 2G first, then 3G
2 3G first, then 2G
3 No change
Band
80 GSM DCS systems
100 Extended GSM 900
200 Primary GSM 900
200000 GSM PCS
400000 WCDMA IMT 2000
3FFFFFFF Any band
40000000 No change of band
Roaming
0 Not supported
1 Roaming is supported
2 No change
Domain
0 CS_ONLY
1 PS_ONLY
2 CS_PS
3 ANY
4 No changе
ПРИМЕР:
AT^SYSCFG=13,0,3FFFFFFF,0,3 – modem 2G only, automatic search any band, no roaming
UDIAG
AT^U2DIAG=0 (девайс в режиме только модем)
AT^U2DIAG=1 (девайс в режиме модем + CD-ROM)
AT^U2DIAG=255 (девайс в режиме модем + CD-ROM + Card Reader)
AT^U2DIAG=256 (девайс в режиме модем + Card Reader)
AT+CCWA=0,0,1 отключаем режим ожидания
AT+CFUN=1,1 перезагрузка модема
AT+CFUN=x 0 Low power mode 1 Online 4 Offline 6 Reset device 7 Turn off radio
AT^CARDLOCK=”code” отправка анлок кода
Активация голоса:
AT^CVOICE=0 (включено)
AT^CVOICE=1 (выключено)
AT^CVOICE=? (запрос состояния)
Уровень сигнала:
AT+CLVL=? (Доступные значения)
AT+CLVL? (текущее значение)
AT+CLVL=N (установить значение N)
Уровни rssi:
0 :-113 dBm или меньше
1 :-111 dBm
2 до 30 : -109 до 53 dBm
31 : 51 dBm или больше
99 : не известно или нельзя определить
Более детальную информацию о соте, уровне сигнала итд можно получить выполнив команду
dongle show device state имя_донгла(прописывали в dongle.conf)
Решение проблем:
1. Если Asterisk сообщает, что хранилище SMS переполнено: [mts] SMS storage is full – удалите все сообщения с помощью команды в консоли Asterisk:
Clear SMS sim memory
dongle cmd name_dongle AT+CPMS=\"SM\",\"SM\",\"SM\" dongle cmd name_dongle AT+CMGD=1,4
Clear SMS dongle memory
dongle cmd name_dongle AT+CPMS=\"ME\",\"ME\",\"ME\" dongle cmd name_dongle AT+CMGD=1,4
2. Звонящий (GSM → SIP) не слышит гудков, в трубке зловещая тишина
Для решения проблемы нужно использовать опцию ‘m’ (music on hold) или ‘r’ в Dial()
exten => s,n,Dial(SIP/111@sip,30,m) exten => s,n,Dial(SIP/111@sip,30,r)
3. Не отправляются DTMF символы A,B,C,D
Это нормально Huawei модемы такого не умеют:)
4. Если не определяется Ваш номер (Unknown)
dongle cmd mts AT+CPBS=\"ON\" dongle cmd mts AT+CPBW=1,\"+380951111111\",145
UPD1: Если вдруг после обновления астера ВЫ не обнаружите модуль донгла, то пересобрать и поставить его(модуль) заново, перезапустите астер и будет Щастье 🙂
Список рекомендованной литературы:
http://wiki.e1550.mobi
http://blog.tavda.net/2011/07/freebsd-82asterisk-185-huawei-e150.html