-
Notifications
You must be signed in to change notification settings - Fork 98
/
telepresence.cfg
165 lines (144 loc) · 8.93 KB
/
telepresence.cfg
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
#
# Copyright (C) 2013 Mamadou DIOP
# Copyright (C) 2013 Doubango Telecom <http://www.doubango.org>
# License: GPLv3 (contact us)
# This file is part of the open source SIP TelePresence system <https://code.google.com/p/telepresence/>
#
# Version: 2.1.0
[global]
# 'debug_level' value could be INFO, WARN, ERROR or FATAL
# It's a good practice to define the 'debug-level' before any other param
debug-level = WARN
# Whether to mix and send back your audio. This option must only be used for debugging. Without this option, you must connect at least 2 enpoints to test audio.
debug-audio-loopback = no
# Whether to accept incoming SIP REGISTER requests or not
accept-sip-reg = no
# 'transport' defines a network protocol, IP address and port to bind to for incoming/outgoing SIP messages
# Format: protocol;ip-address;port;ip-version
# A star (*) could be used for 'ip-address', 'port' or 'ip-version' to request the engine to choose a best value.
# 'protocol' could be equal to 'udp' | 'ws' | 'wss' | 'tcp' | 'tls' | 'http' | 'https'.
# 'ip-address' must be a valid IPv4 or IPv6 address
# 'port' is the port on which to listen for incoming connections
# 'ip-version' must be equal to '4' or '6' and is optional
transport = udp;*;20060;*
transport = ws;*;20060;*
#transport = wss;*;20062;*
#transport = tcp;*;20063;*
#transport = tls;*;20064;*
transport = http;*;20065;*
transport = https;*;20066;*
# Enable/disable symmetric RTP as per RFC 4961 for NAT/firewall traversal
rtp-symmetric-enabled = yes
# Enable/disable ICE as per RFC 5245
ice-enabled = yes
# Enable/disable gathering reflexive addresses for ICE candidates
icestun-enabled = yes
# STUN/TURN server. Format: server-host;server-port;auth-name;auth-password
stun-server = stun.l.google.com;19302;[email protected];stun-password
# Enable/disable RTCP-MUX as per RFC 5761
rtcp-mux-enabled = yes
# Internal UDP buffer sizes to allocate by the OS for audio and video streams
rtp-buffersize = 65535
# Defines the maximum and minimum queue length used to store the outgoing RTP packets. The queue is used to honor incoming RTCP-NACK requests.
# Format: max;min
avpf-tail-length = 200;500
# Defines the list of all supported codecs. Only G.711 and G.722 are natively supported and all other codecs have to be enabled when building the Doubango IMS Framework source code.
# Each codec priority is equal to its position in the list. First codecs have highest priority.
# supported values: opus|pcma|pcmu|amr-nb-be|amr-nb-oa|speex-nb|speex-wb|speex-uwb|g729|gsm|g722|ilbc|h264-bp|h264-mp|vp8|h263|h263+|theora|mp4v-es
codecs = pcma;pcmu;opus;vp8;h264-bp;h264-mp
# OPUS audio codec maxrate-playback-value; maxrate-capture-value
# 'maxrate-playback-value' and 'maxrate-capture-value' must be equal to 8000 | 12000 | 16000 | 24000 | 48000
codec-opus-maxrates = 48000;48000
# Whether to enable draft-alvestrand-rtcweb-congestion-03 and draft-alvestrand-rmcat-remb-01
# In this current version 'draft-alvestrand-rtcweb-congestion-03' is not used
congestion-ctrl-enabled = yes
# Maximum bandwidth (kbps) to use to upload (MCU -> peer) or download (peer -> MCU) video for each peer
# Use negative values to let the system choose the right ones (adptative) depending on the video size and RTCP feedbacks
# If the upload bandwidth value is missing than it's computed like this:
# - upload bandwidth (kbps) = (width * height * fps * mr * 0.07)/1024 with mr = motion rank (low=1, medium=2(default), high=4)
# - for example, 720p video at 15fps will use (1280 * 720 * 15 * 2 * 0.07)/1024 = 1935360/1024 kbps = ~1890 kbps = ~ 1.8 mbps
video-max-upload-bandwidth = -1 # in kbps
video-max-download-bandwidth = -1 # in kbps
video-motion-rank = 2 # 1(low), 2(medium) or 4(high)
video-fps = 15 # [1 - 120]
# Whether to enable video jitter buffer or not. It's highly recommend to enable video-jb because it's required to have RTCP-FB (NACK, FIR, PLI...) fully functional.
# Enabling video jitter buffer gives better quality and improves smoothness. For example, no RTCP-NACK messages will be sent to request dropped RTP packets if this option is disabled.
video-jb-enabled = yes
# This feature is used to make sure we'll never have artifacts on the mixed video. All endpoints connected to the MCU should support RTCP-PLI/NACK/FIR to avoid video freezes.
video-zeroartifacts-enabled = yes
# Mixed video size to send to all participants regardless the input video size
# Supported values: sqcif(128x98),qcif(176x144),qvga(320x240),cif(352x288),hvga(480x320),vga(640x480),4cif(704x576),svga(800x600),480p(852x480),720p(1280x720),16cif(1408x1152),1080p(1920x1080),2160p(3840x2160)
video-mixed-size = vga
# Defines the Pixel Aspect Ratio (http://en.wikipedia.org/wiki/Pixel_aspect_ratio) to apply to the to video before letterboxing (http://en.wikipedia.org/wiki/Letterboxing_(filming))
# A PAR equal to 1:1 means "skip the linear resizing" and a value of 0:0 means "skip both linear resizing and letterboxing".
video-speaker-par = 0:0
video-listener-par = 1:1
# Default number of channles to use for the mixed audio. Supported values: 1 or 2
audio-channels = 1
# Default number of bits per audio sample. Supported values: 8, 16 or 32
audio-bits-per-sample = 16 # only "16" is supported in this beta version
# Default sample rate. Supported values: any listed at http://en.wikipedia.org/wiki/Sampling_rate
audio-sample-rate = 8000
# Default number of milliseconds for each audio frame. Must be [1 - 255].
# Many SIP clients fails to decode anything not equal to 20 (e.g. chrome)
audio-ptime = 20
# Audio volume. Supported values: [0.0f - 1.0f]
audio-volume = 1.0f
# Audio mixing type. Supported values: 2d or 3d
audio-dim = 2d
# Maximum audio delay (because of clock drift issues) before reseting the jitter buffer. Supported values: Any positive integer.
audio-max-latency = 200 # in ms
# Whether to record sessions
record = no
# Recording file extension (supported: avi, mp4, webm, mkv... almost any container)
record-file-ext = avi
# Base folder path where to look for the fonttypes (comes from ftp://ftp.gnu.org/pub/gnu/freefont)
overlay-fonts-folder-path = ./fonts/truetype/freefont
# Copyright text to display on the mixed video. Comment the line to disable this feature.
overlay-copyright-text = Doubango Telecom
# Font size to use to draw the copyright text on the mixed video
overlay-copyright-fontsize = 12
# Font file to use to draw the copyright text on the mixed video. Full path will be (overlay-fonts-folder-path+"/"+overlay-copyright-fontfile)
overlay-copyright-fontfile = FreeSerif.ttf
# Whether to draw the speaker's name on the mixed video
overlay-speaker-name-enabled = yes
# Font size to use to draw the speaker's name (and job title) text on the mixed video
overlay-speaker-name-fontsize = 16
# Font file to use to draw the speaker's name on the mixed video. Full path will be (overlay-fonts-folder-path+"/"+overlay-speaker-name-fontfile)
overlay-speaker-name-fontfile = FreeMonoBold.ttf
# Whether to draw the speaker's job title on the mixed video
overlay-speaker-jobtitle-enabled = yes
# Full path to the image to use to watermark the mixed video. Comment the line to disable this feature
overlay-watermark-image-path = ./images/logo35x34.jpg
# SSL configuration entries used for TLS, WSS and DTLS-SRTP. Check the technical guide for for info.
#ssl-private-key = /tmp/ssl.pem
#ssl-public-key = /tmp/ssl.pem
#ssl-ca = /tmp/ssl.pem
#ssl-mutual-auth = no
# The SRTP mode to use for negotiation. Supported values: none, optional or mandatory
# 'none' will not work with WebRTC endpoints because SRTP is required
# 'optional' means we want to negotiate (recommended)
# 'mandatory' means calls must fail if the client doesn't support SRTP
srtp-mode = optional
# The list of SRTP types to use to secure the media. Supported values: 'sdes' or 'dtls'.
# Defining multiple values only make sens if 'srtp-mode' is equal to 'optional' which means we want to negotiate.
srtp-type = sdes;dtls
# Whether to enable presentation sharing.
presentation-sharing-enabled = yes
# Some implementations requires a third-party application (e.g. OpenOffice or LibreOffice) to export the presentation.
# The third-party application will be forked to run in the background and the local port ([1024-65535]) is used to communicate with TelePresence system.
presentation-sharing-process-local-port = 2083
# Base folder where to store uploaded presentations and temporary exported jpeg images.
presentation-sharing-base-folder = ./presentations
# 3rd-party application name. Could be full (e.g. "/opt/openoffice4/program/soffice") or relative ("soffice") path. Relative path requires having the folder containing the application in your $PATH variable.
presentation-sharing-app = soffice
# my first test bridge
[bridge]
# The id is mandatory. The SIP clients will call "sip:10060@domain" to connect to this bridge.
id=10060
# The pin-code to protect the bridge.
pin-code=1234
# my second test bridge
[bridge]
id=10061
pin-code=0000