VoIP-GSM шлюз для Asterisk на USB модеме HUAWEI E1550

Памятка по настройке VOIP-шлюза на IP ATC Asterisk с модемом Huawei E1550 от МТС.
Есть различные типы модемов, с которыми работает Asterisk, посмотреть их настройку а также совместимость можете тут: http://nagg.ru/2011/08/nastroyka-3g-modemov/
Для начала, хочу отметить, что есть важные замечания к железу и ПО, на котором предполагается размещать подобную систему:

1. Рекомендованное ядро Linux 2.6.33+
(оно может быть и выше, но никак не ниже. достоверно известно, что версия ядра в CentOS 5.6 Final – 2.6.18 не подходит для этой роли, голос слышен с сильными искажениями).

2. Версия Asterisk 1.6.+

3. Порты USB 2.0
(некоторые модемы работают и на USB1.1, но E1550 во время звонка отваливается, по нехватке питания)

4. Актуальная прошивка 3G модема: для МТС 11.608.12.00.143 и 11.608.14.15.311 гарантированно рабочие

Установка ОС (ubuntu 10.04 LTS)

1. Скачиваем и устанавливаем: http://www.ubuntu.com/download/ubuntu/download
2. Обновляем систему apt-get update && apt-get upgrade
3. Обновляем релиз до Maverick:

apt-get install update-manager-core

vim /etc/update-manager/release-upgrades
Prompt=normal

do-release-upgrade

Установка asterisk из исходников

1. Скачиваем asterisk http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-1.8-current.tar.gz
2. Распаковываем, устанавливаем необходимые пакеты, собираем и ставим:

tar zxvf asterisk-1.8-current.tar.gz
cd asterisk-1.8-current
apt-get install g++ libncurses-dev libxml2-dev subversion
./configure
make install
make config
make samples

Установка модуля канала chan_dongle

1. Скачиваем модуль канала http://asterisk-chan-dongle.googlecode.com/files/chan_dongle-1.1.r10.tgz
2. Распаковываем, собираем и ставим, копируем конфигурационный файл в директорию asterisk:

tar zxvf chan_dongle-1.1.r10.tgz
cd chan_dongle-1.1.r10.tgz
./configure
make install
cp etc/dongle.conf /etc/asterisk/

Убедимся что модем Huawei E1550 определился в системе

ls -la /dev/ttyUSB*
ttyUSB0
ttyUSB1
ttyUSB2

Проверка работы модулей

asterisk*CLI> dongle show devices
ID           Group State      RSSI Mode Submode Provider Name  Model      Firmware          IMEI             IMSI       Number
dongle0    1     Free       15   3    3       MTS          E1550      11.608.14.15.311  359......        25....... Unknown

Для исходящей связи

exten => _X.,1,Dial(Dongle/dongle0/${EXTEN})

Если у вас возникают трудности или вы не можете сами настроить, можете обращаться за помощью и консультацией.
Удачи!

Related posts:

  1. Installing Asterisk and FreePBX on Ubuntu Server 6.06 LTS This document assumes prior knowledge of how to use Linux...
  2. Установка FreePBX + Asterisk Проект компании Digium – Asterisk. Известен многим, как и вэб...
  3. Asterisk – храним CDR в БД MySQL. Asterisk. Настройка. Статья#1. Складываем CDR в MySQL. Должны быть установлены...
  4. Взлом и защита вашего сервера Asterisk Сегодня я наткнулся на интересную программу – sipvicious. Это SIP...
You can leave a response, or trackback from your own site.

25 Responses to “VoIP-GSM шлюз для Asterisk на USB модеме HUAWEI E1550”

  1. Yu:

    Познавательно!
    Как к астериску прикрутить X-lite, что бы звонить с него через модем?

    • Фомин Сергей:

      Чтобы «прикрутить» X-lite или другой SIP-телефон к asterisk, достаточно завести новый экстеншн в /etc/asterisk/sip.conf или в /etc/asterisk/sip_custom.conf если пользуетесь FreePBX.
      Например добавить номер 3201 с паролем 790886450:
      [3201]
      user=3201
      password=790886450
      context=from-internal
      host=dynamic
      type=friend
      mailbox=3200@default
      dtmfmode=rfc2833

  2. Yu:

    Сразу прошу прощения за откровенно дилетантские вопросы, но с астериском дружу не больше недели :-)

    ubuntu-11.04-alternate-i386, ядро 2.6.38-8-generic
    asterisk-1.8-current + chan_dongle-1.1.r10 – установлены как описано выше в статье
    HUAWEI Е173 – вроде бы работает

    *CLI> dongle show devices
    ID Group State RSSI Mode Submode Provider Name Model Firmware
    Number
    dongle0 0 Free 7 5 4 MTS-RUS E173 11.126.85.00.209

    во всяком случае входящие звонки принимает – тётенька, как и положено при звонке на номер модема, рассказывает по английски про asterisk.

    FreePBX не установлен. Попытки поставить по вашему рецепту:
    http://nagg.ru/2010/09/asterisk-install-freepbx/ – успеха не имели, вероятно не хватило опыта :-(

    Добавил в /etc/asterisk/sip.conf как Вы и посоветовали
    [3201]
    user=3201
    password=790886450
    context=from-internal
    host=dynamic
    type=friend
    mailbox=3200@default
    dtmfmode=rfc2833
    Звонок с X-lite на asterisk не проходит даже по номеру 600 – тётя, но уже с X-lite говорит, что бы попробовал по новому! :-)

    Пожелания такие – хочется звонить и принимать звонки с/на X-lite через HUAWEI Е173 воткнутый в asterisk как с обычного сотового телефона, без лишних разговоров этих тётенек! :-)
    Заранее благодарю за советы и помощь

  3. Фомин Сергей:

    В таком случае, вам нужно создать отдельный контекст, например: from-gsm
    - в файле dongle.conf прописать именно его;
    - в [3201] установить context=from-gsm;
    - в extensions.conf прописать контекст:
    [from-gsm]
    ; —-for incoming call——-
    exten => s,1,Set(CALLERID(all)=${CALLERID(num)})
    exten => s,n,Set(CALLERID(num)=8${CALLERID(num):2})
    exten => s,n,Dial(SIP/3201,20,tr)
    ; —-for outgoing call——-
    exten => _X.,1,Dial(Dongle/dongle0/${EXTEN})

    Успехов!

  4. Yu:

    «В таком случае, вам нужно создать отдельный контекст, например: from-gsm
    - в файле dongle.conf прописать именно его;» – вот про это, честно говоря, не понял, что и как там прописать. Если можно, для наглядности, с конкретным примером?
    Всё остальное сделал как Вы посоветовали. Теперь звонок X-lite => Astrisk => Huawei E173 проходит, но непонятно куда, потому, что на X-lite нет возможности набрать «+7″ Попробовал просто «8″, в результате попадаю куда-то не туда :-), 007 – неправильно набран номер (теперь уже тётя с МТС) :-)
    Входящие как и раньше – тётя Astrisk :-(
    Спасибо!

  5. Yu:

    Перезагрузил астриск, исходящие звонки пошли, а вот входящие всё равно на X-lite не проходят :-(

  6. Фомин Сергей:

    Вот пример, ниже содержимое файла /etc/asterisk/dongle.conf:
    [dongle0]
    context=from-gsm
    audio=/dev/ttyUSB1
    data=/dev/ttyUSB2

  7. Yu:

    Большое спасибо за помощь!
    Тперь идут звонки и исходящие, и входящие с/на X-lite :-)

  8. Yu:

    Сергей, не расскажите как поэтапно GoIP 4 к астериску прикрутить?

  9. Фомин Сергей:

    Не стоит судить строго, это всего лишь образец (напоминалка, если хотите) для тех, кто умеет настраивать, я не претендую на большее. Уважаемый Андрей Смирнов я рад что вы заметили оплошность в моем посте – спасибо. Что касается вашей проблемы – то она решается очень просто, нужно лишь найти причину (find / -name asterisk.h). Всего наилучшего.

  10. Donat:

    Если неправильно выставлен голосовой ttyUSB – в астерисковском теримнали ругань будет? Или его толкьо интересует data?

    Воткнут брелок, пока никак не получить хотя бы сигнал того, что входящий звонок происходит… пытаюсь дебаггить – пока никаких сообщений не выводит.

  11. Фомин Сергей:

    Да, если неправильно выставили – будет ругаться, что-то типа: unable to connect ttyUSBXX
    Попробуйте chown asterisk:asterisk -R /dev/ttyUSB*

    • Donat:

      Все оказалось грустнее – оказывается, я действительно ломился не на ту data

      Итого, заработало так:
      [dongle0]
      audio=/dev/ttyUSB1
      data=/dev/ttyUSB2

      до этого я рубился через НЕПРАВИЛЬНУЮ НАСТРОЙКУ
      [dongle0]
      audio=/dev/ttyUSB0
      data=/dev/ttyUSB2

      и, соответственно,

      Добро пожаловать в minicom 2.5
      ПАРАМЕТРЫ: I18n
      Дата компиляции May 2 2011, 00:39:27.
      Port /dev/ttyUSB0

      Нажмите CTRL-A Z для получения подсказки по клавишам

      OK
      at
      OK

      Т.е. эта железка замечательно отвечает как бэ датой с другого tty (

      • Donat:

        Тьфу, наеправильная настройка была
        audio=/dev/ttyUSB2
        data=/dev/ttyUSB0

        Он видел эту дату, отзывался, но звонки не принимал.

  12. игорь:

    Жаль что статья для профи… для меня как начинающего много вопросов не освещено, которые наверное логично относятся иным к априори.
    cp etc/dongle.conf /etc/asterisk/ – у меня не получается. ибо права на /etc/asterisk/ пренадлежат самому asterisk, тогда как dongle.conf иному юзеру. помогите чайнику.

  13. игорь:

    Умными книжками обложился, теперь нет той проблемы.
    встала иная, при вызове ./configure
    ошибки – не находит файл asterisk.h!! Тут уже книжки не помогут ))

  14. игорь:

    Всем спасибо, извините за беспокойство! Всё получилось! Отличная статья, век живи, век учись. При звонке астериск поднимает трубку и женский голос начинает сообщение с поддравления. А что дальше делать? Как конфигурировать все настройки? Там чтобы иной голос был, чтобы по нажатию клавиш срабатывали разные правила типа переадресации и прочее?
    Заранее благодарю!

    • Фомин Сергей:

      Игорь, все не расскажешь, но по основам приема звонка я писал коммент: http://nagg.ru/2011/09/voip-gsm-shlyuz-dlya-asterisk-na-usb-modeme-huawei-e1550/#comment-470.
      Также очень рекомендую прочитать, именно прочитать! книгу: Астериск – будущее айпи телефонии, это поможет Вам в дальнейшем.

      • игорь:

        Спасибо, Сергей!
        Буду разбираться.

        Видел пару тройку сайтов в рунете с доменами содержащих слово «asterisk» (может есть и больше), наверное есть какой-нибудь мощный наиболее полный мануал! Трудно сдержаться собирая инфу по частям, хочется сразу всё изучить и начать конфигурирование! :)

  15. игорь:

    Нашёл ещё одну интересную книжку, кому надо: linsoft.ru/files/Asterisk/the-asterisk-handbook-v2-rus.pdf

    ещё есть вопрос

    Сергей, я всё устанавливал по Вашей статье, есть ли особые рекомендации как установить GUI? Можно ли по этой статье wiki.enchtex.info/howto/asterisk/asterisk-ubuntu-10.04 (Установка GUI)? Ничего не слетит?

  16. игорь:

    Пардон, ещё вопрос. При включении серва, мне постоянно приходится выдёргивать HUAWEI E1550 и вставлять заново, и только после определяется ls /dev/ttyUSB*
    /dev/ttyUSB0 /dev/ttyUSB1 /dev/ttyUSB2 – можно ли сделать чтобы при включении серва не приходилось этого делать? Можно его научить «автоматом» обнаруживать устройство?

  17. Ден:

    настраивал ктонибудь на сетевом хранилище?
    к примеру http://www.dlink.ua/dns_addons
    http://dlink.ru/ru/products/120/1716_d.html

  18. Борис:

    Доброй ночи . Статья супер !!!! Спасибо !
    не подскажите как при наличии двух модемов звонить выборочно через один или другой … третий модем ?

    знаю что дело в диалпланах. но голова уже едит кругом

    если не тяжело пример показать

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

    [dongle1]
    audio=/dev/ttyUSB4
    data=/dev/ttyUSB5

    • Фомин Сергей:

      Выборочно можно, только кто будет выбирать?

      • Борис:

        ну я думал добавочную цифру вводить например

        99+номер моб телефона => dongle0
        номер моб телефона => dongle1

Оставить комментарий

*