Statistics
| Branch: | Revision:

janus-gateway / conf / janus.cfg.sample.in @ 57953fa0

History | View | Annotate | Download (8.08 KB)

1
; General configuration: folders where the configuration and the plugins
2
; can be found, default interface to use, debug/logging level and, if
3
; needed, shared apisecret between application(s) and Janus.
4
[general]
5
configs_folder = @confdir@		; Configuration files folder
6
plugins_folder = @plugindir@		; Plugins folder
7
;interface = 1.2.3.4		; Interface to use (will be used in SDP)
8
debug_level = 4				; Debug/logging level, valid values are 0-7
9
;apisecret = janusrocks		; String that all Janus requests must contain
10
;							to be accepted/authorized by the Janus core.
11
;							Useful if you're wrapping all Janus API requests
12
;							in your servers (that is, not in the browser,
13
;							where you do the things your way) and you
14
;							don't want other application to mess with
15
;							this Janus instance.
16

    
17

    
18
; Web server and WebSockets stuff: whether either one should be enabled,
19
; which ports they should use, whether security should be handled directly
20
; or demanded to an external application (e.g., web frontend) and what
21
; should be the base path for the Janus API protocol (plain HTTP only).
22
; You can also specify the threading model to use for the HTTP webserver:
23
; by default this is 'unlimited' (which means a thread per connection, as
24
; specified by the libmicrohttpd documentation), using a number will make
25
; use of a thread pool instead. Since long polls are involved, make sure
26
; you choose a value that doesn't keep new connections waiting.
27
; Please beware that the WebSockets server will only be available if you
28
; built Janus compiling support for it.
29
[webserver]
30
base_path = /janus			; Base path to bind to in the web server (plain HTTP only)
31
threads = unlimited			; unlimited=thread per connection, number=thread pool
32
http = yes					; Whether to enable the plain HTTP interface
33
port = 8088					; Web server HTTP port
34
https = no					; Whether to enable HTTPS (default=no)
35
;secure_port = 8889			; Web server HTTPS port, if enabled
36
ws = yes					; Whether to enable the WebSockets interface
37
ws_port = 8188				; WebSockets server port
38
ws_ssl = no					; Whether to enable secure WebSockets
39
;ws_secure_port = 8989;		; WebSockets server secure port, if enabled
40

    
41

    
42
; Recent versions of Janus now also support RabbitMQ based messaging as
43
; an alternative "transport" for API requests, responses and notifications.
44
; This is only useful when you're wrapping Janus requests in your server
45
; application, and handling the communication with clients your own way.
46
; At the moment, only a single "application" can be handled at the same
47
; time, meaning that Janus won't implement multiple queues to handle
48
; multiple concurrent "application servers" taking advantage of its
49
; features. Support for this is planned, though (e.g., through some kind
50
; of negotiation to create queues on the fly). Right now, you can only
51
; configure the address of the RabbitMQ server to use, and the queues to
52
; make use of to receive (to-janus) and send (from-janus) messages
53
; from/to an external application. If you're using the same RabbitMQ
54
; server instance for multiple Janus instances, make sure you configure
55
; different queues for each of them (e.g., from-janus-1/to-janus-1 and
56
; from-janus-2/to-janus-2), or otherwise both the instances will make
57
; use of the same queues and messages will get lost. The integration
58
; is disabled by default, so set enable=yes if you want to use it.
59
[rabbitmq]
60
enable = no					; Whether the support must be enabled
61
host = localhost			; The address of the RabbitMQ server
62
;port = 5672				; The port of the RabbitMQ server (5672 by default)
63
to_janus = to-janus			; Name of the queue for incoming messages
64
from_janus = from-janus		; Name of the queue for outgoing messages
65

    
66

    
67
; Janus can also expose an admin/monitor endpoint, to allow you to check
68
; which sessions are up, which handles they're managing, their current
69
; status and so on. This provides a useful aid when debugging potential
70
; issues in Janus. The configuration is pretty much the same as the one
71
; already presented above for the webserver stuff, as the API is very
72
; similar: choose the base bath for the admin/monitor endpoint (/admin
73
; by default), ports, threading model, etc. Besides, you can specify
74
; a secret that must be provided in all requests as a crude form of
75
; authorization mechanism, and partial or full source IPs if you want to
76
; limit access basing on IP addresses. For security reasons, this
77
; endpoint is disabled by default, enable it by setting admin_http=yes.
78
[admin]
79
admin_base_path = /admin		; Base path to bind to in the admin/monitor web server (plain HTTP only)
80
admin_threads = unlimited		; unlimited=thread per connection, number=thread pool
81
admin_http = no					; Whether to enable the plain HTTP interface
82
admin_port = 7088				; Admin/monitor web server HTTP port
83
admin_https = no				; Whether to enable HTTPS (default=no)
84
;admin_secure_port = 7889		; Admin/monitor web server HTTPS port, if enabled
85
admin_secret = janusoverlord	; String that all Janus requests must contain
86
;								  to be accepted/authorized by the admin/monitor.
87
;admin_acl = 127.,192.168.0.	; Only allow requests coming from this comma separated list of addresses
88

    
89

    
90
; Certificate and key to use for DTLS and/or HTTPS/WSS.
91
[certificates]
92
cert_pem = @certdir@/mycert.pem
93
cert_key = @certdir@/mycert.key
94

    
95

    
96
; Media-related stuff: right now, you can only configure whether you want
97
; to enable IPv6 support (still WIP, so handle with care), the maximum size
98
; of the NACK queue for retransmissions per handle and the range of
99
; ports to use for RTP and RTCP (by default, no range is envisaged).
100
; If you change any setting in the lines below, remember to uncomment the
101
; [media] category as well, which is commented by default!
102
;[media]
103
;ipv6 = true
104
;max_nack_queue = 300
105
;rtp_port_range = 20000-40000
106

    
107

    
108
; NAT-related stuff: specifically, you can either manually specify the 
109
; public IP of the machine (i.e., what would be used in SDP) or
110
; configure the STUN/TURN servers to use to gather candidates if the gateway
111
; is behind a NAT, and srflx/relay candidates are needed. Please beware that
112
; just blindly setting the public IP may break connectivity, especially
113
; if Janus is installed behind a NAT: when unsure, just enable a STUN
114
; server instead, which will take care of this automatically. In case
115
; this is needed (it shouldn't), you can also configure Janus to use a
116
; TURN server; please notice that this does NOT refer to TURN usage in
117
; browsers, but in the gathering of relay candidates by Janus itself,
118
; e.g., if you want to limit the ports used by a Janus instance on a
119
; private machine. Furthermore, you can choose whether Janus should be
120
; configured to work in ICE-Lite mode (by default it doesn't). Finally,
121
; you can also enable ICE-TCP support (beware that it currently *only*
122
; works if you enable ICE Lite as well) and enable or disable the
123
; internal libnice debugging, if needed. 
124
[nat]
125
;public_ip = 1.2.3.4
126
;stun_server = stun.voip.eutelia.it
127
;stun_port = 3478
128
nice_debug = false
129
;ice_lite = true
130
;ice_tcp = true
131
;turn_server = myturnserver.com
132
;turn_port = 3478
133
;turn_user = myuser
134
;turn_pwd = mypassword
135

    
136
; You can also choose which interfaces or IP addresses should be excluded
137
; and ignored by the gateway for the purpose of ICE candidates gathering.
138
; To do so, use the 'ice_ignore_list' setting and pass it a comma-separated
139
; list of interfaces or IP addresses to ignore. This is especially useful
140
; if the server hosting the gateway has several interfaces you already
141
; know will not be used or will simply always slow down ICE (e.g., virtual
142
; interfaces created by VMware). Partial strings are supported, which
143
; means that any of the following examples are valid:
144
;     ice_ignore_list = vmnet8,192.168.0.1,10.0.0.1
145
;     ice_ignore_list = vmnet,192.168.
146
; By default, we ignore all interfaces whose name starts with 'vmnet':
147
ice_ignore_list = vmnet
148

    
149
; Finally, you can choose which of the available plugins should be
150
; enabled or not. Use the 'disable' directive to prevent Janus from
151
: loading one or more plugins: use a comma separated list of plugin file
152
; names to identify the plugins to disable. By default all available
153
; plugins are enabled and loaded at startup. 
154
[plugins]
155
; disable = libjanus_voicemail.so,libjanus_recordplay.so