[rtpengine]

table = 0
# no-fallback = false
### for userspace forwarding only:
# table = -1

interfaces-config = interface

### legacy interface config syntax:
# interface = any
### a single interface:
# interface = 123.234.345.456
### separate multiple interfaces with semicolons:
# interface = internal/12.23.34.45;external/23.34.45.54
### for different advertised address:
# interface = 12.23.34.45!23.34.45.56

# name of config section in this file to contain signalling templates
templates = templates


listen-ng = localhost:2223
# listen-tcp = 25060
# listen-udp = 12222

### interface for HTTP, WS and Prometheus
# listen-http = 9101
listen-http = localhost:2225

# listen-https = localhost:2226
# https-cert =
# https-key =

listen-cli = localhost:2224

timeout = 60
silent-timeout = 3600
tos = 184
# control-tos = 184
# control-pmtu = dont
# delete-delay = 30
# final-timeout = 10800
# endpoint-learning = heuristic
# reject-invalid-sdp = false

# foreground = false
# pidfile = /run/ngcp-rtpengine-daemon.pid
# num-threads = 16
# media-num-threads = 8
# http-threads = 4
# http-buf-size = 1024

port-min = 30000
port-max = 39999
# max-sessions = 5000

# software-id = rtpengine
# max-load = 5
# max-cpu = 90
# max-bandwidth = 10000000
# scheduling = default
# priority = -3
# idle-scheduling = idle
# idle-priority = 10

recording-dir = /var/spool/rtpengine
recording-method = proc
# recording-format = raw

# redis = 127.0.0.1:6379/5
# redis-write = password@12.23.34.45:6379/42
# redis-subscribe = password@12.23.34.45:6379/43
# redis-num-threads = 8
# no-redis-required = false
# redis-expires = 86400
# redis-allowed-errors = -1
# redis-disable-time = 10
# redis-cmd-timeout = 0
# redis-connect-timeout = 1000
# redis-resolve-on-reconnect = false

# b2b-url = http://127.0.0.1:8090/
# xmlrpc-format = 0
# janus-secret = ABC123

# log-level = 6
# log-stderr = false
# log-facility = daemon
# log-facility-cdr = local0
# log-facility-rtcp = local1
# debug-srtp = false
# log-srtp-keys = false
# dtls-cert-cipher = prime256v1
# dtls-rsa-key-size = 2048
# dtls-mtu = 1200
# dtls-signature = sha-256
# dtls-ciphers = DEFAULT:!NULL:!aNULL:!SHA256:!SHA384:!aECDH:!AESGCM+AES256:!aPSK

# dtmf-no-log-injects = 0

# graphite = 127.0.0.1:9006
# graphite-interval = 60
# graphite-prefix = foobar.

# homer = 123.234.345.456:65432
# homer-protocol = udp
# homer-id = 2001

# mysql-host = localhost
# mysql-port = 3306
# mysql-user = mysql
# myser-pass = mysql
# mysql-query = select data from voip.files where id = %llu

# dtx-delay = 50
# max-dtx = 600
# dtx-buffer = 5
# dtx-lag = 100
# dtx-shift = 0
# amr-dtx = native
# dtx-cn-params = 60
# silence-detect = 0.05
# cn-payload = 60

# player-cache = false
# kernel-player = 0
# kernel-player-media = 128

# audio-buffer-length = 120
# audio-buffer-delay = 10
# audio-player = on-demand

# sip-source = false
# dtls-passive = false

# mqtt-host = localhost
# mqtt-port = 1883
# mqtt-tls-alpn = mqtt
# mqtt-id =
# mqtt-user = foo
# mqtt-pass = bar
# mqtt-capath =
# mqtt-cafile =
# mqtt-certfile =
# mqtt-keyfile =
# mqtt-publish-qos = 0
# mqtt-publish-topic = rtpengine
# mqtt-publish-interval = 5000
# mqtt-publish-scope = media

# mos = CQ
# poller-per-thread = false
# io-uring = false
# socket-cpu-affinity = -1
# rtcp-interval = 5000

# music-on-hold max possible duration (in ms).
# When not defined (set to 0), it takes 1800000ms default value.
# moh-max-duration = 1800000

# music-on-hold max possible repeats.
# moh-max-duration always takes a precedence over it.
# By default is always 999 if not defined otherwise.
# moh-max-repeats = 999

# controls the value to be added to the session level of SDP
# whenever MoH is triggered. If not defined, then not in use.
# moh-attr-name = rtpengine-hold

# protects against double MoH played
# (e.g. when inadvertently two rtpengine instances try to trigger MoH)
# moh-prevent-double-hold = false

# preload-media-files = /var/media/file1.wav ; /var/media/file2.wav ; /var/media/file3.wav ; on-demand
# media-files-reload = 60
# preload-db-media = 1; 2; 3; 4; on-demand
# db-media-reload = 3600
# db-media-cache = /var/cache/rtpengine
# preload-db-cache = 1; 2; 3; 4; on-demand
# cache-media-reload = 3600

transcode-config = transcode

[example-transcode-1]
source = opus
destination = PCMA
# transform = localhost:2228
# local-interface = ...
# remote-interface = ...
# address-family = ...
# preference = 10

[example-transcode-2]
source = PCMA
destination = opus
# transform = localhost:2228
# local-interface = ...
# remote-interface = ...
# address-family = ...
# preference = 10

# signalling templates (see key `templates` above)
[templates]
WebRTC = transport-protocol=UDP/TLS/RTP/SAVPF ICE=force trickle-ICE rtcp-mux=[offer require] no-rtcp-attribute SDES=off generate-mid

# one single default interface
[interface-default]
address = any
# name = default
# port-min = 30000
# port-max = 39999
# exclude-ports = 31111 ; 32222 ; 33333

[rtpengine-testing]
table = -1
interface = 10.15.20.121
listen-ng = 2223
foreground = true
log-stderr = true
log-level = 7
