Поддержка DTLS при публикации и воспроизведении WebRTC потоков¶
WCS поддерживает DTLS 1.2 при установке WebRTC-соединения, использование этой версии протокола включено по умолчанию. Однако, для совместимости с устаревшими версиями браузеров поддерживается и DTLS 1.0. Поддержка устаревшей версии протокола может быть включена либо принудительно для всех клиентов при помощи настройки в файле flashphoner.properties
либо, начиная со сборки 5.2.399, индивидуально для браузера согласно строке User Agent, которую клиент присылает серверу при установке соединения
Строки User Agent указываются в файле dtls0_ua
, который располагается в каталоге /usr/local/FlashphonerWebCallServer/conf
. Например,
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:62.0) Gecko/20100101 Firefox/62.0
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0
Начиная со сборки 5.2.546, при помощи настройки в файле flashphoner.properties
можно включить определение соответствия User Agent по части его строки, указанной в файле dtls0_ua
, например
Ошибки DTLS при установке соединения могут быть выведены в файл dtls-error.log
, расположенный в каталоге /usr/local/FlashphonerWebCallServer/logs
17:15:42,889 ERROR DtlsError - Stun-Clbk-thread udp//192.168.0.111:31016 User-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:57.0) Gecko/20100101 Firefox/57.0; alert level: 2; alert description: 40; message: null
Для этого необходимо добавить в файл log4j.properties следующие настройки
log4j.logger.DtlsError=error, dtlsErrorAppender
log4j.additivity.DtlsError=false
log4j.appender.dtlsErrorAppender=org.apache.log4j.DailyRollingFileAppender
log4j.appender.dtlsErrorAppender.DatePattern='.'yyyy-MM-dd-HH
log4j.appender.dtlsErrorAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.dtlsErrorAppender.layout.ConversionPattern=%d{HH:mm:ss,SSS} %-5p %20.20c{1} - %t %m%n
log4j.appender.dtlsErrorAppender.File=${com.flashphoner.fms.AppHome}/logs/dtls-error.log
При чистой установке WCS, эти настройки будут установлены по умолчанию, однако при обновлении с предыдущей версии, если в файл log4j.properties вносились какие-либо изменения, он не переписывается, поэтому при обновлении эти настройки потребуется добавить вручную.
Строку User-agent
из файла dtls-error.log
необходимо добавить в файл dtls0_ua
, например
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:62.0) Gecko/20100101 Firefox/62.0
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:57.0) Gecko/20100101 Firefox/57.0
При установке WebRTC соединения с перечисленными браузерами будет использоваться DTLS 1.0