Skip to content

x-guest/mjdmfs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

06d6922 · Apr 24, 2021

History

9 Commits
Mar 21, 2021
Mar 21, 2021
Mar 21, 2021
Mar 21, 2021
Apr 24, 2021
Apr 24, 2021

Repository files navigation

MajorDoMo & FreeSWITCH

Скрипт автоматической установки и настройки MajorDoMo и FreeSWITCH под операционную систему Debian 10

Данный скрипт предназначен для
упрощения процесса установки и настройки,
системы домашней автоматизации MajorDoMo,
так же установки и настройки,
платформы VoIP телефонии FreeSWITCH.

Установка MajorDoMo

① Запуск скрипта.

Обязательно запуск скрипта выполняем из под пользователя root (запускаем терминал и входим в систему на которую будем устанавливать и настраивать, MajorDoMo и/или FreeSWITCH с логином и паролем root пользователя)
  • Шаг.1 Скачиваем файлы скрипта в директорию /root/* командой wget https://github.com/x-guest/mjdmfs/raw/master/mjdmfs.zip
  • Шаг.2 Распаковываем архив скаченного скрипта в директорию /root/* командой unzip mjdmfs.zip
  • Шаг.3 Запускаем сам скрипт из директории /root/* командой sudo bash ./mjdmfs.sh или sudo bash /root/mjdmfs.sh

Ниже приведен в пример графическое отображение ваших пошаговых действий.

Установка MajorDoMo

Все скаченные и распакованные файлы необходимы для корректной работы данного скрипта. После установки и настройки всех необходимых компонентов, файлы можно будет удалить из директории root/*, список файлов приведен ниже.

  1. /root/mjdmfs.sh - Сам файл bash скрипта.
  2. /root/freeswitch/vars.xml - Файл конфигурации переменных FreeSWITCH.
  3. /root/freeswitch/autoload_configs/modules.conf.xml - Файл конфигурации модулей FreeSWITCH.
  4. /root/freeswitch/autoload_configs/xml_rpc.conf.xml - Файл конфигурации модуля XML RPC.
  5. /root/freeswitch/sip_profiles/internal.xml - Файл конфигурации внутреннего профиля FreeSWITCH.

② Установка MajorDoMo.

Обратите внимание, весь процесс установки системы домашней автоматизации MajorDoMo, является полностью автоматическим и начнётся сразу без подтверждения действия после ввода значения предложенного в главном меню скрипта, пример графического отображения меню приведен ниже.

Установка MajorDoMo

На данном этапе выбираем нужное нам значение, предложенное в меню (рис. выше с лево) путем ввода значения 2 (нажимаем клавишу 2 ) что бы запустить установку MajorDoMo.

Если ранее устанавливали MajorDoMo на данную систему, скрипт обнаружит установленный сервис MajorDoMo и Вам будет предложено переустановить систему домашней автоматизации (рис. выше с право), соответственно для переустановки вводим значение 2

Обратите внимание, ввод значений ограничен, в случае ввода не правильного значения (отсутствующее в данном меню), будет отображено соответствующее сообщение об ошибке, в таком случае следуем подсказкам в появившемся сообщении, вводим любое значение затем вводим значения 2 для установки или переустановки системы домашней автоматизации MajorDoMo.

Весь процесс установки и настройки системы домашней автоматизации MajorDoMo займет ~30 минут, для оценки времени выполнения установки можно обратить внимание на лог хода установки, все выполняемые действия подписаны и пронумерованы от 1 до 93 , для визуального представления работы скрипта, ниже приведён в пример графического отображение процесса установки и настройки.

Установка MajorDoMo

В процессе выполнения скрипта, установка приостановится и будет ожидать ввода с клавиатуры (рис. выше), ниже описаны причины и действия.

  1. ~20-й минута установка приостановится будет ожидать ввода libmcrypt prefix, следуйте подсказки в сообщении – просто нажмите ENTER установка продолжится.
  2. ~25-я минута, на данном этапе установка приостановится будет ожидать ввода придуманного вами пароля, для конфигурации подключения к базе данных, следуйте подсказки в сообщении – введите пароль для подтверждения нажмите ENTER установка продолжится.

Обратите внимание, весь процесс установки и настройки полностью автоматизирован и не требует Ваших действий, вплоть до ~20-й и ~25-й минуты установки с момента запуска, по завершению система автоматически перезагрузится.

После успешной установки воспользуйтесь любым браузером для входа в web интерфейс системы домашней автоматизации MajorDoMo, который будет доступен по IP адресу Вашего сервера (в адресной строке браузера введите http://ваш.ip.адрес.системы ).

Запомните важную информацию!
  1. Web интерфейс vlc плейера, будет доступен по адресу: http://ваш.ip.адрес.сервера:7070 Логин: пустой Пароль: password
  2. Для конфигурации MQTT брокера используйте: Hostname: localhost Port: 1883
  3. Для доступа к базе данных используйте: Логин: root Пароль: введенный вами на ~25-й минуте установки .

③ Установка FreeSWITCH.

Аналогично как с установкой MajorDoMo (см. выше), процесс установки является полностью автоматическим и начнётся сразу без подтверждения действия после ввода значения предложенного в главном меню скрипта, пример графического отображения меню приведен ниже.

Установка MajorDoMo

На данном этапе выбираем нужное нам значение, предложенное в меню (рис. выше с лево) путем ввода значения 3 (нажимаем клавишу 3 ) что бы запустить установку FreeSWITCH.

Если ранее устанавливали FreeSWITCH на данную систему, скрипт обнаружит установленный пакет FreeSWITCH и Вам будет предложено переустановить платформу VoIP телефонии FreeSWITCH (рис. выше с право), соответственно для переустановки вводим значение 3 .

Ввод значений ограничен, в случае ввода не правильного значения (отсутствующее в данном меню), будет отображено соответствующее сообщение об ошибке, в таком случае следуем подсказкам в появившемся сообщении, вводим любое значение затем вводим значения 3 для установки или переустановки платформы VoIP телефонии FreeSWITCH.

Обратите внимание, весь процесс установки полностью автоматизирован и займет ~20 минут.

В отличие от процесса установки системы домашней автоматизации MajorDoMo (см. выше) установка платформы VoIP телефонии FreeSWITCH не требует Ваших действий вообще (запустили скрипт установки и через ~20 минут, платформа VoIP телефонии FreeSWITCH готова к настройке), по завершению установки система автоматически перезагрузится.

④ Настройка FreeSWITCH.

Так же, как с процессом установки (см. выше), настройка является полностью автоматическим процессом и начнётся сразу без подтверждения действия после ввода значения предложенного в главном меню скрипта, пример графического отображения меню приведен ниже.
Обратите внимание, данный пункт меню будет доступен только если в системе будет установлена, платформа VoIP телефонии FreeSWITCH.

В ходе выполнения настройки конфигурации FreeSWITCH будут добавлены новые файлы на сервер, предыдущие версии файлов не будут удалены, они остаются в системе помеченными как файл.noload (переименованы).

Установка MajorDoMo

На данном этапе выбираем нужное нам значение, предложенное в меню (рис. выше с лево) путем ввода значения 4 (нажимаем клавишу 4 ) что бы запустить настройку FreeSWITCH.

Если ранее настраивали FreeSWITCH на данной системе, скрипт обнаружит настроенный web интерфейс FreeSWITCH и Вам будет предложено перенастроить платформу VoIP телефонии FreeSWITCH (рис. выше с право), соответственно для перенастройки вводим значение 4 .

Для представления самого процесса настройки ниже приведен в пример ход действий для возможности настройки платформы VoIP телефонии FreeSWITCH вручную.

Обратите внимание все действия приведенные ниже необходимо произвести только в том случае если НЕ БУДЕТЕ настраивать платформу VoIP телефонии FreeSWITCH с помощью данного скрипта т.е. будете настраивать в ручную. При запуске настройки скриптом, Важно! правильно произвести "① Запуск скрипта" (см. выше), все настроенные файлы будут закачены на Ваш сервер, при этом предыдущие версии файлов остаются в системе помеченными как файл.noload (переименованы).

  1. На чистом FreeSWITCH по умолчанию web интерфейс управления отсутствует, на данном этапе установим и настроим web интерфейс.
  • Создаем и директорию и загружаем в нее файлы web интерфейса.
    • Командой mkdir /usr/share/freeswitch/htdocs/portal создаем директорию usr»share»freeswitch/htdocs/portal
    • Скачиваем файлы PORTAL (web интерфейса) в директорию usr»share»freeswitch/htdocs/portal командой git clone https://github.com/seven1240/FreeSWITCH-Portal.git /usr/share/freeswitch/htdocs/portal .
  • Активируем необходимые системные модули, открываем файл etc»freeswitch»autoload_configs» 🞄modules.conf.xml для редактирования командой sudo nano /etc/freeswitch/autoload_configs/modules.conf.xml .
    • По умолчанию системные модули деактивированы (закомментированы), находим 4 строки:
    • <!-- <load module="mod_xml_rpc"/> -->
    • <!-- <load module="mod_xml_curl"/> -->
    • <!-- <load module="mod_httapi"/> -->
    • <!-- <load module="mod_say_ru"/> -->
    • приводим их к следующему виду (если не нашли нужную строку - добавьте ее в конце файла до строки </modules>)
    • <load module="mod_xml_rpc"/>
    • <load module="mod_xml_curl"/>
    • <load module="mod_httapi"/>
    • <load module="mod_say_ru"/>
  • Настраиваем модуль XML RPC, открываем файл etc»freeswitch»autoload_configs» 🞄xml_rpc.conf.xml для редактирования командой sudo nano /etc/freeswitch/autoload_configs/xml_rpc.conf.xml .
    • Активируем web сокеты, находим строку </settings> перед ней вставляем следующею строку <param name = "enable-websocket" value = "true" /> .
    • Для деактивации ввода логина и пароля при входе в web интерфейс и выполнения GET/POST запросов, находим строки:
    • <param name="auth-realm" value="freeswitch"/>
    • <param name="auth-user" value="freeswitch"/>
    • <param name="auth-pass" value="works"/>
    • приводим их к следующему виду
    • <!-- <param name="auth-realm" value="freeswitch"/> -->
    • <!-- <param name="auth-user" value="freeswitch"/> -->
    • <!-- <param name="auth-pass" value="works"/> -->
  1. Устраняем задержку в 10 секунд при наборе номера и устанавливаем Русский язык по умолчанию.
  • Открываем файл etc»freeswitch» 🞄vars.xml для редактирования командой sudo nano /etc/freeswitch/vars.xml .
    • Меняем пароль для VoIP абонентов, находим строку <X-PRE-PROCESS cmd="set" data="default_password=1234"/> приводим ее к следующему виду <X-PRE-PROCESS cmd="set" data="default_password=1111"/>.
    • Устанавливаем Русский язык по умолчанию, находим строку <X-PRE-PROCESS cmd="set" data="sound_prefix=$${sounds_dir}/en/us/callie"/> приводим ее к следующему виду <X-PRE-PROCESS cmd="set" data="sound_prefix=$${sounds_dir}/ru/RU/vika"/> затем под ней добавляем строку <X-PRE-PROCESS cmd="set" data="default_language=ru"/> .
    • Продолжаем устранять задержку в 10 секунд при наборе, находим строку <X-PRE-PROCESS cmd="set" data="use_profile=external"/> приводим ее к следующему виду <X-PRE-PROCESS cmd="set" data="use_profile=internal"/>
    • Изменяем регион по умолчанию, находим строку <X-PRE-PROCESS cmd="set" data="default_country=US"/> приводим ее к следующему виду <X-PRE-PROCESS cmd="set" data="default_country=RU"/>
    • Если будете звонить наружу из FreeSWITCH измените код набора по умолчанию, находим строку <X-PRE-PROCESS cmd="set" data="default_areacode=918"/> приводим ее к следующему виду <X-PRE-PROCESS cmd="set" data="default_areacode=375"/> обратите внимание код "375" это Беларусь, вам надо вставить Ваш код региона.
  • Открываем файл etc»freeswitch»sip_profiles» 🞄internal.xml для редактирования командой sudo nano /etc/freeswitch/sip_profiles/internal.xml .
    • Продолжаем устранять задержку в 10 секунд при наборе, находим 2 строки <param name="ext-rtp-ip" value="$${external_rtp_ip}"/> и <param name="ext-sip-ip" value="$${external_sip_ip}"/> приводим их к следующему виду <param name="ext-rtp-ip" value="auto-nat"/> и <param name="ext-sip-ip" value="auto-nat"/> .
Запомните важную информацию!
  1. Web интерфейс FreeSWITCH, будет доступен по адресу: http://ваш.ip.адрес.сервера:8080/portal/index.html

Вход в Web интерфейс FreeSWITCH без ввода логина и пароля - отключен при настройке по умолчанию Логин: freeswitch Пароль: works

  1. Системный пароль для VoIP абонентов так же изменен на новый 1111 - по умолчанию был 1234.

Полезные ссылки

MajorDoMo     FreeSWITCH     Debian 10    

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages