у меня RT-N16 (kernel 2.6.24.111) + Asterisk 1.18 + chan_datacard от Elected + E1550
При входящем звонке на sim, астер сразу отваливается. Так как победили? куда копать?
ВОт вам E155XUpdate_11.609.18.00.00.B418.zip новая для Хуевода E1550 для прошивке нужен флеш код.. Его получаем с помощью Huawei.zip по IMEI у..
Может чем поможет...
P.S модем свой шил сам.. работает стабильно....
Кстати через него можно еще и видеозвонки совершать... через 3G..
Asus RT-N16 + HDD 250GB + Скрипт для чайников
у меня RT-N16 (kernel 2.6.24.111) + Asterisk 1.18 + chan_datacard от Elected + E1550
При входящем звонке на sim, астер сразу отваливается. Так как победили? куда копать?
остановить падение астериск при звонке на модем на прошивке энтузиастов 2.6.19 не удалось =-(
Спросил lly планируется ли переход на более новую версию ядра. Ответ:"Пока нет так как нет исходников для WI-FI роутера rt-n 16"
Начинаю тесты со своим старым роутером WL500GP V1 на прошивке OpenWRT ядро 2.6.32 буду отписываться как будут новости
так же выкладываю новую версию chan_datacard от уважаемого bg1 с форума http://asteriskforum.ru/viewtopic.ph...asc&start=1785
исходники тут http://code.google.com/p/datacard/
скомпиленная для роутера тут http://iqlab.ru/downloads/chan_datacard_bg1.so
в этой версии много новых команд - фич
определяет зависшие модемы и ребутит их
поддержка устройств тут http://wiki.e1550.mobi/doku.php?id=r...pported_models
E1550 E169 K3520 K3715.
протестирована на Ubuntu 10.04 LTS + asterisk 1.8
очень надежная !
p.s. ну и маленькая мудрость на последок: многие модемы E1550 имеют слот для microSD, то есть можно использовать устройство и как модем и как флешку для раздела /opt :-)
инструкция по настройке
Необходимо подключиться к модему через стандартный HyperTerminal и ввести AT команду:
AT^U2DIAG=0 (девайс в режиме только модем)
AT^U2DIAG=1 (девайс в режиме модем + CD-ROM)
AT^U2DIAG=255 (девайс в режиме модем + CD-ROM + Card Reader)
AT^U2DIAG=256 (девайс в режиме модем + Card Reader, можно использывать как обычную флешку (то что нам и надо)
так же в этом случае не забудьте установить параметр u2duag=256 в конфиге datacard.conf при настройке chan_datacard !!!
Last edited by elected; 09-02-2011 at 16:46.
Сейчас буду занудствовать, нагло пользуясь привилегированным положением
А что было сделано чтобы остановить падение? Есть лог strace? Есть backtrace из gdb? Были попытки собрать debug-версию? Есть хоть один ответ на вопросы из моего письма?
Last edited by Omega; 07-09-2011 at 20:57. Reason: overquoting
MSK | Asus WL-500w | 299Mhz | 128Mb | ver. 1.9.2.7-10 HDD bluescorpio 160Gb int.|console|RS-232|PCMCIA My modding
отвечаю нет !Совместима ли ревизия r184 chan_datacard с asterisk 1.8.2 ?
с asterisk 1.8.2 совместимы вот эти версии
исходники:
http://iqlab.ru/downloads/chan_datacard-175-1.8.zip
http://code.google.com/p/datacard/
готовые либы:
http://iqlab.ru/downloads/chan_datacard18.so
http://iqlab.ru/downloads/chan_datacard_bg1.so
Про дебаг:
На сколько я знаю дебаг версию компилить не нужно , достаточно в астериске включить опцию debug.
Что и было сделано, но я не программер под линукс, и ничего в нем так и не понял.
Про ядро 2.6.32 и выше
в Readme Chan_datacard написано
Ну вот и напрашиваются выводыPHP Code:
Please use a recent Linux kernel, 2.6.33+ recommended.
If you use FreeBSD, 8.0+ recommended.
По поводу компиляции с нужным тулчейном, исходники в свободном доступе кто в курсе как компилировать с нужным тулчейном, пожалуйста откомпильте и выложите, а я оттестирую.
Я компилю прям на роутере командой Make.
По мне так это самая правильная компиляция. хотя я еще раз говорю я не программер.
Может я где то не прав, готов обсуждать. На RT-N 16 мне гораздо приоритетнее запустить этот модуль.
Last edited by elected; 10-02-2011 at 08:47.
Если не сложно, поясни для всех - а зачем был сделан форк проекта? основной мейнтейнер запил или забил??
Если в логе были ошибки, что же ты их не выложил на asteriskforum.ru - может авторы или "программеры под линукс" чего подсказали?Про дебаг:
На сколько я знаю дебаг версию компилить не нужно , достаточно в астериске включить опцию debug.
Что и было сделано, но я не программер под линукс, и ничего в нем так и не понял.
Ну а если уж настолько лениво узнать про азы связывания(link) библиотек, про команды ldd, strace, про получение креш-стека через gdb, может не стоит на зеркало пенять?
И какие именно выводы, кроме того, что автор модуля не будет заниматься бекпортами для старых ядер(что совершенно логично), можно поинтересоваться?Про ядро 2.6.32 и выше
в Readme Chan_datacard написано
Ну вот и напрашиваются выводыPHP Code:
Please use a recent Linux kernel, 2.6.33+ recommended.
If you use FreeBSD, 8.0+ recommended.
Это не так, кросс-компиляция лучше, хотя и чуть сложнее и требует побольше квалификации.По поводу компиляции с нужным тулчейном, исходники в свободном доступе кто в курсе как компилировать с нужным тулчейном, пожалуйста откомпильте и выложите, а я оттестирую.
Я компилю прям на роутере командой Make.
По мне так это самая правильная компиляция. хотя я еще раз говорю я не программер.
Ну так а сам то asterisk откуда взят? optware? самосбор?
Last edited by lly; 10-02-2011 at 09:33.
Чтобы добавить новые функции и испраить баги которые уже очень долго тянутся + совместимость с астером 1.8Если не сложно, поясни для всех - а зачем был сделан форк проекта? основной мейнтейнер запил или забил??
основной мейнтейнер на вопрос совместимости с астером 1.8 ответил что библиотека была написана для асетера 1.6.
астериск 1,8 из репов. Из исходников собрать мне не удалось
PHP Code:
[AR] hash/hash.o hash/hash_bigkey.o hash/hash_buf.o hash/hash_func.o hash/hash_log2.o hash/hash_page.o hash/ndbm.o btree/bt_close.o btree/bt_conv.o btree/bt_debug.o btree/bt_delete.o btree/bt_get.o btree/bt_open.o btree/bt_overflow.o btree/bt_page.o btree/bt_put.o btree/bt_search.o btree/bt_seq.o btree/bt_split.o btree/bt_utils.o db/db.o mpool/mpool.o recno/rec_close.o recno/rec_delete.o recno/rec_get.o recno/rec_open.o recno/rec_put.o recno/rec_search.o recno/rec_seq.o recno/rec_utils.o -> libdb1.a
[LD] ../res/res_adsi.o abstract_jb.o acl.o alaw.o aoc.o app.o ast_expr2.o ast_expr2f.o asterisk.o astfd.o astmm.o astobj2.o audiohook.o autochan.o autoservice.o bridging.o callerid.o ccss.o cdr.o cel.o channel.o chanvars.o cli.o config.o data.o datastore.o db.o devicestate.o dial.o dns.o dnsmgr.o dsp.o enum.o event.o features.o file.o fixedjitterbuf.o frame.o framehook.o fskmodem.o global_datastores.o hashtab.o heap.o http.o image.o indications.o io.o jitterbuf.o loader.o lock.o logger.o manager.o md5.o netsock.o netsock2.o pbx.o plc.o poll.o privacy.o rtp_engine.o say.o sched.o security_events.o sha1.o slinfactory.o srv.o ssl.o stdtime/localtime.o strcompat.o strings.o stun.o syslog.o taskprocessor.o tcptls.o tdd.o term.o test.o threadstorage.o timing.o translate.o udptl.o ulaw.o utils.o version.o xml.o xmldoc.o editline/libedit.a db1-ast/libdb1.a -> asterisk
file.o: In function `ast_readaudio_callback':
/opt/usr/src/asterisk-1.8.2.3/main/file.c:767: undefined reference to `lroundf'
collect2: ld returned 1 exit status
make[1]: *** [asterisk] Error 1
make: *** [main] Error 2
[admin@RT-16N asterisk-1.8.2.3]$
Last edited by elected; 10-02-2011 at 12:15.
Добился работы Asterisk и HUawei e1550, e173 на роутере (wl500gp, wl500w, rt-n16) c модулями chan_dongle, chan_datacard.
Также удалось скомпилировать астер на роутере.
Кому тема еще интересна - отвечу на вопросы.
ASUS RT-N16 1.9.2.7-rtn, Zotac ZBOX (rtorrent@Ubuntu 13.10)
Народ наконец добился работы связки :
asterisk 1.6.13 из репов,
HUAWEI 1550
и chan_datacard 175 с моего сайта http://iqlab.ru/downloads/chan_datacard.so
на прошивке энтузиастов 1.9.2.7-rtn-r2433 хотя я думаю заработает на любой ревизии с ядром 2.6.22
все настраиваем по инструкции которую я описывал выше
в файл modules.conf добавляем
ну вот и весь секретCode:noload => res_timing_timerfd.so noload => res_timing_pthread.so noload => chan_iax2.so
asterisk не будет падать с ошибкой Segmentation Fault
Если нужна подробная инструкция по шагам пишите - сделаю
p.s. Если Модем подключен и не определяется в системе
добавьте в файл /usr/local/sbin/post-mount
Code:kernel="$(uname -r)" kernel=${kernel:0:3} if [ "$kernel" = "2.4" ]; then acm_mod="acm" else acm_mod="cdc-acm" fi usbserial="$(lsmod | grep usbserial)" acm="$(lsmod | grep $acm_mod)" option="$(lsmod | grep option)" [ -z "$usbserial" ] && insmod usbserial; [ -z "$acm" ] && insmod $acm_mod; [ -z "$option" ] && insmod option;
Last edited by elected; 29-07-2011 at 01:29.
Эта инструкция предназначена для тех, кто знает что такое asterisk и умеет хоть немного его администрировать
Итак делаем из RT-N16 шлюз GSM-SIP с 3G модемом Huawei E1550
(подойдут и другие модемы) E173, E169, K3520, K3715, K3765
Заведомо рабочие прошивки модема E 1550 (firmware - не путать с dashboard):
МТС 11.608.12.00.143
11.608.14.15.311 ссылка на прошивку http://depositfiles.com/ru/files/sz0ljt8q4
Нерабочая firmware:
Мегафон 11.608.12.10.209 -при активированном голосе из под винды звонит, из под Linux - нет.
прошивку роутера берем от энтузиастов с ядром 2.6.22
Итак приступим:
1. Покупка модема модема Huawei E1550 (МТС) c прошивкой 11.608.12.00.143
2. Разлочка код разлочки генерируем тут (подставляем IMEI модема получаем код разлочки) http://a-zgsm.com/huawei.php
3. Программу для разлочки прикладываю Unlock.exe http://www.asteriskforum.ru/download...489a1405bebedb
4. В Windows запускаем терминал (Гиперерминал) (Модем должен быть отключён от интернета)
5. Выставьте COM порт (Huawei Mobile Connect 3G Modem)
6. Нажимаем "Connect"
7. В нижней строке прописываем команду AT и нажимаем
ENTER в ответ модем должен написать "OK"
8. Теперь вводим команду:AT^U2DIAG=0 (девайс в режиме только модем)
9. Отсоединяем модем и снова подсоединяем
10 Установка Asterisk 1.6 из репозитория
Код:
установка chan_datacard из исходников (для версии asterisk 1.8 возможно нужно будет взять пропатченную версию chan_datacard http://iqlab.ru/downloads/chan_datacard-175-1.8.zip)Code:ipkg update ipkg install asterisk16
копируем получившийся файл chan_datacard.so в /opt/lib/asteriskCode:svn co http://www.makhutov.org/svn/chan_datacard/trunk/ chan_datacard cd ~/chan_datacard/ ./configure make
если нет компилятора просто берем готовую библиотеку отсюда:
http://iqlab.ru/downloads/chan_datacard.so и копируем ее в в /opt/lib/asterisk
Убедимся что модем Huawei E1550 определился в системе
Если Модем не определяется в системеCode:ls /dev | grep USB ttyUSB0 ttyUSB1 ttyUSB2
добавьте в файл /usr/local/sbin/post-mount
перегрузите роутер снова проверьте определился ли модем в системеCode:kernel="$(uname -r)" kernel=${kernel:0:3} if [ "$kernel" = "2.4" ]; then acm_mod="acm" else acm_mod="cdc-acm" fi usbserial="$(lsmod | grep usbserial)" acm="$(lsmod | grep $acm_mod)" option="$(lsmod | grep option)" [ -z "$usbserial" ] && insmod usbserial; [ -z "$acm" ] && insmod $acm_mod; [ -z "$option" ] && insmod option;
Если модем определился продолжаем!Code:ls /dev | grep USB ttyUSB0 ttyUSB1 ttyUSB2
В файл /opt/etc/asterisk/modules.conf добавляем:
Code:noload => res_timing_timerfd.so noload => res_timing_pthread.so noload => chan_iax2.so
редактируем /opt/etc/asterisk/datacard.conf
перезапускаем asterisk и заходим в консоль asteriskCode:[datacard0] context=datacard-incoming ; context for incoming calls audio=/dev/ttyUSB1 ; tty port for audio connection data=/dev/ttyUSB2 ; tty port for AT commands group=1 ; calling group rxgain=3 ; increase the incoming volume txgain=-4 ; increase the outgoint volume autodeletesms=yes ; auto delete incoming sms resetdatacard=yes ; reset datacard during initialization u2diag=0 ; set U2DIAG parameter (0 = disable everything except modem function) usecallingpres=yes ; use the caller ID presentation or not callingpres=allowed_passed_screen ; set caller ID presentation disablesms=yes ; chan_datacard has currently a bug with SMS reception. When a SMS gets in during a ; call chan_datacard might crash. Enable this option to disable sms reception. ; Default = no
Проверим состояние модема из консоли Asterisk (CLI).Code:# killall asterisk # /opt/sbin/asterisk # /opt/sbin/asterisk -r
Если ответ у Вас похожий - это значит что библиотека заработала и asterisk увидел модем, если нет возвращаемся и ищем в чем проблема.Code:boxer*CLI> datacard show devices ID Group State RSSI Mode Submode Provider Name Model Firmware IMEI IMSI Number datacard0 1 Free 24 3 3 MTS RUS E1550 11.608.12.00.143 35296XXXXXXXXXX 25001XXXXXXXXXX +7916XXXXXXX boxer*CLI>
Далее настройка Asterisk
Для входящих вызовов, sms и ussd запросов настроим /opt/etc/asterisk/extensions.conf:
Код:
Для исходящей связиCode:[datacard-incoming] exten => sms,1,Verbose(Incoming SMS from ${CALLERID(num)} ${SMS}) exten => sms,n,System(echo '${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M:%S)} - ${DATACARD} - ${CALLERID(num)}: ${SMS}' >> /var/log/asterisk/sms.txt) exten => sms,n,Hangup() exten => ussd,1,Verbose(Incoming USSD: ${USSD}) exten => ussd,n,System(echo '${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M:%S)} - ${DATACARD}: ${USSD}' >> /var/log/asterisk/ussd.txt) exten => ussd,n,Hangup() exten => s,1,Dial(SIP/100,,) exten => s,n,Hangup()
применяем изменения из консоли asteriskCode:exten => _X.,1,Dial(Datacard/datacard0/${EXTEN})
запуск asterisk автоматом при загрузке роутераCode:[admin@RT-16N root]$ /opt/sbin/asterisk -r Connected to Asterisk 1.6.2.13 currently running on RT-16N (pid = 606) Verbosity is at least 5 RT-16N*CLI> reload
добавьте в конец файла /usr/local/sbin/post-mount
p.s. Модем должен быть подключен напрямую без хаба и удлиннителей !!!!Code:/opt/sbin/asterisk
Проверяем все должно работать. Задавайте вопросы в этой ветке, по мере возможности буду отвечать
Last edited by elected; 31-07-2011 at 09:55.
Ну вот как то так: http://wl500g.info/showthread.php?t=20873
G729 идет скомпилированный уже насколько я знаю.
Этого требует лицензия
Если его скомпилировали под архитектуру роутера то есть
http://asterisk.ru/codecs
Last edited by Omega; 07-09-2011 at 20:50. Reason: fixed