Page 1 of 9 123 ... LastLast
Results 1 to 15 of 276

Thread: SIP-GSM шлюз на роутере (asterisk+chan-datacard/dongle/gtalk)

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1

    Post SIP-GSM шлюз на роутере (asterisk+chan-datacard/dongle/gtalk)

    SIP-GSM шлюз из RT-N16 на прошивке энтузиастов (Инструкция)

    Эта инструкция предназначена для тех, кто знает что такое 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 из репозитория

    Code:
    ipkg update
    ipkg install asterisk16
    установка chan_datacard из исходников (для версии asterisk 1.8 возможно нужно будет взять пропатченную версию chan_datacard http://iqlab.ru/downloads/chan_datacard-175-1.8.zip)

    Code:
    svn co http://www.makhutov.org/svn/chan_datacard/trunk/ chan_datacard
    cd ~/chan_datacard/
    ./configure
    make
    копируем получившийся файл chan_datacard.so в /opt/lib/asterisk/modules/

    если нет компилятора просто берем готовую библиотеку отсюда:
    http://iqlab.ru/downloads/chan_datacard.so и копируем ее в в /opt/lib/asterisk/modules/

    или
    для asterisk 1.6.2.22

    (аналог chan_datacard c расширенным функционалом)
    http://code.google.com/p/asterisk-chan-dongle/
    ссылка на готовый скомпилированный модуль
    http://iqlab.ru/downloads/chan_dongle.so

    Убедимся что модем 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

    Code:
    [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 и заходим в консоль asterisk

    Code:
    # killall asterisk 
    # /opt/sbin/asterisk
    # /opt/sbin/asterisk -r
    Проверим состояние модема из консоли Asterisk (CLI)

    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 увидел модем, если нет возвращаемся и ищем в чем проблема.

    Далее настройка 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()
    Для исходящей связи

    Code:
    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
    запуск asterisk автоматом при загрузке роутера
    добавьте в конец файла /usr/local/sbin/post-mount

    Code:
    /opt/sbin/asterisk
    p.s. Модем должен быть подключен напрямую без хаба и удлиннителей !!!!

    Проверяем все должно работать. Задавайте вопросы в этой ветке, по мере возможности буду отвечать
    Last edited by elected; 27-02-2012 at 12:32. Reason: fixed

  2. #2
    Скажу сразу, невзлетит.

    Сама по себе железка ничего неумеет (как win модем) отсюда и ценник низкий. Весь функционал вынесен в ПО. И тут начинается самое интересное ,) Одновременно можно использовать либо сип, либо скайп и никак иначе. Софт хоть и есть под различные оси, но только для PC платформы. Заявленная совместимость со звездой тоже сомнительна ибо так и ненашел через какой канальный драйвер оно работает. С недавних пор к звезде можно прикрутить скайповый модуль, но за деньги и тока на PC. И это только навскидку, если копнуть поглубже, думаю повылазит поболее.

    По поводу обходных маневров... Малой кровью думаю никак. Тут либо комп + эта поделка и возможность пользовать скайп, либо нормальный аппаратный шлюз ~10 к.р. и выход через какойнить сипнет.

  3. #3
    Народ по мативам
    http://www.asterisk-pbx.ru/wiki/doku.php/new2

    заморочился я на такую тему, asterisk + GSM шлюз (недорого) и все это на роутере RT-N16 или WL500G.
    После долгого изучения выяснилось, что самое бюджетное решение - это использовать в качестве GSM шлюза модем HUAWEI 1550 продаваемый опсосами.
    Дешевле и лучше всего приобрести его у МТС так как у них в модемах предактивированы голсовые функции.

    Для успешной работы этой связки нужно:

    1. Версия ядра Linux 2.6 лучше из последних
    2. Asterisk 1.6
    3. библиотека chan_datacard
    4. ну и сам модем с прошивкой 11.608.12.00.143 или 11.608.14.15.311

    все это мною прекрасно собралось и работает на Ubuntu
    (чтобы понимать что идея не утопична)

    Далее ставлю из репозитория на роутере asterisk16
    компилирую chan_datacard
    настраеваю

    и что получается: модем принимает звонок переадресовывает на SIP, а когда я беру трубку asterisk падает
    в CLI логов нет

    Давайте обсуждать пробовать кому интересно

    Вот результат моей работы

    Linux version 2.6.22.19 (root@localhost) (gcc version 4.3.5 (GCC) ) #1 Fri Jul 16 05:15:13 MSD 2010

    библиотека лежит тут уже собранная
    может подойдет и для других устройств типа DIR - 320
    http://iqlab.ru/downloads/chan_datacard.so

    asterisk ее успешно подгружает
    PHP Code:
    Connected to Asterisk 1.6.2.12-rc1 currently running on RT-16N (pid 2710)

    RT-16N*CLImodule show like chan_
    Module Description 
    Use Count
    chan_datacard
    .so Datacard Channel Driver 0
    chan_agent
    .so Agent Proxy Channel 0
    chan_bridge
    .so Bridge Interaction Channel 0
    chan_local
    .so Local Proxy Channel (Noteused internal 0
    chan_phone
    .so Linux Telephony API Support 0
    chan_sip
    .so Session Initiation Protocol (SIP0
    chan_unistim
    .so UNISTIM Protocol (USTM0
    7 modules loaded 
    И даже вот так !!!!!

    PHP Code:
    RT-16N*CLIdatacard show devices
    ID Group State RSSI Mode Submode Provider Name Model Firmware IMEI IMSI Number
    datacard1 2 Not connec 0 0 0 NONE Unknown
    datacard0 1 Free 13 3 3 MTS RUS E1550 11.608.12.00.143 352965040471672 250016860070453 Unknown 
    то есть модуль работает и определяет подключенный модем

    добился того что звонок принимается и переадресовывается на SIP номер
    но после того как берешь трубку aserisk падает
    segmentation fault

    то есть в принципе работать оно может, но надо доточить !
    Буду Рад любой помощи
    после успешной настройки напишу подробную инструкцию как из роутера сделать GSM - SIP - GSM шлюз
    Attached Files Attached Files
    Last edited by elected; 09-11-2010 at 08:23.

  4. #4

    Мини АТС (MicroPBX)(VoIP-GSM)

    Подскажите, нет случайно готовой прошивки как тут(MicroPBX — цифровая VoIP телефонная станция для дома и малого офиса.) только для премиума и поддержкой VoIP-GSM шлюз?
    Last edited by Sitron; 09-05-2010 at 13:35.

  5. #5
    Join Date
    Mar 2009
    Location
    Default City
    Posts
    2,694
    Blog Entries
    4
    Quote Originally Posted by Sitron View Post
    Подскажите, нет случайно готовой прошивки как тут(MicroPBX — цифровая VoIP телефонная станция для дома и малого офиса.) только для премиума и поддержкой VoIP-GSM шлюз?
    Аsterisk это называется ) например тут есть о установке его на Линксисовский роутер http://mikeoverip.wordpress.com/2008...on-on-openwrt/ (ключевое слово openwrt ))

    Так же можно почитать это - http://www.dslreports.com/forum/r228...WL520GU-router
    Last edited by TReX; 04-05-2010 at 23:30.

  6. #6
    примерно разобрался как установить и настроить Аsterisk, но как быть с подключением huawei 1550 для реализации gsm-шлюза, честно он то больше всего и интересует.
    Может кто занимался этим вопросом, поделитесь опытом.

  7. #7
    Join Date
    Mar 2009
    Location
    Default City
    Posts
    2,694
    Blog Entries
    4
    Quote Originally Posted by Sitron View Post
    примерно разобрался как установить и настроить Аsterisk, но как быть с подключением huawei 1550 для реализации gsm-шлюза, честно он то больше всего и интересует.
    Может кто занимался этим вопросом, поделитесь опытом.
    А причем тут huawei 1550 и гсм шлюз???? Хуайвей это обычный дата модем, голосом он не занимается )

  8. #8
    Quote Originally Posted by TReX View Post
    А причем тут huawei 1550 и гсм шлюз???? Хуайвей это обычный дата модем, голосом он не занимается )
    голос он держит, лично проверял!
    да и не просто так же написали поддержка VoIP-GSM шлюз по первой ссылке.

  9. #9

    установка из openwrt репозитория

    Народ всем привет!
    никак не могу поставить на RT N 16 asterisk 1.6.13 из репозитория openwrt

    подключаю репозиторий в IPKG.conf
    PHP Code:
    src openwrt http://downloads.openwrt.org/snapshots/trunk/brcm47xx/packages 
    делаю ipkg update
    репозиторий нормально читается при установке

    PHP Code:
    ipkg install asterisk16

    Clearing state_want 
    and state_flag for pkg=zoneinfo-northamerica (arch_priority=0 flag=0 want=2)
    Clearing state_want and state_flag for pkg=zoneinfo-pacific (arch_priority=0 flag=0 want=2)
    Clearing state_want and state_flag for pkg=zoneinfo-poles (arch_priority=0 flag=0 want=2)
    Clearing state_want and state_flag for pkg=zoneinfo-simple (arch_priority=0 flag=0 want=2)
    Clearing state_want and state_flag for pkg=zoneinfo-southamerica (arch_priority=0 flag=0 want=2)
    Nothing to be done
    An error ocurred
    , return value4.
    Collected errors
    :
    Cannot find package asterisk16.
    Check the spelling or perhaps run 'ipkg update'
    [admin@RT-16N files]$ 
    Кто знает как поставить ?

  10. #10
    скачай пакет asterisk с репозитория и положи его в папку на роутере
    либо скачай wget-ом прям на роутер
    далее
    ipkg.sh -d /директория куда распаковать пакет install asterisk16

    пакет установится в папку которую укажешь.

  11. #11

    e1550

    Версия ядра должна быть не ниже 2.6.26, а рекомендованная 2.6.33 поэтому У Вас все и падает.

  12. #12
    Join Date
    Nov 2006
    Location
    Russia, Moscow
    Posts
    3,640
    Quote Originally Posted by timid View Post
    Версия ядра должна быть не ниже 2.6.26, а рекомендованная 2.6.33 поэтому У Вас все и падает.
    Просьба воздерживаться от необоснованных и непроверенных утверждений, строка в readme относится к ванильным ядрам x86. Или вы можете подсказать какие именно новые функции ядра 2.6.26(2.6.33) требует Asterisk 1.6? Или может вы проверили, что эти функции не забекпорчены в ядро 2.6.22 прошивки? Тогда беру свои слова обратно.

    elected
    Поскольку ты написал туманно
    Далее ставлю из репозитория на роутере asterisk16
    то, предполагая что речь идёт об репозитории optware, проблема в uClibc/тулчейне. Вариант только один - пересобирать всё самому и, лучше тулчейном с wl500g.googlecode.com. Ну и с gdb поковырятся было бы неплохо.
    Last edited by lly; 30-10-2010 at 08:33.

  13. #13
    Join Date
    Jan 2008
    Location
    msk
    Posts
    210
    Ставил астер 1.6 и 1.8 на WL500g Premium, т.е. ядро 2.4

    То же самое творится, звонки проходят, но астер валится когда поднимаешь трубку.
    MSK | Asus WL-500w | 299Mhz | 128Mb | ver. 1.9.2.7-10 HDD bluescorpio 160Gb int.|console|RS-232|PCMCIA My modding

  14. #14
    Quote Originally Posted by Mr.Hunt View Post
    Ставил астер 1.6 и 1.8 на WL500g Premium, т.е. ядро 2.4

    То же самое творится, звонки проходят, но астер валится когда поднимаешь трубку.
    Не будет на 2.4 работать. А версия USB какая на Вашем девайсе?

  15. #15
    Join Date
    Jan 2008
    Location
    msk
    Posts
    210
    Quote Originally Posted by timid View Post
    Не будет на 2.4 работать. А версия USB какая на Вашем девайсе?
    USB версия чего именно ?
    Почему не будет на 2.4 работать ?
    MSK | Asus WL-500w | 299Mhz | 128Mb | ver. 1.9.2.7-10 HDD bluescorpio 160Gb int.|console|RS-232|PCMCIA My modding

Page 1 of 9 123 ... LastLast

Similar Threads

  1. Установка и настройка asterisk на роутере
    By ptabashov in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 247
    Last Post: 04-11-2021, 08:59
  2. Asus WL-500g Premium и шлюз
    By Grig_oriy in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 106
    Last Post: 15-05-2012, 20:43
  3. Asterisk 1.6.0.1-1 IPK gesucht
    By schufti in forum German Discussion - Deutsch (DE)
    Replies: 4
    Last Post: 31-01-2010, 15:03
  4. Asterisk
    By Alex9er in forum WL-700g Firmware Discussion
    Replies: 1
    Last Post: 26-09-2007, 18:43

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •