В состав deb пакета ecss-media-server-3.11 (начиная c версии 3.11.1.23) был добавлен сервис 'ecss-media-server@', который позволяет запускать мн-во экземпляров медиасервера.
Так же, для медиасервера был добавлен предсконфигурированный файл конфигурации(с выключенной поддержкой видео) с именем config-without-video.xml.
После установки deb пакета располагается по пути: /etc/ecss/ecss-media-server. Хотя данный файл предсконфигурирован, но для каждого конкретного случая его нужно донастраивать/перенастраивать:
- секция transport
- параметры bind-addr и port
- секция accounts -> секция dynamic
- параметры msr_name и realm
- секция pbyte -> секция mcc
- параметры bind-addr и port.
Конфигурационные файлы
Для каждого нового экземпляра медиасервера, который будет развернут на хосте, требуется использовать свой файл конфигурации медиасервера.
Пример файла конфигурации MSR:
<?xml version="1.0" encoding="utf-8"?> <config date="12:02:54 15.03.2018"> <general log-level="0" log-rotate="yes" max-calls="4000" max-in-group="128" load-sensor="media" load-delta="10" log-path="/var/log/ecss/media-server/without-video" /> <transport bind-addr="192.168.1.1" port="5045" transport="udp+tcp" /> <ivr fetchtimeout_ms="600" /> <media use-vad="yes" cng-level="70" video-dscp="2" other-dscp="2" rtcp-timeout="0" rtp-timeout="0" cn-multiplier="3" port-start="40100" port-range="10000" tias-in-sdp="no" thread-cnt="4" silence-threshold="-30" dtmf-flash-disable="no" dummy-video-src="/usr/share/ecss-media-server/video/dummy_video.yuv" video-enc-width="1280" video-enc-height="720" /> <codec pcma="1" pcmu="2" ilbc="0" gsm="0" g722="3" g729="0" speex="0" l16="0" h264="0" h263-1998="0" t38="1" /> <accounts> <dynamic msr_name="msr-without-video.ecss1" realm="sip:192.168.1.1:5000" dtmf_mode="rfc+inband+info" auth_name="msr_second_to_ecss1" auth_password="L0@%Y5" /> <dynamic msr_name="msr-without-video.ecss2" realm="sip:192.168.1.2:5000" dtmf_mode="rfc+inband+info" auth_name="msr_second_to_ecss2" auth_password="2mV5x3" /> </accounts> <pbyte> <mcc bind-addr="192.168.1.1" port="5702" /> </pbyte> </config>
Включение и запуск множества экземпляров сервиса ecss-media-server@
В systemd есть возможность запускать множество экземпляров сервиса, но предварительно данные экземпляры нужно включить.
Включение:
sudo systemctl enable ecss-media-server@<имя_запускаемого_экземпляра>
Запуск:
sudo systemctl start ecss-media-server@<имя_запускаемого_экземпляра>
В данном случае, этому медиасерверу будет соответствовать файл конфигурации с именем config-<имя_запускамого_экземпляра>.xml располагаемый по пути: /etc/ecss/ecss-media-server/
Например, включенному и запущенному экземпляру msr-а с именем without-video:
sudo systemctl enable ecss-media-server@without-video Created symlink /etc/systemd/system/multi-user.target.wants/ecss-media-server@without-video.service → /lib/systemd/system/ecss-media-server@.service. sudo systemctl start ecss-media-server@without-video
будет соответствовать файл конфигурации с именем config-without-video.xml расположенный по пути: /etc/ecss/ecss-media-server/
Для каждого экземпляра медиасервера должен быть сконфигурирован свой файл конфигурации медиасервера.
Убедиться, что экземпляр ecss-media-server@without-video запустился можно следующей командой:
ecss1@ssw 05:04:58 ~$ sudo systemctl status ecss-media-server@without-video ● ecss-media-server@without-video.service - daemon ecss-media-server-without/video of ecss-10 Loaded: loaded (/etc/systemd/system/ecss-media-server@.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2018-12-07 08:07:58 +07; 4s ago Main PID: 12144 (ecss-media-serv) Tasks: 19 (limit: 4915) CGroup: /ecss.slice/ecss-media-server@without-video.service └─12144 /usr/bin/ecss-media-server --config=/etc/ecss/ecss-media-server/config-without-video.xml --noinput дек 07 08:07:58 ssw systemd[1]: Started daemon ecss-media-server-without/video of ecss-10. дек 07 08:07:59 ssw ecss-media-server[8867]: WARNING: no real random source present!