Statistics
| Branch: | Revision:

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

History | View | Annotate | Download (9 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
;session_timeout = 60		; How long (in seconds) we should wait before
43
;							deciding a Janus session has timed out. A
44
;							session times out when no request is received
45
;							for session_timeout seconds (default=60s).
46
;							Setting this to 0 will disable the timeout
47
;							mechanism, which is NOT suggested as it may
48
;							risk having orphaned sessions (sessions not
49
;							controlled by any transport and never freed).
50
;							To avoid timeouts, keep-alives can be used.
51

    
52

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

    
58

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

    
74

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

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

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

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

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

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

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

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

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