Archive for the ‘News’ category

TLSF – High Performance Memory Manager

June 25th, 2015

Kamailio Development NewsBefore freezing the development for recently released Kamailio v4.3.0, Camille Oudout from Orange/Libon, France, pushed a new memory manager (named tlsf) focused on high performances on handling memory operations.

It is well known that Kamailio (from its very beginning as SER project back in 2001) has its own memory manager. That simplifies especially the handling of shared memory on different oeprating systems. There were two available, that can be enabled at compile time, so  called:

  • f_malloc (aka fast malloc) – the one mostly used as default for stable releases
  • q_malloc (aka quick malloc) – the one more suitable for memory operations troubleshooting

While these two memory managers were designed to be fast for multi-process applications such as Kamailio (e.g., avoid thread locking for private memory) as well as dealing with the patterns of routing SIP traffic, few special cases could result in slowing down — one of this is when needing to free a lot of allocated chucks of same size.

Worth to mention that system memory manager could be (and can still be) enabled to be used for private memory needs. Some other attempts to add new memory managers were not yet completed, therefore not being ready for use (e.g., the Doug Lea allocator or Lock Less allocator — you can check the source code tree, inside mem/ folder, for more details).

Camille implemented the Two Level Segregated Fit (TLSF) memory allocator, know to be O(1) for both malloc() and free() operations (no worse case behavior). It has a 4 byte block overhead, but hardware memory it cheap these days. You can read more about it at:

It is not enabled by default, being rather young code now, but it is a good candidate to become in the near future. To enable it, you have to install Kamailio from sources and compile using:

make MEMDBG=1 MEMMNG=2 cfg
make all
make install

It will enable the debugging mechanism as well, that can be disabled by using MEMDBG=0.

If you start using it, do provide us feedback about how it performs, because it helps to assert its relevance and stability. Also, do not hesitate to start a discussion if you have questions or suggestions via the sr-dev mailing list.

Have a great summer!

 

Server Maintenance – Wed-Thu Night

June 23rd, 2015

During the night between Wed (June 24) and Thu (June 25), planned to start not early than 00:00 GMT+1, there will be some schedule maintenance work to the infrastructure that is hosting some of the kamailio.org servers.

The main affected services will be:

  • main website (www.kamailio.org)
  • wiki portals
  • mailing lists (lists.sip-router.org)
  • git mirror (git.kamailio.org)

It is expected to have short downtimes of few minutes.

Update on Thu, June 25: the maintenance work was successfully handled last night, hopefully there was no relevant downtime noticed. If anyone spots any service not working properly, contact us via sr-dev mailing list.

New Developer: Stefan Mititelu

June 15th, 2015

A new developer has joined Kamailio team: Stefan Mititelu. He is part of the 1&1 AG team and together with Lucian Balaceanu and Patric Marshall, they are going to maintain the modules contributed by 1&1, such as carrierroute, userblacklist, pdb or p_usrloc. Stefan already contributed to other components, like core and rtpengine module.

His github user id is smititelu

A warm welcome and we look forward to its future contributions!

Kamailio v4.3.0 Released

June 10th, 2015

Kamailio 4.3June 10, 2015: Kamailio v4.3.0 is out –  a new major release, collecting new features and improvements added during about six months of development and one and a half month of testing.

In short, this major release brings 9 new modules and enhancements to more than 50 existing modules, plus components of the core and internal libraries. Detailed release notes are available at:

Development for next major release, 4.4.0 (expected to be out in the first part of 2016) has started already, even a new module is already present in master branch: smsops. Watch the project’s web site closely for further updates and news about evolution of Kamailio.

Enjoy SIP routing in a secure, flexible and easier way with Kamailio v4.3.0!

Thank you for flying Kamailio!

Kamcli – command line control tool

June 4th, 2015

Recently a new command line tool for Kamailio management was published by Asipto, named kamcli, available at:

It is written in Python and at this stage it is more an attempt to see if the community finds it useful and worth to get it developed further as part of Kamailio project.

  • Short about the benefits/flexibility:
  • python is by default installed on OSes (including Mac OS X) (as opposite to Lua, for example)
  • became rather fast since Google invested in it
  • lot more knowledge base and developers out there (as opposite to Lua or Perl), along with tons of extensions
  • implementation is based on a CLI framework (Click) that makes it extremely easy to add new commands in a plugin-like fashion, therefore is easy to have custom commands when having specific needs (e.g., managing a custom database table used in kamailio.cfg via sqlops => add a new cmd_xyz.py in commands subfolder, without touching other files, not even the config)
  • help message is embedded in the command code file, making it easier to document commands
  • easy to validate parameters as well as format the output
  • handling kamcli configuration file options is also easy (ini format)

One of the reasons of pushing this out was in the perspective of deprecating MI and working with JSONRPC fifo from command line — there is not an easy ways to manage json docs with shell and common tools (e.g., cat, echo, grep, awk) only. Kamcli has implemented the JSONRPC over fifo command (see also jsonrpc-s kamailio module). Still, given the old initial implementation, at this moment, kamcli is relying on MI via fifo (mi_fifo) for some of the commands (e.g., dumping usrloc records from memory)

 

So far, couple of commands were implemented when comparing with kamctl:

  • subscriber management (kamctl add/rm/passwd…)
  • user location management (kamctl ul …)
  • database querying (kamctl db …)
  • statistics (kamctl stats …)
  • mi commands (kamctl mi …)
  • jsonrpc commands (not in kamctl)

If there is enough interest in developing this tool further, it can be migrated to Kamailio organization on Github to have all developers able to work on it.

For further discussions about this tool, email to development mailing list <sr-dev [at] lists.sip-router.org>.

Releasing Kamailio v4.3.0

June 2nd, 2015

Next major version of Kamailio (v4.3.0) is planned to be out on Wednesday (June 10) or Thursday (June 11). The pool of things to fix is minor, deb packaging for 4.3 is ready, thanks to Victor Seva. Some bits are still left to do: add docs for 4.3 series in wiki, prepare RPM packaging and build
proper ‘what is new’ list of features.

Testing didn’t reveal new issues in the recent past as we run in two servers with live traffic. If you have issues with 4.3 branch, be sure you report them on Github tracker:

Meanwhile, contributions to enhance the related pages on the wiki are very appreciated:

Stay tuned for updates!

Branch 4.3 Created

May 26th, 2015

Kamailio 4.3The next release of Kamailio will be 4.3 – a release with new module and many new functions! The GIT branch for the coming release 4.3 has been created. This branch  will host the release series 4.3.x. To help the developers, please download this branch and test it before the release!

To get this branch from GIT, you can use:

 git clone https://github.com/kamailio/kamailio.git kamailio
 cd kamailio
 git checkout -b 4.3 origin/4.3

Notes about installing Kamailio from this branch are available at:

Hopefully in about two weeks or so the full release of 4.3.0 will be out.

The master branch is again ready for new features, to be part of the next future release, expected to be numbered 4.4.

Kamailio World 2015 – One Week Before

May 20th, 2015

kamailio-world-ddOne week before and we are ready to welcome the guests of the 3rd edition of Kamailio World Conference & Exhibition.

The content is filled with excellent technical tutorials in the first day and vast range of hot topics covered during the two conference days — Kamailio, SIP, WebRTC, Asterisk, Sems, JsSIP, Performance and Traffic Monitoring, OpenStack, Kazoo, Erlang, Cloud PBX, OTT or VoLTE are among them.

We are honoured to have an impressive list of speakers, from those that are involved in building the communications, able to share their expertise from deep technical aspects to market needs and business perspectives.

Over all, the event has grown continuously from its first edition, special thanks to our sponsors : FhG Fokus, FhG Forum, Asipto, Sipwise, sipgate, Simwood, Obihai, Matrix, Digium, Tyntec, NG Voice, CoreNetDynamics, Pascom, VoiceTel, 2600hz and VUC. They made possible to host the event at a very nice location in the city center of Berlin and be able to bring a consistent number of experienced speakers.

This is an event you must not miss!

Looking forward to meeting many of you next week in Berlin!

 

Kamailio v4.2.5 Released

May 19th, 2015

Kamailio SIP Server v4.2.5 stable is out! This is a minor release including fixes in code and documentation since v4.2.4. Don’t worry about upgrading – the configuration file and database compatibility is preserved.

Kamailio (former OpenSER) v4.2.5 is based on the latest version of GIT branch 4.2, therefore those running previous 4.2.x versions are advised to upgrade. There is no change that has to be done to configuration file or database structure comparing with older v4.2.x.

Resources for Kamailio version 4.2.5

Source tarballs are available at:

Detailed changelog:

Download via GIT:

 # git clone git://git.kamailio.org/kamailio kamailio
 # cd kamailio
 # git checkout -b 4.2 origin/4.2

Binaries and packages will be uploaded at:

Modules’ documentation:

What is new in 4.2.x release series is summarized in the announcement of v4.2.0:

Looking forward to meeting many of you at Kamailio World 2015 next week!

LeanDUS at sipgate, May 26, 2015

May 19th, 2015

sipgate, one of the oldest supporters of SER/Kamailio project, with Marcus Hunger member of project’s management team, is hosting the LeanDUS meetup on the evening of May 26, 2015, an event free to attend. Special guest is Matt Jordan, the lead developer of Asterisk Project.

Many sipgate VoIP engineers will attend the event, like Marcus or Sebastian Damm, therefore you can get more details about how Kamailio is used for their VoIP service.

Sebastian comes also to Kamailio World Conference to talk about SIP and IPv6, how to use Kamailio to build a VoIP bridge between IPv4 and IPv4. Matt Jordan will be also in Berlin to give the latest updates about Asterisk project.