Ubuntu 11.04 + Asterisk 1.8.6 + FreePBX 2.9 + настройка Sipnet + модем Huawei E1750. – Часть 3. – (Подключение модема Huawei E1750 к FreePBX.)

В этой части я расскажу о настройке модема Huawei E1750 для работы с FreePBX. Предыдущие части:

Часть 1 — Установка Asterisk и FreePBX

Часть 2 — Настройка FreePBX для работы с аккаунтом Sipnet

А теперь перейдем к установке и настройке модема. Для нормальной работы модема отключим на нем CardReader и виртуальный CD-ROM. Сделать это можно так:

sudo -i
apt-get install minicom
minicom -s

Выбираем настройку последовательного порта:

Нажимаем А и редактируем порт — /dev/ttyUSB0 после этого жмем два раза Enter и нажимаем Выход.

После подключения к модему введем команду — AT^U2DIAG=0

Выходим нажав Ctrl-A а потом Q

CardReader и виртуальный CD-ROM отключены можно продолжать.

Если понадобиться обратно включить CardReader или виртуальный CD-ROM вам могут понадобиться эти команды:

AT^U2DIAG=0 (девайс в режиме только модем)
AT^U2DIAG=1 (девайс в режиме модем + CD-ROM)
AT^U2DIAG=255 (девайс в режиме модем + CD-ROM + Card Reader)
AT^U2DIAG=256 (девайс в режиме модем + Card Reader)

Теперь установим модуль необходимый для работы модема:

svn co https://www.makhutov.org/svn/chan_datacard/trunk/ /usr/src/chan_datacard
cd /usr/src/chan_datacard
./configure
make
make install
cp etc/datacard.conf /etc/asterisk

Отредактируем файл конфигурации модуля модема:

nano /etc/asterisk/datacard.conf

Удаляем всё после последней черты в конфиг файле и вставляем:

[000101]
context=from-gsm         ; context для входящих звонков
audio=/dev/ttyUSB1        ; tty порт для аудио подключения
data=/dev/ttyUSB2         ; tty порт для управляющих AT комманд модема
group=1              ; Группа вызова
rxgain=10             ; Изменение громкости динамика
txgain=-5             ; Изменение громкости микрофона
resetdatacard=yes         ; Перезагрузка модема при перезапуске модуля
autodeletesms=yes         ; Удаление смс с симкарты при перезапуске
usecallingpres=yes        ; use the caller ID presentation or not
callingpres=allowed_passed_screen ; set caller ID presentation

Создадим конфигурационный файл для входящих подключений:

nano /etc/asterisk/extensions_custom.conf

И вставим в него следующий текст:

[from-gsm]
exten => s,1,Set(CALLERID(all)=${CALLERID(num)})
exten => s,n,Set(CALLERID(num)=8${CALLERID(num):2})
exten => s,n,goto(from-trunk,${IMEI},1)

Перезапустим Asterisk:

service asterisk restart

Теперь осталось настроить FreePBX для работы с модемом. В админке FreePBX во вкладке Setup выберем раздел Trunks и нажмем Add Custom Trunk:

Зададим имя нашему транку Trunk Name — например Modem, Outbound CallerID — телефонный номер модема, Dialed Number Manipulation Rules — вместо match pattern укажем точку ( . ), в Custom Dial String укажем — datacard/i:123456789012345/$OUTNUM$ — где 123456789012345 это IMEI модема. Сохраняем транк нажатием Submit Changes и применяем нажатием Apply Configuration Changes.

Теперь для того чтобы совершать звонки через наш модем, создадим правило для исходящих звонков. Во вкладке Setup в разделе меню Outbound Routes нажмем Add Route. Назовем правило Route Name — например From_Modem, Route CID — телефонный номер модема, Dial Patterns — вместо match pattern например 079XXXXXXX для звонков на 10-ти значные номера которые начинаются на 079.

Ниже в Trunk Sequence выберем транк который мы создали для модема. Сохраним нажатием Submit Changes и применим нажатием Apply Configuration Changes.

Осталось создать правило для входящих звонков которые мы будем принимать через модем. Для этого во вкладке Setup в разделе Inbound Routes нажмем Add Incoming Route. В Description укажем имя нашего правила — например From_Modem, в DID Number — IMEI модема.

Ниже в Set Destination выберем Extensions и выберем внутренний аккаунт 100 на который мы будем переадресовывать входящие звонки с модема. Сохраним нажав Submit и применим нажав Apply Configuration Changes.

Вот и всё модем установлен и настроен. Наша FreePBX может, как совершать звонки через модем, так и принимать. Надеюсь, вам эта информация окажется полезной.

31 комментарий

  • Валентин

    05.10.2011

    Полезные статьи! молодец!!! подскажите как реализовать прием смс? ввиду того что у вас только звонки, возможно ли сделать и прием смс?

    • admin

      05.10.2011

      Прием смс можно реализовать добавив в конфиг — /etc/asterisk/extensions_custom.conf — следующие строки:

      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()

      Приниматься смс будут в текстовый файл — /var/log/asterisk/sms.txt

      А уже этот файл например можно обрабатывать скриптом и отправлять полученные смс на email.

      Другого способа на данный момент не знаю. Если придумаю что-нибудь более удобное напишу об этом отдельную статью.

      • Валентин

        09.10.2011

        Парень большущее спасибо, все что ты пишешь реально работает!!! еще бы подсказал скриптец обработки смс сообщений из файла, что бы на мыло уходили. Ты молодец! Спасибо еще раз.

        • admin

          11.10.2011

          Возможно в ближайшем времени напишу статью и скрипт по этому поводу.

          • Валентин

            11.10.2011

            Спасибо, жду с нетерпением!

        • admin

          19.10.2011

          Вот и нашел время написать статью про прием смс и отправку их на почту — https://cyber-notes.net/ubuntu/ubuntu-huawei-sms-to-mail.html

  • klistrod

    08.10.2011

    Еще бы написать как установить ко всему этому добру A2Biling и SalesPlatform VtigerCRM
    Вообще было бы очень круто !!!!!!!!!

  • Jo

    13.10.2011

    Браво.

    Один только вопросик по datacard.conf
    Что имелось ввиду под «Удаляем всё после последней черты в конфиг файле…»
    Где там «последняя черта»?

    • admin

      13.10.2011

      Конфиг разделён на секции вот такими линиями —

      ;————————————————————————————

      вот после последней такой черты в конфиг файле и надо всё стереть и вставить нужное.

      • Jo

        13.10.2011

        AAAaaa…. 🙂

  • Jo

    13.10.2011

    И еще одно…

    Ubuntu несколько тяжел. Много там всего напичкано в погоне за универсальностью. Хотелось бы облегчить Linux и собрать его только для использования Астериск-а.
    В связи с чем вопросы:
    1. Все то же самое по установке применимо и к Gentoo?
    2. Чтобы без лишних штучек, но все в Астере завелось по полной, Вам неизвестен список пакетов и их последовательность к установке? (нужно для Gentoo, как Вы уже догадались) 😉

    • admin

      15.10.2011

      На Gentoo не пробовал это подымать, поэтому ответа как реализовать, дать не смогу.

  • abyrvalg

    14.10.2011

    Все класс… Но вот это портит жизнь:

    WARNING[2212]: chan_datacard.c:108 opentty: Unable to open ‘/dev/ttyUSB2’

    (или USB1, или любой другой USB, который указан в параметре data в файле datacard.conf)

    В итоге, datacard show devices устройств нет 🙁
    datacard0 1 Not connec 0 0 0

    • admin

      15.10.2011

      Сталкивался с такой ситуацией. Полноценного решения не нашёл, единственное что могу посоветовать делать следующие действия после запуска системы:

      рестартуем asterisk
      sudo -i
      service asterisk restart

      проверяем стал ли видеть модем
      asterisk -r
      datacard show devices

      у меня в таких случаях после рестарта asterisk всегда начинает видеть модемы.

      • abyrvalg

        15.10.2011

        service asterisk restart (под рутом) выдает:

        asterisk: unrecognized service

        Из астериск CLI нельзя рестартануть? или из вэб-интерфейса FreePBX?

      • abyrvalg

        15.10.2011

        Почитал тут. Сдается мне, что дело в правах. Как посмотреть, имеет ли достаточные права пользователь root (из под которого все устанавливалось и собственно пытаюсь настроить), а также пользователь Asterisk… Что там за права должны быть у него? Под него даже войти не могу… (видимо он disabled).
        В общем, нужен небольшой чек-лист что проверить (группы, права, пользователи)…

        Спасибо

  • abyrvalg

    14.10.2011

    Забыл добавить. ls /dev | grep USB выдает:
    ttyUSB0
    ttyUSB1
    ttyUSB2

  • Вячеслав

    24.10.2011

    Спасибо за инструкцию, очень помогла.
    Ставил ubuntu на vmware, модем был huawei e1780 — всё заработало : звук, смс.
    Осталось настроить под себя freepbx.
    Спасибо еще раз

  • skvot

    04.12.2011

    День добрый!
    Подскажите пожалуйста как реализовать подключение 2 и более модемов…
    И как реализовать такую штуку: у опсоса есть вторая линия, как сделать так чтоб астериск подавал какой нибудь сигнал… ведь на сотовый подается сигнал втором вызове..
    И переадресация, .. как послать абонента в удержание (реализуемое опсосом) …и набрать номер с этой же линии… ну и при необходимости организовать конференцию..
    логически таким методом можно сделать переадресацию при звонке на астериск… с использованием 1 линии (1 gsm модема….) к примеру на внешний телефон…
    Кстати
    e153 заработал без разлочки, а e 1550 от мегафона пришлось «прошить» мтс отмычкой)… но че то он не работает…буду курить его…

  • vlm

    29.12.2011

    Автору уважуха, расписывает просто отлично,для начинающих самое то…..

  • Серегей

    28.01.2012

    Статья крутая, все нравится и все работает, за исключением одной проблемы, не работает с провайдером теле2, как быть, с билайном работает. Пишит ошибку в момент набора [Jan 28 09:51:32] WARNING[5509]: func_strings.c:1292 function_eval: EVAL requires an argument: EVAL()
    [Jan 28 09:51:32] WARNING[5509]: __channel.c:358 channel_request: Request to call on device ‘i:357123039005698’ which can not make call at this moment
    [Jan 28 09:51:32] WARNING[5509]: app_dial.c:2218 dial_exec_full: Unable to create channel of type ‘datacard’ (cause 44 — Requested channel not available)
    [Jan 28 09:51:32] WARNING[5509]: file.c:653 ast_openstream_full: File all-circuits-busy-now does not exist in any format
    [Jan 28 09:51:32] WARNING[5509]: file.c:959 ast_streamfile: Unable to open all-circuits-busy-now (format 0x4 (ulaw)): No such file or directory
    [Jan 28 09:51:32] WARNING[5509]: app_playback.c:475 playback_exec: ast_streamfile failed on SIP/401-00000009 for all-circuits-busy-now,noanswer
    [Jan 28 09:51:32] WARNING[5509]: file.c:653 ast_openstream_full: File pls-try-call-later does not exist in any format
    [Jan 28 09:51:32] WARNING[5509]: file.c:959 ast_streamfile: Unable to open pls-try-call-later (format 0x4 (ulaw)): No such file or directory
    [Jan 28 09:51:32] WARNING[5509]: app_playback.c:475 playback_exec: ast_streamfile failed on SIP/401-00000009 for pls-try-call-later,noanswer.
    Модем все определился и выдает строчку asterisk*CLI> datacard show devices ID Group State RSSI Mode Submode Provider Name Model Firmware IMEI IMSI Number
    000101 1 GSM not re 0 0 0 NONE E1550 11.608.12.00.143 357123039005XXX 250203203661XXX Unknown

  • Art

    25.02.2012

    А каким образом можно подключить модем ZTE MF180

  • john

    01.03.2012

    я о последней настройке…
    у меня нет в Set Destination пункта Extensions,
    только Feature Code Admin, Terminate, Trunks. Почему?
    И как правильно создать sip пользователя, чтоб звонить?
    При исходящем звонке: chan_sip.c:22058 handle_request_invite: Call from ‘john’ (192.168.3.1:5060) to extension ‘9234020595’ rejected because extension not found in context ‘from-gsm’

    в /etc/asterisk/sip_custom.conf
    [john]
    user=john
    password=1
    context=from-gsm
    host=dynamic
    type=friend
    mailbox=3200@default
    dtmfmode=rfc2833

  • john

    01.03.2012

    разобрался, просто было пропустил часть 2 ))

  • Romirin

    10.05.2012

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

    • Max

      24.05.2012

      Все работает, но на исходящие короткий гудок и сброс. Подскажите пожалуйста, почему так происходит?

      • Igor

        20.08.2014

        У меня аналогично…

  • kulibin

    25.09.2012

    Не работает почему то глухая переадрессация на моб телефон. звоню на симку, которая в ubuntu 12.04, она переводит на номер 300 и на этом все. Переадрессацию ставил в Follow Me :
    300
    89093451234#
    В чем может быть проблема?

    • kulibin

      02.10.2012

      Разобрался, это я хотел перенаправлять с того же хуавея, при занятой линии, не вышло. автору огромное спасибо.

  • dlf

    22.11.2012

    При звонке у человека звонящего со стороны gsm есть эхо, как исправить?

  • Олег

    12.05.2014

    Привет!
    Можно рассчитывать на помощь ? пусть даже платную!!!
    Задача такая 2 телефона Входящих .
    2 Исходящих.
    VOIR на входящих
    и пока Все!

Comments are closed.