Инструкция по использованию сервера openmcu

Содержание:

Установка и настройка СУБД

В качестве СУБД будем использовать MariaDB. Для ее установки вводим:

yum install mariadb-server

Разрешаем автозапуск сервера и стартуем его:

systemctl enable mariadb

systemctl start mariadb

Задаем пароль для суперпользователя mysql:

mysqladmin -u root password

Подключаемся к базе данных:

mysql -u root -p

Создаем базу данных:

> CREATE DATABASE openmeetings DEFAULT CHARACTER SET ‘utf8’;

* где openmeetings — имя создаваемой базы данных.

Создаем пользователя:

> GRANT ALL PRIVILEGES ON openmeetings.* TO ‘usermeeting’@’localhost’ IDENTIFIED BY ‘password_meeting’ WITH GRANT OPTION;

* где openmeetings — имя созданной нами базы данных; usermeeting — пользователь; password_meeting — пароль.

Выходим из командной оболочки mariadb:

> \q

Предыдущие версии

Версия 3.48

Первый релиз: 2014-05-02

Основные доработки:

  • HTTPS (при использовании ptlib 2.6/2.10);
  • страница «Статус»:

    • сортировка;
    • более детальная информация о терминалах;
    • копирование данных в виде BBCode, HTML;
  • страница «Видеозаписи»:

    информация о свободном пространстве;

  • переработано меню, дозвон из панели пользователей;
  • переработан html, css;
  • favicon;
  • добавлены локализации: украинская, японская;
  • автоматический запуск и остановка записи;
  • статистика по потерянным пакетам;
  • управление звуком (усиление, авторегулировка);
  • используется внешний libopus;

Версия 3.46

Первый релиз: 2013-12-17

Основные доработки:

  • плагины VP8, OPUS;
  • SIP: исходящие вызовы, регистрация, другие доработки;
  • локализация;
  • общий конфигуратор и автоматизированная сборка (GNU Autotools);
  • поддержка новых версий libav/ffmpeg(для кодеков);
  • поддержка аудиокодеков с произвольной частотой дискретизации, автоматическая передискретизация;
  • поддержка ресемплеров libavresample, libsamplerate;
  • индивидуальные настройки терминалов: битрейт, кодеки, имя и т.п.
  • новые многочисленные страницы настроек;
  • возможность удаления конференций;
  • обновление страницы состояния без перезагрузки страницы;
  • другие доработки и исправления ошибок;

Debian

Service control: /etc/init.d/openmcu-ru (start|stop)

Service launch config: /etc/default/openmcu-ru

Service configs: /etc/openmcu-ru/*

Service runs as an unprivileged user ‘mcu’.

Packages are built via auto build script.

Debian 6 ‘Squeeze’

Installation is performed from the repository on the site openmcu.ru. Add the repository and install using the following commands:

wget http://videoswitch.ru/public/OpenMCU-ru/Debian/openmcu-ru.asc -O - | apt-key add -
echo "deb http://videoswitch.ru/public/OpenMCU-ru/Debian/ squeeze main" > /etc/apt/sources.list.d/openmcu-ru.list
apt-get update
apt-get install openmcu-ru

Debian 7 ‘Wheezy’

Installation is performed from the repository on the site openmcu.ru. Add the repository and install using the following commands:

wget http://videoswitch.ru/public/OpenMCU-ru/Debian/openmcu-ru.asc -O - | apt-key add -
echo "deb http://videoswitch.ru/public/OpenMCU-ru/Debian/ wheezy main" > /etc/apt/sources.list.d/openmcu-ru.list
apt-get update
apt-get install openmcu-ru

Автоматическая сборка скриптом

Автор скрипта: vol4enok

Скрипт скачивает исходники OpenMCU-ru, исходники всех необходимых компонентов и выполняет сборку.

Возможность удаления.

Сборка и установка всех компонентов (самого сервера и библиотек) по умолчанию выполняется с префиксом »/opt/openmcu-ru».

Работа скрипта тестируется на дистрибутивах:

  • Ubuntu 12.04 (precise) x86/x86_64
  • Ubuntu 12.10 (quantal) x86
  • Ubuntu 13.04 (raring) x86
  • Ubuntu 14.04 (trusty) x86
  • Debian 6 (squeeze) x86/x86_64
  • Debian 7 (wheezy) x86/x86_64
  • CentOS 5.9 x86/x86_64
  • CentOS 6.4 x86/x86_64
  • Fedora 18 x86/x86_64
  • OpenSUSE 12.3 x86
  • OpenSUSE 13.1 x86 (Нельзя использовать версию sofia-sip из официального репозитория)

Возможно будет работать на «соседних» версиях этих дистрибутивов.

Для запуска скрипта необходимы права root.

Для скачивания исходников (команды «install» и «download») необходим Интернет.

Некоторые настройки сборки можно изменить в файле «openmcu-oci.ini».

Запуск скрипта:

./openmcu-oci {install|download|build|package|uninstall}

install   - Выполнить все действия по сборке и установке.
            (install = download + build + package)
download  - Только скачать исходники.
            Исходники скачиваются в папку "./src",
            содержимое этой папки в последствии не изменяется.
            Можно один раз скачать исходники, а потом выполнять команду build,
            меняя параметры сборки или применяя различные патчи к исходникам.
build     - Выполнить сборку и установить указанную версию.
            Для сборки создается копия папки "./src" с именем "./build".
package   - Собрать DEB/RPM-пакет.
            Сборка пакета не является обязательным для запуска OpenMCU-ru.
            Даже если пакет собрать не удалось - всё равно можно запустить
            только что собранную версию. Сборка пакет - это опциональный шаг.
            Собранный пакет можно установить на другой машине с таким же
            дистрибутивом Linux.
uninstall - Удалить установленную версию.

После сборки и установки можно запустить OpenMCU-ru (из »/opt/openmcu-ru/bin»):

командой «openmcu-ru(-wrapper) -x» для консольного режима

командой «openmcu-ru(-wrapper) -d» для запуска в режиме демона

Софтовые

Таблица со списком софтовых клиентов которые можно использовать с OpenMCU-ru. Кодеки выделенные жирным работают совместно с OpenMCU-ru. Информация в таблице относится не ко всем версиям указанных клиентов. Совместимость с OpenMCU-ru и поддержка кодеков может отличаться в зависимости от версии клиента и операционной системы.

Приложение ОС Лицензия Протоколы Видеокодеки Аудиокодеки
Myphone Windows MPL H.323 H.261, H.263, H.263+, H.264,VP8 G.711, G.722, G.723.1, G.726, G.729,SILK, iLBC, Speex, Opus
Linphone Linux,
Windows,
MacOSX,
Android,
iPhone,
Blackberry
GPLv2 SIP
SRTP, ZRTP
H.263, H.263+, H.264, MPEG4,
X-snow, Theora, VP8
G.711, G.722, G.726, G.726-AAL2, G.729, GSM, AMR-NB,
SILK, iLBC, Speex, Opus
Ekiga Linux,
Windows
GPL H.323, SIP H.261, H.263, H.263+, H.264, MPEG4,
Theora
G.711, G.722, G.722.1, G.726, GSM, AMR-WB, MS-GSM, MS-IMA-ADPCM,SILK, iLBC, Speex
Windows
MacOSX
$100
(2014-04-05)
H.323, SIP H.261, H.263, H.263+, H.264 G.711, G.722, G.722.1, G.728, G.729A,
Siren

Список клиентов, которые теоретически могут работать совместно с OpenMCU-ru, но еще не были достаточно протестированы:

Приложение ОС Лицензия Протоколы Видеокодеки Аудиокодеки Примечание
Linux,
Windows,
MacOSX
GPL SIP
SRTP, ZRTP
H.263+, H.264 G.711, G.722, G.729C, GSM,
SILK, iLBC, Speex, Opus
Требует регистрации на SIP сервере
Linux GPLv3 SIP, IAX2
SRTP
H.263, H.264, MPEG4,
VP8
G.711, G.722, G.729, GSM,
iLBC, CELT, Speex, Opus
Требует регистрации на SIP сервере
Linux GPL SIP H.264,
Theora
Требует регистрации на SIP сервере
Windows GPL SIP
SRTP
H.263+, H.264 G.711, G.722, G.729,
SILK, iLBC, Speex
Требует регистрации на SIP сервере

12) Конфигурирование OpenMeetings

После того, как вы зашли в OpenMeetings перейдите по пунктам:

Administration → Configuration (В русском интерфейсе Администрирование → Конфигурация)


где проверьте и поправьте параметры для конвертации файлов, звука и видео:

Параметры должны быть такими:

swftools_path Value(Значение)= /usr/local/bin

imagemagick_path Value(Значение)= /usr/bin

sox_path Value(Значение)= /usr/local/bin

ffmpeg_path Value(Значение)= /usr/local/bin

office.path Value(Значение)= /usr/lib/libreoffice

jod.path Value(Значение)= /opt/jodconverter-core-3.0-beta-4/lib

Кроме того, если Вы хотите использовать отправку почтовых сообщения для подтверждения регистрации или для приглашений в конференции, следует настроить параметры отправки почты.

Для этого есть следующие параметры:

smtp_server

smtp_port

для соединения по обычному (незащищенному) протоколу smtp_port обычно равер 25.

Однако, сейчас многие почтовые серверы (например mail.ru, yandex.ru) не допускают подключения по незащищенному протоколу. Поэтому, для таких серверов нужно посмотреть параметры подключения почтовых программ (обычно там импользуется другой порт — не равный 25) и еще установить следующие параметры:

mail.smtp.starttls.enable = 1

и иногда требуется установить

oauth2.ignore_bad_ssl = yes

The code has been moved to GitHub in the hope that somebody else will fork and maintain it

в 32-битной системе оказалось, что надо /usr/bin

Configure Asterisk

Enable asterisk MySQL module:
Modify «» section of
as follows:
Add/uncomment the following lines

preload => res_config_mysql.so

				

Configure MySQL module:
Set valid data for MySQL in
:
Example

dbhost = 127.0.0.1
dbname = openmeetings
dbuser = root
dbpass =
dbport = 3306
dbsock = /var/lib/mysql/mysql.sock
dbcharset = utf8
requirements=warn

				

Modify

Add/uncomment the following line:

videosupport=yes
rtcachefriends=yes

				

Increase maxexpiry value to 43200:

maxexpiry=43200

				

Add user for the «SIP Transport»:

type=friend
secret=12345
disallow=all
allow=ulaw
allow=h263
host=dynamic
nat=force_rport,comedia
context=rooms-red5sip

				

Add next lines into the
:

sippeers => mysql,general,sipusers

				

Modify

Add the following section:

; *****************************************************
; The below dial plan is used to dial into a Openmeetings Conference room
; The first line DB_EXISTS(openmeetings/room/ does not belong to the openmeetings application but is the name of astDB containing the astDB family/key pair and values
; To Check if your astDB has been created do the following in a terminal window type the following:
; asterisk –rx “database show”
; If you do not receive an output with that resembles openmeetings/rooms/400## where “##” will equal the extension assigned when you created your room
; If you do not receive the above output check your parameters in /opt/om/webapps/openmeetings/WEB-INF/classes/applicationContext.xml
; Go back into the Administrator Panel and remove the PIN number in each room save the record with no PIN number and then re-enter the pin again resave the record.
; *****************************************************


exten => _400X!,1,GotoIf($[${DB_EXISTS(openmeetings/rooms/${EXTEN})}]?ok:notavail)
exten => _400X!,n(ok),SET(PIN=${DB(openmeetings/rooms/${EXTEN})})
exten => _400X!,n,Set(CONFBRIDGE(user,template)=sip_user)
exten => _400X!,n,Set(CONFBRIDGE(user,pin)=${PIN})
exten => _400X!,n(ok),Confbridge(${EXTEN},default_bridge,)
exten => _400X!,n,Hangup
exten => _400X!,n(notavail),Answer()
exten => _400X!,n,Playback(invalid)
exten => _400X!,n,Hangup


exten => _400X!,1,Confbridge(${EXTEN},default_bridge,sip_user)
exten => _400X!,n,Hangup


; *****************************************************
; Extensions for outgoing calls from Openmeetings room.
; *****************************************************


exten => _400X!,1,GotoIf($[${DB_EXISTS(openmeetings/rooms/${EXTEN})}]?ok:notavail)
exten => _400X!,n(ok),Confbridge(${EXTEN},default_bridge,red5sip_user)
exten => _400X!,n(notavail),Hangup

				

Modify

Add/Modify the following secions:



type=user
marked=yes
dsp_drop_silence=yes
denoise=true


type=user
end_marked=yes
wait_marked=yes
music_on_hold_when_empty=yes
dsp_drop_silence=yes
denoise=true


type=bridge
video_mode=follow_talker

				

To enable Asterisk Manager API modify

Add/Modify the following sections:

enabled = yes
webenabled = no
port = 5038
bindaddr = 127.0.0.1


secret = 12345
deny=0.0.0.0/0.0.0.0
permit=127.0.0.1/255.255.255.0
read = all
write = all

				

Update OpenMeetings with credentials for Asterisk manager. Modify

find
<bean id=»sipDao» class=»org.apache.openmeetings.db.dao.room.SipDao»> uncomment its parameters and set it to your custom values.
set value for
property to unique secret value (can be generated here
https://www.uuidtools.com) and sync it with
of red5sip (see below)

IMPORTANT: this step should be done BEFORE system install/restore otherwise all SIP related room information will be lost

Restart asterisk:

service asterisk restart

				

Стабильная

Текущая стабильная ветка: 4.0

Первый релиз: 2015-01-23

Основные доработки:

  • Регистратор:

    • настройки на странице расширенные→регистратор;
    • SIP-регистратор (прокси-сервер), учетные данные на странице «SIP терминалы»;
    • H.323-гейткипер, учетные данные на странице «H.323 терминалы»;
    • SIP message (сообщения). Отправка сообщений(текст) другим SIP терминалам;
    • SIP subscribe (подписка). Статус контакта для терминала. Статус только внутренний(регистратора), подключен (зарегистрирован), отключен (не зарегистрирован), занят. Так как статус внутренний, так же отображает состояние H.323 терминалов.
  • Внутренние вызовы:

    • между терминалами SIP→SIP, SIP→H.323, H.323→H.323, H.323→SIP;
    • принцип работы: если вызываемый номер = терминал, то вызов на терминал; если такого терминала нет, то вызов в комнату;
    • для терминалов одинаковых типов два режима обработки вызовов:

      • H.323: direct(переадресация, внутри гейткипера), full;
      • SIP: redirect(переадресация), full;
    • для терминалов разных типов всегда режим «full»
  • шифрование SIP:

    • TLS;
    • SRTP, ZRTP, указывается в настройках терминала, по умолчанию «RTP»;
  • RTSP клиент и сервер

    • страницы настроек, возможность создавать несколько серверов с разными настройками;
    • проверено только с VLC, аутентификация не проверена.
  • Новые кодеки:

    • G.722.1 и G.722.1 Annex C;
    • G.722 (AMR-WB);
    • MPEG4 (MP4V-ES) только SIP.
  • Другие:

    • NAT router IP и STUN для SIP, настройка на странице «SIP терминалы»;
    • RTP-таймаут. Отключение терминала если n секунд не поступают пакеты, настраивается, по умолчанию 60 секунд;
    • страница настройки конференций (Расширенные→Конференции).
  • Исправлены ошибки
  • Оптимизация

CentOS

Service control: service openmcu-ru (start|stop)

Service launch config: /etc/default/openmcu-ru

Service configs: /etc/openmcu-ru/*

Service runs as an unprivileged user ‘mcu’.

Packages are built via auto build script.

To work should be open required ports in iptables. Or turned off the firewall:

service iptables stop

In some cases, you may need to disable SELinux:

/usr/sbin/setenforce 0

Required dependencies:

yum install libstdc++ freetype libjpeg

CentOS 6.4

Use this one as it is the most STABLE. Scroll down to find the latest version

Required dependencies:

yum install libstdc++ freetype libjpeg-turbo

Hardware

List of hardware terminals which can work with OpenMCU-ru. Codecs marked bold can work with OpenMCU-ru.

Vendor Model Cost Protocols Videocodecs Audiocodecs Comment
Tandberg 150MXP $2300
(2014-01-03)
H.323, SIP H.261, H.263, H.263+, H.264 G.711, G.722, G.722.1 need to recheck
Tandberg 770MXP $8000
(2014-01-03)
H.323, SIP H.261, H.263, H.263+, H.263++, H.264 G.711, G.722, G.722.1, G.728, MPEG4-AAC-LD
Tandberg 880MXP $9100
(2014-01-03)
H.323, SIP H.261, H.263, H.263+, H.263++, H.264 G.711, G.722, G.722.1, G.728, MPEG4-AAC-LD need to recheck
Tandberg 990MXP $10200
(2014-01-03)
H.323, SIP H.261, H.263, H.263+, H.263++, H.264 G.711, G.722, G.722.1, G.728, MPEG4-AAC-LD need to recheck
Tandberg 1000MXP $5700
(2014-01-03)
H.323, SIP H.261, H.263, H.263+, H.264 G.711, G.722, G.722.1, G.728, MPEG4-AAC-LD need to recheck
Tandberg Edge85MXP $10700
(2014-01-03)
H.323, SIP H.261, H.263, H.263+, H.263++, H.264 G.711, G.722, G.722.1, G.728, MPEG4-AAC-LD need to recheck
Sony PCS-1P $4500
(2014-01-03)
H.323 H.261, H.263, H.263+, H.264 G.711, G.722, G.726 H.263(+) quality is poor
Sony PCS-G50 $5400
(2014-01-03)
Н.323 H.261, H.263, H.263+, H.263++, H.264, MPEG4 G.711, G.722, G.722.1, G.723.1, G.728, G.729A, MPEG4
Sony PCS-TL33 $3700
(2014-01-03)
Н.323 H.263, H.263+, H.263++, H.264, MPEG4 G.711, G.722, G.722.1, G.723.1, G.728, G.729A, MPEG4
Sony PCS-TL30 $3800
(2014-01-03)
Н.323 H.263, H.263+, H.263++, H.264, MPEG4 G.711, G.722, G.722.1, G.723.1, G.728, G.729A, MPEG4
LifeSize Passport $4000
(2014-01-03)
Н.323, SIP H.261, H.263+, H.264 G.711, G.722, G.722.1, G.728, G.729, MPEG4-AAC-LC,
SILK

Микшеры

Управление раскладкой позволяет выбрать видимых участников конференции и назначить им нужное расположение на экране. Для каждой позиции в раскладке можно явно указать видимого участника конференции, либо оставить позицию пустой, либо указать, что позиция выбрана для автоматической активации по голосовой активности (VAD).

Кнопки на панели микшера:

  • Номер микшера и кнопки добавления и удаления микшеров.
  • Изменить раскладку. Примеры раскладок показаны в конце данной статьи.
  • Заполнить микшер пользователями по порядку.
  • Перевернуть список видеопозиций.
  • Прокрутить видеопозиции влево.
  • Перемешать.
  • Прокрутить вправо.
  • Очистить микшер.

Кнопки прямо в схеме видеомикшера:

  • Добавить видеопозицию.
  • Убрать видеопозицию.
  • Тип VAD1.
  • Тип VAD2.
  • Назначенная видеопозиция.

Самостоятельная сборка

Список зависимостей

OpenMCU-ru уже содержит библиотеки PTLib и H323Plus форкнутые от:

Эти библиотеки не нужны для сборки! Если они есть в системе, рекомендуется полностью удалить их во избежание конфликтов.

Необходимые зависимости:

  • сборочный инструментарий: gcc make flex bison autoconf automake pkg-config

Опциональные зависимости (будут использоваться при наличии в системе):

Установка зависимостей

Зависимости могут быть установлены из репозитория дистрибутива (при наличии) либо собраны вручную.

В Debian/Ubuntu все сборочные зависимости (кроме libyuv) могут быть установлены командой:

apt-get install \
  build-essential flex bison autoconf automake pkg-config \
  libfreetype6-dev libjpeg62-dev libsofia-sip-ua-dev \
  libvpx-dev libx264-dev libav-tools libavcodec-dev libavutil-dev libsamplerate0-dev libopus-dev

Команда для установки сборочных зависимостей в Fedora:

yum install \
  kernel-devel gcc gcc-c++ make patch perl-Digest-MD5 flex bison autoconf automake pkgconfig \
  freetype-devel libjpeg-turbo-devel sofia-sip-devel \
  libyuv-devel libvpx-devel x264-devel ffmpeg ffmpeg-devel opus-devel

Сборка OpenMCU-ru

Загрузка:

git clone https://github.com/muggot/openmcu ./openmcu-ru
cd ./openmcu-ru

Если не хотим собирать текущую версию, переключаемся на желаемую ветку, например, 3.48:

git branch -r
git checkout 3.48

Сборка:

./autogen.sh
./configure
make
make install

Запуск OpenMCU-ru

После сборки и установки можно запустить OpenMCU-ru:

командой «openmcu-ru -x» для консольного режима

командой «openmcu-ru -d» для запуска в режиме демона

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

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