In the table below you can see key Web Call Server releases, it’s names, list of new features and bugfixes.
Build |
Status |
Notes |
2649 21 Dec 2017
Fixed memory leaks, descriptor leaks, deadlocks, thread leaks, performance issues. |
New |
Added setting rtmp_publisher_start_time_ts Added setting aac_encoder_sync_drop_threshold fixing timestamp shift from Twilio conference Added synchronization to setRemoteSdp to fix NPE Added setting sip_bind_tcp=false Added sip call state statistics Added sip_processed_calls stat param Added settings rtp_audio_max_consecutive_seq_errors=, rtp_audio_reset_buffer_on_seq_error= Added New server property remove_ssrc_attr. If true removes ssrc from server’s sdp Added server.properties http_client_connection_timeout=2000, http_client_connection_read_timeout=2000, used in load balancer requests to nodes and Xcap Added Simple RTMFP connection load client Added GC timestamps option for core and manager Added New mediaPortsManager Added Logging socket to trace bind invocations Added RtpRtcpPort Added logs for stream pulling and LB Added WebRTCAgent debug logs Added Add option fetch_caller_from_pai_set_from_if_empty=false Added setting stun_stack_default_thread_pool_size=3, size of network pool for ice agent Added WebRTCAgent ws Session audit functionality Added Session thread naming Added Enable wcs_agent_session_audit by default Added start and stop command for load balancing Added setting rtp_in_reset_marker=false |
Fixed |
Fixed H264 stream record issue Fixed Fixed deadlock on getRtpBuffer Fixed Minor IceKeepAlive timer fix Fixed playing webrtc stream on safari Fixed NullPointerException on receive candidate only on audio without video Fixed crash server on big video transcoding and memory usage optimization Fixed WebRTC media ports overuse (additional port for every media port) Fixed Extended logging descriptor leak Fixed Proxy properties in wcs-core.properties; proxy.sh removed Fixed Streaming play/publish resource leak in case of Exception while applying remote sdp Fixed Hangup call on process request failure Fixed deadlock, removing synchronized from rtpSession.dataPacketReceived() Fixed Various NPE Exceptions Fixed NPE on double hangup Fixed Rtmfp Diffie-Hellman computation Fixed RTMFP handshake keying cache Fixed RTMFP handshake cookie handling Fixed Flash client file descriptors leak Fixed Hide StatController exception stack, print message only Fixed WebRTCAgent broken state when remote side is closing. Fixed RtcMediaSession leak on ICE failed by keep alive Fixed Heap memory leak through ClientRequest and ThreadLocal Fixed Force to kill server process if not finished normally. Fixed Crash problem view tables (NullPointerException) Fixed ‘suppress_dynamic_logs’ property to prevent logger leak Fixed Ice pacemaker leak Fixed republishing from origin issue due upper case in loadbalancer.xml streaming_distribution=WEBRTC Fixed client logger and add ‘enable_new_client_logger’ property |
|
2556 12 Nov 2017
Load balancer and re-streaming over WebRTC
Performance fixes
RTSP fixes
Sync fixes |
New |
Added LoadBalancingController WebRTC republishing Added Turn off LoadBalancingController republishing by default Added use_rtmp_server_socket_timeout server property, default false Added webrtc_agent_use_webrtc=true property to switch WebRTC push and pull to AVP profile Added Allow to force rtp synchronization Added Allow to record sip-as-rtmp call with “sip_as_rtmp_record_stream” property Added Inject custom http headers to REST Added settings hls_player_width=640 hls_player_height=480, flashphoner.properties config Added server.properties settings sip.pre_init=true Added rest api for snapshots Added Add rtp-in buffer for rtsp (rtsp_in_buffer) Added sip_use_reentrant_listener property Added setting ice_keep_alive_enabled=true |
Fixed |
Fixed LBConfig Fixed Synchronization issues with stream republishing to WCS server Fixed Force closing media session if exception was catched on creating it Fixed Fix usage force synchronization for streams with rtcp Fixed fixes process incoming data from android chrome and changes from jitter buffer Fixed Clone stream object on notifyStreamStatusEvent to prevent original object modification Fixed Json ignore for playing and publishing Fixed Video distributor thread leak Fixed Fix ice problem on edge Fixed Delete context fields from snapshots models Fixed Rtsp fix on rtcp port in setup request Fixed Add record_rtsp_streams property and fix rtp synchronization bug (force_rtp_synchronization) Fixed rtsp create snapshot Fixed Fix rtsp playing with only video Fixed Memory usage optimization Fixed Fix record rtsp streams with pps in sdp Fixed added rtmp_transponder_full_url to RtmpShadowTransponderJava Fixed High Level keep alives does not work for WSPlayer Fixed Fixes in creating snapshots Fixed Catch possible exception on closing RTCP channel Fixed Workaround receive nal unit with same timestamp |
|
2475 25 Sep 2017
WebRTC pulling
Async REST hooks
SIP fixes
WebRTC fixes
|
New |
Added WebRTCAgent.java to pool webrtc stream from another WCS server Added New property process_remote_sdp_candidates = true, enable sdp candidate processing Added New property ice_consent_freshness = true, send binding request instead of binding indication for consent freshness Added Create jstack dump on cemetery event Added WebRTCAgent shutdown Added RestPullStreamController.java stopPullAgent/getPullAgents Added ‘token’ field to UserCredentials.java (room app) Added SIP failover REGISTER Added read server socket timeout 30 seconds on RTMP/TCP channel Added rest_template.read_timeout property (manager), how long rest client will wait for rest response in milliseconds Added rest_template.connection_timeout property (manager), how long rest client will wait for connection establishment in milliseconds before considering connection failed Added Move from jdbc to HikariCP Added Setup sdp media attribute for rtc sessions Added SIP failover calls Added Passthrough websocket Origin header to REST Added Handle pre-flight CORS requests |
Fixed |
Fixed HttpServerHandler.java send CORS if configured for content type “text/plain” Fixed Rtmp transponder can’t push stream if rtmp url does not have trailing “/” Fixed Rest client connection and response timeouts Fixed Async node -> manager interaction Fixed No audio for SIP call due to synchronization. Fixed Catch exception on monitoring service Fixed Close DNS resource after srv lookup Fixed Ice PaceMaker thread leak Fixed Minor loadbalancing fixes Fixed Stats and rtmp republishing Fixed Fix view mp4 files from dependencies |
|
2422 30 August 2017
VOD
Fixes |
New |
Added Outgoing RTMP authentication Added First version of save and view stream history Added Basic vod using urls vod://file.mp4 or vod-life://file.mp4 Added Media providers HLS,RTSP,PUSH,VOD,WSPlayer |
Fixed |
Fixed Parse outgoing rtmp credentials Fixed View realtime stat graphics Fixed Media port statistic Fixed Delay 1000 ms, no RTCP in first packets WebRTC, use RapidResynchronizationRequest when in AVPF profile to request SenderReport from far end Fixed Do not play media received via rtp if there is no synchronization on it Fixed Synchronization and reordering buffer for incoming rtp packets Fixed Statistic “dead”-streams Fixed Terminate SIP call on INVITE timeout. Fixed Remove old stream stat data Fixed Load balancer HTTP stats renamed Fixed Fix Streams tables Fixed Enclose table field ‘in’ within backticks to prevent mysql creation error Fixed Enclose table Cert field ‘key’ within backticks to prevent mysql creation error Fixed Rename table fields to prevent using sql keywords Fixed Fix encoder odd resolution |