SEMS está de vuelta – Instalación en Rocky Linux 9

Aquellos que han participados en mis cursos, sobre todo de OpenSIPs, ya conocen SEMS; SEMS es un Media Server muy liviano, modular, que permite la configuración de todas una serie de servicios entres los cuales:

 

  • conferencias audio

  • buzón de voz

  • test de echo

Además de eso puede actuar como Session Border Controller (SBC) brindando los siguientes servicios:

 

  • cambio de identidad

  • manipulación de cabeceras

  • Manejo de flujos RTP

  • Detección de NAT

  • Transcodificación

  • SIP Autenticación

  • Session Timer

  • Call Timer

  • Llamadas prepagadas

La ultima versión que hasta hace poco estaba disponible, la 1.6.0, no compilaba correctamente en Rocky Linux 9, pero parece que hace un par de meses salió la 1.7.0 que si compila correctamente en esta distribución de Linux. A seguir los pasos para compilar e instalar SEMS 1.7.0. Como pre-requisitos necesitamos todos los paquetes utilizados para compilar desde las fuentes y además Cmake y Git:

 

dnf group install "Development Tools"

 

dnf install spandsp* flac* speex* opus* gsm* hiredis git cmake -y

 

Seguimos bajando las fuentes:

 

cd /usr/src

 

git clone https://github.com/sems-server/sems.git

 

Entramos en la carpeta creada:

 

cd sems/

 

mkdir -p builds

 

cd builds/

 

compilamos:

 

cmake ..

 

make

 

e instalamos:

 

make install

 

Terminada la compilación e instalación se crearán un serie de carpetas relacionadas con SEMS:

 

  • /usr/local/sbin contendrá el programa ejecutable de SEMS y unas utilidades

  • /etc/sems contendrá el archivo de configuración de sems y una carpeta /etc donde se encontrarán todos los archivos de configuración predefinidos de los distintos módulos disponibles

  • /usr/local/lib/sems contendrá a su vez tres carpetas; las que normalmente interesan:

    • audio: con todos los archivos de audio de todos los módulos (solamente en inglés)

    • plug-in: con todos los módulos compilados

       

Podemos continuar con la instalación del script de arranque de SEMS. Como este script inicia el programa con usuario y grupo sems, hay que crearlos:

 

useradd -M -U sems

 

cd ../pkg/rpm/

 

Abrimos este archivo:

 

nano sems.systemd.service

 

y modificamos esta linea:

 

ExecStart=/usr/sbin/sems -E -u sems -g sems -P /var/run/sems/sems.pid $OPTIONS

 

para que quede:

 

ExecStart=/usr/local/sbin/sems -E -u sems -g sems -P /var/run/sems/sems.pid $OPTIONS

 

Esto porque el programa se encuentra en la carpeta /usr/local/sbin y no /usr/sbin. Guardamos los cambios y creamos la carpeta para el archivo sems.pid como indicado en el archivo de configuración del script:

 

mkdir -p /var/run/sems

 

copiamos el archivo de arranque:

 

cp sems.systemd.service /usr/lib/systemd/system/sems.service

 

activamos para que arranque en automático:

 

systemctl enable sems

Created symlink from /etc/systemd/system/multi-user.target.wants/sems.service to /usr/lib/systemd/system/sems.service

 

Copiamos dos archivos necesarios para que todo funcione correctamente:

 

cp sems.sysconfig /etc/sysconfig/sems

 

cp sems.systemd.tmpfiles.d.conf /etc/tmpfiles.d/sems.conf

 

creamos la carpeta /var/spool/voicebox donde se guardarán los archivos audio de los mensajes vocales de los buzones de voz y cambiamos los permisos para usuario y grupo sems:

 

mkdir -p /var/spool/voicebox

 

chown sems:sems /var/spool/voicebox

 

El paso a seguir, antes de iniciar el programa, es crear/modificar el archivo de configuración de SEMS. Renombramos el archivo predefinido:

 

mv /etc/sems/sems.conf /etc/sems/sems.conf.old

 

creamos uno nuevo:

 

nano /etc/sems/sems.conf

 

donde copiamos las siguientes lineas (Modificar IP con la IP de escucha que quieren utilizar y sip_port con el puerto donde quieren ponerse a la escucha). Leer atentamente todos los comentarios presentes):

 

# IP de escucha. Modificar IP con la IP de escucha de su servidor

sip_ip=IP

# Puerto de escucha

sip_port=5060

# Carpeta donde se encuentran todos los modulos de SEMS compilados

plugin_path=/usr/local/lib/sems/plug-in/

# Se cargaran solamente los modulo declarados en la linea load_plugins

load_plugins=wav;speex;gsm;conference;echo.so;voicemail;voicebox;msg_storage

# En este campo se configura que aplicacion se ejecutara para las llamadas entrantes:

# $(ruri.user) se utilizara la parte usuario de la Request-URI. Ej. sip:voicemail@dominio.org

# $(ruri.param) se utilizara el parametro app si presente en la Request-URI

# $(apphdr) se utilizara el valor contenido en la cabecera P-App-Name

# $(mapping) las aplicaciones se configuraran en el archivo

# app_mapping.conf utilizando expresiones regulares

application = $(apphdr)

# Carpeta donde estan presentes los archivo de configuracion de los modulos

plugin_config_path=/etc/sems/etc/

# SEMS se ejecutara en segundo plano

fork=yes

# No se enviaran los errores a la salida estandar de Linux

stderr=no

# Nivel de LOG

# 2 INFO

# 3 DEBUG

loglevel=3

# Salida de LOG que luego se configurara en Rsyslog

syslog_facility=LOCAL2

# Configuracion para guardar en los registros de LOG cada actividad del servidor

log_sessions=yes

log_events=yes

# Este parametro fija un limite de solicitudes que se aceptan por segundo

# Se ese limite se supera, el servidor contestara con un 503 Server overload

cps_limit="10;503;Server overload"

# Que nombre aparecera en la cabecera User-Agent de los mensajes SIP enviados por SEMS

signature="SEMS Media Server 1.7"

 

Guardamos los cambios y configuramos Rsyslog para que los registros de LOG de SEMS se guarden en un archivo dedicado:

 

nano /etc/rsyslog.conf

 

después de esta linea:

 

local1.* -/var/log/rtpengine.log

 

añadimos (como configurado en sems.conf):

 

local2.* -/var/log/sems.log

 

Guardamos los cambios y creamos el archivo de LOG de SEMS:

 

touch /var/log/sems.log

 

Reiniciamos rsyslog:

 

systemctl restart rsyslog

 

Ahora configuran los servicios que quieren utilizar y al final inician sems:

 

systemctl start sems

 

revisan que esté corriendo:

 

systemctl status sems

 

Cualquier problema o modulo que quieran configurar, me comentan.

 

Vota el Articulo: 

Sin votos (todavía)
Evalúa la calidad del articulo
Suscribirse a Comentarios de "SEMS está de vuelta – Instalación en Rocky Linux 9" Suscribirse a VozToVoice - Todos los comentarios