SEMS Configuration - Yeti Documentation
SEMS Configuration - Yeti Documentation
General information
Yeti-Switch is developed in Ukraine
ADMINISTRATION It is not intended to be used in Russia or by companies paying taxes to russian budget
Base system installation
LDAP Authentication
SEMS configuration
Invoice PDF generation
Yeti uses modified SEMS that has other configuration file format than mainstream version Configuration located at /etc/sems/[Link].
Yeti CLI utility
Section signaling-interfaces
max_shutdown_time = 10
Section media-interfaces max_forwards = 70
Module ilbc
syslog_loglevel
syslog_facility
shutdown_mode
shutdown_mode->code
shutdown_mode->reason
shutdown_mode->allow_uac
pcap_upload_queue
TODO
media_processor_threads
TODO
session_processor_threads
TODO
sip_udp_server_threads
TODO
sip_tcp_server_threads
TODO
dead_rtp_time
TODO
Section signaling-interfaces
signaling-interfaces configuration example¶
signaling--interfaces {
interface input {
default
default- -media--interface = input
ip4 {
sip-
-udp {
address = [Link]
port = 5061
use-
-raw--sockets = off
origination--acl {
whitelist = { [Link]/ /24 }
method = drop
}
register
register- -acl {
whitelist = { [Link]/ /24 }
method = drop
}
}
sip-
-tcp {
address = [Link]
port = 5061
connect--timeout = 2000
static
static- -client-
-port = on
idle--timeout=
=900000
use-
-raw--sockets = off
origination--acl {
whitelist = { [Link]/ /24 }
method = drop
}
register
register- -acl {
whitelist = { [Link]/ /24 }
method = drop
}
}
sip-
-tls {
address = [Link]
port = 5061
static
static- -client-
-port = on
connect--timeout = 2000
idle--timeout = 900000
client {
protocols = { TLSv1, TLSv1.1, TLSv1.2 }
certificate = / etc/
/sems//ssl/
/[Link]- -switch
[Link].crt_bundle
certificate_key = / etc//sems/
/ssl//[Link]--switch
[Link].pkcs8
verify_certificate_chain = false
verify_certificate_cn = false
}
server {
protocols = { TLSv1, TLSv1.1, TLSv1.2 }
certificate = / etc/
/sems//ssl/
/[Link]- -switch
[Link].crt_bundle
certificate_key = / etc//sems/
/ssl//[Link]--switch
[Link].pkcs8
ciphers = {ChaCha20Poly1305, AES-256/ /GCM, AES-128/
/GCM, AES-256/
/CCM, AES-128/
/CCM, AES-256, AES-128}
macs = {AEAD, SHA-256, SHA-384, SHA-1}
verify_client_certificate = false
require_client_certificate = false
}
}
}
ip6 {
sip-
-udp {
address = 2001::67c:
:1324: :101::
::24
port = 5061
use-
-raw--sockets = off
origination--acl {
whitelist = { 2001::67c::1324:
:101::/
::/64 }
method = drop
}
register
register- -acl {
whitelist = { 2001::67c::1324:
:101::/
::/64 }
method = drop
}
}
sip-
-tcp {
address = 2001::67c:
:1324: :101::
::24
port = 5061
connect--timeout = 2000
static
static- -client-
-port = on
idle--timeout=
=900000
use-
-raw--sockets = off
origination--acl {
whitelist = { 2001::67c::1324:
:101::/
::/64 }
method = drop
}
register
register- -acl {
whitelist = { 2001::67c::1324:
:101::/
::/64 }
method = drop
}
}
sip-
-tls {
address = 2001::67c:
:1324: :101::
::24
port = 5061
static
static- -client-
-port = on
connect--timeout = 2000
idle--timeout = 900000
client {
protocols = { TLSv1, TLSv1.1, TLSv1.2 }
certificate = / etc/
/sems//ssl/
/[Link]- -switch
[Link].crt_bundle
certificate_key = / etc//sems/
/ssl//[Link]--switch
[Link].pkcs8
verify_certificate_chain = false
verify_certificate_cn = false
}
server {
protocols = { TLSv1, TLSv1.1, TLSv1.2 }
certificate = / etc/
/sems//ssl/
/[Link]- -switch
[Link].crt_bundle
certificate_key = / etc//sems/
/ssl//[Link]--switch
[Link].pkcs8
ciphers = {ChaCha20Poly1305, AES-256/ /GCM, AES-128/
/GCM, AES-256/
/CCM, AES-128/
/CCM, AES-256, AES-128}
macs = {AEAD, SHA-256, SHA-384, SHA-1}
verify_client_certificate = false
require_client_certificate = false
}
}
}
}
}
Section media-interfaces
media-interfaces configuration example¶
media--interfaces {
interface intern {
ip4 {
rtp {
address = 2001::67c:
:1324::101::
::24
low-
-port = 16383
high--port = 32767
dscp = 46
use-
-raw--sockets = off
srtp {
enable_srtp=
=yes
sdes {
profiles = { AES_256_CM_HMAC_SHA1_80, AES_256_CM_HMAC_SHA1_32, AES_CM_128_HMAC_SHA1_80, AES_CM_128_HMAC_SHA1_32 }
}
dtls {
client {
protocols = { DTLSv1, DTLSv1.2 }
certificate = / etc/
/sems//ssl/
/[Link]--switch
[Link].crt_bundle
certificate_key = / etc/
/sems//ssl/
/[Link]--switch
[Link].pkcs8
profiles = { AES_256_CM_HMAC_SHA1_80, AES_256_CM_HMAC_SHA1_32, AES_CM_128_HMAC_SHA1_80, AES_CM_128_HMAC_SHA1_32 }
verify_certificate_chain = false
verify_certificate_cn = false
}
server {
protocols = { DTLSv1, DTLSv1.2 }
certificate = / etc/
/sems//ssl/
/[Link]--switch
[Link].crt_bundle
certificate_key = / etc/
/sems//ssl/
/[Link]--switch
[Link].pkcs8
profiles = { AES_256_CM_HMAC_SHA1_80, AES_256_CM_HMAC_SHA1_32, AES_CM_128_HMAC_SHA1_80, AES_CM_128_HMAC_SHA1_32 }
ciphers = {ChaCha20Poly1305, AES-256/ /GCM, AES-128/
/GCM, AES-256/
/CCM, AES-128/
/CCM, AES-256, AES-128}
macs = {AEAD, SHA-256, SHA-384, SHA-1}
verify_client_certificate = false
require_client_certificate = false
}
}
}
}
}
ip6 {
rtp {
address = 2001::67c:
:1324::101::
::24
low-
-port = 16383
high--port = 32767
dscp = 46
use-
-raw--sockets = off
srtp {
enable_srtp=
=yes
sdes {
profiles = { AES_256_CM_HMAC_SHA1_80, AES_256_CM_HMAC_SHA1_32, AES_CM_128_HMAC_SHA1_80, AES_CM_128_HMAC_SHA1_32 }
}
dtls {
client {
protocols = { DTLSv1, DTLSv1.2 }
certificate = / etc/
/sems//ssl/
/[Link]--switch
[Link].crt_bundle
certificate_key = / etc/
/sems//ssl/
/[Link]--switch
[Link].pkcs8
profiles = { AES_256_CM_HMAC_SHA1_80, AES_256_CM_HMAC_SHA1_32, AES_CM_128_HMAC_SHA1_80, AES_CM_128_HMAC_SHA1_32 }
verify_certificate_chain = false
verify_certificate_cn = false
}
server {
protocols = { DTLSv1, DTLSv1.2 }
certificate = / etc/
/sems//ssl/
/[Link]--switch
[Link].crt_bundle
certificate_key = / etc/
/sems//ssl/
/[Link]--switch
[Link].pkcs8
profiles = { AES_256_CM_HMAC_SHA1_80, AES_256_CM_HMAC_SHA1_32, AES_CM_128_HMAC_SHA1_80, AES_CM_128_HMAC_SHA1_32 }
ciphers = {ChaCha20Poly1305, AES-256/ /GCM, AES-128/
/GCM, AES-256/
/CCM, AES-128/
/CCM, AES-256, AES-128}
macs = {AEAD, SHA-256, SHA-384, SHA-1}
verify_client_certificate = false
require_client_certificate = false
}
}
}
}
}
}
}
Section modules
Section modules describles which modules should be loaded. Module can optionally accept configuration.
module "Module2" {
/* Module2 configuration */
}
}
Section routing
SEMS is application server so it is possible to load multiple application at same time and route incoming requests/sessions based on some conditions. Routing section
allows to configure rules how to route incoming requests/dialogs.
# Previous Next !