Практика настройки mod_gsmopen в Ubuntu Linux для FreeSWITCH

По заявкам читателей быстрый экспресс-пост на тему практической части установки и настройки модуля mod_gsmopen для FreeSWITCH. Времени как всегда на все не хватает, но понимая нужды читателей выделил на это пару-тройку часиков. Установку осуществлял на десктопную версию ubuntu, так как на данный момент не имел на руках ничего кроме моего ноутбука. Итак, перво-наперво нужно повысить свои привелегии в системе до суперпользователя. Я это обычно делаю так:


sudo bash

После того как я в системе имею привилегии пользователя root, я запускаю на инсталяцию следующие утилиты:


apt-get install git-core subversion build-essential autoconf automake libtool libncurses5 libncurses5-dev make libjpeg-dev gawk libz-dev pkg-config libcurl4-openssl-dev libexpat1-dev libgnutls-dev libtiff4-dev libx11-dev unixodbc-dev libssl-dev python2.6-dev zlib1g-dev libzrtpcpp-dev libasound2-dev libogg-dev libvorbis-dev libperl-dev libgdbm-dev libdb-dev python-dev uuid-dev

Для каких-то нужд разработчики рекомендуют использовать вместо awk — gawk, не будем этому противоречить.

update-alternatives --set awk /usr/bin/gawk

Далее переходим в дирикторию, где у нас будут хранится исходные коды FreeSWITCH и инициализируем клонирование GIT репозитория с сервера проектов.

cd /usr/local/src
git clone git://git.freeswitch.org/freeswitch.git

После того как GIT отработает — переходим в папку с проектом:

cd /usr/local/src/freeswitch

Приступаем к установке FreeSWITCH из исходных кодов (так сказать — from the source). Я помимо всего прочего в файле /usr/local/src/freeswitch/modules.conf активировал нужные мне модули, о чем как-нибудь напишу позднее. Но они не влияют на работоспособность mod_gsmopen поэтому я опускаю свои манипуляции в этом файле до более подробного рассмотрения.


./bootstrap.sh
./configure
make
make install
make sounds-install
make moh-install
make sounds-ru-install
make samples

Итак после корректной установки FreeSwitch для установки mod_gsmopen

apt-get install gsm-utils
apt-get install libgsmme-dev

В моем случае исходники, стянутые GIT’ом лежат тут:
cd /usr/local/src/freeswitch/src/mod/endpoints/mod_gsmopen/libctb-0.16/build
делаем:

make DEBUG=1 GPIB=0
make DEBUG=1 GPIB=0 install
ldconfig
cd /usr/local/src/freeswitch/src/mod/endpoints/mod_gsmopen/

make clean
make install

Тут у меня выскочила ошибка об отсутствии libctb, я повторил шаги

cd /usr/local/src/freeswitch/src/mod/endpoints/mod_gsmopen/libctb-0.16/build
make
make DEBUG=1 GPIB=0 install
ldconfig

затем

cd /usr/local/src/freeswitch/src/mod/endpoints/mod_gsmopen/
make clean
make install

И все собралось без ошибок.
Далее необходимо перейти в директорию с конфигурационным файлом mod_gsmopen, скопировать и отредактировать его.

cd /usr/local/src/freeswitch/src/mod/endpoints/mod_gsmopen/configs/
cp gsmopen.conf.xml /usr/local/freeswitch/conf/autoload_configs/
nano /usr/local/freeswitch/conf/autoload_configs/gsmopen.conf.xml

Далее запускаю FreeSWITCH и подгружаю модуль mod_gsmopen


/usr/local/freeswitch/bin/freeswitch -nonat
load mod_gsmopen

У меня загрузилось, ругнувшись на отсутствие модема в USB порту, а у Вас? :)

 

 

Практика настройки mod_gsmopen в Ubuntu Linux для FreeSWITCH: 24 комментария

  1. Pasha_49

    Спасибо! Но из любопытства начал ставить этот модуль раньше, но немного другим методом. Тоже были какие-то ошибки во время установки, но кое-как установилось. Модем был установлен в системе. Вобщем всё заработало. При звонке на модем поднимается трубка, и со мной начинает говорить автоответчик freeswitch.
    Но я столкнулся с другой пролемой. Цель была — сделать skype шлюз. Тоесть чтоб звонки на скайп переадресовывались на телефон, и наоборот. Кто знает как нормально настроить переадресацию между модулями? У меня получается так, что я начинаю звонитьо с одного скайпа на друго(соедененный с mod_skypopen). Он переадресовывает звонок на mod_gsmopen. Модем начинает звонить на указанный ему телефонный номер. И вот, телефон зазвонил. Но при поднятии трубки звонок срывается. Не знаю что делать…. А в обратную сторону (с телефона на скайп) не получилось настроить.

    1. buch Автор записи

      Могут быть проблемы с кодеками, например. Можно начать с малого — званить со скайпа на mod_skypopen аккаунт и попробовать в диалплане проиграть приветствие или направить вызов на SIP телефон. С SIP то у вас в скайп и обратно все хорошо ходит?

      1. Pasha_49

        Нету SIP телефонии. Ставил freeswitch только для того, чтоб создать skype шлюз. К сожалению плохо ещё разбираюсь в freeswitch, делал всё по мануалам. Но если звонить с телефона, то связь с freeswitch отлично работает, голосовой робот и музыка слышны. Только вот как перенаправить на mod_skypopen не знаю, вернее не получается(не совсем понятна логика диадпланов). Я создал в папке dialplan/default файлик 02_gsmopen.xml с таким содержимым: http://pastebin.com/yEpjmbZX (переадресация не работает)
        Рядом лежащий файл 02_skypopen.xml с похожим содержимым, но с переадресацией на (data=»gsmopen/gsm01/*номер телефона*» ) отлично работает, переалресовывает звонок со скайпа, но при поднятии трубки звонок сбрасывается.

  2. buch Автор записи

    С какого телефона? Как телефон заведен в систему?
    >>Но если звонить с телефона, то связь с freeswitch отлично работает

  3. buch Автор записи

    А вы разобрались в какое место диалплана вы попадаете, когда звоните с мобильного на mod_gsmopen(где слышен этот самый голосовой робот и музыка)? Вот вам бы перед этим прям голосом или музыкой вставить
    action application=»bridge» data=»skypopen/interface1/skypelogin»/
    ну только interface1/skypelogin — должны быть реально Вашими.

  4. dvl36

    «Запилил» на устройстве с ARMv5. Работает. Тестирую. Была небольшая проблема с early media. При звонке с обычной GSM трубки на модем, gsmopen быстро поднимает трубку и дальше идут длинные гудки сгенерированные FreeSwitch-ом. Т.е. даже если вызываемая SIP-сторона не поднимет трубку, мобильный оператор снимет деньги с вызывающей стороны за прослушивание длинных гудков в голосовом канале. Поправил в исходниках gsmopen-а. Но что-то мне кажется что это можно как-то решить настройками. Не знаете ли?

  5. buch Автор записи

    К сожалению никак не найду времени на это дело(даже закупил себе несколько e1550 за недорого), просто GSM меня интересовал в части касающейся мегафона, но с их услугой «Мультифон» я просто поднял SIP транк до них во FreeSWITCH и пользуюсь. ARM железка это круто :) Еще очень интересно, когда в gsm_open заработает USSD запросы, потому как по опыту работы с Asterisk — удобно узнавать баланс. Время еще отнимает новый проект по FreeSWITCH, решил своими силами объединить сообщество и сделал форум — freeswitchforum.com. Думаю Ваша информация про правку исходника для answer тоже была бы полезна, возможно кто-то подскажет про настройки.

  6. dvl36

    Да,USSD не хватает,но пока очень доволен и Freeswitch-ом и opengsm-ом и Debian-ом на ARM-е :) Использую это только 3-й день и пока в этом полный нуб. На freeswitchforum.com зарегистрировался.

  7. buch Автор записи

    Что ж, добро пожаловать :) я пока там правда в основном один отвечаю, но как говорится чем могу — тем помогу. Из любопытного еще вчера с коллегой проинтегрировались с googlo’вским распознаванием речи и скайпом — в итоге что сказал в трубку — приходит текстовым сообщением в скайп. В ближайшее время постараемся опубликовать материал.

  8. Konstantin

    Добрый день.
    Благодарю за статью и прошу внести поправку в части установки пакетов для Debian 8(jessie):


    apt-get install git-core subversion build-essential autoconf automake libtool libncurses5 libncurses5-dev make libjpeg-dev gawk zlib1g-dev pkg-config libcurl4-openssl-dev libexpat1-dev libgnutls28-dev libtiff5-dev libx11-dev unixodbc-dev libssl-dev python2.7-dev libzrtpcpp-dev libasound2-dev libogg-dev libvorbis-dev libperl-dev libgdbm-dev libdb-dev python-dev uuid-dev

Добавить комментарий для tiffany earrings jewelry Отменить ответ

Ваш e-mail не будет опубликован. Обязательные поля помечены *


*

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>