Statistics
| Branch: | Revision:

janus-gateway / conf / janus.cfg.sample.in @ becc0c84

History | View | Annotate | Download (9.06 KB)

1
; General configuration: folders where the configuration and the plugins
2
; can be found, how output should be logged, whether Janus should run as
3
; a daemon or in foreground, default interface to use, debug/logging level
4
; and, if needed, shared apisecret and/or token authentication mechanism
5
; between application(s) and Janus.
6
[general]
7
configs_folder = @confdir@		; Configuration files folder
8
plugins_folder = @plugindir@		; Plugins folder
9
transports_folder = @transportdir@	; Transports folder
10
events_folder = @eventdir@		; Event handlers folder
11
;log_to_stdout = false			; Whether the Janus output should be written
12
								; to stdout or not (default=true)
13
;log_to_file = /tmp/janus.log	; Whether to use a log file or not
14
;daemonize = true				; Whether Janus should run as a daemon
15
								; or not (default=run in foreground)
16
;pid_file = /tmp/janus.pid		; PID file to create when Janus has been
17
								; started, and to destroy at shutdown
18
;interface = 1.2.3.4		; Interface to use (will be used in SDP)
19
debug_level = 4				; Debug/logging level, valid values are 0-7
20
;debug_timestamps = yes		; Whether to show a timestamp for each log line
21
;debug_colors = no			; Whether colors should be disabled in the log
22
;api_secret = janusrocks		; String that all Janus requests must contain
23
;							to be accepted/authorized by the Janus core.
24
;							Useful if you're wrapping all Janus API requests
25
;							in your servers (that is, not in the browser,
26
;							where you do the things your way) and you
27
;							don't want other application to mess with
28
;							this Janus instance.
29
;token_auth = yes			; Enable a token based authentication
30
;							mechanism to force users to always provide
31
;							a valid token in all requests. Useful if
32
;							you want to authenticate requests from web
33
;							users. For this to work, the Admin API MUST
34
;							be enabled, as tokens are added and removed
35
;							through messages sent there.
36
admin_secret = janusoverlord	; String that all Janus requests must contain
37
;								  to be accepted/authorized by the admin/monitor.
38
;								  only needed if you enabled the admin API
39
;								  in any of the available transports.
40
;server_name = MyJanusInstance	; Public name of this Janus instance
41
;								  as it will appear in an info request
42
;recordings_tmp_ext = tmp	; The extension for recordings, in Janus, is
43
;							.mjr, a custom format we devised ourselves.
44
;							By default, we save to .mjr directly. If you'd
45
;							rather the recording filename have a temporary
46
;							extension while it's being saved, and only
47
;							have the .mjr extension when the recording
48
;							is over (e.g., to automatically trigger some
49
;							external scripts), then uncomment and set the
50
;							recordings_tmp_ext property to the extension
51
;							to add to the base (e.g., tmp --> .mjr.tmp).
52

    
53

    
54
; Certificate and key to use for DTLS.
55
[certificates]
56
cert_pem = @certdir@/mycert.pem
57
cert_key = @certdir@/mycert.key
58

    
59

    
60
; Media-related stuff: you can configure whether if you want
61
; to enable IPv6 support (still WIP, so handle with care), the maximum size
62
; of the NACK queue (in milliseconds, defaults to 300ms) for retransmissions, the
63
; range of ports to use for RTP and RTCP (by default, no range is envisaged), the
64
; starting MTU for DTLS (1472 by default, it adapts automatically),
65
; if BUNDLE should be forced (defaults to false) and if RTCP muxing should
66
; be forced (defaults to false).
67
[media]
68
;ipv6 = true
69
;max_nack_queue = 300
70
;rtp_port_range = 20000-40000
71
;dtls_mtu = 1200
72
;force-bundle = true
73
;force-rtcp-mux = true
74

    
75

    
76
; NAT-related stuff: specifically, you can configure the STUN/TURN
77
; servers to use to gather candidates if the gateway is behind a NAT,
78
; and srflx/relay candidates are needed. In case STUN is not enough and
79
; this is needed (it shouldn't), you can also configure Janus to use a
80
; TURN server; please notice that this does NOT refer to TURN usage in
81
; browsers, but in the gathering of relay candidates by Janus itself,
82
; e.g., if you want to limit the ports used by a Janus instance on a
83
; private machine. Furthermore, you can choose whether Janus should be
84
; configured to work in ICE-Lite mode (by default it doesn't). Finally,
85
; you can also enable ICE-TCP support (beware that it currently *only*
86
; works if you enable ICE Lite as well), choose which interfaces should
87
; be used for gathering candidates, and enable or disable the
88
; internal libnice debugging, if needed. 
89
[nat]
90
;stun_server = stun.voip.eutelia.it
91
;stun_port = 3478
92
nice_debug = false
93
;ice_lite = true
94
;ice_tcp = true
95

    
96
; In case you're deploying Janus on a server which is configured with
97
; a 1:1 NAT (e.g., Amazon EC2), you might want to also specify the public
98
; address of the machine using the setting below. This will result in
99
; all host candidates (which normally have a private IP address) to
100
; be rewritten with the public address provided in the settings. As
101
; such, use the option with caution and only if you know what you're doing.
102
; Besides, it's still recommended to also enable STUN in those cases,
103
; and keep ICE Lite disabled as it's not strictly speaking a public server.
104
;nat_1_1_mapping = 1.2.3.4
105

    
106
; You can configure a TURN server in two different ways: specifying a
107
; statically configured TURN server, and thus provide the address of the
108
; TURN server, the transport (udp/tcp/tls) to use, and a set of valid
109
; credentials to authenticate...
110
;turn_server = myturnserver.com
111
;turn_port = 3478
112
;turn_type = udp
113
;turn_user = myuser
114
;turn_pwd = mypassword
115

    
116
; ... or you can make use of the TURN REST API to get info on one or more
117
; TURN services dynamically. This makes use of the proposed standard of
118
; such an API (https://tools.ietf.org/html/draft-uberti-behave-turn-rest-00)
119
; which is currently available in both rfc5766-turn-server and coturn.
120
; You enable this by specifying the address of your TURN REST API backend,
121
; the HTTP method to use (GET or POST) and, if required, the API key Janus
122
; must provide.
123
;turn_rest_api = http://yourbackend.com/path/to/api
124
;turn_rest_api_key = anyapikeyyoumayhaveset
125
;turn_rest_api_method = GET
126

    
127
; You can also choose which interfaces should be explicitly used by the
128
; gateway for the purpose of ICE candidates gathering, thus excluding
129
; others that may be available. To do so, use the 'ice_enforce_list'
130
; setting and pass it a comma-separated list of interfaces or IP addresses
131
; to enforce. This is especially useful if the server hosting the gateway
132
; has several interfaces, and you only want a subset to be used. Any of
133
; the following examples are valid:
134
;     ice_enforce_list = eth0
135
;     ice_enforce_list = eth0,eth1
136
;     ice_enforce_list = eth0,192.168.
137
;     ice_enforce_list = eth0,192.168.0.1
138
; By default, no interface is enforced, meaning Janus will try to use them all.
139
;ice_enforce_list = eth0
140

    
141
; In case you don't want to specify specific interfaces to use, but would
142
; rather tell Janus to use all the available interfaces except some that
143
; you don't want to involve, you can also choose which interfaces or IP
144
; addresses should be excluded and ignored by the gateway for the purpose
145
; of ICE candidates gathering. To do so, use the 'ice_ignore_list' setting
146
; and pass it a comma-separated list of interfaces or IP addresses to
147
; ignore. This is especially useful if the server hosting the gateway
148
; has several interfaces you already know will not be used or will simply
149
; always slow down ICE (e.g., virtual interfaces created by VMware).
150
; Partial strings are supported, which means that any of the following
151
; examples are valid:
152
;     ice_ignore_list = vmnet8,192.168.0.1,10.0.0.1
153
;     ice_ignore_list = vmnet,192.168.
154
; Just beware that the ICE ignore list is not used if an enforce list
155
; has been configured. By default, Janus ignores all interfaces whose
156
; name starts with 'vmnet', to skip VMware interfaces:
157
ice_ignore_list = vmnet
158

    
159
; You can choose which of the available plugins should be
160
; enabled or not. Use the 'disable' directive to prevent Janus from
161
; loading one or more plugins: use a comma separated list of plugin file
162
; names to identify the plugins to disable. By default all available
163
; plugins are enabled and loaded at startup.
164
[plugins]
165
; disable = libjanus_voicemail.so,libjanus_recordplay.so
166

    
167
; You can choose which of the available transports should be enabled or
168
; not. Use the 'disable' directive to prevent Janus from loading one
169
; or more transport: use a comma separated list of transport file names
170
; to identify the transports to disable. By default all available
171
; transports are enabled and loaded at startup.
172
[transports]
173
; disable = libjanus_rabbitmq.so
174

    
175
; Event handlers allow you to receive live events from Janus happening
176
; in core and/or plugins. Since this can require some more resources,
177
; the feature is disabled by default. Setting broadcast to yes will
178
; enable them. You can then choose which of the available event handlers
179
; should be loaded or not. Use the 'disable' directive to prevent Janus
180
; from loading one or more event handlers: use a comma separated list of
181
; file names to identify the event handlers to disable. By default, if
182
; broadcast is set to yes all available event handlers are enabled and
183
; loaded at startup.
184
[events]
185
; broadcast = yes
186
; disable = libjanus_sampleevh.so