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

Проблемы/вопросы, связанные с запуском под различными платформами и конфигурациями.

Модератор: immortal

x-guest
Сообщения: 4
Зарегистрирован: Вс июл 29, 2018 2:11 am
Благодарил (а): 5 раз
Поблагодарили: 6 раз

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

Сообщение x-guest » Ср апр 07, 2021 12:06 pm

Изображение
Данный скрипт предназначен для упрощения процесса установки и настройки, системы домашней автоматизации MajorDoMo, так же установки и настройки, платформы VoIP телефонии FreeSWITCH.
Руководство по запуску скриптаПоказать
① Запуск скрипта.
Обязательно запуск скрипта выполняем из под пользователя 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
Ниже приведен в пример графическое отображение ваших пошаговых действий.

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

Сам файл bash скрипта.

Код: Выделить всё

/root/mjdmfs.sh
Файл конфигурации переменных FreeSWITCH.

Код: Выделить всё

/root/freeswitch/vars.xml 
Файл конфигурации модулей FreeSWITCH.

Код: Выделить всё

/root/freeswitch/autoload_configs/modules.conf.xml
Файл конфигурации модуля XML RPC.

Код: Выделить всё

/root/freeswitch/autoload_configs/xml_rpc.conf.xml
Файл конфигурации внутреннего профиля FreeSWITCH.

Код: Выделить всё

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

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

Если ранее устанавливали MajorDoMo на данную систему, скрипт обнаружит установленный сервис MajorDoMo и Вам будет предложено переустановить систему домашней автоматизации (рис. выше с право), соответственно для переустановки вводим значение 2
Переустановка корректно пройдет только в случае если ранее устанавливали MajorDoMo на Вашу систему данным скриптом.
** Web сервер поднят на чистом Apache без установки и надстройки Nginx - т.е. если у Вас ранее был установлен MajorDoMo, Вам необходимо настроить конфигурационный файл Nginx.


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

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

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

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

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

Запомните важную информацию!
Web интерфейс vlc плейера, будет доступен по адресу:

Код: Выделить всё

 http://ваш.ip.адрес.сервера:7070

Логин: пустой
Пароль:

Код: Выделить всё

 password
Для конфигурации MQTT брокера используйте:
Hostname:

Код: Выделить всё

localhost

Port: Для доступа к базе данных используйте:
Логин: Пароль:
введенный вами на ~25-й минуте установки.

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

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

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

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

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

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

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


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

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

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

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

На чистом 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"/> -->
Устраняем задержку в 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"/>
Запомните важную информацию!
Web интерфейс FreeSWITCH, будет доступен по адресу:

Код: Выделить всё

http://ваш.ip.адрес.сервера:8080/portal/index.html
Вход в Web интерфейс FreeSWITCH без ввода логина и пароля - отключен при настройке по умолчанию
Логин:

Код: Выделить всё

freeswitch
Пароль: Системный пароль для VoIP абонентов так же изменен на новый по умолчанию был
Журнал изменений скрипта - отслеживания исправлений
24.04.2020 - Исправлена ошибка IVR менюПоказать
В файле:

Код: Выделить всё

/etc/freeswitch/lang/ru/ru.xml
Строка:

Код: Выделить всё

<language name="ru" sound-prefix="$${sounds_dir}/ru/RU/elena" tts-engine="cepstral" tts-voice="elena">
Исправлено на:

Код: Выделить всё

<language name="ru" sound-prefix="$${sounds_dir}/ru/RU/vika" tts-engine="cepstral" tts-voice="elena">
Последний раз редактировалось x-guest Вт апр 27, 2021 12:28 pm, всего редактировалось 2 раза.
За это сообщение автора x-guest поблагодарили (всего 6):
SmoKE_xDDD (Ср апр 07, 2021 12:39 pm) • skysilver (Ср апр 07, 2021 2:12 pm) • prmres (Ср апр 07, 2021 6:38 pm) • Sapizdullin (Ср апр 07, 2021 9:25 pm) • Gasinskiy (Ср апр 07, 2021 10:41 pm) • udvnl (Чт апр 08, 2021 9:29 am)
Рейтинг: 6.98%
udvnl
Сообщения: 91
Зарегистрирован: Чт июн 21, 2018 11:03 am
Откуда: Минск
Благодарил (а): 30 раз
Поблагодарили: 30 раз

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

Сообщение udvnl » Чт апр 08, 2021 12:57 pm

Попробовал установить для начала Majordomo этим скриптом на базовый образ v4_44 с несколькими установленными дополнениями.
Итак:
установилось с небольшой пляской. После установки моя база сохранилась, но дополнения не запускались, нужно вручную перезакачать из маркета дополнений.
1) Рекомендую до начала установки остановить и отключить nginx т.к. на последних образах (4_хх) установлен nginx а скрипт устанавливает апач:

Код: Выделить всё

sudo systemctl stop nginx.service
sudo systemctl disable nginx.service
Иначе при установке сыпет ошибки, после рестарта majordomo не подымается.
70 из 93 Обновляем и перезапускаем службы.
httpd not running, trying to start
(98)Address already in use: AH00072: make_sock: could not bind to address [::]:80
(98)Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
AH00015: Unable to open logs
Action 'restart' failed.
The Apache error log may have more information.
2) Не прописался в файле config.php пароль от БД, который вводил при установке скриптом, поэтому тоже страница не открывалась, ошибка .
Access denied for user 'root'@'localhost' (using password: NO)
В строку файла /usr/www/config.php прописать свой пароль.
Define('DB_PASSWORD', '');
3) после перезагрузке перезакачать ранее установленные дополнения.

По поводу freeswitch это довольно обширная тема, попробую потихоньку дополнить.
За это сообщение автора udvnl поблагодарил:
x-guest (Сб апр 10, 2021 11:13 am)
Рейтинг: 1.16%
Аватара пользователя
prmres
Сообщения: 428
Зарегистрирован: Пт ноя 24, 2017 2:24 am
Откуда: оттуда
Благодарил (а): 113 раз
Поблагодарили: 123 раза

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

Сообщение prmres » Пт апр 09, 2021 6:27 pm

udvnl писал(а):
Чт апр 08, 2021 12:57 pm
Попробовал установить для начала Majordomo этим скриптом на базовый образ v4_44 с несколькими установленными дополнениями.
Итак:
установилось с небольшой пляской.
прошу прощения, но:
базовый образ 4.44 = Debian 10 ???
Не только лишь все!
udvnl
Сообщения: 91
Зарегистрирован: Чт июн 21, 2018 11:03 am
Откуда: Минск
Благодарил (а): 30 раз
Поблагодарили: 30 раз

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

Сообщение udvnl » Пт апр 09, 2021 10:12 pm

прошу прощения, но:
базовый образ 4.44 = Debian 10 ???
Да,
cat /etc/os-release
PRETTY_NAME="Raspbian GNU/Linux 10 (buster)"
NAME="Raspbian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=raspbian


Как то, более двух лет назад, пробовал устанавливать на Debian 9, но там пришлось собирать из исходников, процесс установки описывал в блоге и на хабре. После выхода LTS Debian 10, уже и не пробовал.
Кстати, насколько мне известно из описаний базового образ версия 3_хх - Debian 9 и апачь, 4_xx Debian 10 и nginx. Посмотреть можно в корне загрузочного диска должен быть файл типа v4_44_int.txt.
За это сообщение автора udvnl поблагодарил:
prmres (Пт апр 09, 2021 10:15 pm)
Рейтинг: 1.16%
Аватара пользователя
prmres
Сообщения: 428
Зарегистрирован: Пт ноя 24, 2017 2:24 am
Откуда: оттуда
Благодарил (а): 113 раз
Поблагодарили: 123 раза

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

Сообщение prmres » Пт апр 09, 2021 10:15 pm

ясно, спасибо!
Не только лишь все!
udvnl
Сообщения: 91
Зарегистрирован: Чт июн 21, 2018 11:03 am
Откуда: Минск
Благодарил (а): 30 раз
Поблагодарили: 30 раз

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

Сообщение udvnl » Пт апр 09, 2021 10:18 pm

prmres писал(а):
Пт апр 09, 2021 10:15 pm
ясно, спасибо!
А какой у вас вопрос? По установке FS, может чем помогу? или общий разум сообщества поможет.
Аватара пользователя
prmres
Сообщения: 428
Зарегистрирован: Пт ноя 24, 2017 2:24 am
Откуда: оттуда
Благодарил (а): 113 раз
Поблагодарили: 123 раза

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

Сообщение prmres » Сб апр 10, 2021 10:11 am

udvnl писал(а):
Пт апр 09, 2021 10:18 pm
А какой у вас вопрос? По установке FS, может чем помогу? или общий разум сообщества поможет.
пока никакого
какое-то время назад ставил MD на дебиан, но не одолел звук, алиса молчала (на счет остального не помню)
Не только лишь все!
x-guest
Сообщения: 4
Зарегистрирован: Вс июл 29, 2018 2:11 am
Благодарил (а): 5 раз
Поблагодарили: 6 раз

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

Сообщение x-guest » Сб апр 10, 2021 11:52 am

udvnl писал(а):
Чт апр 08, 2021 12:57 pm
Попробовал установить для начала Majordomo этим скриптом на базовый образ v4_44 с несколькими установленными дополнениями.
Итак:
установилось с небольшой пляской. После установки моя база сохранилась, но дополнения не запускались, нужно вручную перезакачать из маркета дополнений.
1) Рекомендую до начала установки остановить и отключить nginx т.к. на последних образах (4_хх) установлен nginx а скрипт устанавливает апач:
2) Не прописался в файле config.php пароль от БД, который вводил при установке скриптом, поэтому тоже страница не открывалась, ошибка
3) после перезагрузке перезакачать ранее установленные дополнения.

По поводу freeswitch это довольно обширная тема, попробую потихоньку дополнить.
Все верно, и за того, что базовый образ работает на nginx, установка не проходит корректно – сам скрипт делал под чистую систему. Т.Е. если переустанавливаете Majordomo данным скриптом система корректно работать не будет потому как на выходе получаем 2-а неправильно настроенных веб сервера (nginx + apache), для корректной работы связки nginx + apache нужно править конфиги – на просторах интернета есть очень много статей по настройки данной связки, вот пример community.vscale.io настройки под Ubuntu. В дальнейшем планирую связать nginx + apache в одну связку, если у кого есть наработки и опыт по данной теме «Велкам» к обсуждению.
udvnl
Сообщения: 91
Зарегистрирован: Чт июн 21, 2018 11:03 am
Откуда: Минск
Благодарил (а): 30 раз
Поблагодарили: 30 раз

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

Сообщение udvnl » Сб апр 10, 2021 1:41 pm

У меня небольшое предложение: прежде чем заниматься настройкой, использованием и интегрированием IP АТС (Fresswitch) в систему Умного Дома (MajorDoMo) давайте пообсуждаем, а зачем АТС в УД?
Моё виденье:
В первую очередь FS (FreeSwitch) - это IP АТС и основное назначение обеспечение двусторонней (и более) голосовой и видео связи между абонентами. Казалось бы зачем, если есть голосовые помощники, терминалы, видеокамеры, и другие устройства. Но они в первую очередь обеспечивают связь между абонентом и сервером умного дома. Между двумя человеками это всё таки не свойственная им функция.
Итак рассмотрим применение FS в MD, сугубо моё имхо.
1) Голосовая и видеосвязь в режиме реального времени между двумя и более абонентами: устройства вызова, домофоны и видеодомофоны, видео глазки и просто телефоны (наверное может быть востребовано при автоматизации небольшого частного бизнеса - мини отели, небольшие магазины и прочее). Из этого пункта вытекает и использвание вторичных возможностей как АТС (типа ДВО), так и системы УД: переадресациии по разным условиям, допустим если никого нет дома и идет вызов от домофона, то почему бы его не отправить на мобильный телефон, или включение конференц связи - вызов поступает на несколько устройств.
2) Второй пункт вытекает из первого, если есть обеспечение связи, значит есть и возможность записи, что аудио разговоров, что видео. Это никак не заменяет видеонаблюдение, но допустим ставить видеокамеру направленную на посетителя и дублирующую видеодомофон, несколько избыточно.
2-а - почтовый ящик, типа система записи аудио/видео сообщений и проигрывание (отправка) на телефон (планшет, компьютер)
3) Небольшая система голосового оповещения на мобильный телефон в случае экстренной ситуации (аварии). На мой взгляд всё таки это несколько оперативнее, чем push уведомления.
4) Возможность управления отдельными элементами умного дома при отсутствии, или же нестабильности интернета. Возможно осуществление через SMS сообщения или же сигналы DTMF.
Вроде бы у меня больше мыслей насчёт применения нет, может кто дополнит или предложит ещё использование SIP АТС?
Практически всё это осуществимо из коробки Freeswitch, но как обычно бывают затруднения.
потом предлагаю пообсуждать практическое использование ПО для SIP и FS на оконечных устройствах: смартфонов/планшетах, ПК, типа DIY терминалах.
udvnl
Сообщения: 91
Зарегистрирован: Чт июн 21, 2018 11:03 am
Откуда: Минск
Благодарил (а): 30 раз
Поблагодарили: 30 раз

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

Сообщение udvnl » Сб апр 17, 2021 11:11 pm

Немного продолжу. Может кому и пригодится.
Для взаимодействия абонентов с сервером VoIP (в нашем случае Freeswitch) можно использовать:
Аппаратные решения (SIP телефоны, домофоны, вызывные панели и прочие терминальные устройства); программные SIP клиенты (софтфоны).
Для отладки я использую на Windows ПК: MicroSIP (наиболее часто мною используемая программа) поддерживает видео, довольно много кодеков, легкая и бесплатная без навязывания своих сервисов и серверов; PhonerLite, довольно большая отладочная информация. Но нет поддержки видео, Linphone.
На Android устройствах: Linphone, PortSip, MizuDroid и др.
Кроме того, возможно использование встраиваемых в web сервер SIP веб клиентов JsSIP, SIP.js, sipml5 (сходу у меня настроить пока не получилось).
Немного затрону ещё про одно отладочное средство – консоль Freeswitch. Довольно много отладочной информации, просмотр разного рода информации, отправка команд и управление SIP сервером.
Вызов консоли: sudo fs_cli
Выход из консоли CTRL+d, /exit или /bye
После настройки скриптом, зарегистрировав несколько абонентов в локальной сети, с номерацией 1000_10019 Допустим 10001 и 1002 (на разных sip клиентов) и набрав с одного номера на другой у нас устанавливается голосовое (или видео) соединение.
Однако попробовав набрать незарегистророванный, несуществующий номер или же 5000 - номер IVR меню происходит отбой.
В консоли можно увидеть ошибку:

Код: Выделить всё

[WARNING] mod_sndfile.c:281 Error Opening File [/usr/share/freeswitch/sounds/ru/RU/elena/ivr/ivr-welcome_to_freeswitch.wav] [System error : No such file or directory.]
Поправим это:

Код: Выделить всё

sudo nano /etc/freeswitch/lang/ru/ru.xml
Приводим строку с директорией русских звуков к такому виду:
<language name="ru" sound-prefix="$${sounds_dir}/ru/RU/vika" tts-engine="cepstral" tts-voice="elena">
Ранее было директория elena, если решили собирать freeswitch сами, она работает, при установки из apt -нет.
Сейчас набрав номер 5000 отвечает русскоязычное голосовое меню, при наборе незарегестрированного абонента/несуществующего - системное сообщение и оправка на запись в голосовую почту/ или же что то абонент не существует.
Потом если кому интересно рассмотрим диалплан, подключение к внешним провайдерам и возможность управления звонками из Majordomo.
Ответить