Инструкция по использованию сервера 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» для запуска в режиме демона