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 :
node_id = <id of created node>
interfaces=intern
sip_ip_intern=<SIGNALLING_IP>
sip_port_intern=5061
media_ip_intern=<MEDIA_IP>
rtp_low_port_intern=20000
rtp_high_port_intern=50000
plugin_path=/usr/lib/sems/plug-in/
load_plugins=wav;ilbc;speex;gsm;adpcm;l16;g722;sctp_bus;yeti;session_timer;uac_auth;di_log;registrar_client;jsonrpc
application = yeti
plugin_config_path=/etc/sems/etc/
fork=yes
stderr=no
syslog_loglevel=2
max_shutdown_time = 10
session_processor_threads=20
media_processor_threads=2
session_limit="4000;509;Node overloaded"
shutdown_mode_reply="508 Node in shutdown mode"
options_session_limit="900;503;Warning, server soon overloaded"
# cps_limit="100;503;Server overload"
use_raw_sockets=yes
sip_timer_B = 8000
default_bl_ttl=0
registrations_enabled=no
/etc/sems/etc/yeti.conf
- cfg_timeout
timeout of waiting response from management node
- cfg_host
IP address of management node
- cfg_port
SCTP port of management node
cfg_timeout = 1000
cfg_host = 127.0.0.1
cfg_port = 4444
core_options_handling=yes
/etc/sems/etc/jsonrpc.conf
Such file used for RPC configuration
jsonrpc_listen=127.0.0.1
jsonrpc_port=7080
server_threads=1
RPC socket should be available from WEB interface server. You should place your real IP address if you run SEMS node on dedicated server.
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