Kamailio SIP Server 5.0.5

Kamailio (formerly OpenSER) is a high-performance SIP (RFC3261) server with a flexible architecture and many extensions. The server implements proxy, registrar, redirect, and location SIP/VoIP services. It has support for UDP, TCP, TLS, and SCTP transport layers, DNSsec, ENUM, AAA via database, RADIUS, DIAMETER, gateways to SMS and XMPP, least cost routing, load balancing, NAT traversal, and call processing language. Kamailio implements SIMPLE presence and instant messaging extensions, and includes an embedded XCAP server and MSRP relay, IMS/VoLTE extensions. It can be also used as a routing SIP sever for WebRTC via WebSocket.

Tags sip voip webrtc volte ims telephony messaging
License GNU GPL
State stable

Recent Releases

5.0.520 Dec 2017 07:25 minor feature: Mangler: pkg free in case of errors . Sipt: free pkg memory on error. . Xhttp_pi: several compiler warning. Websocket: use NAME in log message, removed unreachable code. . Tls: removed useless checks. . Mangler: free on errors inside sdp_mangle_port(). . Ctl: safety check for closing fd. . Rls: avoid access to item after free. . Auth_identity: code clarity adjustments. . Cfgt: check error case for mkdir(). . Cplc: init structures, parameter number in up. . Cplc: init time switch structures. . Ctl: skip condition on already set name variable. . Presence_dialoginfo: safety checks to avoid accessing null values. . Modules/sipt: in setting NAI of called party. . Uac: for section ids in docs. . Kamctl: dangerous 'rm -rf' code in case if variables are not defined. . Tsilo: added section ids in docs. . Pipelimit: match algorithm name case insensitive. . Cplc: safety checks for parameters. . Websocket: use route_lookup() instead of route_get(). . Tls: updated log macros for config code. . Http_client: proper free for curl params in case of failover connection. . tm: terminate local uac buffers with 0. . Http_async_client: safety check for shm malloc and do cfg_update(). . Pua_dialoginfo: goto error in case of failures inside build_dialoginfo(). . Core: store advertise addr for new sockets created from interface name. . Sms: avoid overflowing ending 0 by sprintf(). . Core: mem - printing shm memory manager name. . Core: tcp - print str error in demessage if faling to write to co . . Rls: proper handling of return code for parse from/to uri. . Rls: replace sprintf with safer snprintf. . Uac: use kam_rand() instead of rand(). . Http_client Move some logging to deto avoid annoying messages. . Core: parser - use case insensitive comparison to get header by name. . Http_client Free the old object when the new can't be allocated properly. . Modules: readme files regenerated - modules... skip ci . . Db_text:
5.1.011 Dec 2017 19:30 major feature: A major release with nine new modules (acc_diameter accounting with a diameter server (alpha); app_sqlang Squrrel scripting interpreter; call_obj track active calls with integer ids; evrexec execute event routes at startup; ims_diameter_server diameter server implementation; keepalive perform keepalive checking against a set of sip addresses; phonenum phone number lookup and normalization module; sipdump write sip traffic and runtime metadata to files; topos_redis redis backend for topos module), most of the functions exported to KEMI framework and new features in more than 50 old modules.
5.0.425 Oct 2017 22:08 minor feature: Updates to improve stability and documentation in the 5.0.x series.
5.0.302 Sep 2017 03:16 minor feature: Pkg/kamailio/deb: version set to 5.0.2. Makefile: deb rule, remove --no-sign and use -us -uc. Pkg: rpm - version set to 5.0.2 in specs. Makefile.defs: version set to 5.0.2. ChangeLog: content updated for v5.0.2. Ctl : implement rpc buffer size. ChangeLog: new content updated for v5.0.2. Domain: uninitialized variable. Pua_usrloc: free memory in case of failire in pua send_publish(). Mtree: avoid char array access over the size. App_lua: add "NOTICE" loglevel to sr.log. Topoh: option to disable uri prechecks. Topoh: coherent whitespacing and indentation. Topoh: documented uri_pre_checks parameter. Modules: readme files regenerated - modules... skip ci . Htable: do not call expired event route on get/add operations. Presence: subsription double delete. Kazoo: max size of routing key. Kazoo: use hardcoded max size of routing key. Kazoo: add kzRK to accdess routing key of the payload. Kazoo: add json.count transformation. Kamctl: kamdbctl - proper use of DBPORT for postgres. Xmlrpc: add tag to array elements. Core: set RET_ARRAY flag for core.sockets_list command. Core: return aliases list as an array in core.aliases_list. Htable: improve some error logs. Core: build reply of core.sockets_list as an array. tm: copy branch flags in the new branch created by the dns failover. Tsilo: check return code for parse_uri(). Tsilo: coherent locking in ts_append. Modules/sipcapture: (param_export_t).name typo. Tls: explicit libssl v1.1+ cleanup when module is destroyed. Modules/lcr: testing if dont_strip_or_pre_flag is set. Core: do not execute clear_branches() on next faked msg. Evapi: Improved error message. Core: faked msg - functions to get next fmsg with clear branches. Htable: map shtrecord() inner names over integer ids. Core: updated log macros for parse rpid. pv: coherent whitespacing and indentation for pv time code. Modules/jsonrpcs: add missing apostrophe to example. Core/socket_info: use internal str2int() instead of strtol(). Core: remove inline from implementati
4.3.725 Jun 2017 14:05 minor feature: Corex: regression introduced with detection of ipv6 for send(). Presence_mwi: static declaration for inline function for eating spaces. Auth_db: removed trailing spaces for sane git diff. Auth_db: use username when querying for credentials via is_subscriber. Seas: safety check for target buffer size before copying message in e?. pv: crash when xavp has no attributes. Srutils: change names colliding with libcrypto. Pua_dialoginfo: don't free dlginfo structure in dlg loaded callback. Modules/dialog: Add RR parameter on sequential requests. Modules/uac: Add RR parameter on sequential requests when using uac_r?. Modules/dialog: Error in last commit. goto invalid destination. Uac: increase the buffer for within dialog rr param. Modules/websocket: ensure linkage to libcrypto. Websocket: Makefile after previous commit. Dispatcher: set sock_avp parameter in example. Dmq_usrloc: lock before adding contact. Matrix: added section ids for params and functions in docs. Matrix: updates for application name. Tls: more details about tls.cfg reload. Tsilo: remove inline from free_ts_transaction() definition. Core: docbook - defined kamcmd entity. Core: Makefile.defs - renamed var CPU to CPUTYPE. Tls: demessages for mutex ops with lock function. Registrar: send 400 if the reg-id value is invalid. Modules/sdpops: reimplement sdp_remove_line_by_pre() to shortc?. IPv6 handling with the default setup. With the current code. Core: option to check if server is in destroy modules phase. Tsilo: don't execute tm callback for TMCB_DESTROY if server shutdowns. Cnxcc: change some log levels from INFO to DBG. Siptrace: Use the trace_local_ip setting in sip_trace(). Pkg/kamailio/deb: typo at erlang short description. Pkg/kamailio/deb: update version to 4.3.5. Pkg/rpm: updated spec files for v4.3.5. Makefile.defs: version set to 4.3.5. ChangeLog: content updated for v4.3.5. Usrloc: improve TCP on expire. Tsilo: lock before linking var to the entry in slot. Uac: reset append to rr string var to av
4.4.619 Jun 2017 20:25 minor feature: Lib/srutils: removed valueint field from json struct. Dialog: converted to use json helper macros for dlg profile. Dmq_usrloc: use usigned int for contact info values. Htable: switched to json macros for numbers in dmq operations. Rtjson: use json macros to retrieve int values. Jsonrpc-s: switched to use json helper macros for numbers. Lib/srutils: srjson - init number value for null, true and false. Modules/nathelper: small typo in documentation. Modules/sanity: small typo in documentation. Modules/dispatcher: small typo in documentation. Modules/crypto: small typo in documentation. Domain: typo in the log message. Mi_datagram: safety check so the length of mi socket doesn't result i?. Core: parser/sdp - init pf variable to avoid compile time warnings. rr: removed unused assignment. Janssonrpc-c: declare variables at beginning of netstring_read_fd(). Core: parser/parse_diversion - allow comma separated bodies. Modules: readme files regenerated - crypto. Xmpp: shift head of connection list when first is. Jansson: init structure to avoid compile warnings. Presence: free cloned dialog_id in case of errors. Auth_identity: safer condition not to overflow building date header. Statsd: increase buffer for miliseconds printing as function uses 21 ?. Statsd: free srv variable in error handling. Statsd: one more increase for milliseconds buffer. Rtpengine: free addrinfo in case of unknown address family. Dialog: secure space in case r n needs to be added after extra headers. Janssonrpc-c: shared memory leak on notification requests. App_python: dname is always allocated in system memory. Core: init structure to 0 for pass fd operations. Mi_fifo: reply stream in case of continuing due to no response. Ratelimit: file pointer in case of scan error. Janssonrpc-c: double free introduced by. Deger: re-order loop condition to avoid out of bounds access. Ctl: proper trim for long error messages to avoid out of bounds access. Mi_fifo: fifo stream in case of errors. Mi_rpc: init stru
5.0.215 Jun 2017 08:44 minor bugfix: Fixes and small improvements since release of v5.0.1
5.0.105 Apr 2017 19:51 minor bugfix: Fixes and small improvements since release of v5.0.0
5.0.027 Feb 2017 20:07 major feature: Stable major release with six new modules and enhancements to over 50 existing modules. SIP routing blocks can be written in other scripting languages such as Lua, JavaScript or Python. MI control interface was replaced with RPC.
4.4.518 Jan 2017 19:01 minor feature: Stable minor release with fixes and documentation improvements since v4.4.4.
4.4.422 Nov 2016 10:05 minor feature: Presence: test if event is dialog for checking terminated state in pr?. Presence: free db result when get_dialog_state() retrieves no rows. Presence: memory leak in DB code. Pkg/kamailio/deb: add Ubuntu Xenial support. Presence: crash when no dialog.id on dialog-info xml. Dispatcher: proper selection of the gateway when the maxload is 0. Http_client Terminate exported commands list. Dialog: wrapper defines for ref/unref operations to get file name and?. Dialog: no need to release the dialog when refreshing cseq. Core: allow '_' in event route name. Presence: expire value kept and printed in logs as unsigned int. Core: misleading indentation for return statement. Core: proper code block when saving chosen naptr record. Core: ut - misleading indentation for IF blocks. Auth_identity: misleading indentation level. Counters: rpc command to get counter by group and name. Utils: coherent indentation for xcap functions. Core: rely on msg- last_header to get the anchor inside sr_hdr_add(). Core: print sip message on error related to missing body. Websocket: handle CRLF received inside a frame (as SIP layer ping). Presence: crush if dialog id is NULL. Core: defined macro for CRLFCRLF. Websocket: catch CRLFCRLF pings over websocket connections. Tmx: condition for private copy of the message. Modules/tmx: mi command t_uac_cancel. Auth_identity: switched to use pointer of X509_STORE_CTX. Auth_identity: still use ASN1_STRING_data() for libssl v1.1.0. Crypto: updated to be compatible with api from libssl v1.1.0. Tls: updates for compatibilty with libssl v1.1.0 api. Tls: updated bio functions to support libssl v1.1.0 api. Core: parser - removed level and function prefrom log messages fo?. tm: misleading indentation of block after an IF (reported by gc?. pv: adjusted indentation after if blocks to avoid gcc 6.2 warnings. Ldap: removed unused variable. Db_perlvdb: warning of using static function inside inline one. Presence: remove unused variable. Pua_xmpp: misleading missing guar
4.4.315 Sep 2016 07:17 minor bugfix: A minor release - fixes done since release of version 4.4.2.
4.4.228 Jun 2016 14:57 minor bugfix: A minor release - fixes done since release of version 4.4.1.
4.4.030 Mar 2016 14:42 minor bugfix: A major release - 9 new modules and enhancements to more than 60 existing modules. Among features: flexible and asynchronous http client for interaction with external APIs, topology stripping, dynamic selection of memory manger, more crypto tools for configuration file, ...
4.3.503 Mar 2016 16:10 minor bugfix: A minor release, with fixes since v4.3.4.
4.3.427 Nov 2015 07:57 minor bugfix: A minor release, with fixes since v4.3.3.
4.3.303 Oct 2015 09:55 minor bugfix: A minor release, with fixes since v4.3.2.
4.3.210 Sep 2015 15:47 minor bugfix: A minor release, with fixes since v4.3.1.
4.3.120 Jul 2015 21:50 minor bugfix: A minor release, with fixes since v4.3.0.
4.3.010 Jun 2015 14:43 major feature: A major release, with many improvements and new features.
4.2.519 May 2015 21:04 minor feature: A maintenance release, including the fixes since the release of 4.2.4.
4.2.402 Apr 2015 14:06 minor feature: A maintenance release, including the fixes since the release of 4.2.3.
4.2.310 Feb 2015 21:35 minor feature: A maintenance release, including the fixes since the release of 4.2.2.
4.2.212 Jan 2015 19:39 minor feature: A maintenance release, including the fixes since the release of 4.2.1.
4.2.101 Dec 2014 12:05 minor feature: A maintenance release, including the fixes since the release of 4.2.0.