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. Сделать это можно так:

root@computer:$ sudo -i
root@computer:$ apt-get install minicom
root@computer:$ 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)

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

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

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

root@computer:$ 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

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

root@computer:$ 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:

root@computer:$ 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

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

    Reply
    • 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.

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

      Reply
      • Валентин

        09.10.2011

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

        Reply
        • admin

          11.10.2011

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

          Reply
          • Валентин

            11.10.2011

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

        • admin

          19.10.2011

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

          Reply
  • klistrod

    08.10.2011

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

    Reply
  • Jo

    13.10.2011

    Браво.

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

    Reply
    • admin

      13.10.2011

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

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

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

      Reply
      • Jo

        13.10.2011

        AAAaaa…. 🙂

        Reply
  • Jo

    13.10.2011

    И еще одно…

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

    Reply
    • admin

      15.10.2011

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

      Reply
  • 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

    Reply
    • admin

      15.10.2011

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

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

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

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

      Reply
      • abyrvalg

        15.10.2011

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

        asterisk: unrecognized service

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

        Reply
      • abyrvalg

        15.10.2011

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

        Спасибо

        Reply
  • abyrvalg

    14.10.2011

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

    Reply
  • Вячеслав

    24.10.2011

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

    Reply
  • skvot

    04.12.2011

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

    Reply
  • vlm

    29.12.2011

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

    Reply
  • Серегей

    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

    Reply
  • Art

    25.02.2012

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

    Reply
  • 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

    Reply
  • john

    01.03.2012

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

    Reply
  • Romirin

    10.05.2012

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

    Reply
    • Max

      24.05.2012

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

      Reply
      • Igor

        20.08.2014

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

        Reply
  • kulibin

    25.09.2012

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

    Reply
    • kulibin

      02.10.2012

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

      Reply
  • dlf

    22.11.2012

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

    Reply
  • Олег

    12.05.2014

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

    Reply

Добавить комментарий