Una nueva versión de Kamailio ha visto la luz esta semana, en esta ocasión es la versión 5.2.0, una nueva versión que incluye muchas mejoras que estábamos deseando ver y que otorga mucha mas versatilidad a un software ya de por sí, tan flexible como potente.
Entre las mejoras incluidas, nos llama la atención el soporte de backend sobre Redis (que en versiones anteriores ya permitía cierta compatibilidad con Redis pero no hasta el punto de poder utilizar la tablas con esta base de datos), así como sistemas ‘acc’ directamente en JSON permitiendo así independizarnos de bases de datos relacionales y poder jugar con nuevos sistemas más rápidos y orientados más al almacenamiento y acceso más rápido.
También es importante destacar las mejoras de estabilidad de algunos módulos KEMI que permiten utilizar (e incluso sustituir) el plan de routado de Kamailio por otro similar utilizando la gramática del lenguaje de programación que más nos guste: Python, Javascript, LUA, Ruby,… aquí hay mucho más que palabras, pero de momento nos quedaremos con que se mejora el soporte de este nuevo sistema.
Como sabemos que esto os puede parecer poco, aquí os mostramos la lista resumida (en inglés) de las novedades de esta nueva versión de Kamailio:
- six new modules:
- acc_json – accounting with records exported in JSON format
- app_python3 – Python3 scripting interpreter
- app_ruby – track active calls with integer ids
- db_redis – database backend with Redis server
- ims_ipsec_pcscf – diameter server implementation
- pua_json – presence user agent implementation with JSON messages
- execute Python3 scripting code embedded in kamailio.cfg
- write configuration file routing blocks in Python3 scripting
- option to reload updating Python3 routing script without restarting Kamailio by issuing a RPC command
- execute Ruby scripting code embedded in kamailio.cfg
- write configuration file routing blocks in Ruby scripting
- option to reload updating Ruby routing script without restarting Kamailio by issuing a RPC command
- rtp transcoding capabilities through rtpengine module
- option to use LuaJIT as an embedded interpreter for app_lua
- flexibility to build local Via with values from XAVPs
- ability to load dialog records from database on demand
- ability to load dialog records from database if they are not yet in memory cache
- load balancer using many destination groups and different algorithms at the same time
- load balancer can do congestion control based dispatching
- distributed message queue (dmq) continous monitoring of the nodes and startup option with no active nodes
- a substantial set of enhancements for IMS/VoLTE extensions
- more statistics made available for types of requests and classes of responses
- distribution of presence states using dmq
- many new pseudo-variables and transformations exported to kamailio.cfg scripting language
- flexibility in record routing processing to select outgoing socket and ignore sips uri schema
- major enhancements to RTP processing via RTPEngine, including transcoding, blocking/unblocking media or dtmf
- more sanity checks to detect broken SIP request in early phase of processing
- HEP (sipcapture) message forwarding (proxy)
- new functions for faster string operations over parts of SIP message (headers, body, …)
- TLS configuration enhancements, including options to set more profiles for any local address with different SNI
- TLS support for OpenSSL engine and private keys in HSM
- simplified transaction management with option to create the transaction when the reply is generated
- event routes to decide whether to do or not the topology hiding with topoh or topos
- enhancements to the remote registration support and mid registrar capabilities inside the uac module
- extensive number of functions made available to KEMI interpreters
- kamcli can generated tls configuration from a database table
- kamcli is packaged for Debian and Ubuntu distributions by deb.kamailio.org
- new commands for kamctl tool
Para más información, podéis ver más en su web: https://www.kamailio.org/w/kamailio-v5-2-0-release-notes/