Submitted by admin on
La versión 5.7 de Kamailio ha sido liberada el pasado 17 de mayo y entre las novedades la posibilidad de integrar la librería WolfSSL. De esta librería he hablado en esta entrada; en pocas palabras sus puntos de fuerza son ser liviana, fácil de integrar en muchas aplicaciones y pensada para la seguridad del internet de las cosas.
En esta entrada veremos como compilar el modulo TLS_WOLFSSL en la ultima versión de Kamailio.
Una vez instaladas todas las dependencias que necesita Kamailio para ser compilado desde las fuentes, lo descargamos:
cd /usr/src
git clone --depth 1 --no-single-branch https://github.com/kamailio/kamailio kamailio
Entramos en la carpeta creada:
cd kamailio
y pasamos a la rama 5.7:
git checkout -b 5.7 origin/5.7
Branch 5.7 set up to track remote branch 5.7 from origin.
Switched to a new branch '5.7'
Ejecutamos el comando que sigue que se necesita para preparar las fuentes para la compilación y para indicar la carpeta de instalación (desde la carpeta raíz):
make PREFIX="/" cfg
Bajamos la versión 5.3 de WolfSSL y copiamos los archivos donde Kamailio espera encontrarlos para la compilación del modulo TLS_WOLFSSL:
cd /usr/src
wget https://github.com/wolfSSL/wolfssl/archive/refs/tags/v5.3.0-stable.tar.gz
tar -xf v5.3.0-stable.tar.gz
cd wolfssl-5.3.0-stable
cp -rf * ../kamailio/misc/external/wolfssl/wolfssl/
IMPORTANTE: la compilación de Kamailio con versiones superiores a las 5.3 de WolfSSL (la ultima disponible es la 5.6) fallan
Volvemos a la carpeta de Kamailio:
cd /usr/src/kamailio/
abrimos el siguiente archivo que se utiliza, entre otras cosas, para definir los módulos de Kamailio que no se compilarán:
nano src/modules.lst
borramos la linea que inicia con exclude_modules (19) y la sustituimos con la siguiente:
exclude_modules= kafka kazoo ndb_mongodb app_java ndb_cassandra db_cassandra osp evapi iptrtpproxy db_oracle nsq phonenum app_python dnssec rtp_media_server mqtt secsipid_proc misc_radius stirshaken peering auth_radius acc_radius ruxc nats erlang
De esta forma indicaremos los módulos que no se compilarán e instalarán. Tiene que quedar todo en el mismo renglón. Guardamos los cambios y terminamos con la compilación e instalación:
make Q=0 all
make install
Terminada la compilación e instalación, encontraremos los programas relacionados con Kamailio en la carpeta /sbin:
ls /sbin/kam*
/sbin/kamailio /sbin/kambdb_recover /sbin/kamcmd /sbin/kamctl /sbin/kamdbctl
y todos los módulos compilados en la carpeta /lib64/kamailio/modules/:
ls /lib64/kamailio/modules/
el modulo se habrá compilado correctamente. Una vez creados los certificados y modificado el archivo de configuración de Kamailio para activar el modulo, se inicia Kamailio:
systemctl start kamailio
en el LOG veremos:
Esto será parte del próximo curso de Kamailio programado para septiembre 2023.
Me cuentan
Recent comments