SEMS node installation
Install packages
# apt update && apt install sems sems-modules-yeti
Configuration files
/etc/sems/sems.conf
Add new node to the routing database using web interface [ System -> Nodes -> New Node ]. Use id of newly created node as value for node_id parameter
- node_id
unique signaling node id.
Warning
You should create Node at web interface and use ID from web interface at node_id variable. See System->Nodes menu.
Replace <SIGNALLING_IP>, <MEDIA_IP> with correct values for your server :
general {
daemon = yes
stderr = no
syslog_loglevel = 2
syslog_facility = LOCAL0
node_id = 8
shutdown_mode {
code = 508
reason = "Yeti node in shutdown mode"
allow_uac = true
}
#pcap_upload_queue = pcap
media_processor_threads = 2
rtp_receiver_threads = 2
session_processor_threads = 10
sip_udp_server_threads = 2
sip_tcp_server_threads = 2
dead_rtp_time=30
}
signaling-interfaces {
interface input {
default-media-interface = input
ip4 {
sip-udp {
address = <SIGNALLING_IP>
port = 5061
use-raw-sockets = off
}
sip-tcp {
address = <SIGNALLING_IP>
port = 5061
connect-timeout = 2000
static-client-port = on
idle-timeout=900000
use-raw-sockets = off
}
}
}
}
media-interfaces {
interface input {
ip4 {
rtp {
address = <SIGNALLING_IP>
low-port = 16384
high-port = 32767
dscp = 46
use-raw-sockets = off
}
}
}
}
modules {
module "di_log"{}
module "mp3"{}
module "opus"{}
module "wav"{}
module "gsm"{}
module "ilbc"{}
module "adpcm"{}
module "l16"{}
module "g722"{}
module "registrar_client" {}
module "sctp_bus"{}
module "http_client"{}
module "session_timer"{}
module "jsonrpc"{
listen{
address = 127.0.0.1
port = 7080
}
server_threads=1
}
module-global "uac_auth" { }
module "yeti" {
management {
address = 127.0.0.1
port = 4444
timeout = 60000
}
core_options_handling = yes
}
}
routing {
application = yeti
}
Warning
RPC allows shutdown SEMS node or make it non-operational. RPC interface should be secured by firewall to prevent connections from not trusted hosts. In YETI systems only two components should have ability to connect to RPC - WEB interface and yeti-cli console
Launch traffic switch
Launch configured traffic switch instance:
# service sems start
In case of errors it’s useful to use sems -E -D3 command which will launch daemon in foreground with debug logging level
Checks
Check if sems process exists and signaling/media/rpc sockets are opened:
# pgrep sems
29749
# netstat -lpn | grep sems
tcp 0 0 127.0.0.1:8090 0.0.0.0:* LISTEN 29749/sems
udp 0 0 127.0.0.1:5061 0.0.0.0:* 29749/sems
raw 2688 0 0.0.0.0:17 0.0.0.0:* 7 29749/sems
Check logfile /var/log/sems/sems-main.log for possible errors