In the table below you can see key Web Call Server releases, it’s names, list of new features and bugfixes.

Build

Status

Notes

5.1.3347-da0ef744d5ca5b8aefc10bd33431d7d57264879b

03 Jul 2018

 

AV mixer with recording

 

Websocket messages trace

 

Build number changed to contain hash

 

Several fixes and improvements

 

New

Added audio and video mixer with recording

Added rtsp_client_address property to bind RTSP client to address specified

Added Websocket messages trace

Added Flash metadata sending when Flash client plays stream from WCS

Added rtmp_in_buffer_max_bufferings_allowed property

Added encoder_default_video_resolution property, default 640×480

Added HLS client remote address to debug log

Fixed

Fixed AMS republish to WCS issues

Fixed playback as RTSP in VLC with no audio

Fixed “chipmunk” audio in mixer

Fixed CLI set password issue

Fixed failed HLS stream leak in CDN

Memory allocation optimization

Fixed WCS 5.0 to 5.1 update script

Fixed delay on creating output writer using /rest-api/stream/startRecording query

5.1.3197

28 May 2018

 

CDN codecs coordination options

 

Chat room streams recording with synchronization

 

RTMP pulled streams recording

 

Public key authorization in CLI

 

Several fixes and improvements

 

New

Added read timeout to Websocket connection to prevent Websocket leak

Added new configuration property codecs_exclude_cdn to coordinate codecs in CDN

Added new property disable_rtc_avoid_transcoding_alg=false

Added port argument to RtspPcapServer

Added chat room streams recording with synchronization

Added option hls_discontinuity_enabled=true to prevent HLS stream unrecoverable frieze

Added new update module to patch database from 5.0 to 5.1 format when newer version is installed

Added ability to play vod streams over HLS

Added option rtsp_fail_on_error_track to prevent RTSP disconnect on one of tracks failure

Added RTMP pulled streams recording

Added Pcap stream capture at server start

Added automatic streams republishing as RTMP

Added pulling streams at startup and auto republishing as RTMP

Added public key authorization in CLI

Fixed

Fixed: Corrected the parsing of fmtp-attributes in SDP

Fixed help for commands (add, update) in CLI

Fixed: give priority to local streams over CDN streams

Fixed RTSP agent termination

Fixed: changed MediaSession’s initialized synchronization to volatile state to prevent CDN agents lock

Fixed: removed unnecessary synchronization from Agent’s listeners to prevent CDN agents deadlock

Fixed: do port bound checks to ip local instead of wildcard address

Fixed: check and set audio codec for flash streaming

Fixed: change thread_pool_default_queue_size from 10 to 100

Fixed: close stun sockets to prevent descriptors leak

Fixed play audio only WebRTC

Fixed: set SynchronizationComponent’s rate on first audio packet in case rtp_force_synchronization=true to prevent friezes when streaming from RTSP camera

Fixed: change RTPSession id from Long to String to play RTPS stream again after RTSP agent stops by timeout

Changes in B-frames detection to prevent stream unrecoverable frieze

Version and exceptions information moved from http://localhost:8081/?action=info to http://localhost:8081/?action=stat

Fixed delay on stop publishing in conference when room recording is active

Fixed: RTMP stream does not work when stream name contains ‘@’ character

Fixed ClientNotFoundException on /rest-api/data/send request

Fixed: RTMP push doesn’t work when application instance is set in URL

Fixed RTSP stream frieze when RTP and RTCP port numbers are the same

Fixed audio chipmunk in pulled RTMP record

5.1.2974

04 Apr 2018

 

Changed version to 5.1.X

 

Settings migration from legacy server.properties to flashphoner.properties

 

New STUN settings

 

New dynamic CDN 2.0

 

SIP calls and streams realtime monitoring and history

 

Java HLS implementation

 

Several leaks and deadlocks fixes and preventions

 

API performance improvements

 

Server perfomance improvements

New

Changed version to 5.1.X

Settings are migrated from server.properties to flashphoner.properties

Added light implementation STUN socket and Ice agent

Added the ability to send rtmp meta data, parameters: rtmp_transponder_send_metadata=false, rtmp_transponder_metadata

Added ‘client_log_exclude’ option to define comma separated class names to exclude from client logs. For those classes log level is forced to INFO

Added Pcap-tool to stream publishing from a file

Added ability to show, change and save settings from server CLI

Added native resources statistic

Added dynamic CDN 2.0

Added SIP calls realtime monitoring and history view

Added Java HLS implementation

Added JMX to embedded H2 db

Added option periodic_fir_request_interval=5000, useful for AVPF enabled endpoints.

Added option proxy_propagate_fir=true to turn on/off fir propagation from proxy group to feeding session

Added hls_time_min property for Java HLS implementation

Secure Websocket implemented for CDN and WCSAgent

Added various tests for native resources leak

Added CDN REST controller

Added cdn_skip_pulled_streams property

Added option tcp_relay_packetization2=true

Added HLS property hls_min_list_size=1 to specify how much segments should be buffered before playlist creation

Added export MALLOC_ARENA_MAX=4 to prevent leaks on multicore CPUs

Egrep replaces grep in server CLI

Added H264 B-frames detection

Added internal Websocket ping to outbound Websocket session keep alive handling

Added ability to turn off keep alive handling for outbound Websocket session

Added websocket connections stress test

Added logs to SessionHandler.java

Added ability to disable log to DB -Dstream_stat_persist_data=true (by default)

Added property disable_manager_rmi=false to have ability to disable core with manager communication

Added WCSAgent and Session state synchronizations

Added internal ip address (ip_local) to SDP announce. This behaviour is disabled by default. Setting rtc_ice_add_local_interface=true enables it

Added -XX:+ExplicitGCInvokesConcurrent in wcs-core.properties to prevent buffer overflow

Added: Ignore IPv6 ice candidates.

Added: playStream log to be able to find corresponding client and see stream properties

Added Spring boot property ‘session-timeout’, default 10m

Added default JVM options to wcs-core.properties

Added gc-core.log and gc-manager.log rotation

Added check for remote SDP without media

Added minBitrate and maxBitrate in kbps for streams

Get AAC config from codec if it is not available from other sources

Added user bitrate property in kbps for all streams

Set audio codec for stream published using Flash when first packet received

Send PLI for Snapshot

Added RTSP Pcap server to capture stream from RTSP interleaved session dump files

Fixed

Fixed start server with empty DB

Changed rest pull api location from pull/ws to pull

Fixed several subscribers on rtsp stream

Fixed RTMP streaming to Azure

Fixed NullPointer exception when playing rtmfp

Fixed NullPointer exception on empty log settings

Various CDN fixes

Fixed rtp drop synchronization if the timestamp was reseted, added ‘rtp_elapsed_time_threshold’ property, default value 10000 (10 seconds)

Fixed WCS update

Fixed RTMP auth failing

Fixed default path for wss.keystore.file

Fix rtmp poll problems

Fix rtmp problems playing

Fixed rtmfp double unPublishStream

Fixed stun between custom ice and original ice negotiate

Fixed concurrent modification exception in NodeApi

Fixed empty username validation in login page

Fixed Inject context session id to rtmp connection

Various HLS fixes and refactoring

Fixed Java HLS video artifacts

Fixed buggy behavior of custom stun client in SDP session

Fixed no audio in audio-only sip-as-rtmp case

Fix lock, socket leak when socket not started

Fixed WCSAgent Session thread pools naming

Fixed UDP ports leak

Fixed WCSAgent deadlock

Fixed native resources and heap leak

Fixed: synchronize subscribe session creation and addition to subscribed sessions

Fixed: RTMP authentication

API performance improvements

Fixed double FAILED status on unpublish stream via CDN

Fixed DTLS handshake in Firefox browser when receive SIP call, when agent have controlling role – add required attribute

Fixed: disable System.gc() by default, either for RMI and global

Fixed: reduce stack track on authentication failure

Memory allocation and byte buffers copy optimization

Set default core settings:

– stun_socket_queue_timeout=1500 by default

– custom_ice_agent=true by default

– tun_stack_default_thread_pool_size=0 by default

Fixed: drop AAC frames starting with FIL (decoding only)

Fixed: no need to decode frame if there is no any consumer

Fixed: rtmp/rtfmp sessionId changed between Connection and other events

Fixed: drop ACC frames with type 0

Fixed log4j.properties doesn’t working in realtime

Fixed “FAILED. Session not ready” for 2nd subscriber in CDN issue