Skip to content

flashphoner.properties config file

Main server settings

aac_bitrate

Default:
128000

Type:
Integer

Need restart: No

Description:
AAC encoder bitrate, in bps

aac_encoder_sync_drop_threshold

Default:
1000

Type:
Long

Need restart: Yes

Description:
AAC encoder sync time will be reset when sync time deviation exceeds this threshold in milliseconds

aac_test_start_codec

Default:
20

Type:
Integer

Need restart: Yes

Description:
Number of codec threads to start in AAC test

aac_test_transcode_iterations

Default:
1000

Type:
Integer

Need restart: Yes

Description:
Number of transcode iterations in AAC test

add_register_auth_headers

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, then add Authorization header in REGISTER request when first registering.
Some SIP servers are configured so that they do not accept such requests. In that case this setting should be set to false''

agent_set_local_session_debug

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, enable local agent session debug

agent_use_subscriber_listener

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, the agent waits for the subscriber session to be established before playing

allow_domains

Default:
null

Type:
String

Need restart: No

Description:
If set, only WebSocket connections from these domains will be allowed

allow_domains_allow_empty_origin

Default:
true

Type:
Boolean

Need restart: No

Description:
If set, then WebSocket connections with empty origin will be allowed

allow_outside_codecs

Default:
true

Type:
Boolean

Need restart: No

Description:
If false, do not add outside (browser) codecs to SDP

allow_reinvite_in_hold_state

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, process re-INVITE requests within the session even if the call is in hold state

allow_stream_names

Default:
*

Type:
String

Need restart: No

Description:
If set, only these client stream names will be allowed

answer_with_one_codec_in_sdp

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, answer with one codec only in SDP.
It can be useful in cases of improper operation of SIP equipment from some vendors, which incorrectly interpret two or more codecs in SDP during a connection establishment in Offer-Answer model

audio_force_sync_timeout

Default:
100

Type:
Integer

Need restart: No

Description:
Waiting for RTCP sync packet on this interval in ms, for audio

audio_frames_per_packet

Default:
6

Type:
Integer

Need restart: No

Description:
RTMFP. Audio will be flushed after this number of audio frames in the packet is reached

audio_incoming_min_buffer_size

Default:
2

Type:
Integer

Need restart: No

Description:
Waiting for RTCP sync packet at least on this interval in packets, for audio

audio_mixer_max_delay

Default:
300

Type:
Integer

Need restart: No

Description:
Audio mixer max delay in milliseconds

audio_mixer_output_channels

Default:
1

Type:
Integer

Need restart: No

Description:
Audio mixer output channels, default is 1 channel, mono

audio_mixer_output_codec

Default:
opus

Type:
String

Need restart: No

Description:
Audio mixer output codec (multiple codecs not allowed)

audio_mixer_output_sample_rate

Default:
48000

Type:
Integer

Need restart: No

Description:
Audio mixer output sample rate in Hz

audio_reliable

Default:
partial

Type:
on
partial
off

Need restart: No

Description:
RTMFP, reliability for audio

audio_stream_mode_udp

Warning

Deprecated parameter. Will be deleted in future releases

Default:
true

Type:
Boolean

Need restart: Yes

Description:
Not in use

auto_login_url

Warning

Deprecated parameter. Will be deleted in future releases

Default:
null

Type:
String

Need restart: No

Description:
Not in use

av_paced_sender

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, enable paced sender for output stream. EXPERIMENTAL

av_paced_sender_max_buffer_size

Default:
5000

Type:
Integer

Need restart: No

Description:
Maximum size of audio or video buffer. Once the size is reached, buffers are cleared

avatar_dir

Default:
avatar

Type:
String

Need restart: Yes

Description:
Avatar base folder

avcc_buffer_wait_frames_count

Default:
5

Type:
Integer

Need restart: No

Description:
Number of frames to buffer in the AVCC send buffer before flushing

avcc_send_buffer_size

Default:
500000

Type:
Integer

Need restart: No

Description:
AVCC send buffer size in bytes

aws_s3_credentials

Default:
null

Type:
String

Need restart: Yes

Description:
AWS S3 credentials: region;accessKey;secretKey

balance_header

Default:
balance

Type:
String

Need restart: No

Description:
This SIP header will be sent to client as a balance

burst_avoidance_count

Default:
100

Type:
String

Need restart: No

Description:
RTMFP. Maximum number of data packets sent in a burst before applying burst avoidance

busy_state

Default:
null

Type:
String

Need restart: No

Description:
Used if send_busy_when_on_call=true, and an incoming call comes during another established call. Caller will receive this status

call_record_listener

Default:
com.flashphoner.server.client.DefaultCallRecordListener

Type:
String

Need restart: No

Description:
Full name of Java class that implements interface ICallRecordListener
public interface ICallRecordListener {
void onRecordReport(RecordReport recordReport);
}

case_sensitive_auth_match

Default:
true

Type:
Boolean

Need restart: No

Description:
If false, ignore case in URL authentication matching

cdn_advertise_pulled

Default:
false

Type:
Boolean

Need restart: Yes

Description:
If true, pulls CDN advertise

cdn_advertise_streams_by_kframe

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, advertise stream to CDN only after a key frame is received

cdn_agent

Default:
webrtc

Type:
webrtc
rtmp

Need restart: No

Description:
CDN media connection protocol (webrtc, rtmp)

cdn_allowed_ips

Default:

Type:
ArrayList

Need restart: Yes

Description:
Comma-separated list of allowed IPs or networks for CDN.
Example: 88.198.98.1/24, 88.198.99.219

cdn_app_name

Default:
cdnApp

Type:
String

Need restart: No

Description:
REST hook application name for CDN streams

cdn_auto_pull

Default:
false

Type:
Boolean

Need restart: Yes

Description:
Pull CDN stream once it becomes available

cdn_connection_quality_calculation_timeout_ms

Default:
10000

Type:
Integer

Need restart: Yes

Description:
Timeout after which connection quality is reported as UNKNOWN if not updated, in milliseconds

cdn_connection_tcp_no_delay

Default:
true

Type:
Boolean

Need restart: Yes

Description:
Turns on TCP no delay for CDN signalling connections

cdn_controller_request_timeout

Default:
5000

Type:
Integer

Need restart: Yes

Description:
Timeout for requests sent to CDN controller, in milliseconds

cdn_controller_response_cache_expire

Default:
10000

Type:
Integer

Need restart: Yes

Description:
TTL for cached transcoder nodes received from CDN controller

cdn_dtls_force_version_0

Default:
false

Type:
Boolean

Need restart: No

Description:
Force DTLS version 1.0 for CDN

cdn_enabled

Default:
false

Type:
Boolean

Need restart: Yes

Description:
If true, enables CDN

cdn_group_origin_to_transcoder_relation

Default:
false

Type:
Boolean

Need restart: Yes

Description:
Use CDN group indications to relate origin to transcoder rather than transcoder to edge

cdn_groups

Default:

Type:
ArrayList

Need restart: Yes

Description:
CDN groups for this node

cdn_inbound_auditor_interval

Default:
1000

Type:
Integer

Need restart: Yes

Description:
Time interval to check inbound connections, in milliseconds

cdn_inbound_connection_unanswered_pings

Default:
3

Type:
Integer

Need restart: Yes

Description:
Number of unanswered pings on an inbound connection.
Connection is considered lost when this number is reached

cdn_inbound_ws_read_socket_timeout

Default:
true

Type:
Boolean

Need restart: Yes

Description:
Enable WebSocket read timeout for inbound CDN connections

cdn_inbound_ws_read_socket_timeout_sec

Default:
60

Type:
Integer

Need restart: Yes

Description:
WebSocket read timeout in seconds (if enabled) for inbound CDN connections

cdn_ip

Default:
null

Type:
String

Need restart: Yes

Description:
CDN node IP address (or domain name when cdn_nodes_resolve_ip=true)

cdn_local_version

Default:

Type:
String

Need restart: Yes

Description:
Start this CDN node with the specified CDN protocol version (for example, 2.16), using only the functionality available in that version. If empty, the latest supported version is used.

cdn_manager_redis_enabled

Default:
false

Type:
Boolean

Need restart: Yes

Description:
If true, periodically publish this nodes CDN state to the CDN Manager Redis'

cdn_manager_redis_host

Default:
127.0.0.1

Type:
String

Need restart: Yes

Description:
Host of the shared CDN Manager Redis

cdn_manager_redis_interval

Default:
10000

Type:
Integer

Need restart: Yes

Description:
Heartbeat interval to publish node state to CDN Manager Redis, in milliseconds

cdn_manager_redis_password

Default:

Type:
String

Need restart: Yes

Description:
Password of the shared CDN Manager Redis (empty if none)

cdn_manager_redis_port

Default:
6379

Type:
Integer

Need restart: Yes

Description:
Port of the shared CDN Manager Redis

cdn_manager_redis_ttl

Default:
30

Type:
Integer

Need restart: Yes

Description:
TTL of the node state key in CDN Manager Redis, in seconds (node is OFFLINE when it expires)

cdn_node_load_average_threshold

Default:
1.0

Type:
Double

Need restart: Yes

Description:
If threshold reached, node will advertise its state as GROUP_CONNECTIONS to prevent a new streams transcoding requests

cdn_nodes_acl_refresh_interval

Default:
60000

Type:
Integer

Need restart: Yes

Description:
Time interval to refresh CDN node ACL list, in milliseconds

cdn_nodes_auditor_interval

Default:
1000

Type:
Integer

Need restart: Yes

Description:
Time interval to check available CDN nodes, in milliseconds

cdn_nodes_group_refresh_interval

Default:
60000

Type:
Integer

Need restart: Yes

Description:
Time interval to refresh CDN node group, in milliseconds

cdn_nodes_on_single_server

Default:
false

Type:
Boolean

Need restart: Yes

Description:
If true, CDN nodes can be located on a single server

cdn_nodes_resolve_ip

Default:
false

Type:
Boolean

Need restart: Yes

Description:
If true, use CDN node host names; if false, resolve them to IP addresses

cdn_nodes_role_refresh_interval

Default:
60000

Type:
Integer

Need restart: Yes

Description:
Time interval to refresh CDN node role, in milliseconds

cdn_nodes_route_refresh_interval

Default:
60000

Type:
Integer

Need restart: Yes

Description:
Time interval to refresh CDN routes, in milliseconds

cdn_nodes_state_refresh_interval

Default:
60000

Type:
Integer

Need restart: Yes

Description:
Time interval to refresh CDN node state, in milliseconds

cdn_nodes_timeout

Default:
-1

Type:
Integer

Need restart: Yes

Description:
Timeout to forget a lost CDN node in seconds, -1 to keep the node in known nodes list

cdn_nodes_version_refresh_interval

Default:
90000

Type:
Integer

Need restart: Yes

Description:
Time interval to refresh CDN node version, in milliseconds

cdn_origin_allowed_to_transcode

Default:
false

Type:
Boolean

Need restart: Yes

Description:
If true, when no transcoders are available, the edge node will request the stream transcoding by profile from origin

cdn_origin_to_origin_route_propagation

Default:
false

Type:
Boolean

Need restart: Yes

Description:
If true, origin sends routes to other origins

cdn_outbound_auditor_interval

Default:
2000

Type:
Integer

Need restart: Yes

Description:
Time interval to check outbound connections, in milliseconds

cdn_outbound_connection_timeout

Default:
6000

Type:
Integer

Need restart: Yes

Description:
Outbound connection timeout, in milliseconds

cdn_outbound_ws_read_socket_timeout

Default:
true

Type:
Boolean

Need restart: Yes

Description:
Enable WebSocket read timeout for outbound CDN connections

cdn_outbound_ws_read_socket_timeout_sec

Default:
60

Type:
Integer

Need restart: Yes

Description:
WebSocket read timeout value (if enabled) for outbound CDN connections

cdn_payload_mask

Default:
false

Type:
Boolean

Need restart: Yes

Description:
When enabled, traffic between CDNs is masked

cdn_point_of_entry

Default:

Type:
String

Need restart: Yes

Description:
CDN point of entry node IP address (or domain name when cdn_nodes_resolve_ip=true)

cdn_port

Default:
8084

Type:
Integer

Need restart: Yes

Description:
CDN node signaling port

cdn_pull_red_audio

Default:
false

Type:
Boolean

Need restart: No

Description:
Pull CDN source streams with RED (RFC 2198) audio even if the source is plain audio. Does not affect by-profile pulls

cdn_recorder_check_space_interval_sec

Default:
60

Type:
Integer

Need restart: No

Description:
CDN recorder free space check interval in seconds. Default is 60 seconds

cdn_rels_log_input_payload

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, includes incoming CDN message payload in the RELS log

cdn_remote_version

Default:
2.0

Type:
String

Need restart: Yes

Description:
Assume this CDN protocol version for a remote node until it reports its own version via VersionRefresh; until then only the functionality available in this version is used towards that node.

cdn_role

Default:
EDGE

Type:
String

Need restart: Yes

Description:
CDN role:
origin - the source of media streams for other CDN nodes
edge (default) - pulls media streams from origin CDN node(s)
transcoder - transcodes media streams pulled from origin
recorder - records media streams
controller - coordinates transcoder selection for route calculation requests

cdn_role_strict

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, sets restrictions on publishing streams by role

cdn_role_strict_stream_name

Default:
null

Type:
String

Need restart: No

Description:
Reserved name for setting cdn_role_strict bypass

cdn_route_test_active_duration

Default:
30000

Type:
Integer

Need restart: No

Description:
Duration in milliseconds of the active phase, during which an Edge node pulls the route test stream each cycle

cdn_route_test_enabled

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, an Edge or Transcoder node runs the CDN route test stream monitor: periodically pulls the test stream over inter-node channels (Edge from Transcoders and Origins, Transcoder from Origins) to keep them measurable. Has no effect on an Origin node

cdn_route_test_file

Default:

Type:
String

Need restart: No

Description:
Path to the media file the Origin publishes on a loop as the route test stream (vod-live)

cdn_route_test_idle_duration

Default:
60000

Type:
Integer

Need restart: No

Description:
Duration in milliseconds of the idle phase between route test cycles on an Edge node, during which nothing is pulled

cdn_route_test_min_streams

Default:
1

Type:
Integer

Need restart: No

Description:
Minimum number of real streams the Edge must already pull through a node to consider its channel measured; while fewer than this are pulled, the route test stream is pulled through that node

cdn_route_test_publish_enabled

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, an Origin node publishes and keeps live the route test stream so Edges and Transcoders can pull it. Has no effect on Edge or Transcoder nodes

cdn_route_test_stream_name

Default:
cdn-route-test

Type:
String

Need restart: No

Description:
Name of the CDN route test stream that an Origin publishes and Edges/Transcoders pull. Must be identical on every CDN node - a differing name hides an Origin's test stream

cdn_sfu_media_executor_pool_size

Default:
10

Type:
Integer

Need restart: Yes

Description:
Thread pool size for executing CDN room commands (SFU media and meeting recorder roles)

cdn_skip_pulled_streams

Default:
true

Type:
Boolean

Need restart: Yes

Description:
If true, skip pulled streams

cdn_ssl

Default:
false

Type:
Boolean

Need restart: Yes

Description:
If true, enable SSL for CDN connections

cdn_standalone

Default:
false

Type:
Boolean

Need restart: Yes

Description:
If true, start server in CDN standalone mode, streaming will not be available

cdn_stream_replication_mode

Default:
NONE

Type:
NONE
PRIMARY
SECONDARY

Need restart: Yes

Description:
Stream replication mode for Origin node

cdn_stream_route_waiting_time

Default:
5000

Type:
Long

Need restart: Yes

Description:
CDN routes waiting time in milliseconds

cdn_strict_transcoding_boundaries

Default:
false

Type:
Boolean

Need restart: Yes

Description:
If true, prevent transcoding to the same or higher resolution than the original stream by placing a resolution boundary

cdn_strict_transcoding_throws_exception

Default:
false

Type:
Boolean

Need restart: Yes

Description:
Whether to fail play or substitute requested profile with original stream if profile hit the strict transcoding boundary

cdn_test_enabled

Default:
false

Type:
Boolean

Need restart: Yes

Description:
If true, enable CDN tests

cdn_test_interval

Default:
500

Type:
Integer

Need restart: Yes

Description:
CDN test interval in milliseconds

cdn_test_max_subscribers_for_stream

Default:
10

Type:
Integer

Need restart: Yes

Description:
Max subscribers for each CDN stream. Edge-only setting

cdn_test_pool_size

Default:
500

Type:
Integer

Need restart: Yes

Description:
CDN test session pool size

cdn_test_step

Default:
10

Type:
Integer

Need restart: Yes

Description:
Number of CDN test sessions added or removed per iteration

cdn_transcoder_degraded_streams_threshold

Default:
-1

Type:
Integer

Need restart: Yes

Description:
If threshold reached, node will advertise its state as GROUP_CONNECTIONS to prevent a new streams transcoding requests

cdn_transcoder_for_new_connects_expire

Default:
10000

Type:
Integer

Need restart: Yes

Description:
CDN transcoder cache expire for new stream requests, in milliseconds

cdn_transcoder_threshold_state

Default:
GROUP_CONNECTIONS_ALLOWED

Type:
UNKNOWN
PASSIVE
GROUP_CONNECTIONS_ALLOWED
CONNECTIONS_ALLOWED
NEW_STREAMS_ALLOWED

Need restart: Yes

Description:
If threshold reached, node will change state to this value

cdn_transcoder_video_decoders_load_threshold

Default:
-1

Type:
Integer

Need restart: Yes

Description:
If decoders load threshold reached, node will advertise its state as GROUP_CONNECTIONS to prevent a new streams transcoding requests

cdn_transcoder_video_encoders_load_threshold

Default:
-1

Type:
Integer

Need restart: Yes

Description:
If the encoders load threshold is reached, node will advertise its state as GROUP_CONNECTIONS to prevent a new streams transcoding requests

cdn_transcoder_video_encoders_threshold

Default:
10000

Type:
Integer

Need restart: Yes

Description:
If threshold reached node will advertise its state as GROUP_CONNECTIONS to prevent a new streams transcoding requests

cdn_transport

Default:
udp

Type:
String

Need restart: No

Description:
CDN internal media transport (udp, tcp, srt)

cdn_warmup_enabled

Default:
false

Type:
Boolean

Need restart: Yes

Description:
If true, enables the stream warm-up service on a CDN Edge node

chat_listener

Default:
null

Type:
String

Need restart: No

Description:
Full name of Java class that implements interface IChatListener
public interface IChatListener {
void onMessage(InstantMessage message);
}

check_receiver_origin

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, check origin of RTCP packet and discard if unknown

cli.address

Default:
localhost

Type:
String

Need restart: Yes

Description:
Listening address for CLI SSH server

cli_auth_keys

Default:
/usr/local/FlashphonerWebCallServer/.ssh/authorized_keys

Type:
String

Need restart: Yes

Description:
CLI client auth keys file path

cli_auth_server_keys

Default:
/usr/local/FlashphonerWebCallServer/conf/cli-hostkey.pem

Type:
String

Need restart: Yes

Description:
CLI host identification key file path

cli_enabled

Default:
true

Type:
Boolean

Need restart: Yes

Description:
If true, enables CLI

cli_port

Default:
2001

Type:
Integer

Need restart: Yes

Description:
CLI server port

cli_v2.address

Default:
localhost

Type:
String

Need restart: Yes

Description:
Listening address for CLI_V2 SSH server

cli_v2_port

Default:
2002

Type:
Integer

Need restart: Yes

Description:
CLI V2 server port

client_acl_property_name

Default:
aclAuth

Type:
String

Need restart: Yes

Description:
Access list identifier property key that server should look for in custom config when client connects

client_appkey_property_name

Default:
appKey

Type:
String

Need restart: Yes

Description:
Request parameter name from which the server extracts the application key (appKey) when a client connects

client_dump_level

Default:
0

Type:
Integer

Need restart: No

Description:
If tcpdump is installed in the system, it will be started and will capture client session traffic:
0 - do not capture traffic
1 - capture SIP traffic only
2 - capture SIP and media traffic: ICE, RTP, SRTP, RTCP, WebRTC

client_handler

Warning

Deprecated parameter. Will be deleted in future releases

Default:
null

Type:
String

Need restart: Yes

Description:
Not in use

client_log_exclude

Default:

Type:
String

Need restart: No

Description:
Comma-separated list of logger name substrings to exclude from client logs; matching loggers will be suppressed

client_log_force_debug

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, enable client logs for every newly connected client for a period of time specified by client_log_force_debug_timeout regardless of other settings

client_log_force_debug_timeout

Default:
60

Type:
Integer

Need restart: No

Description:
Timeout in seconds after which client logs will be turned off

client_log_level

Default:
INFO

Type:
String

Need restart: No

Description:
Log4j level.
Logs related to client sessions will be recorded on the server in /usr/local/FlashphonerWebCallServer/logs/client_logs directory with the set logging level.
Will work only if enable_extended_logging=true

client_logs_to_stdout

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, redirect all client logs to stdout

client_mode

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, the value of ip_local= setting will be used in SIP and SDP. If false, then the value of ip= will be used

client_subscribe_streams_max

Default:
10

Type:
Integer

Need restart: No

Description:
Maximum number of subscribe streams allowed for a client

client_timeout

Default:
3600000

Type:
Integer

Need restart: No

Description:
Client timeout value in milliseconds

client_timeout_check_interval

Default:
300000

Type:
Integer

Need restart: No

Description:
Client timeout check interval in milliseconds

codec_terminator_timeout

Default:
5000

Type:
Integer

Need restart: No

Description:
Codec release timeout, in milliseconds.
If codec has been marked as terminated, and no new packets went through this codec within the timeout (default 5000 ms), the codec will be released

codecs

Default:
null

Type:
String

Need restart: No

Description:
List of supported codecs ordered by priority

codecs_exclude_cdn

Default:
null

Type:
String

Need restart: No

Description:
Comma-separated list of codecs which will not be used for CDN

codecs_exclude_sfu

Default:
alaw,ulaw,g729,speex16,g722,mpeg4-generic,telephone-event,h265,flv,mpv,vp9,h264

Type:
String

Need restart: No

Description:
Comma-separated list of codecs which will not be used for SFU

codecs_exclude_sip

Default:
null

Type:
String

Need restart: No

Description:
Comma-separated list of codecs which will not be used for SIP phone cases

codecs_exclude_sip_rtmp

Default:
null

Type:
String

Need restart: No

Description:
Comma-separated list of codecs which will not be used for SIP as RTMP case

codecs_exclude_streaming

Default:
null

Type:
String

Need restart: No

Description:
Comma-separated list of codecs which will not be used for streaming

compact_media_port_usage

Default:
false

Type:
Boolean

Need restart: Yes

Description:
If true, allocate media ports with step 1 (use every port) instead of reserving an adjacent port for RTCP (requires rtcp-mux)

complex_test_config

Default:

Type:
String

Need restart: No

Description:
Complex transcoder test configuration

complex_test_decode

Default:
false

Type:
Boolean

Need restart: No

Description:
Enable decoding during complex transcoding test

complex_test_fps

Default:
15

Type:
Integer

Need restart: Yes

Description:
Complex transcoder test FPS

complex_test_replay

Default:
3

Type:
Integer

Need restart: Yes

Description:
Complex transcoder test repeats count

complex_test_thread

Default:
3

Type:
Integer

Need restart: Yes

Description:
Complex transcoder test threads count

composite_gen2

Default:
false

Type:
Boolean

Need restart: Yes

Description:
Composite media session generation 2

composite_validator_interval

Default:
5000

Type:
Integer

Need restart: No

Description:
Composite stream validator thread interval

composite_validator_log_size

Default:
10000

Type:
Integer

Need restart: No

Description:
Composite stream validator log size

composite_validator_min_track_size

Default:
120

Type:
Integer

Need restart: No

Description:
Track saturation value to start validation

composite_validator_unsync_threshold

Default:
1

Type:
Integer

Need restart: No

Description:
Composite stream validator unsync threshold

core_standalone_web_dir

Default:
null

Type:
String

Need restart: No

Description:
Web directory for standalone mode

cost_header

Default:
cost

Type:
String

Need restart: No

Description:
This SIP header will be sent to client as a call cost

cps_client

Default:
null

Type:
String

Need restart: No

Description:
Comma-separated list of IPs or networks with corresponding CPS limits.
Example: 192.168.88.2:10,192.168.88.0/16:15

cps_interval

Default:
1000

Type:
Long

Need restart: No

Description:
Time window for measuring CPS, in milliseconds

cps_node

Default:
2147483647

Type:
Integer

Need restart: No

Description:
Global CPS limitation for node

cpu_load_avg_size

Default:
20

Type:
Integer

Need restart: Yes

Description:
CPU load average size

cpu_load_refresh

Default:
50

Type:
Integer

Need restart: Yes

Description:
CPU load refresh rate

cpu_load_reject

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, reject streams when CPU load exceeds threshold

cpu_load_threshold

Default:
80

Type:
Integer

Need restart: Yes

Description:
CPU load threshold

cpu_load_window

Default:
2000

Type:
Integer

Need restart: Yes

Description:
Timeslice to estimate CPU load

custom_ice_agent

Warning

Deprecated parameter. Will be deleted in future releases

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, use custom ICE agent

custom_stats_script

Default:

Type:
String

Need restart: No

Description:
Script to provide custom stat params with action=stat request

custom_watermark_alpha_threshold

Default:
1

Type:
Integer

Need restart: No

Description:
The value at which the alpha channel will be considered completely transparent (equal to 0)

custom_watermark_filename

Default:
null

Type:
String

Need restart: No

Description:
Custom PNG file for watermark. The file should be placed in the /usr/local/FlashphonerWebCallServer/conf directory. The feature is not available for Trial license

custom_watermark_mix

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, enable watermark mixing using the alpha channel

data_packet_decoder_fire_null_messages

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, pass special data packet up the RTP process chain when original received data failed to decode

decoded_frame_interceptor

Default:
null

Type:
String

Need restart: No

Description:
Full name of the Java class that implements the IDecodedFrameInterceptor interface. This class should be packaged into a .jar file placed in the /usr/local/FlashphonerWebCallServer/lib/custom directory

decoded_pcm_interceptor

Default:
null

Type:
String

Need restart: No

Description:
Full name of the Java class that implements the IDecodedPcmInterceptor interface. This class should be packaged into a .jar file placed in the /usr/local/FlashphonerWebCallServer/lib/custom directory

decoder_binary_log_enable

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, enable decoder binary log

decoder_binary_log_size

Default:
5

Type:
Integer

Need restart: Yes

Description:
Decoder binary log size in megabytes

decoder_buffer_pool

Default:
false

Type:
Boolean

Need restart: Yes

Description:
If true, enable buffer pool usage during video decoding

decoder_buffer_pool_stats

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, enable buffer pool stats; might slow down video transcoding

decoder_priority

Default:
FF,OPENH264

Type:
String

Need restart: No

Description:
Decoder implementation priority list (comma-separated, e.g. FF,OPENH264)

decoder_stat_log

Default:
false

Type:
Boolean

Need restart: No

Description:
Enable decoder statistics logging

default_packetization_mode

Default:
0

Type:
Integer

Need restart: No

Description:
Packetization mode default value if incoming SDP doesn't contain packetization_mode parameter.

default_sdp_state

Default:
sendrecv

Type:
String

Need restart: No

Description:
If SDP from SIP side comes without sendrecv, recvonly, or sendonly attribute, then it is assumed that the attribute defined in this setting was received

degraded_streams_threshold

Default:
20

Type:
Integer

Need restart: Yes

Description:
Degraded streams threshold

degraded_streams_window

Default:
2000

Type:
Integer

Need restart: Yes

Description:
Timeslice to estimate stream degradation

delta_threshold

Default:
100

Type:
Integer

Need restart: No

Description:
RTMFP. If delta between UDP media packets is greater than the threshold, it will be reported

depacketizer_dump_dir

Default:
depacketizer_dump_dir

Type:
String

Need restart: Yes

Description:
Depacketized video stream dump base folder

detect_flash_2_flash_calls

Warning

Deprecated parameter. Will be deleted in future releases

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, WCS server will use an RTP extension header in RTP packets, which can be used for designation of WCSs own streams, even if they are traced through third-party PBX, e.g. Asterisk'

disable_action_auth

Default:
true

Type:
Boolean

Need restart: Yes

Description:
If true, disables authorization in action endpoint

disable_drop_aac_frame

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, disables dropping AAC frames

disable_internal_rest_requests

Default:
true

Type:
Boolean

Need restart: Yes

Description:
If true, disabled internal rest requests (cdn, agetns) to application

disable_manager_rmi

Default:
true

Type:
Boolean

Need restart: Yes

Description:
If true, disables RMI communications between WCS Core and WCS Manager

disable_rest_auth

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, disables authorization in REST API

disable_rest_requests

Default:
false

Type:
Boolean

Need restart: Yes

Description:
If true, disables REST requests to the REST hook application.

disable_rtc_ata

Warning

Deprecated parameter. Will be deleted in future releases

Default:
null

Type:
String

Need restart: No

Description:
By default, WCS server will try to avoid transcoding and send its supported codec to the other side, even if codecs will be chosen asymmetrically. This behaviour is called Avoid Transcoding Algorithm (ATA).
This option defines a comma-separated list of SIP User Agents for which the algorithm will be disabled. It means that if codecs are asymmetrical, then for these User Agents transcoding will proceed

disable_rtc_avoid_transcoding_alg

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, disables RTC ATA (see above)

disable_streaming_proxy

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, disable proxy and enable transcoding for all streams. For debug only

disable_streaming_proxy_aac

Warning

Deprecated parameter. Will be deleted in future releases

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, disable AAC proxying

dns_test_enable

Default:
false

Type:
Boolean

Need restart: Yes

Description:
If true, enable periodic DNS probing of the host set by dns_test_name and collect resolution time statistics

dns_test_name

Default:

Type:
String

Need restart: Yes

Description:
Host name to probe DNS resolution periodically to collect resolution time statistics

domain

Default:
null

Type:
String

Need restart: No

Description:
SIP domain. If this parameter is set, it will redefine values that were transmitted during connection

dtls0_ua_match_substring

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, DTLS User-Agent matching will be by substring. Ex: Chrome/70.0

dtls_close_socket_after_tries

Default:
10

Type:
Integer

Need restart: No

Description:
Number of failed receive attempts after which the DTLS socket will be closed. Set to 0 to disable termination. Default: 10

dtls_force_version_0

Default:
false

Type:
Boolean

Need restart: No

Description:
Force DTLS version 1.0

dtls_message_timeout

Default:
15

Type:
Integer

Need restart: No

Description:
DTLS handshake timeout in seconds, must be set to a non-zero value

dtls_socket_timeout_ms

Default:
1000

Type:
Integer

Need restart: No

Description:
DTLS socket SO_TIMEOUT in milliseconds. With this option set to a non-zero value, a read() call on the InputStream associated with this Socket will block for only this amount of time

dtls_use_socket_timeout

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, enable DTLS socket SO_TIMEOUT

dtmf

Default:
null

Type:
String

Need restart: No

Description:
This type will be used if DTMF type (INFO, INFO_RELAY, RFC2833) was not specified when DTMF was sent

dump_avcc_relay

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, write outgoing MSE packets to file. That file can afterwards be processed as VoD at client side. Used for MSE development tests

enable_candidate_harvester

Warning

Deprecated parameter. Will be deleted in future releases

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, gather ICE candidates using external STUN server

enable_debug_player

Default:
false

Type:
Boolean

Need restart: Yes

Description:
Enables the debug player to display the received frames in WebRTC/RTMP

enable_empty_shift_writer

Warning

Deprecated parameter. Will be deleted in future releases

Default:
false

Type:
Boolean

Need restart: No

Description:
Enable empty shift writer for conference

enable_extended_logging

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, enable extended logging for all client sessions. Logs are saved in /usr/local/FlashphonerWebCallServer/logs/client_logs directory using the following settings:
- client_log_level
- client_dump_level

enable_flight_recorder

Default:
false

Type:
Boolean

Need restart: No

Description:
Enable flight recorder

enable_flight_recorder_test

Default:
false

Type:
Boolean

Need restart: No

Description:
Enable flight recorder test

enable_hardware_acceleration

Default:
false

Type:
Boolean

Need restart: Yes

Description:
If true, enable hardware acceleration for transcoding. Requires NVIDIA GPU with CUDA support on the server

enable_local_videochat

Warning

Deprecated parameter. Will be deleted in future releases

Default:
false

Type:
Boolean

Need restart: No

Description:
Not in use

enable_network_address_cache

Default:
false

Type:
Boolean

Need restart: Yes

Description:
Enable cache for resolved addresses.

enable_new_client_logger

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, enables the new client logger

enable_rtc_video_generator

Default:
false

Type:
Boolean

Need restart: No

Description:
Designed to avoid video negotiation issue in SIP cases. If true, generated video will be sent once session is established. It is a workaround and should not be used in normal situations

enable_sip_stack_thread_audit

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, enable thread audit of SIP stack

enable_sync_time_normalizer

Default:
false

Type:
Boolean

Need restart: Yes

Description:
If true, enable sync time normalizer

encode_record_name

Default:
null

Type:
String

Need restart: Yes

Description:
If true, encode record file name; optional second value sets encoding type (HEX or BASE64)

encoder_buffer_length_sec

Default:
1

Type:
Integer

Need restart: No

Description:
Encoding buffer for audio, in seconds

encoder_default_video_resolution

Default:
640x480

Type:
String

Need restart: No

Description:
encoder_default_video_resolution

encoder_priority

Default:
FF,OPENH264

Type:
String

Need restart: No

Description:
Encoder implementation priority list (comma-separated, e.g. FF,OPENH264)

encoder_stat_log

Default:
false

Type:
Boolean

Need restart: No

Description:
Enable encoder statistics logging

event_scanner_cached_pool

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, use event scanner cached pool

event_scanner_pool_size

Default:
10

Type:
Integer

Need restart: No

Description:
Event scanner pool size

exclude_record_name_characters

Default:
null

Type:
String

Need restart: Yes

Description:
Exclude characters from record name

fetch_caller_from_pai

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, then for an incoming call the caller should be taken from PAI (P-Asserted-Identity) header. If that header is empty, the caller will be displayed as Unknown/Anonymous

fetch_caller_from_pai_set_from_if_empty

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, fetch caller from PAI from' when caller is empty'

file_recorder_error_interval

Default:
60

Type:
Integer

Need restart: No

Description:
Error counter interval in minutes

file_recorder_max_errors_per_interval

Default:
3

Type:
Integer

Need restart: No

Description:
Maximum errors per interval

file_recorder_min_space

Default:
1g

Type:
String

Need restart: No

Description:
Minimum available disk space for recording in GiB(G|g), MiB(M|m) or KiB(K|k). By default, GiB is used if no suffix is specified

file_recorder_thread_pool_max_size

Default:
4

Type:
Integer

Need restart: Yes

Description:
Maximum number of threads in the record thread pool

file_recorder_thread_queue_initial_size

Default:
50

Type:
Integer

Need restart: Yes

Description:
Initial capacity of the writer task queue in the file recorder thread

file_system.allow_absolute_paths

Default:
false

Type:
Boolean

Need restart: No

Description:
Allows the File System REST controller (/rest-api/v3/file-system-controller) to operate on absolute paths outside the server workdir. SECURITY: disabled by default; when enabled, an absolute request is still served only if conf/RestFileSystemController.yml contains an explicit absolute allow-list rule (path starting with /') granting the required permission. Leave disabled unless external paths must be exposed; an absolute rule can expose any path the server's OS user can access.'

file_system.max_transfer_size

Default:
131072

Type:
Long

Need restart: No

Description:
Maximum number of bytes the File System REST controller (/rest-api/v3/file-system-controller) will transfer in a single read/write/create/stream operation. Unit: bytes. Oversized writes/creates are rejected with 413; reads are capped and flagged truncated; a stream chunk never loads more than this into memory.

flash_codecs

Warning

Deprecated parameter. Will be deleted in future releases

Default:
alaw,ulaw,speex16,h264,vp8

Type:
String

Need restart: No

Description:
This set of codecs (if it is not empty) will be used if either party of a call is Flash

flash_detect_metadata_by_traffic

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, try to detect RTMP SDP by incoming traffic

flash_detect_metadata_by_traffic_timeout

Default:
1000

Type:
Integer

Need restart: No

Description:
Traffic metadata waiting time (ms), if no metadata has been received after this time, the media (video or audio) will be excluded from the SDP.

flash_handler_play_sdp_filename

Default:
flash_handler_play.sdp

Type:
String

Need restart: Yes

Description:
Filename of RTMP subscriber SDP

flash_handler_publish_sdp_filename

Default:
flash_handler_publish.sdp

Type:
String

Need restart: Yes

Description:
Filename of RTMP publisher SDP

flash_policy.port

Default:
843

Type:
Integer

Need restart: Yes

Description:
Listening port for flash policy requests to crossdomain.xml file

flash_rtp_activity_enabled

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, enables RTP activity check for RTMP streams

flash_streaming_enable

Warning

Deprecated parameter. Will be deleted in future releases

Default:
true

Type:
Boolean

Need restart: No

Description:
Not in use

flight_recorder_capacity

Default:
500

Type:
Integer

Need restart: No

Description:
Flight recorder's buffer capacity in records

flight_recorder_categories

Default:
NONE

Type:
NONE
WCS1438

Need restart: Yes

Description:
Flight recorder categories

flush_audio_interval

Warning

Deprecated parameter. Will be deleted in future releases

Default:
80

Type:
Integer

Need restart: Yes

Description:
RTMFP flush interval in milliseconds for flash-audio data from server

flush_video_interval

Warning

Deprecated parameter. Will be deleted in future releases

Default:
0

Type:
Integer

Need restart: Yes

Description:
RTMFP flush interval in milliseconds for flash-video data from server

force_client_requested_video_resolution

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, use client-specified resolution passed in Stream object

force_expires

Default:
-1

Type:
Integer

Need restart: No

Description:
If this parameter is set, WCS server will assume that Expires header had this value in 200 OK received in response to SIP REGISTER request

force_local_audio_codec

Default:
null

Type:
String

Need restart: No

Description:
Forced local audio codec for SIP calls, e.g. alaw, ulaw, speex16. Used when use_alaw_ulaw_speex_switch is enabled

force_periodic_fir_request_for_sip_as_rtmp

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, FIR request will be sent to SIP endpoint every 5 seconds

force_profile_level

Default:
null

Type:
String

Need restart: No

Description:
If set, this profile will be used regardless of profiles negotiated in H.264 codec negotiation.
Example: force_profile_level=420020

force_rtmp_audio_codec

Default:
null

Type:
String

Need restart: No

Description:
Audio codec to enforce for SIP-as-RTMP calls (e.g. alaw, ulaw, speex16, mpeg4-generic)

force_sendrecv_for_outgoing_calls

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, force sendrecv' for audio and video for outgoing SIP calls'

frame_cnt_to_determine_their_type

Default:
10

Type:
Integer

Need restart: No

Description:
Number of frames to inspect when determining whether a video stream contains B-frames

frep_database_address

Default:
jdbc:mysql://localhost/wcs?user=wcs&password=wcs

Type:
String

Need restart: No

Description:
Address of the database for storing FREP data

frep_enabled

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, enables Flashphoner remote event protocol

frep_filter_events

Default:
CONNECT,CONNECTION_STATUS_EVENT,STREAM,CONNECTION_STATUS_EVENT

Type:
ArrayList

Need restart: Yes

Description:
List of allowed events that client can send and server can handle

frep_port

Default:
8085

Type:
Integer

Need restart: No

Description:
FREP port

frep_role

Default:
CLIENT

Type:
CLIENT
SERVER

Need restart: No

Description:
Role of the FREP stack, client or server

frep_secret_key

Default:
dsjfoiewqhriywqtrfewfiuewqiufh

Type:
String

Need restart: No

Description:
Secret key for FREP authentication

frep_server_ip

Default:
null

Type:
String

Need restart: No

Description:
Address of FREP server. Has no effect in server mode.

generate_av_for_ua

Default:
null

Type:
String

Need restart: Yes

Description:
WCS server generates RTP traffic (inaudible audio and video with Flashphoner logo) when SIP session is established if detected that the other party's SIP User Agent name is specified in the setting.
Required in case of 'SIP as RTMP' stream with Zoom or Twilio SIP Domain as the SIP endpoint.
Example:
generate_av_for_ua = Twilio Media Gateway

generate_av_start_delay

Default:
0

Type:
Integer

Need restart: Yes

Description:
Generator start delay in ms, 0 - no delay

get_callee_url

Warning

Deprecated parameter. Will be deleted in future releases

Default:
null

Type:
String

Need restart: No

Description:
Not in use

global_bandwidth_check_enabled

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, enable global bitrate in and out in statistics

h264_allowed_nal_types

Default:
1,5,7,8,12

Type:
String

Need restart: No

Description:
List of NAL unit types allowed for decoding

h264_b_frames_force_transcoding

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, force transcoding to a higher profile when the source H.264 stream contains B-frames

h264_buffer_nack_list_threshold

Default:
30

Type:
Integer

Need restart: No

Description:
If the NACK list size exceeds this threshold, send PLI feedback instead of NACK

h264_buffer_reset_on_flush_indicator

Default:
true

Type:
Boolean

Need restart: No

Description:
Clear h264 buffer state upon flush indication

h264_encoder_filler_data_padding

Default:
false

Type:
Boolean

Need restart: No

Description:
Fill frames with Filler Data NAL Units to always maintain max bitrate

h264_encoder_rc_buffer_size

Default:
2

Type:
Integer

Need restart: No

Description:
Coefficient for H.264 encoder rate control buffer size

h264_max_nalu_size

Warning

Deprecated parameter. Will be deleted in future releases

Default:
1346

Type:
Integer

Need restart: Yes

Description:
Maximum size of outgoing NALU while H.264 is encoded. The option is used to prevent MTU excess while encoding high resolution video

h264_new_buffer

Warning

Deprecated parameter. Will be deleted in future releases

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, use ordered jitter buffer for H264 (deprecated)

h264_remove_filler_data

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, remove FILLER_DATA NAL units from the H264 bitstream

h264_sps_buff_scale

Default:
1.6

Type:
Double

Need restart: No

Description:
Buffer scale for H264 SPS

h264_sps_default_size

Default:
100

Type:
Integer

Need restart: No

Description:
Default size of H264 SPS buffer

h264_sps_max_dec_frame_buffering

Default:
-1

Type:
Integer

Need restart: No

Description:
H.264 SPS VUI max_dec_frame_buffering value used when normalizing the bitstream; -1 to disable

h264_sps_rbsp_scale

Default:
1.5

Type:
Double

Need restart: No

Description:
Buffer scale for H264 SPS RBSP

h264_strict_kframe_detect

Default:
false

Type:
Boolean

Need restart: Yes

Description:
If true, mark frame as keyframe only if it contains both SPS and PPS NAL units; if false, either SPS or PPS is sufficient

h265_buffer_nack_list_threshold

Default:
30

Type:
Integer

Need restart: No

Description:
If the NACK list size exceeds this threshold, send PLI feedback instead of NACK

h265_buffer_reset_on_flush_indicator

Default:
true

Type:
Boolean

Need restart: No

Description:
Clear h265 buffer state upon flush indication

h265_max_rtp_packet_size

Default:
1400

Type:
Integer

Need restart: No

Description:
Maximum size of H265 carrying packet

handler_async_disconnect

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, enable asynchronous disconnect handler

hangup_incoming_call_state

Default:
null

Type:
String

Need restart: No

Description:
Send BUSY_HERE by default.
It is also possible to set custom status that should be returned as BUSY response.
This can be used for IMS use cases

hardware_acceleration_enable_soft_reconfiguration

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, enable soft reconfiguration of hardware-accelerated NVIDIA encoder/decoder when stream parameters change, avoiding full re-initialization

hardware_acceleration_reconfigure_max_height

Default:
1088

Type:
Integer

Need restart: No

Description:
Maximum height allocated for hardware encoder/decoder reconfiguration

hardware_acceleration_reconfigure_max_width

Default:
1920

Type:
Integer

Need restart: No

Description:
Maximum width allocated for hardware encoder/decoder reconfiguration

hide_all

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, do not send SIP messages to browser

hls.address

Default:
0.0.0.0

Type:
InetAddress[]

Need restart: Yes

Description:
Listening address for HLS server

hls.http.port

Default:
8082

Type:
Integer

Need restart: Yes

Description:
HLS server HTTP port

hls.https.port

Default:
8445

Type:
Integer

Need restart: Yes

Description:
HLS server HTTPS port

hls_abr_auto_start

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, enable HLS ABR autostart

hls_abr_enabled

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, enable ABR and master playlist for HLS

hls_abr_path_template

Default:
{streamName}{abrSuffix}/{streamName}{abrSuffix}.m3u8

Type:
String

Need restart: Yes

Description:
Template for HLS ABR streams path

hls_abr_stream_name_suffix

Default:
-HLS-ABR-STREAM

Type:
String

Need restart: Yes

Description:
Suffix for HLS ABR stream names; a client that wants to get the ABR version instead of the ordinary version should append this suffix to the original stream name

hls_abr_with_cdn

Default:
false

Type:
Boolean

Need restart: Yes

Description:
If true, use HLS ABR with CDN; if false, use current node for transcoding

hls_acao_header_domain_mask

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, set HLS Access-Control-Allow-Origin response header to the request Origin

hls_access_control_headers

Default:
null

Type:
String

Need restart: Yes

Description:
HLS Access Control response headers

hls_always_start_segment_with_key_frame

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, always wait for a keyframe to start a new parent segment

hls_auth_enabled

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, check auth tokens for HLS

hls_auth_token_cache

Default:
10

Type:
Integer

Need restart: No

Description:
Timeout for caching auth tokens in seconds

hls_auto_start

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, enable HLS autostart

hls_debug_dir

Default:
hls-debug

Type:
String

Need restart: Yes

Description:
Folder for debug HLS stream dumps

hls_debug_stream_name_suffix

Default:
-DEBUG

Type:
String

Need restart: Yes

Description:
Suffix appended to HLS stream names in debug mode

hls_delayed_shutdown

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, waits some time before removing HLS provider

hls_delta_list_size

Default:
6

Type:
Integer

Need restart: No

Description:
Number of segments in playlist delta

hls_dir

Default:
hls

Type:
String

Need restart: Yes

Description:
HLS base folder

hls_disable_cleanup

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, do not remove inactive HLS files from disk

hls_enable_hevc

Default:
false

Type:
Boolean

Need restart: Yes

Description:
If true, enable HEVC for HLS

hls_enabled

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, enable HLS support

hls_fps_discontinuity

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, enable discontinuity tag on FPS change

hls_fps_threshold

Default:
10

Type:
Integer

Need restart: No

Description:
Threshold of FPS change in percent at which the segment is marked as discontinuity, when hls_fps_discontinuity is enabled

hls_fragmented_mp4

Default:
true

Type:
Boolean

Need restart: Yes

Description:
If true, enables FragmentedMP4 container for low-latency HLS media files

hls_hold_segments_before_delete

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, hold segments on disk before deletion

hls_hold_segments_size

Default:
5

Type:
Integer

Need restart: No

Description:
Number of segments to hold before deletion. May be useful for high-latency HLS subscribers.

hls_keep_min_segment_duration

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, keep minimum duration of parent segments, so duration will be >= hls_time_min

hls_list_size

Default:
8

Type:
Integer

Need restart: No

Description:
Maximum number of segments in playlist

hls_ll_enabled

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, enable Low Latency HLS

hls_manager_provider_timeout

Default:
300

Type:
Long

Need restart: No

Description:
HLS manager provider timeout in seconds

hls_manifest_file

Default:
index.m3u8

Type:
String

Need restart: Yes

Description:
HLS master playlist file name. Default is 'index.m3u8'

hls_max_size_queue

Default:
50

Type:
Integer

Need restart: No

Description:
Maximum size of buffer for HLS media data

hls_metrics_log_size

Default:
50

Type:
Integer

Need restart: No

Description:
Number of HLS log lines in hls/find_all response

hls_min_list_size

Default:
1

Type:
Integer

Need restart: No

Description:
Minimum number of segments in playlist (should be less than 11)

hls_min_size_queue

Default:
10

Type:
Integer

Need restart: No

Description:
Minimal size of buffer for HLS media data

hls_path_template

Default:
{streamName}/{streamName}.m3u8

Type:
String

Need restart: Yes

Description:
Template for HLS non-ABR streams path

hls_player_height

Warning

Deprecated parameter. Will be deleted in future releases

Default:
0

Type:
Integer

Need restart: No

Description:
HLS player height

hls_player_width

Warning

Deprecated parameter. Will be deleted in future releases

Default:
0

Type:
Integer

Need restart: No

Description:
HLS player width

hls_playlist_delta_enabled

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, enables LL-HLS playlist delta updates

hls_preloader_dir

Default:
hls/.preloader

Type:
String

Need restart: No

Description:
Folder for HLS preloader files

hls_preloader_enabled

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, enable HLS preloader

hls_preloader_segment_count

Default:
5

Type:
Integer

Need restart: No

Description:
Number of LL-HLS preloader segments

hls_preloader_time_min

Default:
2000

Type:
Long

Need restart: No

Description:
Minimum duration of preloader's HLS segment in milliseconds

hls_provider_traffic_waiting_time

Default:
6000

Type:
Integer

Need restart: No

Description:
Time in milliseconds that HLS provider waits for traffic before shutdown

hls_sdp_filename

Default:
hls.sdp

Type:
String

Need restart: Yes

Description:
Filename of HLS SDP

hls_segment_name_suffix_randomizer_enabled

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, append a random suffix to HLS segment file names

hls_server_enabled

Default:
true

Type:
Boolean

Need restart: Yes

Description:
If true, activate HLS server

hls_session_log_level

Default:
INFO

Type:
String

Need restart: No

Description:
Logging level for HLS session (INFO, DEBUG, ERROR)

hls_static_dir

Default:
client2/examples/demo/streaming/hls_static

Type:
String

Need restart: No

Description:
Folder for HLS static content

hls_static_enabled

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, enable serving HLS static content

hls_store_segment_in_memory

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, store HLS segments in memory

hls_subscriber_active_timeout

Default:
2000

Type:
Long

Need restart: No

Description:
Timeout for active state for HLS subscriber, in milliseconds

hls_test_interval

Default:
182000

Type:
Integer

Need restart: Yes

Description:
HLS test interval in milliseconds

hls_test_run_for

Default:
180

Type:
Integer

Need restart: Yes

Description:
HLS test duration in seconds

hls_test_start_streams

Default:
10

Type:
Integer

Need restart: Yes

Description:
HLS test streams count

hls_test_start_writers

Default:
10

Type:
Integer

Need restart: Yes

Description:
HLS test writers count

hls_time

Default:
4

Type:
Integer

Need restart: No

Description:
Size of one HLS segment in seconds

hls_time_min

Default:
2000

Type:
Long

Need restart: No

Description:
Minimal size of one HLS segment in milliseconds

hls_version

Default:
9

Type:
Integer

Need restart: No

Description:
HLS version

hls_wrap

Default:
20

Type:
Integer

Need restart: No

Description:
Maximum number of ts-files. The option is necessary to prevent disk overflow

hsts_header

Default:
null

Type:
String

Need restart: Yes

Description:
Strict-Transport-Security response header

http.address

Default:
0.0.0.0

Type:
InetAddress[]

Need restart: Yes

Description:
Listening address for HTTP server (statistics)

http.idle_timeout

Default:
0

Type:
Integer

Need restart: Yes

Description:
Idle timeout for HTTP connections in seconds. May be useful with Connection: keep-alive. 0 is interpreted as no timeout.

http.port

Default:
8081

Type:
Integer

Need restart: Yes

Description:
WCS server HTTP port

http_client_cache_control

Default:
null

Type:
String

Need restart: No

Description:
Default HTTP client cache-control header

http_client_cache_enabled

Default:
false

Type:
Boolean

Need restart: Yes

Description:
If true, enable HTTP client cache

http_client_cache_path

Default:
.cache-http

Type:
String

Need restart: Yes

Description:
HTTP client cache path

http_client_connection_read_timeout

Default:
2000

Type:
Integer

Need restart: No

Description:
HTTP client connection read timeout in milliseconds

http_client_connection_timeout

Default:
2000

Type:
Integer

Need restart: No

Description:
HTTP client connection timeout in milliseconds

http_client_max_cache_size

Default:
1g

Type:
String

Need restart: Yes

Description:
Maximum HTTP client cache size

http_enable_paths

Default:
rest,action,admin,shared,client,client_records,embed_player,empty,health-check,join-space,download-record,icon,verify,rest-api-spec

Type:
String

Need restart: No

Description:
Comma-separated list of URL paths permitted on the HTTP server

http_enable_root_redirect

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, redirect root path to /admin/login.html

https.address

Default:
0.0.0.0

Type:
InetAddress[]

Need restart: Yes

Description:
Listening address for HTTPS server (statistics)

https.port

Default:
8444

Type:
Integer

Need restart: Yes

Description:
WCS server HTTPS port

https_server_enabled

Default:
true

Type:
Boolean

Need restart: Yes

Description:
If true, activate HTTPS server

ice_add_ipv6_candidate

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, server will try to add IPv6 ICE candidates

ice_authorize_by_address

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, authorize ICE by IP address only. So, if we receive packets from authorized address but another port, the packets will be accepted even though the port was not authorized

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, perform ICE consent freshness checks on the agent

ice_keep_alive_enabled

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, enables ICE keep-alive

ice_keep_alive_timeout

Default:
15

Type:
Integer

Need restart: No

Description:
ICE keep-alive timeout in seconds. If no STUN binding request or response is received within this interval, the session will be terminated

ice_tcp_channel_high_water_mark

Default:
104857600

Type:
Integer

Need restart: Yes

Description:
High watermark for ICE TCP channels

ice_tcp_channel_low_water_mark

Default:
10485760

Type:
Integer

Need restart: Yes

Description:
Low watermark for ICE TCP channels

ice_tcp_receive_buffer_size

Default:
1048576

Type:
Integer

Need restart: Yes

Description:
Receive buffer size for ICE TCP channels

ice_tcp_send_buffer_size

Default:
1048576

Type:
Integer

Need restart: Yes

Description:
Send buffer size for ICE TCP channels

ice_tcp_transport

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, use TCP as the default ICE transport

ice_tcp_transport_force

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, use TCP transport regardless of client config

ice_timeout

Default:
15

Type:
Integer

Need restart: No

Description:
ICE timeout in seconds. ICE session will be terminated if it remains in RUNNING state past this duration (default 15 seconds)

ice_udp_channel_high_water_mark

Default:
104857600

Type:
Integer

Need restart: No

Description:
High watermark for ICE UDP channels

ice_udp_channel_low_water_mark

Default:
10485760

Type:
Integer

Need restart: No

Description:
Low watermark for ICE UDP channels

ice_udp_receive_buffer_size

Default:
1048576

Type:
Integer

Need restart: No

Description:
Receive buffer size for ICE UDP channels

ice_udp_send_buffer_size

Default:
1048576

Type:
Integer

Need restart: No

Description:
Send buffer size for ICE UDP channels

ice_udp_transport_new

Warning

Deprecated parameter. Will be deleted in future releases

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, use new UDP transport

ignore_incoming_call_if_sip_login_port_does_not_match_request_uri

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, drop incoming call if the SIP login does not match the user indicated in Request-URI

ignore_incoming_rtp

Default:
false

Type:
Boolean

Need restart: No

Description:
Discard incoming RTP before decoding/decryption. For test purposes only

in_jitter_buffer_enabled

Warning

Deprecated parameter. Will be deleted in future releases

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, switch on intermediary buffer on server side, which will reset downstream packets according to reset algorithm and min_drop_rate, max_drop_rate, min_queue_size, max_queue_size and timing_shift settings

inbound_video_rate_stat_rels_throttle

Default:
1800

Type:
Integer

Need restart: No

Description:
Inbound video rate stats interval throttle for RELS. 0 - disabled

inbound_video_rate_stat_send_interval

Default:
0

Type:
Integer

Need restart: No

Description:
Inbound video rate stat send interval in seconds, needed to calculate channel quality. 0 - disabled

increase_equals_timestamp

Default:
100

Type:
Integer

Need restart: No

Description:
Timestamps are equal within this interval in milliseconds

inject_wait_keyframe_ms

Default:
1000

Type:
Long

Need restart: No

Description:
Time in milliseconds the server should wait for the injected stream to produce a keyframe. Once elapsed, server will start to generate a black placeholder video stream. Use -1 to turn it off.

injector_pli_request_interval

Default:
1000

Type:
Long

Need restart: Yes

Description:
Minimum interval in milliseconds between PLI requests sent by the injector to the target stream

injector_queue_threshold

Default:
1000

Type:
Long

Need restart: Yes

Description:
Minimum injector's queue size for overload identification

ip

Default:
0.0.0.0

Type:
String

Need restart: Yes

Description:
External IPv4 address. This IP address will differ from the one specified with the ip_local option when the WCS server is behind NAT

ip_local

Default:
0.0.0.0

Type:
String

Need restart: Yes

Description:
WCS server will create sockets and listen on this interface

ip_v6

Default:

Type:
String

Need restart: Yes

Description:
External IPv6 address. This IP address will differ from specified with ip_local option when WCS server is behind NAT

jitter_buffer_always_detect_frame_type

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, always detect frame type from RTP packets

jitter_buffer_attempt_to_correct_broken_timestamp

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, jitter buffer adds +1 to broken RTP timestamp

jitter_buffer_capacity

Default:
0

Type:
Integer

Need restart: No

Description:
Maximum number of frames in the jitter buffer; oldest frame is dropped when capacity is exceeded (requires use_strict_jitter_buffer)

jitter_buffer_redirect_packet_data_log_to_stdout

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, redirect all RTP packet info from the jitter buffer log to stdout

jitter_buffer_request_pli_after_empty_packets

Default:
0

Type:
Integer

Need restart: No

Description:
no-desc

jitter_buffer_strictness

Default:
DEFAULT

Type:
TOLERANT
DEFAULT
STRICT

Need restart: No

Description:
Sets jitter buffer strictness

jitter_threshold

Default:
50

Type:
Integer

Need restart: No

Description:
RTMFP. If jitter between UDP media packets is greater than the threshold, it will be reported

jni_cache_class

Warning

Deprecated parameter. Will be deleted in future releases

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, cache JNI Class object

jni_debug_enable

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, enables JNI logs in stdout

jobs_core_threads

Default:
5

Type:
Integer

Need restart: Yes

Description:
Core threads count for Jobs manager

jobs_max_prefer_timeout

Default:
60

Type:
Integer

Need restart: Yes

Description:
Maximum time to wait for a job to complete in seconds

jobs_max_prefer_wait_time

Default:
5

Type:
Integer

Need restart: Yes

Description:
Maximum time to wait for a job result in a synchronous response in seconds

jobs_ttl

Default:
86400

Type:
Integer

Need restart: Yes

Description:
Time-to-live for REST jobs (in seconds). Default: 86400 sec - 1 day

keep_alive.algorithm

Default:
HIGH_LEVEL

Type:
INTERNAL
NONE
HIGH_LEVEL

Need restart: Yes

Description:
Keep-alive algorithm: INTERNAL, NONE, or HIGH_LEVEL

keep_alive.enabled

Default:
websocket,rtmfp

Type:
String

Need restart: Yes

Description:
Enable keep-alive for the listed protocols

keep_alive.peer_interval

Warning

Deprecated parameter. Will be deleted in future releases

Default:
2000

Type:
Integer

Need restart: Yes

Description:
Keep-alive peer interval (Not in use)

keep_alive.probes

Default:
10

Type:
Integer

Need restart: Yes

Description:
Number of unsuccessful attempts to ping connected client (WebSocket, RTMP, RTMFP).
If reached, server will consider the client as disconnected and will release the associated resources.

keep_alive.server_interval

Default:
5000

Type:
Integer

Need restart: Yes

Description:
Interval in milliseconds between attempts to ping connected client (WebSocket, RTMP, RTMFP)

keep_alive_streaming_sessions_enabled

Default:
false

Type:
Boolean

Need restart: Yes

Description:
If true, server sends keep-alive REST requests to check if streaming sessions (publish and subscribe) are allowed to continue

kill_event_scanner

Default:
false

Type:
Boolean

Need restart: No

Description:
Debug option, for development only

ll_hls_can_skip_segments_for_delta_list

Warning

Deprecated parameter. Will be deleted in future releases

Default:
6

Type:
Integer

Need restart: No

Description:
Number of segments in playlist that can be skipped for delta playlist

ll_hls_create_preloader

Default:
false

Type:
Boolean

Need restart: Yes

Description:
If true, enable LL-HLS Preloader creator

ll_hls_custom_preloader_dir

Default:
custom-preloader

Type:
String

Need restart: Yes

Description:
LL-HLS custom preloader base folder

ll_hls_max_number_of_parent_segments_containing_partials

Default:
5

Type:
Integer

Need restart: No

Description:
Max number of parent segments containing partials

ll_hls_part_hold_back_count

Default:
6

Type:
Integer

Need restart: No

Description:
Number of partial target durations used to compute the PART-HOLD-BACK attribute

ll_hls_partial_time_max

Default:
400

Type:
Long

Need restart: No

Description:
Maximum size of one partial HLS segment in milliseconds

ll_hls_preloader_segment_duration

Default:
400

Type:
Long

Need restart: No

Description:
Duration of preloader LL-HLS segment in milliseconds

load_balancing_acao_header

Default:

Type:
String

Need restart: Yes

Description:
Value for the Access-Control-Allow-Origin (ACAO) header in the response when a cross-domain HTTP request to the loadbalancer is received

load_balancing_enabled

Default:
false

Type:
Boolean

Need restart: Yes

Description:
If true, activate loadbalancer

log_metrics_stats

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, enable log metrics statistics

log_metrics_time_buffer

Default:
10000

Type:
Long

Need restart: Yes

Description:
Time buffer in milliseconds (lesser value = faster result, higher value = slower and more accurate); min 1 second

manager_http_ports_enabled

Default:
true

Type:
Boolean

Need restart: Yes

Description:
If true, bind old manager HTTP(S) ports 9091 and 8888

matroska_unknown_segment_size

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, write Matroska segment with unknown size instead of the actual size

max_callid_length

Default:
32

Type:
Integer

Need restart: No

Description:
Maximum length of SIP callID. If the length of generated callID exceeds this value, it will be cut to this length

max_drop_rate

Warning

Deprecated parameter. Will be deleted in future releases

Default:
null

Type:
String

Need restart: No

Description:
Queue size will be increased if loss raises up to this value.
Is used only if out_jitter_buffer_enabled=true or in_jitter_buffer_enabled=true

max_nack_requests_per_packet

Default:
100

Type:
Integer

Need restart: No

Description:
Maximum number of NACK requests per lost packet

max_queue_size

Warning

Deprecated parameter. Will be deleted in future releases

Default:
null

Type:
String

Need restart: No

Description:
Packets will be reset if queue size exceeds this maximum value.
Is used only if out_jitter_buffer_enabled=true or in_jitter_buffer_enabled=true

media_dir

Default:
media

Type:
String

Need restart: Yes

Description:
Media base folder

media_port_from

Default:
31001

Type:
Integer

Need restart: Yes

Description:
Beginning of media ports range for ICE, RTP, SRTP, RTCP

media_port_stress_test_iterations

Default:
1

Type:
Integer

Need restart: No

Description:
Media port stress test iterations

media_port_stress_test_thread_sleep

Default:
5

Type:
Integer

Need restart: No

Description:
Media port stress test thread sleeping interval in milliseconds

media_port_stress_test_threads

Default:
5

Type:
Integer

Need restart: No

Description:
Media port stress test threads count

media_port_to

Default:
32000

Type:
Integer

Need restart: Yes

Description:
End of media ports range for ICE, RTP, SRTP, RTCP

media_ports_auditor_interval

Default:
5000

Type:
Integer

Need restart: Yes

Description:
Audit interval for busy and free ports, in milliseconds

media_ports_auditor_max_attempts

Default:
3

Type:
Integer

Need restart: Yes

Description:
Number of audits to make sure the freed port is not bound.
Freed port will be returned to the pool of free ports if this number of successful audits is reached

media_processor_input_data_stat_window

Default:
30000

Type:
Integer

Need restart: No

Description:
Window for gathering min and max incoming data arrival time, in ms

media_session_connection_stats_log

Default:
false

Type:
Boolean

Need restart: No

Description:
Enable MediaSessionConnectionStats statistics logging

media_transponder_sdp_filename

Default:
media_transponder.sdp

Type:
String

Need restart: Yes

Description:
Filename of transponder SDP

min_drop_rate

Warning

Deprecated parameter. Will be deleted in future releases

Default:
null

Type:
String

Need restart: No

Description:
Queue size will be decreased if loss reduces to this value.
Is used only if out_jitter_buffer_enabled=true or in_jitter_buffer_enabled=true

min_queue_size

Warning

Deprecated parameter. Will be deleted in future releases

Default:
null

Type:
String

Need restart: No

Description:
Queue size will not be decreased lower than this minimum value.
Is used only if out_jitter_buffer_enabled=true or in_jitter_buffer_enabled=true

mixer_activity_timer_cool_off_period

Default:
1

Type:
Integer

Need restart: No

Description:
Mixer will be terminated after {mixer_activity_timer_cool_off_period * mixer_activity_timer_timeout} since last stream activity for the corresponding mixer

mixer_activity_timer_timeout

Default:
-1

Type:
Integer

Need restart: No

Description:
If there are no streams added to mixer within this timeout in milliseconds, the corresponding mixer will be terminated

mixer_app_name

Default:
defaultApp

Type:
String

Need restart: No

Description:
App name for mixer streams

mixer_audio_enabled

Default:
true

Type:
Boolean

Need restart: No

Description:
If false, mixer stream is video-only

mixer_audio_only_height

Default:
360

Type:
Integer

Need restart: No

Description:
Height constraint for mixer audio only frame

mixer_audio_only_width

Default:
640

Type:
Integer

Need restart: No

Description:
Width constraint for mixer audio only frame

mixer_audio_opus_float_coding

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, use float optimisations for Opus audio coding

mixer_audio_silence_threshold

Default:
-50.0

Type:
Double

Need restart: No

Description:
Audio silence threshold in dB

mixer_audio_threads

Default:
4

Type:
Integer

Need restart: No

Description:
Number of threads used by multithreaded audio mixer

mixer_auto_create_delimiter

Default:
#

Type:
String

Need restart: No

Description:
Delimiter separating stream name and mixer name in mixer auto-create identifiers (e.g. streamName#mixerName)

mixer_auto_start

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, enable mixer autostart

mixer_autoscale_desktop

Default:
true

Type:
Boolean

Need restart: No

Description:
Separate screen share font size from other frames

mixer_debug_mode

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, turns on debug mode and outputs debug information directly onto the mixers canvas'

mixer_decode_stream_name

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, URL-decode stream name before displaying on mixers canvas'

mixer_desktop_align

Default:
TOP

Type:
TOP
BOTTOM
LEFT
RIGHT
CENTER

Need restart: No

Description:
Alignment of screen sharing stream

mixer_display_stream_name

Default:
false

Type:
Boolean

Need restart: No

Description:
Output stream name to mixer's canvas

mixer_font_size

Default:
20

Type:
Integer

Need restart: No

Description:
Font size of the mixer text in mixer streams

mixer_font_size_audio_only

Default:
40

Type:
Integer

Need restart: No

Description:
Font size of the mixer text for audio-only streams

mixer_frame_background_colour

Default:
0x2B2A2B

Type:
String

Need restart: No

Description:
Hex value of frame background colour

mixer_idle_timeout

Default:
60000

Type:
Long

Need restart: No

Description:
Mixer idle timeout in milliseconds

mixer_in_buffering_ms

Default:
200

Type:
Integer

Need restart: No

Description:
Stream buffering time in milliseconds before it gets into mix

mixer_incoming_time_rate_lower_threshold

Default:
0.9

Type:
Double

Need restart: No

Description:
Relation between incoming stream time and actual machine mixing time, 0.9 means that incoming time rate can be 10% lower than actual stream playback rate

mixer_incoming_time_rate_upper_threshold

Default:
1.1

Type:
Double

Need restart: No

Description:
Relation between incoming stream time and actual machine mixing time, 1.2 means that incoming time rate can be 20% bigger than actual stream playback rate

mixer_layout_class

Default:
com.flashphoner.media.mixer.video.presentation.GridLayout

Type:
String

Need restart: Yes

Description:
Name of class for custom mixer layout

mixer_layout_dir

Default:

Type:
String

Need restart: No

Description:
Directory name for custom mixer layouts

mixer_linear_smoothing_audio

Default:
true

Type:
Boolean

Need restart: No

Description:
Smoothly fade-in and fade-out audio in mixer. 20ms of audio is lost during fade-in

mixer_lossless_video_processor_enabled

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, enable custom video processor for mixer incoming streams; may degrade realtime performance

mixer_lossless_video_processor_max_mixer_buffer_size_ms

Default:
200

Type:
Integer

Need restart: No

Description:
Max size in milliseconds that is allowed for mixers incoming buffer; after reaching this point, processor will use its own buffer instead'

mixer_lossless_video_processor_wait_time_ms

Default:
20

Type:
Integer

Need restart: No

Description:
Time in milliseconds to wait before checking mixer's incoming buffer again in case it was full

mixer_maintain_streams_delay_while_buffered

Default:
true

Type:
Boolean

Need restart: No

Description:
If false, mixer does not drop audio and video frames to maintain the minimum delay set by mixer_in_buffering_ms

mixer_mcu_audio

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, enable MCU-like audio mixing; each added stream will have a dedicated audio mix available as a separate stream

mixer_mcu_multithreaded_delivery

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, use separate threads for MCU streams ingest into engine

mixer_mcu_multithreaded_mix

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, mix audio and video in separate threads

mixer_mcu_video

Default:
false

Type:
Boolean

Need restart: No

Description:
Works only with MCU audio; send video to each audio MCU stream. Video stays the same as in the root mixer

mixer_minimal_font_size

Default:
1

Type:
Integer

Need restart: No

Description:
Minimal font size for stream name if autoscaling is on

mixer_out_buffer_enabled

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, enable buffer for out mixer streams

mixer_out_buffer_initial_size

Default:
2000

Type:
Long

Need restart: No

Description:
Initial size of output mixer buffer in milliseconds

mixer_out_buffer_max_bufferings_allowed

Default:
-1

Type:
Integer

Need restart: No

Description:
Maximum number of buffering events allowed for the output mixer buffer; -1 means unlimited

mixer_out_buffer_overflow_allowed_deviation

Default:
1000

Type:
Long

Need restart: No

Description:
Max allowed difference between min(buffer) and max(buffer). If this constraint is met over the mixer_out_buffer_overflow_deviation_window, overflow state will be set leading to clock acceleration

mixer_out_buffer_overflow_deviation_window

Default:
30000

Type:
Integer

Need restart: No

Description:
Window for gathering min and max buffer sizes over time, in ms

mixer_out_buffer_overflow_rate

Default:
0.15

Type:
Double

Need restart: No

Description:
Buffer clock acceleration rate. To calculate increase in output speed use (1 + rate) / buffer = 1/x

mixer_out_buffer_polling_time

Default:
100

Type:
Long

Need restart: No

Description:
Output mixer buffer polling time in milliseconds

mixer_out_buffer_start_size

Default:
150

Type:
Long

Need restart: No

Description:
Start size of output mixer buffer in milliseconds

mixer_prune_streams

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, prune mixer streams

mixer_realtime

Default:
true

Type:
Boolean

Need restart: No

Description:
Turns on realtime version of mixer

mixer_separate_buffering_audio_video

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, separate audio and video buffering in mixer

mixer_show_separate_audio_frame

Default:
true

Type:
Boolean

Need restart: No

Description:
Show audio frame for audio+video stream if added with hasVideo: false

mixer_text_align

Default:
BOTTOM_LEFT

Type:
TOP_LEFT
TOP_CENTER
TOP_RIGHT
CENTER
BOTTOM_LEFT
BOTTOM_CENTER
BOTTOM_RIGHT
EXTERNAL_TOP_CENTER
EXTERNAL_BOTTOM_CENTER

Need restart: Yes

Description:
Position of the mixer text relative to frame in mixer streams

mixer_text_autoscale

Default:
true

Type:
Boolean

Need restart: No

Description:
Enable autoscaling of the mixer text in mixer streams

mixer_text_background_colour

Default:
0x2B2A2B

Type:
String

Need restart: No

Description:
Hex value of the mixer text background colour in mixer streams

mixer_text_background_opacity

Default:
100

Type:
Integer

Need restart: No

Description:
Opacity of the mixer text background in mixer streams, in percent

mixer_text_bulk_write

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, use bulk write with a byte buffer for text

mixer_text_bulk_write_with_buffer

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, use bulk write with a byte buffer for text and cache the whole text as a frame

mixer_text_colour

Default:
0xFFFFFF

Type:
String

Need restart: No

Description:
Hex value of the mixer text colour in mixer streams

mixer_text_cut_top

Default:
3

Type:
Integer

Need restart: No

Description:
Clip top part of the mixer text in mixer streams, in pixels

mixer_text_display_room

Default:
true

Type:
Boolean

Need restart: No

Description:
Display the room name within the mixer text in mixer streams

mixer_text_font

Default:
Serif

Type:
String

Need restart: No

Description:
Font of the mixer text in mixer streams

mixer_text_outside_frame

Warning

Deprecated parameter. Will be deleted in future releases

Default:
NO

Type:
String

Need restart: Yes

Description:
Place text outside frame (NO, TOP, or BOTTOM); deprecated, use mixer_text_align instead

mixer_text_outside_frame_padding

Default:
50

Type:
Integer

Need restart: Yes

Description:
External padding for the mixer text placed outside the frame in mixer streams, in pixels

mixer_text_padding_bottom

Default:
5

Type:
Integer

Need restart: No

Description:
Padding for the bottom side of the mixer text in mixer streams, in pixels

mixer_text_padding_left

Default:
5

Type:
Integer

Need restart: No

Description:
Padding for the left side of the mixer text in mixer streams, in pixels

mixer_text_padding_right

Default:
4

Type:
Integer

Need restart: No

Description:
Padding for the right side of the mixer text in mixer streams, in pixels

mixer_text_padding_top

Default:
5

Type:
Integer

Need restart: No

Description:
Padding for the top side of the mixer text in mixer streams, in pixels

mixer_thread_priority

Default:
5

Type:
Integer

Need restart: No

Description:
Mixer thread priority, min 1 max 10

mixer_type

Default:
NATIVE

Type:
JAVA
NATIVE
MULTI_THREADED_NATIVE
CUDA

Need restart: No

Description:
Mixer implementation, can be JAVA, NATIVE, MULTI_THREADED_NATIVE or CUDA

mixer_use_sdp_state

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, enable audio/video-only stream detection via SDP state

mixer_video_background_filename

Default:
null

Type:
String

Need restart: No

Description:
Mixer video background image filename. Example: background.png

mixer_video_bitrate_kbps

Default:
2000

Type:
Integer

Need restart: No

Description:
Encoded video bitrate in kbps

mixer_video_desktop_fullscreen

Default:
false

Type:
Boolean

Need restart: No

Description:
Display desktop stream in fullscreen mode

mixer_video_desktop_layout_inline_padding

Default:
10

Type:
Integer

Need restart: No

Description:
Padding between video streams in bottom row (under screen sharing stream)

mixer_video_desktop_layout_padding

Default:
30

Type:
Integer

Need restart: No

Description:
Padding between top row (screen sharing stream) and bottom row (other streams)

mixer_video_enabled

Default:
true

Type:
Boolean

Need restart: No

Description:
If false, mixer stream is audio-only

mixer_video_fps

Default:
30

Type:
Integer

Need restart: No

Description:
FPS constraint for mixer stream

mixer_video_grid_layout_middle_padding

Default:
10

Type:
Integer

Need restart: No

Description:
Padding between video streams in one row (when there is no screen sharing stream)

mixer_video_grid_layout_padding

Default:
30

Type:
Integer

Need restart: No

Description:
Padding between rows of video streams (when there is no screen sharing stream)

mixer_video_height

Default:
720

Type:
Integer

Need restart: No

Description:
Height constraint for mixer stream

mixer_video_layout_desktop_key_word

Default:
desktop

Type:
String

Need restart: No

Description:
Keyword in stream name to identify screen sharing streams in mixer layout

mixer_video_profile_level

Default:
42c02a

Type:
String

Need restart: No

Description:
Mixer video profile and level in hex. Example: 42c02a

mixer_video_quality

Default:
24

Type:
Integer

Need restart: No

Description:
Encoded video quality (CRF) for mixer output

mixer_video_stable_fps_threshold

Default:
15

Type:
Integer

Need restart: No

Description:
Streams with fps lower than threshold won't trigger buffering of the stream if video buffer was exhausted

mixer_video_threads

Default:
4

Type:
Integer

Need restart: No

Description:
Number of threads used by multithreaded video mixer

mixer_video_width

Default:
1280

Type:
Integer

Need restart: No

Description:
Width constraint for mixer stream

mixer_voice_activity

Default:
true

Type:
Boolean

Need restart: No

Description:
Enable/disable voice activity frame

mixer_voice_activity_colour

Default:
0x00CC66

Type:
String

Need restart: No

Description:
Hex value of voice activity colour

mixer_voice_activity_frame_position_inner

Default:
false

Type:
Boolean

Need restart: No

Description:
Draw voice activity frame inside the frame. If false - draw around the frame

mixer_voice_activity_frame_thickness

Default:
6

Type:
Integer

Need restart: No

Description:
Thickness of voice activity frame

mixer_voice_activity_switch_delay

Default:
0

Type:
Integer

Need restart: No

Description:
Voice activity indicator switch off delay in milliseconds

mp4_container_moov_first

Default:
true

Type:
Boolean

Need restart: No

Description:
When recording MP4, write moov atom first, so recording can be played/downloaded progressively

mp4_container_moov_first_reserve_space

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, reserve space for moov atom to avoid additional filesystem copy

mp4_container_moov_reserved_space_size

Default:
2048

Type:
Integer

Need restart: No

Description:
Size of the space reserved for the moov atom when writing moov first, in kilobytes

mp4_container_write_header_on_fly

Default:
false

Type:
Boolean

Need restart: Yes

Description:
If true, periodically rewrite the MP4 header while the stream is being recorded

mp4_container_write_header_on_fly_interval

Default:
5

Type:
Integer

Need restart: Yes

Description:
Interval for writing MP4 header on the fly in seconds

mp4_cutter_dir

Default:
records

Type:
String

Need restart: Yes

Description:
Folder to place MP4 fragments while playing recording files in browser

mp4_cutter_manager_cache_expire

Default:
60000

Type:
Integer

Need restart: Yes

Description:
MP4 cutter manager cache expiration time in milliseconds

mpeg1.gop_size

Default:
60

Type:
Integer

Need restart: No

Description:
GOP size or k-frame interval

mpeg1.qmax

Default:
24

Type:
Integer

Need restart: No

Description:
Maximum value of quality parameter. The lower the value, the better is quality, and the higher is bitrate. If it is too low (e.g. 1), bitrate is too high and vice versa

mpeg1.qmin

Default:
4

Type:
Integer

Need restart: No

Description:
Minimum value of quality parameter. The lower the value, the better is quality, and the higher is bitrate. If it is too low (e.g. 1), bitrate is too high and vice versa

mpeg1.trellis

Default:
0

Type:
Integer

Need restart: No

Description:
Trellis quantization

mpegts_agent_sdp_filename

Default:
mpegts_agent.sdp

Type:
String

Need restart: Yes

Description:
Filename of MPEG-TS publisher SDP

mpegts_max_pts_diff

Default:
1

Type:
Integer

Need restart: No

Description:
If server receives a packet whose PTS differs by more than this value in seconds, sessions of subscribers will be terminated

mpegts_reserved_port_from

Default:
42001

Type:
Integer

Need restart: Yes

Description:
Beginning of MPEG-TS reserved ports range

mpegts_reserved_port_to

Default:
43000

Type:
Integer

Need restart: Yes

Description:
End of mpegts reserved ports range

mpegts_stream_timeout

Default:
90000

Type:
Long

Need restart: No

Description:
MpegTS stream with no data will be terminated after this timeout in milliseconds

mpegts_udp_change_socket_time

Default:
5000

Type:
Long

Need restart: No

Description:
Time to wait for switch to another UDP MpegTS stream if previous was stopped, in milliseconds

mpegts_udp_constant_socket

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, the server accepts packets only from the first client socket. Packets from other sockets will be ignored

mse_sdp_filename

Default:
mse.sdp

Type:
String

Need restart: Yes

Description:
Filename of MSE SDP

msrp_port

Default:
2855

Type:
Integer

Need restart: No

Description:
Port for receiving MSRP / TCP connections

multi_record_dir

Default:
records

Type:
String

Need restart: Yes

Description:
MultiRecord base folder

multi_recorder_mkv_fill_gaps

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, fill gaps in Matroska tracks

multi_recorder_type

Default:
MP4

Type:
MKV
MP4

Need restart: No

Description:
Multi-recorder output format (MP4 or MKV)

multipart_message_service_uri

Default:
null

Type:
String

Need restart: No

Description:
SIP URI for sending message to multiple destinations.
A message is sent from client with Content-Type:multipart/mixed and then sent by SIP server to multiple destinations

multiple_pull_test_server_url

Default:
null

Type:
String

Need restart: Yes

Description:
Source server URL to pull the stream from for the multiple pull test

multiple_pull_test_stream_name

Default:
null

Type:
String

Need restart: Yes

Description:
Stream name for the multiple pull test

multiple_pull_test_subscribers

Default:
100

Type:
Integer

Need restart: No

Description:
Number of subscribers for multiple pull test

native_test_aac

Default:
true

Type:
Boolean

Need restart: Yes

Description:
If true, enable AAC native test

native_test_decoder

Default:
true

Type:
Boolean

Need restart: Yes

Description:
If true, enable decoder native test

native_test_encoder

Default:
true

Type:
Boolean

Need restart: Yes

Description:
If true, enable encoder native test

native_test_opus

Default:
true

Type:
Boolean

Need restart: Yes

Description:
If true, enable Opus native test

native_test_resampler

Default:
true

Type:
Boolean

Need restart: Yes

Description:
If true, test resampler allocation in the native resource test

native_test_run_for

Default:
180

Type:
Integer

Need restart: Yes

Description:
Native test duration in seconds

native_test_start_threads

Default:
10

Type:
Integer

Need restart: Yes

Description:
Number of threads to start in native test

native_test_thread_interval

Default:
200

Type:
Integer

Need restart: Yes

Description:
Native test thread sleep interval in milliseconds

netty_deadlock_aware_worker_timeout

Default:
10000

Type:
Integer

Need restart: No

Description:
Timeout in milliseconds to detect Netty worker deadlock

no_media_dump_interval

Default:
15000

Type:
Long

Need restart: No

Description:
Period in milliseconds, within which media traffic should be captured by tcpdump when client sends bug report with no_media type

notification_apns_key_id

Default:
null

Type:
String

Need restart: No

Description:
Key ID for iOS APNs

notification_apns_key_path

Default:
/usr/local/FlashphonerWebCallServer/conf/apns_auth_key.p8

Type:
String

Need restart: No

Description:
Full path to p8 key file for iOS APNs

notification_apns_team_id

Default:
null

Type:
String

Need restart: No

Description:
Team ID for iOS APNs

notify_message_call_timeout

Default:
null

Type:
String

Need restart: No

Description:
Timeout in milliseconds to wait for client confirmation of receiving an incoming message.
When an incoming message is received, it is sent to the destination client, and the confirmation timeout is started. If the client does not confirm receiving the message within the timeout, WCS server responds to the sender that the message was not received and delivered (in cases when delivery report is required)

oauth_access_token_lifetime

Default:
900

Type:
Integer

Need restart: Yes

Description:
Lifetime in seconds of OAuth access tokens (default 15m)

oauth_auth_code_lifetime

Default:
60

Type:
Integer

Need restart: Yes

Description:
Lifetime in seconds of OAuth authorization codes

oauth_auth_server_enabled

Default:
false

Type:
Boolean

Need restart: Yes

Description:
If true, start the OAuth 2.1 Authorization Server used by MCP clients

oauth_auth_server_issuer

Default:

Type:
String

Need restart: Yes

Description:
Issuer URL of the OAuth Authorization Server (e.g. https://wcs.example.com:9999). Mandatory when oauth_auth_server_enabled is true; used as the base for all endpoint URLs in the discovery document

oauth_auth_server_port

Default:
9999

Type:
Integer

Need restart: Yes

Description:
Listening port of the OAuth Authorization Server

oauth_auth_server_ssl

Default:
true

Type:
Boolean

Need restart: Yes

Description:
If true, the OAuth Authorization Server terminates TLS using the WCS keystore

oauth_refresh_token_lifetime

Default:
2592000

Type:
Integer

Need restart: Yes

Description:
Lifetime in seconds of OAuth refresh tokens (default 30d)

oauth_tokens_secret_key

Default:

Type:
String

Need restart: Yes

Description:
Base64-encoded HMAC-SHA256 secret used to sign OAuth access and refresh tokens. If empty, a random in-process key is generated and all issued tokens become invalid after a restart

on_multiple_record_hook_script

Default:
on_multiple_record_hook.sh

Type:
String

Need restart: No

Description:
This option points to shell script located in /usr/local/FlashphonerWebCallServer/bin directory, which is started when multipleRecorder is terminated. By default, the script runs offline_mixer_tool.sh script located in /usr/local/FlashphonerWebCallServer/tools with default offlineMixer config located in /usr/local/FlashphonerWebCallServer/conf.

on_record_hook_script

Default:
on_record_hook.sh

Type:
String

Need restart: No

Description:
This option points to a shell script located in the /usr/local/FlashphonerWebCallServer/bin directory, which is started when a stream is unpublished, if a recording of the stream has been created. Two parameters will be passed to the script:
$1 - the stream name
$2 - absolute name of the file with recording of audio and video of the stream
This script can be used to copy or move a stream record from the /usr/local/FlashphonerWebCallServer/records directory to another location as soon as the recording is completed. By default, the script does not contain such commands and should be edited as required.
Example:
STREAM_NAME=$1
SRC_FILE=$2
SRC_DIR=/usr/local/FlashphonerWebCallServer/records/
REPLACE_STR=/var/www/html/stream_records/$STREAM_NAME-
DST_FILE=${SRC_FILE/$SRC_DIR/$REPLACE_STR}
cp $SRC_FILE $DST_FILE
Make sure the script works correctly: start it manually, e.g.
./on_record_hook.sh streamName /usr/local/FlashphonerWebCallServer/records/stream-a58aea39-6333-4cb2-8jtn93gtmgr6mrq0nilk6l958j.mp4

options2flash_delegate

Default:
null

Type:
String

Need restart: No

Description:
If true, wait for a client response prior to responding with 200 OK to an OPTIONS request

opus.encoder.bitrate

Default:
-1

Type:
Integer

Need restart: No

Description:
Target bitrate for Opus encoder, in bps

opus.encoder.complexity

Default:
-1

Type:
Integer

Need restart: No

Description:
Target complexity for Opus encoder

opus_formats

Default:
null

Type:
String

Need restart: No

Description:
Comma-separated list of Opus formats (name=value).
Example: maxaveragebitrate=20000.
These formats will be listed in SDP

order_threads_by_seq

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, order incoming SIP messages by sequence number and wait if number is out of order

out_jitter_buffer_enabled

Warning

Deprecated parameter. Will be deleted in future releases

Default:
null

Type:
String

Need restart: No

Description:
If true, switch on intermediary buffer on server side, which will reset upstream packets according to reset algorithm and min_drop_rate, max_drop_rate, min_queue_size, max_queue_size and timing_shift settings

outbound_port

Default:
null

Type:
String

Need restart: No

Description:
SIP port. If this parameter is set, it will redefine values that were transmitted during connection

outbound_proxy

Default:
null

Type:
String

Need restart: No

Description:
SIP outbound proxy. If this parameter is set, it will redefine values that were transmitted during connection

outbound_video_rate_stat_rels_throttle

Default:
1800

Type:
Integer

Need restart: No

Description:
Outbound video rate stats interval throttle for RELS. 0 - disabled

outbound_video_rate_stat_send_interval

Default:
0

Type:
Integer

Need restart: No

Description:
Outbound video rate stat send interval in seconds, needed to calculate channel quality. 0 - disabled

parse_system_stats

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, gather system level statistics such as netstat, lsof, etc. The parsing may take a lot of time

periodic_fir_request

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, then every 5 seconds WCS server sends an RTCP Full Intra Request (FIR) message to the input stream source and then forwards its response to the RTMP CDN.
Required in case of SIP as RTMP' stream with Zoom as the SIP Endpoint and the input stream source, so that every new subscriber receives video keyframe (otherwise, stream video may be not played)'

periodic_fir_request_interval

Default:
5000

Type:
Integer

Need restart: No

Description:
Interval to send RTCP FIR in milliseconds

play_stream_force_video_orientation

Default:
true

Type:
Boolean

Need restart: No

Description:
Force negotiation of 3gpp video orientation extension for play stream requests

port_from

Default:
30000

Type:
Integer

Need restart: No

Description:
Beginning of range of ports for SIP signaling

port_to

Default:
31000

Type:
Integer

Need restart: No

Description:
End of range of ports for SIP signaling

preserve_non_mixed_recorded_files

Default:
false

Type:
Boolean

Need restart: No

Description:
Two files are created when recording: one for incoming sound, and another for outgoing. Then those files are mixed in one resulting recording.
If this setting is false, the temporary files will be deleted after mixing.
If true, the files will be saved

Default:
false

Type:
Boolean

Need restart: No

Description:
RTMFP. If true, print statistics of streams in logs

Warning

Deprecated parameter. Will be deleted in future releases

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, print RTCP report on end of session

priority_outside_codecs

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, outside (browser) codecs are listed first in SDP

process_control_enabled

Default:
false

Type:
Boolean

Need restart: No

Description:
Enables the Process REST controller (/rest-api/v3/process/shutdown, /rest-api/v3/process/restart) which terminates the WCS JVM via System.exit. SECURITY: disabled by default; when enabled, any authenticated REST caller can stop or restart the server.

process_remote_sdp_candidates

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, process candidates from SDP

profiles

Default:
42e01f,640028

Type:
String

Need restart: No

Description:
Comma-separated list of H.264 profiles. These profiles will be used in SDP for video calls

proxy_propagate_fir

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, propagate FIR requests through proxy

proxy_use_h264_packetization_mode_1_only

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, remove H.264 codecs with packetization mode 0 from proxy codec list, leaving only packetization mode 1

ptime

Default:
20

Type:
Integer

Need restart: Yes

Description:
Packetization time. Use carefully

ptime_corrector_enabled

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, enable corrector for required packetization time

public_url

Default:
null

Type:
String

Need restart: Yes

Description:
Public URL of the server (must include protocol and port). If not specified, the server constructs URLs using local HTTP settings.

publication_report_format

Default:
null

Type:
String

Need restart: No

Description:
RTMFP. Sets format for statistics.
Possible value: csv

pull_streams

Default:
null

Type:
String

Need restart: Yes

Description:
Comma-separated list of URLs to pull from at server startup

queue_ping_period

Default:
2000

Type:
Integer

Need restart: Yes

Description:
Queue ping interval in milliseconds

queue_stat_log

Default:
true

Type:
Boolean

Need restart: No

Description:
Enable queue statistics logging

queue_transcoder_core_router_uri

Default:
tcp://127.0.0.1:5555

Type:
String

Need restart: No

Description:
Queue transcoder core router URI

queue_transcoder_receive_timeout

Default:
500

Type:
Integer

Need restart: Yes

Description:
Queue transcoder receive timeout in milliseconds

queue_transcoder_shm_path

Default:
/dev/shm/

Type:
String

Need restart: No

Description:
Path to shared memory objects for queue transcoder

queue_transcoder_shm_size

Default:
5

Type:
Integer

Need restart: Yes

Description:
Shared memory object size for queue transcoder

queue_transcoder_transmit_timeout

Default:
500

Type:
Integer

Need restart: Yes

Description:
Queue transcoder transmit timeout in milliseconds

queue_transcoder_worker_router_uri

Default:
ipc:///tmp/flashphoner.pipe

Type:
String

Need restart: No

Description:
Queue transcoder worker router URI

quick_fixes

Default:
{}

Type:
Map

Need restart: No

Description:
Set of enabled quick fixes, hacks and workarounds

record

Default:
null

Type:
String

Need restart: No

Description:
Path to the directory for audio call recordings. If this path is designated, then audio call recordings will be saved to that directory in WAV Track format.
Also, this is used for recording PCM audio on streams for debug needs (see record_audio_processor_pcm= setting)

record_audio_buffer_max_size

Default:
100

Type:
Integer

Need restart: No

Description:
Maximum size of the recording audio buffer

record_audio_codec_channels

Default:
2

Type:
Integer

Need restart: No

Description:
Codec channel count used for recording streams

record_audio_codec_sample_rate

Default:
44100

Type:
Integer

Need restart: No

Description:
Codec sample rate used for recording streams

record_audio_processor_pcm

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, record audio on stream as PCM16. (Then record= option should point to a valid path, e.g. record=/tmp/)

record_calls_with_multiple_recorder

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, record SIP calls with MultipleRecorder and merge with offline mixer

record_close_scheduling_period

Default:
20

Type:
Integer

Need restart: Yes

Description:
Buffer check period for closing a record in milliseconds

record_dir

Default:
records

Type:
String

Need restart: Yes

Description:
Record base folder

record_fdk_aac_bitrate_mode

Default:
5

Type:
Integer

Need restart: No

Description:
FDK AAC bitrate mode for recording. 0 - CBR, 1-5 - VBR

record_filename_template

Default:
null

Type:
String

Need restart: No

Description:
Filename template for an audio call recording. Besides the default fields, {date} field can also be used

record_flash_published_streams

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, record streams published from native Flash clients and RTMP live encoders such as Wirecast, FFmpeg, FMLE, etc.

record_formats

Default:
h264-mp4,vp8-webm

Type:
RecordFormats

Need restart: No

Description:
Output file format for H264 and VP8 stream recording

record_h264_to_ts

Warning

Deprecated parameter. Will be deleted in future releases

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, record to TS instead of MP4

record_mixer_streams

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, mixer streams are recorded

record_response_content_disposition_header_value

Default:
null

Type:
String

Need restart: No

Description:
Content-Disposition header value for responses on /client/records/ path

record_rotation

Default:
null

Type:
String

Need restart: No

Description:
If set, rotation for stream recording files is enabled, in seconds, Megabytes or headerSize.
Example: 3600 - rotate every hour
Example: 10M - rotate after every 10 Megabytes

record_rotation_index_enabled

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, append a rotation index suffix to rotated stream recording filenames

record_rtsp_streams

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, record RTSP streams

record_stop_timeout

Default:
15

Type:
Integer

Need restart: No

Description:
Record stop timeout in seconds

record_streams

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, enables recording of published streams (global master switch). For WebRTC, recording is additionally requested by the client via session.createStream({record:true,…}). For streams published by native Flash/RTMP and RTSP sources, recording is enabled by record_flash_published_streams and record_rtsp_streams respectively. Records are saved to /usr/local/FlashphonerWebCallServer/records

record_tmp_dir

Default:
records

Type:
String

Need restart: Yes

Description:
Recording temporary files base folder

recording_by_user

Default:
false

Type:
Boolean

Need restart: Yes

Description:
If true, call is recorded for the initiator of the call only

red_max_encodings_number

Default:
1

Type:
Integer

Need restart: No

Description:
Maximum number of RED encodings, hard limit is 32

reg_expires

Default:
3600

Type:
Integer

Need restart: No

Description:
Value in seconds which will be used in Expires header when SIP REGISTER request is sent

rels_client_type

Default:
FILE

Type:
JDBC
HTTP
FILE

Need restart: Yes

Description:
ClickHouse client implementation

rels_consumer_interval

Default:
1000

Type:
Integer

Need restart: Yes

Description:
RELS events buffer consumer interval in milliseconds

rels_database

Default:

Type:
String

Need restart: Yes

Description:
Database for writing SQA metrics

rels_database_address

Default:
localhost:8123

Type:
String

Need restart: Yes

Description:
Address of the ClickHouse database that will be used for storing events

rels_database_properties

Default:
user=wcs&password=wcs

Type:
String

Need restart: Yes

Description:
Properties of ClickHouse database that will be used for events storing

rels_database_thread_pool_size

Default:
4

Type:
Integer

Need restart: Yes

Description:
Database thread pool size; if the value is less than 1, the default shared thread pool will be used

rels_enable_compression

Default:
false

Type:
Boolean

Need restart: Yes

Description:
If true, enable compression of RELS ClickHouse client traffic

rels_enabled

Default:

Type:
EnumSet

Need restart: No

Description:
Enables logging of the listed event types to database

rels_event_buffer_initial_size

Default:
5000

Type:
Integer

Need restart: Yes

Description:
Initial size of the RELS events buffer

rels_event_buffer_interval

Default:
60000

Type:
Integer

Need restart: No

Description:
RELS events buffer flush interval in milliseconds

rels_event_buffer_max_size

Default:
40000

Type:
Integer

Need restart: No

Description:
Max size of the RELS events buffer

rels_events_default_frequency

Default:
1000ms

Type:
String

Need restart: No

Description:
Default frequency to collect RELS events (e.g. 100ms or 100th) if not specified by REST API request

rels_handler_queue_max_size

Default:
10000

Type:
Integer

Need restart: Yes

Description:
Max RELS event handler queue size

rels_media_session_events_default_frequency

Default:
1000

Type:
Integer

Need restart: Yes

Description:
Default frequency (ms) to collect RELS media session events if not specified by REST API request

rels_test_start_threads

Default:
2

Type:
Integer

Need restart: Yes

Description:
Number of RELS test threads

rels_test_thread_events

Default:
2

Type:
Integer

Need restart: Yes

Description:
Number of events generated per RELS test thread iteration

rels_test_thread_interval

Default:
2

Type:
Integer

Need restart: Yes

Description:
RELS test thread sleep interval in milliseconds

remove_ssrc_attr

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, remove SSRC attribute from SDP

replace_cached_pool_with_default_pool

Default:
false

Type:
Boolean

Need restart: Yes

Description:
If true, replace cached thread pool with default thread pool

resample_video

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, enable video rescaling.
Example:
1. Publish video as 640x480 (4:3)
2. Play video as 400x225 (16:9)
If resample_video=true, WCS server will rescale video from 640x480 to 400x225 and it will be flattened vertically.
If resample_video=false, video will be cut down to 400x225, and part of the video will be lost.
So, when setting playback width and height, you should specify appropriate ratio (e.g., 320x240 for 640x480 published stream); then, if resample_video=true, video will be rescaled properly

rest_access_control_allow_credentials

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, enables REST API response Access-Control-Allow-Credentials header

rest_access_control_allow_headers

Default:
content-type,x-requested-with

Type:
String

Need restart: No

Description:
REST API response Access-Control-Allow-Headers headers comma separated list

rest_access_control_allow_methods

Default:
POST

Type:
String

Need restart: No

Description:
REST API response Access-Control-Allow-Methods methods comma separated list

rest_access_control_allow_origin

Default:
*

Type:
String

Need restart: No

Description:
REST API response Access-Control-Allow-Origin header

rest_access_control_headers

Default:
null

Type:
String

Need restart: Yes

Description:
REST API response access-control headers, semicolon-separated name:value pairs that override individual rest_access_control_allow_* settings

rest_api_implicit_limit

Default:
1000

Type:
Integer

Need restart: Yes

Description:
Default page size for paginated REST endpoints when the client omits the 'limit' field in the request body

rest_api_max_limit

Default:
0

Type:
Integer

Need restart: Yes

Description:
Upper bound for the 'limit' field in the request body of paginated REST endpoints. 0 means no upper bound

rest_client_ip

Default:

Type:
String

Need restart: Yes

Description:
The REST client will create sockets on this address for the HTTP connection pool

rest_client_port_from

Default:
40000

Type:
Integer

Need restart: Yes

Description:
Beginning of REST client ports range

rest_client_port_to

Default:
41000

Type:
Integer

Need restart: Yes

Description:
End of REST client port range

rest_client_ports_auditor_interval

Default:
10000

Type:
Integer

Need restart: No

Description:
Audit interval for RestClient ports, in milliseconds

rest_client_ports_auditor_max_attempts

Default:
3

Type:
Integer

Need restart: No

Description:
Number of audits to make sure the freed port is not bound.
Freed port will be returned to the pool of free ports if this number of successful audits is reached

rest_client_request_retry_count

Default:
3

Type:
Integer

Need restart: Yes

Description:
How many times to retry sent request; 0 means no retries.

rest_client_request_sent_retry_enabled

Default:
true

Type:
Boolean

Need restart: Yes

Description:
If true, retry non-idempotent requests that have already been sent

rest_connection_idle_timeout

Default:
300

Type:
Integer

Need restart: Yes

Description:
Timeout for idle connections in the pool, in seconds

rest_hook_secret_key

Default:
null

Type:
String

Need restart: No

Description:
REST hook secret key

rest_hook_send_hash

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, sign REST hook requests with an HMAC-MD5 hash of the request body using rest_hook_secret_key, sent in the Authorization header

rest_max_connections

Default:
200

Type:
Integer

Need restart: Yes

Description:
Maximum number of connections in the REST client connection pool

rest_request_timeout

Default:
15

Type:
Integer

Need restart: Yes

Description:
REST request timeout in seconds

rfc2833_packets_count

Default:
null

Type:
String

Need restart: No

Description:
Number of RTP packets for sending one DTMF

rmi.port

Default:
1098

Type:
Integer

Need restart: Yes

Description:
Internal RMI port for communications with WCS Manager

room_idle_timeout

Default:
60000

Type:
Long

Need restart: Yes

Description:
Room idle timeout in milliseconds

rtc_ice_add_local_component

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, add a local host candidate alongside the server-reflexive (SRFLX) ICE candidate

rtc_ice_add_local_interface

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, ip_local= address will be added to ICE candidates as another candidate. (External IP address specified in ip= setting is added to ICE candidates by default)

rtc_ip

Default:
null

Type:
String

Need restart: No

Description:
External IP address for WebRTC. Can be used for WebRTC deployment on a particular network interface having an external address different from the one specified with the ip= setting

rtc_ip_local

Default:
null

Type:
String

Need restart: No

Description:
Local IP address for WebRTC. Can be used for WebRTC deployment on particular network interface having local address different from the one specified with ip_local= setting

rtc_metrics_ingest_enabled

Default:
false

Type:
Boolean

Need restart: Yes

Description:
If true, enable server that ingests RTC metrics from clients

rtc_metrics_ingest_http_port

Default:
8480

Type:
Integer

Need restart: Yes

Description:
RTC Metrics collector HTTP port

rtc_metrics_ingest_https_port

Default:
8481

Type:
Integer

Need restart: Yes

Description:
RTC Metrics collector HTTPS port

rtc_metrics_ingest_ip

Default:
0.0.0.0

Type:
InetAddress

Need restart: Yes

Description:
RTC Metrics collector IP address

rtc_metrics_ingest_meta_repository

Default:
IN_MEMORY

Type:
IN_MEMORY
REDIS

Need restart: Yes

Description:
Metainformation storage type for RTC-metrics processing

rtc_metrics_jwt_access_expires_in

Default:
86400

Type:
Integer

Need restart: Yes

Description:
Lifetime in seconds of access tokens issued for the RTC metrics ingest

rtc_metrics_jwt_secret

Default:

Type:
String

Need restart: Yes

Description:
Base64-encoded HMAC-SHA256 secret used to sign JWT access tokens for the RTC metrics ingest. Must match the value configured on the ingest service (sqa-ingest flashphoner.security.jwt.secret'). If empty, a random in-process key is generated and tokens issued by this WCS will not be accepted by external ingest services.'

rtc_metrics_resend_token_enabled

Default:
false

Type:
Boolean

Need restart: Yes

Description:
Each client is sent an access token to ingest when a connection is established. Enable this setting to periodically send a fresh token.

rtc_metrics_resend_token_interval

Default:
3600

Type:
Integer

Need restart: Yes

Description:
The interval in seconds between fresh tokens for accessing ingest. The interval starts counting for each client from the moment of connection.

rtcp_pli_request_interval

Default:
1000

Type:
Long

Need restart: No

Description:
Minimum waiting time in milliseconds to send PLI after receiving a key frame

rtcp_sender_interval

Default:
0.1

Type:
Double

Need restart: No

Description:
Guard RTCP interval based on the specified fraction of RTCP bitrate

rtmfp.address

Default:
0.0.0.0

Type:
InetAddress[]

Need restart: Yes

Description:
Listening address for RTMFP server

rtmfp.port

Default:
1935

Type:
Integer

Need restart: Yes

Description:
RTMFP server port, UDP

rtmfp_server_enabled

Default:
true

Type:
Boolean

Need restart: Yes

Description:
Enable/disable RTMFP server

rtmp.address

Default:
0.0.0.0

Type:
InetAddress[]

Need restart: Yes

Description:
Listening address for RTMP server

rtmp.port

Default:
1935

Type:
Integer

Need restart: Yes

Description:
RTMP server port, TCP

rtmp.server_buffer_enabled

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, buffer RTMP data on Java heap when socket buffer is full

rtmp.server_channel_high_water_mark

Default:
52428800

Type:
Integer

Need restart: Yes

Description:
Write buffer high watermark for connected RTMP channels, in bytes

rtmp.server_channel_low_water_mark

Default:
5242880

Type:
Integer

Need restart: Yes

Description:
Low watermark for connected rtmp channels

rtmp.server_channel_send_buffer_size

Default:
1048576

Type:
Integer

Need restart: Yes

Description:
Send buffer size for rtmp channels

rtmp.server_read_socket_timeout

Default:
0

Type:
Integer

Need restart: Yes

Description:
TCP socket read timeout for RTMP server, in seconds

rtmp.server_socket_timeout

Default:
0

Type:
Integer

Need restart: Yes

Description:
TCP socket write and read timeout for RTMP server, in seconds

rtmp.server_write_socket_timeout

Default:
0

Type:
Integer

Need restart: Yes

Description:
TCP socket write timeout for RTMP server, in seconds

rtmp.use_server_socket_timeout

Default:
false

Type:
Boolean

Need restart: Yes

Description:
DEPRECATED (use rtmp.server_socket_timeout, rtmp.server_read_socket_timeout, rtmp.server_write_socket_timeout). If true, use the RTMP server TCP socket timeout set with the rtmp.server_socket_timeout option

rtmp_activity_timer_cool_off_period

Default:
1

Type:
Integer

Need restart: No

Description:
RTMP agent will be terminated after {rtmp_activity_timer_cool_off_period * rtmp_activity_timer_timeout} since last subscriber activity for the corresponding RTMP stream

rtmp_activity_timer_timeout

Default:
60000

Type:
Integer

Need restart: No

Description:
If there are no subscribers for an RTMP stream within this timeout in milliseconds, the corresponding RTMP session will be terminated

rtmp_agent_sdp_filename

Default:
rtmp_agent.sdp

Type:
String

Need restart: Yes

Description:
Filename of RTMP agent SDP

rtmp_appkey_source

Default:
default

Type:
String

Need restart: No

Description:
RTMP appkey source: default/app

rtmp_command_amf3

Default:
true

Type:
Boolean

Need restart: Yes

Description:
If true, encode RTMP NetConnection.call commands using AMF3, otherwise use AMF0

rtmp_detect_h264_frame_type

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, for H264 frames, frame type will be determined by the NAL units instead of RTMP control field

rtmp_dump_dir

Default:
rtmp_dump_dir

Type:
String

Need restart: Yes

Description:
RTMP dump base folder

rtmp_dump_incoming_video

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, write incoming RTMP video (4 bytes length | FLV packet)

rtmp_dump_republished_video

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, write republished outgoing RTMP video (4 bytes length | FLV packet)

rtmp_flash_ver_publisher

Default:
FMLE/3.0

Type:
String

Need restart: No

Description:
RTMP publisher Flash version

rtmp_flash_ver_subscriber

Default:
LNX 9,0,124,2

Type:
String

Need restart: No

Description:
RTMP subscriber Flash version

rtmp_in_buffer_clear_threshold

Default:
30000

Type:
Long

Need restart: No

Description:
Once reached in overflow state, buffer will clear up to overflow lower bound

rtmp_in_buffer_enabled

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, enable buffer for incoming RTMP streams

rtmp_in_buffer_increase_rate

Default:
0.25

Type:
Double

Need restart: No

Description:
Buffer increase rate

rtmp_in_buffer_initial_size

Default:
2000

Type:
Long

Need restart: No

Description:
Initial size of incoming RTMP buffer in milliseconds

rtmp_in_buffer_input_delay_threshold

Default:
0

Type:
Long

Need restart: No

Description:
Once stream delay reaches the threshold, buffer will pass through stream without buffering; 0 - turned off

rtmp_in_buffer_max_bufferings_allowed

Default:
-1

Type:
Integer

Need restart: No

Description:
Maximum number of buffering events allowed for the incoming RTMP buffer; -1 means unlimited

rtmp_in_buffer_overflow_allowed_deviation

Default:
1000

Type:
Long

Need restart: No

Description:
Max allowed difference between min(buffer) and max(buffer). If this constraint met over the rtmp_in_buffer_overflow_deviation_window, overflow state will be set leading to clock acceleration

rtmp_in_buffer_overflow_deviation_window

Default:
30000

Type:
Integer

Need restart: No

Description:
Window for gathering min and max buffer sizes over time, in ms

rtmp_in_buffer_overflow_lower_bound

Default:
1000

Type:
Long

Need restart: No

Description:
Lower bound for switching from overflow to hold state

rtmp_in_buffer_overflow_rate

Default:
0.15

Type:
Double

Need restart: No

Description:
Buffer clock acceleration rate. To calculate increase in output speed use (1 + rate) / buffer = 1/x

rtmp_in_buffer_overflow_state_change_delay

Default:
10000

Type:
Long

Need restart: No

Description:
Enforces delay between two consecutive overflow states

rtmp_in_buffer_polling_time

Default:
100

Type:
Long

Need restart: No

Description:
Incoming RTMP buffer polling time in milliseconds

rtmp_in_buffer_start_size

Default:
300

Type:
Long

Need restart: No

Description:
Start size of incoming RTMP buffer in milliseconds

rtmp_metadata_to_sdp_state

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, translate publishers metadata into SDP state; used in conjunction with mixer_use_sdp_state'

rtmp_out_buffer_clear_threshold

Default:
30000

Type:
Long

Need restart: No

Description:
Once reached in overflow state, buffer will clear up to overflow lower bound

rtmp_out_buffer_enabled

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, enable buffer for outgoing RTMP streams

rtmp_out_buffer_increase_rate

Default:
0.25

Type:
Double

Need restart: No

Description:
Buffer increase rate

rtmp_out_buffer_initial_size

Default:
2000

Type:
Long

Need restart: No

Description:
Initial size of outgoing RTMP buffer in milliseconds

rtmp_out_buffer_input_delay_threshold

Default:
0

Type:
Long

Need restart: No

Description:
Once stream delay reaches the threshold, buffer will pass through stream without buffering; 0 - turned off

rtmp_out_buffer_max_bufferings_allowed

Default:
-1

Type:
Integer

Need restart: No

Description:
Maximum number of buffering events allowed for the outgoing RTMP buffer; -1 means unlimited

rtmp_out_buffer_overflow_allowed_deviation

Default:
1000

Type:
Long

Need restart: No

Description:
Max allowed difference between min(buffer) and max(buffer). If this constraint is met over the rtmp_out_buffer_overflow_deviation_window, overflow state will be set leading to clock acceleration

rtmp_out_buffer_overflow_deviation_window

Default:
30000

Type:
Integer

Need restart: No

Description:
Window for gathering min and max buffer sizes over time, in ms

rtmp_out_buffer_overflow_lower_bound

Default:
1000

Type:
Long

Need restart: No

Description:
Lower bound for switching from overflow to hold state

rtmp_out_buffer_overflow_rate

Default:
0.15

Type:
Double

Need restart: No

Description:
Buffer clock acceleration rate. To calculate increase in output speed use (1 + rate) / buffer = 1/x

rtmp_out_buffer_overflow_state_change_delay

Default:
10000

Type:
Long

Need restart: No

Description:
Enforces delay between two consecutive overflow states

rtmp_out_buffer_polling_time

Default:
50

Type:
Long

Need restart: No

Description:
Outgoing RTMP buffer polling time in milliseconds

rtmp_out_buffer_start_size

Default:
300

Type:
Long

Need restart: No

Description:
Start size of outgoing RTMP buffer in milliseconds

rtmp_output_writer_bufsize

Warning

Deprecated parameter. Will be deleted in future releases

Default:
0

Type:
Integer

Need restart: No

Description:
Buffer size for FFRtmpOutputWriter old outbound buffer for as-RTMP cases

rtmp_port_from

Default:
33001

Type:
Integer

Need restart: No

Description:
First port in RTMP ports range, for RTMP republisher

rtmp_port_to

Default:
34000

Type:
Integer

Need restart: No

Description:
Last port in RTMP ports range, for RTMP republisher

rtmp_ports_auditor_interval

Default:
10000

Type:
Integer

Need restart: No

Description:
Audit interval for RTMP ports, in milliseconds

rtmp_ports_auditor_max_attempts

Default:
3

Type:
Integer

Need restart: No

Description:
Number of audits to make sure the freed port is not bound.
Freed port will be returned to the pool of free ports if this number of successful audits is reached

rtmp_publisher_ip

Default:

Type:
String

Need restart: Yes

Description:
IPv4 address for outgoing RTMP publishing

rtmp_publisher_start_time_ts

Default:
1000

Type:
Long

Need restart: No

Description:
Initial timestamp for the RTMP publisher TimestampShifter, in milliseconds

rtmp_pull_agent_account_for_lost_audio

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, account for lost audio packets when pulling RTMP streams

rtmp_pull_allow_to_reuse_uri

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, allow multiple pulls with the same URI

rtmp_pull_rtp_activity_detection

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, enable RTP activity detection while RTMP pulling

rtmp_push_auto_start

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, enable RTMP push autostart for newly published streams

rtmp_push_auto_start_url

Default:
null

Type:
String

Need restart: No

Description:
RTMP server address to auto start pushing to

rtmp_push_restore

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, reconnect after connection reset by peer

rtmp_push_restore_attempts

Default:
3

Type:
Integer

Need restart: No

Description:
Number of RTMP push reconnect attempts

rtmp_push_restore_interval_ms

Default:
5000

Type:
Integer

Need restart: No

Description:
RTMP push reconnect interval in milliseconds

rtmp_receive_buffer_size_predictor_factory

Default:
2053

Type:
Integer

Need restart: Yes

Description:
RTMP receive buffer size predictor factory in bytes

rtmp_send_video_first

Default:
false

Type:
Boolean

Need restart: Yes

Description:
If true, send video before audio when republishing RTMP

rtmp_server_channel_receive_buffer_size

Default:
0

Type:
Integer

Need restart: Yes

Description:
RTMP receive buffer size in bytes

rtmp_server_enabled

Default:
true

Type:
Boolean

Need restart: Yes

Description:
If true, enable RTMP server

rtmp_transponder_force_kframe_interval

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, force keyframe interval for RTMP transponder by sending RTCP PLI, if supported

rtmp_transponder_full_url

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, ignore streamName and use full rtmpUrl in transponders and as RTMP' cases.
If false, streamName will be used as RTMP stream name and rtmpUrl will be treated as URL to RTMP application, e.g. rtmp://host:1935/live'

rtmp_transponder_kframe_interval

Default:
60

Type:
Integer

Need restart: No

Description:
Forced keyframe interval in frames. See also rtmp_transponder_force_kframe_interval setting

rtmp_transponder_metadata

Default:
null

Type:
String

Need restart: No

Description:
RTMP transponder metadata

rtmp_transponder_send_metadata

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, RTMP transponder will send metadata

rtmp_transponder_stream_name_prefix

Default:
rtmp_

Type:
String

Need restart: No

Description:
The specified prefix is added to all republished RTMP stream names. By default, a stream named stream1 will be republished as an RTMP stream with name rtmp_stream1

rtmp_use_stream_params_as_connection

Default:
false

Type:
Boolean

Need restart: Yes

Description:
If true, apply RTMP stream query parameters as connection custom parameters

rtp_activity_audio

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, RTP activity check is enabled for audio.

rtp_activity_audio_exclude

Default:

Type:
String

Need restart: No

Description:
Disable RTP activity for audio streams whose name matches this regex pattern

rtp_activity_detecting

Default:
null

Type:
String

Need restart: No

Description:
Disables / enables and sets value of RTP activity timeout, in seconds.
By default, RTP session will be closed if there is no media traffic in 60 seconds period (rtp_activity_detecting=true,60)

rtp_activity_timeout

Default:
60

Type:
Long

Need restart: No

Description:
RTP activity timeout in seconds

rtp_activity_video

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, RTP activity check is enabled for video.
If false, this check is enabled for audio only

rtp_activity_video_exclude

Default:

Type:
String

Need restart: No

Description:
Disable RTP activity check for video streams whose name matches this regex pattern

rtp_bundle

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, enable RTP bundle

rtp_elapsed_time_threshold

Default:
10000

Type:
Long

Need restart: No

Description:
RTP elapsed time threshold, in milliseconds

rtp_generator_start_timeout

Default:
2000

Type:
Integer

Need restart: Yes

Description:
Time in ms to enable generator if no RTP in call

rtp_in_buffer

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, use RTP input buffer for RTSP and SIP calls

rtp_in_buffer_initial_size

Default:
2000

Type:
Integer

Need restart: No

Description:
Initial size of incoming RTP buffer in milliseconds

rtp_in_buffer_polling_time

Default:
100

Type:
Long

Need restart: No

Description:
Incoming RTP buffer polling time in milliseconds

rtp_in_reset_marker

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, reset the marker bit on incoming RTP packets

rtp_paced_sender

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, enable paced sender for WebRTC video session. EXPERIMENTAL

rtp_paced_sender_capacity

Default:
200000000

Type:
Long

Need restart: No

Description:
RTP paced sender token bucket capacity in bytes

rtp_paced_sender_increase_interval

Default:
50

Type:
Integer

Need restart: No

Description:
Paced sender rate adjustment interval, in milliseconds

rtp_paced_sender_initial_rate

Default:
200000

Type:
Integer

Need restart: No

Description:
Initial rate of the paced sender, in bits per second

rtp_paced_sender_k_deviation

Default:
0.02

Type:
Double

Need restart: No

Description:
Paced sender rate deviation threshold that triggers a rate change

rtp_paced_sender_k_down

Default:
0.02

Type:
Double

Need restart: No

Description:
Paced sender rate decrease coefficient

rtp_paced_sender_k_up

Default:
0.04

Type:
Double

Need restart: No

Description:
Paced sender rate increase coefficient

rtp_paced_sender_period

Default:
1000

Type:
Long

Need restart: No

Description:
RTP paced sender token bucket refill period in milliseconds

rtp_paced_sender_queue_size

Default:
2000

Type:
Integer

Need restart: No

Description:
Maximum size of the paced sender outgoing queue

rtp_paced_sender_refill

Default:
200000000

Type:
Long

Need restart: No

Description:
RTP paced sender token bucket refill amount in bytes per period

rtp_packet_cache_size

Default:
250

Type:
Integer

Need restart: No

Description:
Cache size for sent packets. This is used only on video sessions to provide response to NACK requests

rtp_receive_buffer_predicator_size

Default:
2000

Type:
Integer

Need restart: No

Description:
DatagramSocket constructing: receiveBufferSizePredictorFactory size

rtp_receive_buffer_size

Default:
65536

Type:
Integer

Need restart: No

Description:
Buffer size for incoming RTP and SRTP (WebRTC).
DatagramSocket constructing: receiveBufferSize

rtp_send_buffer_size

Default:
65536

Type:
Integer

Need restart: No

Description:
Buffer size for outgoing RTP and SRTP (WebRTC).
DatagramSocket constructing: sendBufferSize

rtp_session_init_always

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, init RTP session for all media providers

rtsp.address

Default:
0.0.0.0

Type:
InetAddress[]

Need restart: Yes

Description:
Listening address for RTSP server

rtsp.port

Default:
554

Type:
Integer

Need restart: Yes

Description:
RTSP server port

rtsp_activity_timer_cool_off_period

Default:
1

Type:
Integer

Need restart: No

Description:
RTSP agent will be terminated after {rtsp_activity_timer_cool_off_period * rtsp_activity_timer_timeout} since last subscriber activity for the corresponding RTSP stream

rtsp_activity_timer_timeout

Default:
60000

Type:
Integer

Need restart: No

Description:
If there are no subscribers for an RTSP stream within this timeout in milliseconds, the corresponding RTSP session will be terminated

rtsp_auth_cnonce

Default:
1234567890

Type:
String

Need restart: Yes

Description:
Client nonce (cnonce) used in RTSP digest authentication

rtsp_client_address

Default:
0.0.0.0

Type:
InetAddress

Need restart: Yes

Description:
The RTSP client will create sockets on this address for outgoing RTSP connections

rtsp_client_strip_audio_codecs

Default:
null

Type:
String

Need restart: No

Description:
Comma-separated list of audio codecs which will not be used for RTSP

rtsp_fail_on_error_track

Default:
true

Type:
Boolean

Need restart: Yes

Description:
If true, RTSP pulling fails on error in any track

rtsp_ignore_from_unknown_ssrc

Default:
true

Type:
Boolean

Need restart: Yes

Description:
If true, ignore RTP packets from unknown SSRC for an RTSP stream

rtsp_interleaved_channels

Default:
null

Type:
String

Need restart: No

Description:
Interleaved mode channels: audio channels;video channels. Default: dynamic channels

rtsp_interleaved_enable_rtcp

Warning

Deprecated parameter. Will be deleted in future releases

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, enable replying to RTCP packets on the RTSP interleaved channel

rtsp_interleaved_mode

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, interleaved mode for RTSP (RTP over RTSP/TCP) is enabled

rtsp_pcap_server_custom_stream_name

Default:
null

Type:
String

Need restart: No

Description:
Custom stream name prefix for all pcap sources with incrementing index at the end

rtsp_pcap_server_handler_redirect_url

Default:
null

Type:
String

Need restart: Yes

Description:
RTSP pcap server redirect URL

rtsp_pcap_server_redirect_method

Default:
OPTIONS

Type:
String

Need restart: Yes

Description:
RTSP pcap server redirect method: OPTIONS/DESCRIBE

rtsp_port_from

Default:
32001

Type:
Integer

Need restart: No

Description:
First TCP port in the port range for RTSP port pool

rtsp_port_to

Default:
33000

Type:
Integer

Need restart: No

Description:
Last TCP port in the port range for RTSP port pool

rtsp_ports_auditor_interval

Default:
10000

Type:
Integer

Need restart: No

Description:
Audit interval for RTSP ports, in milliseconds

rtsp_ports_auditor_max_attempts

Default:
3

Type:
Integer

Need restart: No

Description:
Number of audits to make sure the freed port is not bound.
Freed port will be returned to the pool of free ports if this number of successful audits is reached

rtsp_refresh_requests_limit

Default:
5

Type:
Integer

Need restart: No

Description:
Maximum number of non-answered GET_PARAMETER refresh requests. Stop sending refresh requests if the limit has been reached

rtsp_server_auth_enabled

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, enable RTSP server authentication

rtsp_server_enabled

Default:
true

Type:
Boolean

Need restart: Yes

Description:
If true, activate RTSP server

rtsp_server_forse_interleave

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, force interleaved mode for RTSP server and answer with interleaved mode SDP

rtsp_server_packetization_mode

Warning

Deprecated parameter. Will be deleted in future releases

Default:
null

Type:
String

Need restart: No

Description:
H.264 packetization mode for RTSP server. FU-A by default

rtsp_server_profile_level_id

Warning

Deprecated parameter. Will be deleted in future releases

Default:
null

Type:
String

Need restart: No

Description:
H.264 profile-level-id for RTSP server

rtsp_server_sdp_filename

Default:
rtsp_server.sdp

Type:
String

Need restart: No

Description:
Filename of RTSP server SDP

rtsp_session_timeout

Default:
60

Type:
Integer

Need restart: Yes

Description:
RTSP session timeout in seconds

rtsp_user_agent

Default:

Type:
String

Need restart: No

Description:
User-Agent header value sent in RTSP requests

rtt

Default:
100

Type:
Integer

Need restart: No

Description:
Default round-trip time in milliseconds, used as fallback when RTT cannot be derived from RTCP

rvg_timer_activity

Default:
500

Type:
Integer

Need restart: No

Description:
RVG timer interval in milliseconds

rvg_timer_delay

Default:
500

Type:
Integer

Need restart: No

Description:
RVG timer initial delay in milliseconds

scheduling_service_core_threads

Default:
5

Type:
Integer

Need restart: Yes

Description:
Number of core threads in the scheduling service thread pool

sctp_buffer_size

Default:
20000

Type:
Long

Need restart: Yes

Description:
SCTP buffer size in bytes

sdp_origin_username

Default:
Flashphoner

Type:
String

Need restart: No

Description:
Username field of the SDP origin (o=) line

send_receive_buffer_size

Default:
1600

Type:
Integer

Need restart: Yes

Description:
RTMFP receive buffer size in bytes

send_receive_on_incoming_re_invite

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, send receive' on incoming re-INVITE'

session_idle_timeout

Default:
300000

Type:
Integer

Need restart: Yes

Description:
RTMFP server-side timeout in milliseconds if no UDP messages received over RTMFP/UDP session

sessions_auditor_interval

Default:
60000

Type:
Integer

Need restart: Yes

Description:
Audit interval for pending media sessions, in milliseconds

sessions_auditor_session_timeout

Default:
60000

Type:
Integer

Need restart: Yes

Description:
Audit timeout for pending media sessions, in milliseconds

set_sync_time_from_ts

Default:
false

Type:
Boolean

Need restart: No

Description:
Workaround for SIP audio only

sfu_bridge_enabled

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, SFU bridge will wrap tracks into streams

sfu_meta_ingest_enabled

Default:
false

Type:
Boolean

Need restart: Yes

Description:
If true, WCS pushes SFU room metadata (membership + routing) to the per-session metrics ingest endpoint /sfu/meta, so the analyzer can enrich the live room monitor and keep per-room history without reading WCSs own ClickHouse'

sfu_periodic_fir_request

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, every sfu_periodic_fir_request_interval' milliseconds WCS server sends an RTCP Full Intra Request (FIR) message to the input stream source'

sfu_periodic_fir_request_interval

Default:
30000

Type:
Integer

Need restart: No

Description:
Interval in milliseconds to send RTCP FIR to SFU participant

sfu_proxy_pli_requests

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, every PLI request from viewer will be forwarded to source

sip.pre_init

Default:
true

Type:
Boolean

Need restart: Yes

Description:
If true, use SIP pre-initialization

sip_add_contact_id

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, append a unique contact ID to the user part of the SIP Contact header URI

sip_as_rtmp_java_client

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, then the latest RTMP transponder implementation will be used for as-RTMP cases. See also use_rtmp_java_client option

sip_as_rtmp_stream_type

Default:
live

Type:
String

Need restart: No

Description:
RTMP AMF stream type for as-RTMP cases

sip_auditor_dialog_timeout

Default:
10000

Type:
Integer

Need restart: No

Description:
SIP auditor dialog timeout in milliseconds

sip_auditor_transaction_timeout

Default:
50000

Type:
Integer

Need restart: No

Description:
SIP auditor transaction timeout in milliseconds

sip_dns_failover

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, enable DNS failover.
See also sip_srv_lookup= option

sip_force_rtcp_feedback

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, force RTCP feedback to SIP provider

sip_force_session_expires

Default:
1800

Type:
Integer

Need restart: No

Description:
Forced session expiration timeout in seconds. WCS server will send refresh request before the timeout is reached

sip_force_tcp

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, force TCP usage for SIP messaging

sip_invite_params_to_headers

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, place SIP INVITE parameters to headers

sip_msg_listener

Default:
com.flashphoner.sdk.sip.ChangeCallIdListener

Type:
String

Need restart: No

Description:
Full name of Java class that implements interface ISipMessageListener
public interface ISipMessageListener {
void processMessage(SIPMessage sipMessage);
}

sip_ports_auditor_interval

Default:
10000

Type:
Integer

Need restart: No

Description:
Audit interval for SIP ports, in milliseconds

sip_ports_auditor_max_attempts

Default:
3

Type:
Integer

Need restart: No

Description:
Number of audits to make sure the freed port is not bound.
Freed SIP port will be returned to the pool of free ports if this number of successful audits is reached

sip_record_stream

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, record SIP call as a stream

sip_remove_video_sdp_section_instead_of_adding_inactive_with_zero_port

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, fully remove video part of SDP. If false, just set video part to inactive

sip_sdp_unsupported_protocols

Default:
String

Type:
UDP/DTLS/SCTP

Need restart: No

Description:
null

sip_session_expires_header

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, add Session-Expires header (timer) to outgoing SIP INVITE

sip_single_route_only

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, then traffic is passed only to the streaming engine, and is not passed to the SIP caller

sip_srv_lookup

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, enable DNS SRV lookup.
See also sip_dns_failover= option

sip_thread_pool_size

Default:
null

Type:
String

Need restart: No

Description:
Size of SIP thread pool

sip_timer

Default:
null

Type:
String

Need restart: No

Description:
Value of timer T1 according to RFC 3261, in milliseconds

sip_traffic_class

Default:
null

Type:
String

Need restart: No

Description:
QoS class for SIP traffic

sip_use_netty

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, use Netty-based message processors for SIP transport (UDP/TCP/TLS)

sip_use_reentrant_listener

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, enable SIP reentrant listener

sip_use_tls

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, TLS is used for SIP connections

sip_user_agent_shutdown_timeout

Default:
5000

Type:
Integer

Need restart: No

Description:
Delay before SIP user agent shutdown after unregister, in milliseconds. Default is 5000

snapshot_auto_dir

Default:
snapshots

Type:
String

Need restart: No

Description:
Path to the directory for snapshots

snapshot_auto_enabled

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, enable automatic snapshot capture for streams

snapshot_auto_naming

Default:
mediaSessionId

Type:
String

Need restart: No

Description:
Snapshot directory naming strategy. Use streamName to name by stream, otherwise by mediaSessionId

snapshot_auto_rate

Default:
60

Type:
Integer

Need restart: No

Description:
Snapshot rate. By default save every 60 frames

snapshot_auto_retention

Default:
20

Type:
Integer

Need restart: No

Description:
Snapshot retention. By default keep last 20 frames

snapshot_output_fmt

Default:
PNG

Type:
G729
PCMA
PCMU
G722
OPUS
SPEEX
VORBIS
AAC
PCM16_LE
RED
FLV
VP8
VP9
H264
H265
H263
H263P
MPV
JPG
JPEG
PNG
UNDEFINED
TELEPHONE_EVENT
LOST_PACKET

Need restart: No

Description:
Snapshot output format. Allowed values: PNG or JPG

snapshot_taking_attempts

Default:
30

Type:
Integer

Need restart: Yes

Description:
The number of attempts to take a snapshot. By default 30

snapshot_taking_interval_ms

Default:
3000

Type:
Integer

Need restart: Yes

Description:
Snapshot taking interval in milliseconds. By default 3000

speex_g711_speex_transcoding

Warning

Deprecated parameter. Will be deleted in future releases

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, Speex16 codec is forcedly removed from the list of supported codecs, which leads to double transcoding. The option was used for debugging

speex_in_policy

Default:
null

Type:
String

Need restart: No

Description:
Speex encoding settings used when transcoding to Speex.
Default:
8 - Quality
false - VBR encoding
8 - Quality of VBR
4 - Algorithmic complexity

sqa_database

Default:

Type:
String

Need restart: Yes

Description:
Database to read SQA metrics from

start_test

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, tests listed in streaming_tests= setting will be launched after WCS server startup

stats

Default:
false

Type:
Boolean

Need restart: Yes

Description:
If true, enable sampling for streams. The sampling is used for charts

stats_average_calculation_window

Default:
30

Type:
Integer

Need restart: Yes

Description:
Window size for general average stats calculation

stats_bitrate_window

Default:
1000

Type:
Integer

Need restart: No

Description:
Window size in milliseconds to collect bitrate statistics

stats_fps_window

Default:
1000

Type:
Integer

Need restart: No

Description:
Window size in milliseconds to collect FPS statistics

stats_sampling_frequency

Default:
1000

Type:
Long

Need restart: Yes

Description:
Interval in milliseconds. Stream sampling will be taken with the specified frequency

stream_idle_bitrate_monitoring

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, enable monitoring of published streams based on bitrate

stream_idle_bitrate_monitoring_threshold_bps

Default:
10000

Type:
Long

Need restart: No

Description:
Stream idle bitrate threshold in bps; if the mean stream bitrate falls below this value, the stream is considered idle

stream_idle_bitrate_monitoring_window_sec

Default:
120

Type:
Integer

Need restart: No

Description:
Mean stream bitrate calculation window in seconds

stream_record_policy

Warning

Deprecated parameter. Will be deleted in future releases

Default:

Type:
String

Need restart: No

Description:
Available values: streamName, template.
By default, WCS server generates filename based on mediaSessionId and login.
If set to streamName', recorded file will have the exact name of stream with extension .mp4 or .webM (depending on the video codec).
If set to 'template', filename will be built using template.
See also stream_record_policy_template= option'

stream_record_policy_template

Default:

Type:
String

Need restart: No

Description:
If set, the name of the recorded file will be built using the specified template.
Example: {streamName}-{startTime}-{sessionId}-{mediaSessionId}-{login}-{audioCodec}-{videoCodec}-{duration}
Note that if filename length exceeds system limit, recording may not be created.
See also stream_record_policy= option

streaming_custom_stream_stress_test_encoding_subscriber_groups

Default:
1

Type:
String

Need restart: No

Description:
StreamingCustomStreamStressTest / Number of subscribers for transcoded stream, per encoding groups
E.g., three encoding groups with three subscribers in each
streaming_custom_stream_stress_test_encoding_subscriber_groups=3,3,3

streaming_custom_stream_stress_test_max_proxy_subscribers

Default:
1

Type:
Integer

Need restart: No

Description:
StreamingCustomStreamStressTest / Number of subscribers for non-transcoded stream (codecs, resolution and bitrate are the same for publisher and subscriber)

streaming_custom_stream_stress_test_rate

Default:
1000

Type:
Long

Need restart: No

Description:
StreamingCustomStreamStressTest / Period in milliseconds. Each period a new subscriber will be added

streaming_custom_stream_stress_test_stream_name

Default:
STRESS_TEST_STREAM

Type:
String

Need restart: No

Description:
StreamingCustomStreamStressTest / Name of stream published on WCS server, which will be used for the test

streaming_custom_stream_stress_test_subscriber_ttl_sec

Default:
30

Type:
Long

Need restart: No

Description:
StreamingCustomStreamStressTest / Lifetime of subscriber in seconds

streaming_distributor_audio_subgroup_queue_max_waiting_time

Default:
5000

Type:
Integer

Need restart: No

Description:
Maximum time that audio subgroup thread will wait for frame arrival before executing next iteration

streaming_distributor_audio_subgroup_queue_size

Default:
300

Type:
Integer

Need restart: No

Description:
Size of queue for audio distribution subgroup

streaming_distributor_audio_subgroup_size

Default:
500

Type:
Integer

Need restart: No

Description:
Audio sessions per group

streaming_distributor_dump_interval

Default:
10

Type:
Integer

Need restart: Yes

Description:
Interval in minutes for getting distributor thread dumps

streaming_distributor_queue_max_waiting_time

Default:
5000

Type:
Integer

Need restart: Yes

Description:
Maximum time that distributor thread will wait for frame arrival before executing next iteration

streaming_distributor_queue_size

Default:
300

Type:
Integer

Need restart: Yes

Description:
Size of distributor queue; new frames are dropped when the queue is full

streaming_distributor_queue_size_dump_threshold

Default:
0.95

Type:
Double

Need restart: No

Description:
Distributor queue fill ratio threshold (size/capacity, 0..1) for triggering a thread dump

streaming_distributor_queue_size_log_threshold

Default:
10

Type:
Integer

Need restart: Yes

Description:
Threshold for logging distributor queue size

streaming_distributor_subgroup_enabled

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, enable distribution subgroups for audio and video

streaming_distributor_subgroup_queue_max_waiting_time

Default:
5000

Type:
Integer

Need restart: No

Description:
Maximum time in milliseconds that the subgroup thread will wait for frame arrival before executing next iteration

streaming_distributor_subgroup_queue_size

Default:
300

Type:
Integer

Need restart: No

Description:
Size of queue for distribution subgroup

streaming_distributor_subgroup_size

Default:
2

Type:
Integer

Need restart: No

Description:
Maximum number of video sessions per distribution subgroup

streaming_distributor_video_proxy_pool_enabled

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, use thread pool for video distribution; affects non-transcoded (proxied) video only

streaming_load_test_duration_minutes

Default:
5

Type:
Long

Need restart: No

Description:
StreamingLoadTest / Test duration in minutes

streaming_load_test_encoding_subscriber_groups

Default:
1

Type:
String

Need restart: No

Description:
StreamingLoadTest / Number of subscribers for transcoded stream, per encoding groups
E.g., two encoding groups: one with two subscribers and another with five
streaming_load_test_encoding_subscriber_groups=2,5

streaming_load_test_proxy_subscribers

Default:
1

Type:
Integer

Need restart: No

Description:
StreamingLoadTest / Number of subscribers for non-transcoded stream (codecs, resolution and bitrate are the same for publisher and subscriber)

streaming_processor_queue_max_waiting_time

Default:
5000

Type:
Integer

Need restart: Yes

Description:
Maximum time in milliseconds that the processor thread will wait for frame arrival before executing next iteration

streaming_processor_queue_size

Default:
300

Type:
Integer

Need restart: Yes

Description:
Size of queue. When the queue reaches this size, new frames offered by the feeding thread (e.g., RTP thread in case of WebRTC) are dropped

streaming_sessions_keep_alive_app_keys

Default:

Type:
String

Need restart: No

Description:
Comma-separated list of appKeys of server-side applications. If set, WCS server will periodically send StreamKeepAliveEvent for all streams within the listed applications.
For example, if set defaultApp,myApp', the event will be sent for all streams connected to those two applications.
See also streaming_sessions_keep_alive_interval= option'

streaming_sessions_keep_alive_interval

Default:
10000

Type:
Long

Need restart: No

Description:
StreamKeepAliveEvent sending interval in milliseconds. See also streaming_sessions_keep_alive_app_keys= option

streaming_stress_test_duration_minutes

Default:
5

Type:
Long

Need restart: No

Description:
StreamingStressTest / Test duration in minutes

streaming_stress_test_encoding_subscriber_groups

Default:
1

Type:
String

Need restart: No

Description:
StreamingStressTest / Number of subscribers for transcoded stream, per encoding groups
E.g., five encoding groups with five or ten subscribers in each
streaming_stress_test_encoding_subscriber_groups=5,5,5,10,10

streaming_stress_test_max_proxy_subscribers

Default:
100

Type:
Integer

Need restart: Yes

Description:
WebSocket connections per batch (after this many connections, log progress and pause for 1 second)

streaming_stress_test_rate

Default:
1000

Type:
Long

Need restart: No

Description:
StreamingStressTest / Period in milliseconds. Each period a new subscriber will be added

streaming_stress_test_subscriber_ttl_sec

Default:
30

Type:
Long

Need restart: No

Description:
StreamingStressTest / Lifetime of subscriber in seconds

streaming_tests

Default:

Type:
String

Need restart: No

Description:
Comma-separated list of tests which will be launched after WCS server startup if start_test=true.
Available tests:
- MP4AgentTest
- StreamingCustomStreamStressTest
- StreamingLoadTest
- StreamingStressTest

streaming_video_decoder_fast_start

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, all incoming streams are decoded.
If false, incoming stream is decoded only on demand, when codecs, resolution or bitrate are different for the stream publisher and subscriber

streaming_video_decoder_wait_for_distributors

Default:
true

Type:
Boolean

Need restart: No

Description:
Stop decoding temporarily if one of the distributors fails to keep up with decoding

streaming_video_decoder_wait_for_distributors_max_queue_size

Default:
5

Type:
Integer

Need restart: Yes

Description:
Stop decoding when one of the distributor queues reaches the specified size (see streaming_video_decoder_wait_for_distributors)

streaming_video_decoder_wait_for_distributors_timeout

Default:
33

Type:
Integer

Need restart: Yes

Description:
Time in milliseconds decoding should wait before another distributors queue check (See streaming_video_decoder_wait_for_distributors)

streaming_video_decoder_warmup

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, warm up video decoder with P frames after I frame regardless of decoding point availability

streaming_video_decoder_warmup_frames

Default:
5

Type:
Integer

Need restart: No

Description:
How many P frames should be used for warmup

strict_get_callee_policy

Warning

Deprecated parameter. Will be deleted in future releases

Default:
false

Type:
Boolean

Need restart: No

Description:
Not in use

stun_freshness_period

Default:
1500

Type:
Integer

Need restart: No

Description:
STUN freshness period in milliseconds

stun_freshness_timeout

Default:
15000

Type:
Integer

Need restart: No

Description:
STUN freshness timeout in milliseconds

stun_server

Warning

Deprecated parameter. Will be deleted in future releases

Default:
stun1.l.google.com:19302

Type:
String

Need restart: No

Description:
STUN server, which is used for WebRTC ICE, if enable_candidate_harvester=true

stun_socket_buffer_size

Default:
100

Type:
Integer

Need restart: No

Description:
Size of STUN socket buffer

stun_socket_queue_timeout

Default:
1500

Type:
Integer

Need restart: No

Description:
STUN socket queue timeout in milliseconds

stun_stack_default_thread_pool_size

Default:
0

Type:
Integer

Need restart: No

Description:
Default thread pool size for the STUN stack

stun_wait_candidate_timeout

Default:
1000

Type:
Integer

Need restart: No

Description:
STUN wait candidate timeout for nomination in milliseconds

suppress_audio

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, globally suppress audio on server. This feature is not available for Trial license

suppress_dynamic_logs

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, suppress dynamic logs update

suppress_dynamic_logs_to_server_log

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, suppress dynamic server logs update

sync_time_force_newest

Default:
true

Type:
Boolean

Need restart: Yes

Description:
If true, force newest sync time after sync change to prevent new packets from getting sync time from the past

tcp_relay_packetization2

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, enable TCP relay packetization for WSPlayer. Should be false when WSPlayer 1.0 is used

tcp_relay_packetization_time

Warning

Deprecated parameter. Will be deleted in future releases

Default:
20

Type:
Integer

Need restart: No

Description:
Experimental option, allows to send audio packets with custom ptime to WSPlayer 1.0. This property was not tested with new versions and should be removed

tcp_relay_rtcp_interval

Default:
2000

Type:
Integer

Need restart: No

Description:
RTCP packets generation interval for TCP relay in milliseconds. RTCP is used to carry stream synchronization

thread_pool_default_core_threads

Default:
8

Type:
Integer

Need restart: Yes

Description:
Default core threads count in thread pool (equal to CPUs count)

thread_pool_default_max_threads

Default:
16

Type:
Integer

Need restart: Yes

Description:
Maximum threads count in thread pool

thread_pool_default_queue_size

Default:
100

Type:
Integer

Need restart: Yes

Description:
Default thread pool queue size

thread_pool_default_thread_timeout_sec

Default:
300

Type:
Integer

Need restart: Yes

Description:
Default idle thread keep-alive timeout in thread pool, in seconds

thread_pools_config_filename

Default:
thread_pools_config.json

Type:
String

Need restart: Yes

Description:
Thread pools config filename

throughput_test_receivers_qty

Default:
1

Type:
Integer

Need restart: No

Description:
Throughput test receivers quantity

throughput_test_sender_dst

Default:
localhost

Type:
String

Need restart: No

Description:
Throughput test sender destination host

throughput_test_senders_qty

Default:
1

Type:
Integer

Need restart: No

Description:
Throughput test senders quantity

timing_shift

Warning

Deprecated parameter. Will be deleted in future releases

Default:
null

Type:
String

Need restart: No

Description:
Timer ambiguity in milliseconds, which is used in a stream stagnation (in case the stream is too fast in relation to timestamps) and compensates inaccuracy of system timers.
Is used only if in_jitter_buffer_enabled=true

trace_socket_fd

Default:
false

Type:
Boolean

Need restart: Yes

Description:
If true, trace usage of socket file descriptors for HLS, HTTP, RTSP, WebSockets and HTTP LB client

transcoder_agent_activity_timer_cool_off_period

Default:
1

Type:
Integer

Need restart: No

Description:
Transcoder agent will be terminated after {transcoder_agent_activity_timer_cool_off_period * transcoder_agent_activity_timer_timeout} since last subscriber activity for the corresponding transcoder agent stream

transcoder_agent_activity_timer_timeout

Default:
60000

Type:
Integer

Need restart: No

Description:
If there are no subscribers for a transcoder agent stream within this timeout in milliseconds, the corresponding transcoder agent session will be terminated

transcoder_agent_key_frame_interval

Default:
60

Type:
Integer

Need restart: No

Description:
Transcoder agent key frame interval

transcoder_agent_rtcp_send_interval

Default:
2000

Type:
Long

Need restart: No

Description:
Interval in milliseconds between sending RTCP packets from the transcoder agent

transcoder_align_encoders

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, align video encoders of the same video input by key frames

transcoding_disabled

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, force transcoding to be disabled

transcoding_gen3

Default:
true

Type:
Boolean

Need restart: Yes

Description:
Enable new generation of transcoders

turn.server_channel_receive_buffer_size

Default:
1048576

Type:
Integer

Need restart: Yes

Description:
Receive buffer size for TURN channels

turn.server_channel_send_buffer_size

Default:
1048576

Type:
Integer

Need restart: Yes

Description:
Send buffer size for TURN channels

turn_ip

Default:
0.0.0.0

Type:
InetAddress

Need restart: Yes

Description:
TURN external IP address

turn_ip_local

Default:
0.0.0.0

Type:
InetAddress

Need restart: Yes

Description:
TURN internal IP address

turn_life_time

Default:
600

Type:
Integer

Need restart: Yes

Description:
TURN allocation lifetime in seconds

turn_media_port_from

Default:
36001

Type:
Integer

Need restart: Yes

Description:
Beginning of media ports range for TURN

turn_media_port_to

Default:
37000

Type:
Integer

Need restart: Yes

Description:
End of media ports range for TURN

turn_media_ports_auditor_interval

Default:
5000

Type:
Integer

Need restart: Yes

Description:
Audit interval for busy and free ports, in milliseconds

turn_media_ports_auditor_max_attempts

Default:
3

Type:
Integer

Need restart: Yes

Description:
Number of audits to make sure the freed port is not bound.
Freed port will be returned to the pool of free ports if this number of successful audits is reached

turn_password

Default:
coM77EMrV7Cwhyan

Type:
String

Need restart: Yes

Description:
TURN password

turn_port

Default:
3478

Type:
Integer

Need restart: Yes

Description:
TURN server port

unsupported_messages

Default:
null

Type:
String

Need restart: No

Description:
If a message has body noted in this list, then such incoming message will be rejected. Can be useful for some service messages, when delivery to client is not required. The list consists of strings, divided by three colons :::

use_alaw_ulaw_speex_switch

Warning

Deprecated parameter. Will be deleted in future releases

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, switch to the local codec according to content received from SIP side.
If false, use Speex16

use_control_destination_from_incoming_rtcp

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, set RTCP destination by received RTCP packets

use_fdk_aac

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, use the fdk-aac for encoding and decoding

use_ip_local_in_call_id

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, use the value of ip_local= option when forming callID

use_mp4_h264_aac

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, use H.264 + AAC in MP4 container

use_new_aac_encoder

Warning

Deprecated parameter. Will be deleted in future releases

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, use the latest AAC encoder

use_new_injector

Default:
true

Type:
Boolean

Need restart: Yes

Description:
If true, use the new injector implementation

use_new_rtcp

Warning

Deprecated parameter. Will be deleted in future releases

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, use the latest RTCP module

use_rtcp_synch

Warning

Deprecated parameter. Will be deleted in future releases

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, use RTCP synchronization for audio and video

use_rtmp_java_client

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, use the latest implementation of RTMP agent for republishing

use_speex_java_impl

Default:
true

Type:
Boolean

Need restart: Yes

Description:
If true, use Java implementation for Speex codec

use_strict_jitter_buffer

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, use strict jitter buffer mode (deprecated, use jitter_buffer_strictness instead)

use_tcp_for_long_sip_messages

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, and the size of SIP message is more than 1350 bytes, then such message will be sent via TCP.
By default, SIP messages are sent over UDP

use_trying_notification

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, then broadcast SIP response TRYING to client as a call status TRYING

user_agent

Default:
Flashphoner/1.0

Type:
String

Need restart: Yes

Description:
User agent name used as SIP stack name and SDP session name (default Flashphoner/1.0)

video_bitstream_normalizer_consecutive_ts_errors_threshold

Default:
90

Type:
Integer

Need restart: No

Description:
How many consecutive timestamp errors normalizer can absorb before falling back to original stream timestamp.

video_decoder_max_threads

Default:
2

Type:
Integer

Need restart: No

Description:
How many threads will be used for decoding

video_decoder_second_thread_threshold

Default:
777000

Type:
Integer

Need restart: No

Description:
Resolution threshold. Once it is reached, decoder should start using second thread.
Example: 800x600 = 480000, 1280x720=921600. So, by default all 720p streams will be decoded using two CPU threads

video_distributor_multi_test

Default:
false

Type:
Boolean

Need restart: No

Description:
Enable video distributor multi test

video_enabled

Warning

Deprecated parameter. Will be deleted in future releases

Default:
true

Type:
Boolean

Need restart: No

Description:
Deprecated. If true, enables video processing for media sessions, RTMP video forwarding, and video SDP creation

video_encoder_h264_gop

Default:
60

Type:
Integer

Need restart: No

Description:
GOP size for H.264 encoder

video_encoder_h265_preset

Default:
ultrafast

Type:
String

Need restart: No

Description:
Preset value for H.265 encoder

video_encoder_max_threads

Default:
3

Type:
Integer

Need restart: No

Description:
How many threads will be used for encoding

video_encoder_second_thread_threshold

Default:
777000

Type:
Integer

Need restart: No

Description:
Resolution threshold. Once it is reached, encoder should start using second thread.
Example: 800x600 = 480000, 1280x720=921600. So, by default all 720p streams will be encoded using two CPU threads

video_encoder_vp8_gop

Default:
900

Type:
Integer

Need restart: No

Description:
GOP size for VP8 encoder

video_encoding_quality

Default:
30

Type:
Integer

Need restart: No

Description:
Video encoding quality (CRF). See FFmpeg CRF documentation for details

video_filter_enable_fps

Default:
false

Type:
Boolean

Need restart: Yes

Description:
Enable video FPS filter

video_filter_enable_rotate

Default:
false

Type:
Boolean

Need restart: Yes

Description:
Enable video rotate filter

video_filter_fps

Default:
30

Type:
Long

Need restart: Yes

Description:
Video filter output FPS

video_filter_fps_gap_coefficient

Default:
2.0

Type:
Double

Need restart: Yes

Description:
Video filter gap coefficient (max gap C x FPS)

video_filter_fps_gop_synchronization

Default:
0

Type:
Integer

Need restart: No

Description:
Filters GOP value used to provide a synchronization point for encoders, use with transcoder_align_encoders=true'

video_force_sync_timeout

Default:
100

Type:
Integer

Need restart: No

Description:
Waiting for RTCP sync packet on this interval in ms, for video

video_mixer_output_codec

Default:
h264

Type:
String

Need restart: No

Description:
Video mixer output codec (multiple codecs not allowed)

video_processor_multi_test

Default:
false

Type:
Boolean

Need restart: No

Description:
Enable video processor multi test

video_reliable

Default:
partial

Type:
on
partial
off

Need restart: No

Description:
RTMFP, reliability for video

video_stream_mode_udp

Warning

Deprecated parameter. Will be deleted in future releases

Default:
false

Type:
Boolean

Need restart: Yes

Description:
Not in use

video_streamer_generate_seq

Default:
false

Type:
Boolean

Need restart: No

Description:
Should be set to true for transfer of video calls. Otherwise, there may be no video after transfer

video_transcoder_preserve_aspect_ratio

Default:
true

Type:
Boolean

Need restart: Yes

Description:
If true, preserve original aspect ratio of incoming video during transcoding

video_transcoder_round_ratio

Default:
0

Type:
Integer

Need restart: No

Description:
If greater than zero, round odd scaled dimensions up to the nearest even value when preserving aspect ratio; otherwise round down

vod_activity_timer_cool_off_period

Default:
1

Type:
Integer

Need restart: No

Description:
VoD agent will be terminated after {vod_activity_timer_cool_off_period * vod_stream_timeout} since last subscriber activity for the corresponding RTSP stream

vod_live_loop

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, loop streaming MP4 file as VoD. EXPERIMENTAL

vod_mp4_container_isoparser_heap_datasource

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, use heap datasource for the isoparser MP4 container

vod_mp4_container_new

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, use new implementation of MP4 container for VoD

vod_mp4_container_new_buffer_ms

Default:
0

Type:
Integer

Need restart: No

Description:
Buffer time in milliseconds for the new MP4 container implementation (VoD)

vod_mp4_test_file

Default:
null

Type:
String

Need restart: No

Description:
Path to MP4 file. If start_test=true and streaming_tests=MP4AgentTest, VoD stream playing the file will be published when WCS server is started

vod_mp4_test_loop

Warning

Deprecated parameter. Will be deleted in future releases

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, loop streaming MP4 file. Not in use, replaced by vod_live_loop=

vod_mp4_test_stream_name

Default:
null

Type:
String

Need restart: No

Description:
Name of VoD stream published for playing MP4 file for the MP4AgentTest test.
See also vod_mp4_test_file= setting

vod_rtcp_send_interval

Default:
2000

Type:
Long

Need restart: No

Description:
RTCP send interval in milliseconds for VoD

vod_sink_ready_checks

Default:
50

Type:
Integer

Need restart: No

Description:
Waiting for first packet on audio streamer. If no packets within the specified number of checks, then audio injection is aborted

vod_sink_wait_synch_time

Default:
true

Type:
Boolean

Need restart: No

Description:
If false, do not wait sync time for playing incoming traffic after audio sink

vod_stream_timeout

Default:
30000

Type:
Integer

Need restart: No

Description:
VoD stream with no subscribers will be terminated after this timeout in milliseconds

vow_wait_for_sync

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, session will wait for audio AND video before sending stream to client

vp8_buffer_nack_list_threshold

Default:
200

Type:
Integer

Need restart: No

Description:
JitterBuffer will be reset upon reaching this number of NACK packets

vp8_max_rtp_packet_size

Default:
1400

Type:
Integer

Need restart: Yes

Description:
Maximum size of VP8 carrying packet

vp8_new_buffer

Warning

Deprecated parameter. Will be deleted in future releases

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, use the new ordered jitter buffer for VP8 (deprecated)

watermark_font_size

Default:
20

Type:
Integer

Need restart: Yes

Description:
Font size of the static watermark text in transcoded and mixed streams

watermark_frame_size

Default:
null

Type:
String

Need restart: No

Description:
Video resolution reference for 'watermark_size'

watermark_margin_bottom

Default:
0

Type:
Integer

Need restart: No

Description:
Watermark's bottom margin

watermark_margin_left

Default:
0

Type:
Integer

Need restart: No

Description:
Watermark's left margin

watermark_margin_right

Default:
0

Type:
Integer

Need restart: No

Description:
Watermark's right margin

watermark_margin_top

Default:
0

Type:
Integer

Need restart: No

Description:
Watermark's top margin

watermark_size

Default:
null

Type:
String

Need restart: No

Description:
Expected watermark size on a frame with dimensions from setting 'watermark_frame_size'

watermark_text

Default:

Type:
String

Need restart: Yes

Description:
Text for the static watermark in transcoded and mixed streams

watermark_text_align

Default:
BOTTOM_LEFT

Type:
TOP_LEFT
TOP_CENTER
TOP_RIGHT
CENTER
BOTTOM_LEFT
BOTTOM_CENTER
BOTTOM_RIGHT
EXTERNAL_TOP_CENTER
EXTERNAL_BOTTOM_CENTER

Need restart: Yes

Description:
Position of the static watermark text relative to frame in transcoded and mixed streams

watermark_text_background_colour

Default:
0x2B2A2B

Type:
String

Need restart: Yes

Description:
Hex value of the static watermark text background colour in transcoded and mixed streams

watermark_text_background_opacity

Default:
100

Type:
Integer

Need restart: Yes

Description:
Opacity of the static watermark text background in transcoded and mixed streams, in percent

watermark_text_bulk_write

Default:
true

Type:
Boolean

Need restart: Yes

Description:
If true, use bulk write to a byte buffer for text

watermark_text_bulk_write_with_buffer

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, use bulk write to a byte buffer for text and cache the whole text as a frame

watermark_text_colour

Default:
0xFFFFFF

Type:
String

Need restart: Yes

Description:
Hex value of the static watermark text colour in transcoded and mixed streams

watermark_text_cut_top

Default:
3

Type:
Integer

Need restart: Yes

Description:
Clip top part of the static watermark text in transcoded and mixed streams, in pixels

watermark_text_font

Default:
Serif

Type:
String

Need restart: Yes

Description:
Font of the static watermark text in transcoded and mixed streams

watermark_text_padding_bottom

Default:
5

Type:
Integer

Need restart: Yes

Description:
Padding for the bottom side of the static watermark text in transcoded and mixed streams, in pixels

watermark_text_padding_left

Default:
5

Type:
Integer

Need restart: Yes

Description:
Padding for the left side of the static watermark text in transcoded and mixed streams, in pixels

watermark_text_padding_right

Default:
4

Type:
Integer

Need restart: Yes

Description:
Padding for the right side of the static watermark text in transcoded and mixed streams, in pixels

watermark_text_padding_top

Default:
5

Type:
Integer

Need restart: Yes

Description:
Padding for the top side of the static watermark text in transcoded and mixed streams, in pixels

watermark_x

Default:
0

Type:
Integer

Need restart: No

Description:
X coordinate of the top left corner of the watermark

watermark_y

Default:
0

Type:
Integer

Need restart: No

Description:
Y coordinate of the top left corner of the watermark

wcs_activity_timer_cool_off_period

Default:
1

Type:
Integer

Need restart: No

Description:
WCS agent will be terminated after {wcs_activity_timer_cool_off_period * wcs_activity_timer_timeout} since last activity for the corresponding WCS agent session

wcs_activity_timer_timeout

Default:
60000

Type:
Integer

Need restart: No

Description:
If there is no activity within this timeout in milliseconds, the corresponding WCS agent session will be terminated

wcs_agent_force_video_orientation

Default:
true

Type:
Boolean

Need restart: No

Description:
Force negotiation of 3gpp video orientation extension for WCS agent streams

wcs_agent_port_from

Default:
34001

Type:
Integer

Need restart: No

Description:
Beginning of range of ports for WCS agent

wcs_agent_port_to

Default:
35000

Type:
Integer

Need restart: No

Description:
End of range of ports for WCS agent

wcs_agent_ports_auditor_interval

Default:
10000

Type:
Integer

Need restart: No

Description:
Audit interval for WCS agent ports, in milliseconds

wcs_agent_ports_auditor_max_attempts

Default:
3

Type:
Integer

Need restart: No

Description:
Number of audits to make sure the freed port is not bound.
Freed WCS agent port will be returned to the pool of free ports if this number of successful audits is reached

wcs_agent_session_alive_check_interval

Default:
30000

Type:
Integer

Need restart: No

Description:
Interval in milliseconds to check if WCS agent session is alive

wcs_agent_session_audit

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, enable WCS agent session audit

wcs_agent_session_connect_timeout

Default:
10000

Type:
Integer

Need restart: No

Description:
WCS agent session connect timeout in milliseconds

wcs_agent_session_timeout

Default:
30000

Type:
Integer

Need restart: No

Description:
WCS agent session timeout in milliseconds

wcs_agent_session_use_keep_alive_timeout

Default:
true

Type:
Boolean

Need restart: Yes

Description:
If true, WCS agent session will use keep-alive timeout

wcs_agent_ssl

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, use WSS for WCS agent connections to CDN nodes for pulling/re-publishing streams

wcs_agent_uri_path

Default:
/websocket

Type:
String

Need restart: Yes

Description:
WCS agent WebSocket request URI path

wcs_agent_use_cdn_connection

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, use the CDN connection scheme (cdn://) instead of plain WebSocket (ws/wss) for WebRTC signaling between CDN nodes when pulling/re-publishing streams

wcs_sfu_bridge_enabled

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, WCS SFU bridge will wrap streams into tracks

wcsoam_batch_timeout

Default:
500

Type:
Integer

Need restart: Yes

Description:
WCS OAM batch read timeout in milliseconds

wcsoam_buffer_size

Default:
20000

Type:
Integer

Need restart: Yes

Description:
WCS OAM buffer size in kB

wcsoam_chunk_size

Default:
64

Type:
Integer

Need restart: Yes

Description:
WCS OAM send chunk size in kB

wcsoam_hostname

Default:
null

Type:
String

Need restart: Yes

Description:
WCS OAM server hostname

wcsoam_ip

Default:
null

Type:
String

Need restart: Yes

Description:
WCS OAM server IP address

wcsoam_keepalive_period

Default:
3000

Type:
Integer

Need restart: Yes

Description:
WCS OAM keep alive period in milliseconds

wcsoam_keepalive_timeout

Default:
8000

Type:
Integer

Need restart: Yes

Description:
WCS OAM keep alive timeout in milliseconds

wcsoam_ping_enabled

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, enable WCS OAM server ping

wcsoam_ping_interval

Default:
10000

Type:
Integer

Need restart: Yes

Description:
WCS OAM server ping interval in milliseconds

wcsoam_port

Default:
7777

Type:
Integer

Need restart: Yes

Description:
WCS OAM server port

wcsoam_reconnect_interval

Default:
5000

Type:
Integer

Need restart: Yes

Description:
WCS OAM reconnect interval in milliseconds

wcsoam_sha_salt

Default:
123

Type:
String

Need restart: Yes

Description:
WCS OAM server SHA salt

web_start_with_demo_user

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, enable demo user

web_token_life_time

Default:
3600000

Type:
Long

Need restart: No

Description:
Web token life time in milliseconds, default value 1 hour

webm_java_writer_enable

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, replace the FFmpeg WebM writer with a Java implementation

webrtc_abr_metrics_log_size

Default:
50

Type:
Integer

Need restart: No

Description:
Number of WebRTC-ABR log lines in webrtc_abr/find_all response

webrtc_abr_stream_name_suffix

Default:
-WEBRTC-ABR-STREAM

Type:
String

Need restart: Yes

Description:
Suffix for WebRTC ABR publishing sessions in CDN

webrtc_abr_with_cdn

Default:
false

Type:
Boolean

Need restart: Yes

Description:
If true, use WebRTC ABR with CDN; if false, use current node for transcoding

webrtc_aes_crypto_provider

Default:
BC

Type:
BC
JCE

Need restart: No

Description:
Crypto provider for WebRTC

webrtc_agent_use_webrtc

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, force WebRTC media provider for WCSAgent push and pull sessions

webrtc_cc2

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, the latest congestion control CC2 is used

webrtc_cc2_bitrate_overuse_event

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, enable NBE event raising

webrtc_cc2_bitrate_overuse_event_interval

Default:
5000

Type:
Long

Need restart: No

Description:
NBE event will be raised periodically with this interval in milliseconds

webrtc_cc2_bitrate_overuse_event_threshold

Default:
0.05

Type:
Double

Need restart: No

Description:
NBE event will be raised when loss on stream being played reaches this value (5% by default)

webrtc_cc2_cc

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, react upon WebRTC playback endpoint (e.g. Chrome) requests, e.g. request the publisher to decrease bitrate

webrtc_cc2_cc_interval

Warning

Deprecated parameter. Will be deleted in future releases

Default:
500

Type:
Long

Need restart: No

Description:
Congestion control interval, not in use

webrtc_cc2_cc_k_noise

Warning

Deprecated parameter. Will be deleted in future releases

Default:
0.1

Type:
Double

Need restart: No

Description:
Congestion control noise value, not in use

webrtc_cc2_cc_retransmit_rate_threshold

Default:
0.15

Type:
Double

Need restart: No

Description:
Fraction of send bitrate that retransmit bitrate can raise to. By default, retransmit bitrate can use 15% of send bitrate

webrtc_cc2_cc_track_joined_retransmit_bitrate

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, enable tracking of retransmit bitrate across all media groups

webrtc_cc2_enable_burst_grouping

Default:
false

Type:
Boolean

Need restart: No

Description:
Internal bitrate estimation configuration, must not be exposed to public. CC2 estimation will account for packet burst

webrtc_cc2_local_congestion_event_interval

Warning

Deprecated parameter. Will be deleted in future releases

Default:
2000

Type:
Long

Need restart: No

Description:
Not in use, legacy code

webrtc_cc2_local_k_threshold

Warning

Deprecated parameter. Will be deleted in future releases

Default:
0.1

Type:
Double

Need restart: No

Description:
Not in use, legacy code

webrtc_cc2_min_remb_bitrate_bps

Default:
100000

Type:
Long

Need restart: No

Description:
Minimum value for received REMB (Receiver Estimated Max Bitrate) boundary in bps. Ignore the boundary if the received value is less than the minimum defined

webrtc_cc2_receiver_state_window

Default:
1000

Type:
Long

Need restart: No

Description:
Window size for receiver state, in milliseconds. Default: 1000 - keep and account reports received in last second

webrtc_cc2_twcc

Default:
true

Type:
Boolean

Need restart: Yes

Description:
If true, enable TWCC reports. EXPERIMENTAL

webrtc_cc_bitrate_window

Default:
1000

Type:
Integer

Need restart: No

Description:
Time window in milliseconds. Bitrate estimator works on this time frame

webrtc_cc_initial_avg_noise

Default:
0.0

Type:
Double

Need restart: No

Description:
Internal bitrate estimation configuration, must not be exposed to public

webrtc_cc_initial_e_0_0

Default:
100.0

Type:
Double

Need restart: No

Description:
Internal bitrate estimation configuration, must not be exposed to public

webrtc_cc_initial_e_0_1

Default:
0.0

Type:
Double

Need restart: No

Description:
Internal bitrate estimation configuration, must not be exposed to public

webrtc_cc_initial_e_1_0

Default:
0.0

Type:
Double

Need restart: No

Description:
Internal bitrate estimation configuration, must not be exposed to public

webrtc_cc_initial_e_1_1

Default:
0.1

Type:
Double

Need restart: No

Description:
Internal bitrate estimation configuration, must not be exposed to public

webrtc_cc_initial_offset

Default:
0.0

Type:
Double

Need restart: No

Description:
Internal bitrate estimation configuration, must not be exposed to public

webrtc_cc_initial_process_noise_0

Default:
1.0E-13

Type:
Double

Need restart: No

Description:
Internal bitrate estimation configuration, must not be exposed to public

webrtc_cc_initial_process_noise_1

Warning

Deprecated parameter. Will be deleted in future releases

Default:
0.001

Type:
Double

Need restart: No

Description:
Internal bitrate estimation configuration, must not be exposed to public

webrtc_cc_initial_slope

Default:
0.015625

Type:
Double

Need restart: No

Description:
Internal bitrate estimation configuration, must not be exposed to public

webrtc_cc_initial_threshold

Warning

Deprecated parameter. Will be deleted in future releases

Default:
15.0

Type:
Double

Need restart: No

Description:
Internal bitrate estimation configuration, must not be exposed to public

webrtc_cc_initial_var_noise

Default:
50.0

Type:
Double

Need restart: No

Description:
Internal bitrate estimation configuration, must not be exposed to public

webrtc_cc_k_down

Default:
1.8E-4

Type:
Double

Need restart: No

Description:
Internal bitrate estimation configuration, must not be exposed to public

webrtc_cc_k_up

Default:
0.01

Type:
Double

Need restart: No

Description:
Internal bitrate estimation configuration, must not be exposed to public

webrtc_cc_max_bitrate

Default:
10000000

Type:
Long

Need restart: No

Description:
Maximum global bitrate for publishing WebRTC streams

webrtc_cc_min_bitrate

Default:
30000

Type:
Long

Need restart: No

Description:
Minimum global bitrate for publishing WebRTC streams

webrtc_cc_overusing_threshold

Default:
10.0

Type:
Double

Need restart: No

Description:
Internal bitrate estimation configuration, must not be exposed to public

webrtc_cc_use_sync_ts

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, use synchronization timestamp (in milliseconds) instead of RTP timestamp in the WebRTC overuse detector

webrtc_disable_encryption

Default:
false

Type:
Boolean

Need restart: No

Description:
If true, disable encryption (test only)

webrtc_pre_init

Default:
true

Type:
Boolean

Need restart: Yes

Description:
If true, use WebRTC pre-initialization

webrtc_pre_init_timeout

Default:
20000

Type:
Integer

Need restart: Yes

Description:
Maximum allowed time for WebRTC preinit, in milliseconds

webrtc_sdes_extensions

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, enable SDES RTP header extensions

webrtc_sdp_bandwidth_bps

Default:
0

Type:
Long

Need restart: No

Description:
b=AS/b=TIAS in publish SDP

webrtc_sdp_h264_exclude_profiles

Default:

Type:
String

Need restart: No

Description:
List of H264 profiles to exclude from the response during SDP negotiation.
42 - Baseline, 4d - Main, 64 - High

webrtc_sdp_max_bitrate_bps

Default:
0

Type:
Long

Need restart: No

Description:
x-google-max-bitrate in publish SDP

webrtc_sdp_min_bitrate_bps

Default:
0

Type:
Long

Need restart: No

Description:
x-google-min-bitrate in publish SDP

websocket_uri_path

Default:

Type:
String

Need restart: Yes

Description:
WebSocket request URI path

work_around

Warning

Deprecated parameter. Will be deleted in future releases

Default:
false

Type:
Boolean

Need restart: No

Description:
Not in use

ws.address

Default:
0.0.0.0

Type:
InetAddress[]

Need restart: Yes

Description:
Listening address for WebSocket server

ws.dashboard.port

Default:
8086

Type:
Integer

Need restart: Yes

Description:
WebSocket dashboard connection port

ws.ip_forward_header

Default:
X-Real-IP

Type:
String

Need restart: No

Description:
Name of the HTTP header from which the real client IP is read on the WebSocket handshake

ws.map_custom_headers

Default:
false

Type:
Boolean

Need restart: Yes

Description:
If true, parse X-prefixed headers from the WebSocket handshake and forward them to REST hook requests

ws.port

Default:
8080

Type:
Integer

Need restart: Yes

Description:
WebSocket connection port

ws_client_id_unique_part

Default:
true

Type:
Boolean

Need restart: No

Description:
If true, add a unique part to the WebSocket client ID

ws_connections_test_run_for

Default:
1800

Type:
Integer

Need restart: Yes

Description:
WebSocket connections test duration in seconds

ws_connections_test_uri

Default:
ws://192.168.88.100:8080

Type:
String

Need restart: Yes

Description:
WebSocket connections test URI

ws_read_socket_timeout

Default:
true

Type:
Boolean

Need restart: Yes

Description:
Enable WebSocket read timeout

ws_read_socket_timeout_sec

Default:
120

Type:
Integer

Need restart: Yes

Description:
WebSocket read timeout in seconds (if enabled)

wss.address

Default:
0.0.0.0

Type:
InetAddress[]

Need restart: Yes

Description:
Listening address for WebSocket SSL server

wss.cert.password

Default:
password

Type:
String

Need restart: Yes

Description:
Key password to the SSL certificate in keystore

wss.dashboard.port

Default:
8446

Type:
Integer

Need restart: Yes

Description:
Secure WebSocket dashboard connection port

wss.keystore.file

Default:
/usr/local/FlashphonerWebCallServer/conf/wss.jks

Type:
String

Need restart: Yes

Description:
Keystore file containing the servers TLS certificate, used for all secure connections (HTTPS, WSS, HLS, secure SIP, CDN, RTC metrics)'

wss.keystore.password

Default:
password

Type:
String

Need restart: Yes

Description:
SSL certificate keystore password

wss.port

Default:
8443

Type:
Integer

Need restart: Yes

Description:
WebSocket SSL connection port

wss.ssl.cache_size

Default:
0

Type:
Integer

Need restart: Yes

Description:
SSL session objects cache size

wss.ssl.session_timeout

Default:
0

Type:
Integer

Need restart: Yes

Description:
Cached SSL session objects timeout, in seconds

zapp_auditor_check_interval

Default:
1000

Type:
Integer

Need restart: No

Description:
Auditor thread interval in ms. Cannot be less than 1s

zapp_auditor_room_timeout

Default:
10000

Type:
Integer

Need restart: No

Description:
Timeout in ms to kill room if it's empty. Cannot be less than 1s

zgc_log_parser_enable

Default:
false

Type:
Boolean

Need restart: Yes

Description:
Launch ZGC parser for stat output

zgc_log_parser_path

Default:
logs/gc-core-[0-9]{4}-[0-9]{2}-[0-9]{2}_[0-9]{2}-[0-9]{2}.log

Type:
String

Need restart: Yes

Description:
ZGC logs path to parse

zgc_log_time_format

Default:
yyyy-MM-dd'T'HH:mm:ss.SSSZ

Type:
String

Need restart: Yes

Description:
ZGC logs time format used to parse GC pause time