Wednesday, December 31, 2014

Happy New Year!

A very dynamic 2014 for Kamailio has reached its end! Many thanks to those contributing to it!
Looking forward to 2015, a lot of new features in Kamailio and new contributors! We wish a healthy and prosperous year 2015 to all Kamailio friends, hoping to meet many of you at Kamailio World Conference and other events around the globe!
Happy New Year!

Monday, December 29, 2014

Kamailio 4.2 Tips: #12 - Execute RPC Commands In Config

Although part of a new module in Kamailio v4.2 - jsonrpc-s - this bit worth a special mention: one can now execute RPC commands from kamailio.cfg using the function jsonrpc_exec(...).

The main purpose of these commands was the execution from external applications, but sometimes comes handy to get access to them.

Next example shows how to execute dispatcher.reload:

jsonrpc_exec('{"jsonrpc": "2.0", "method": "dispatcher.reload", "id": 1}');

An useful use case for the above command can be execution in a rtimer route to perform period reload of dispatcher records.

Another example is to terminate an active dialog using h_entry and h_id.

jsonrpc_exec('{"jsonrpc":"2.0","method":"dlg.end_dlg","params":[4,8],"id":2}');

The RPC command has to be given as parameter to jsonrpc_exec() in JSONRPC 2.0 request format.

There are over one hundred RPC commands exported now by Kamailio and the number is increasing with each major release -- no doubt that many of them can be useful to trigger from kamailio.cfg.

Enjoy it!

Friday, December 26, 2014

Kamailio 4.2 Tips: #11 - Dynamic Pipes and Limits

Pipelimit module in Kamailio 4.2 gives the possibility to add new pipes at runtime, specifying the algorithm and the limit. When using pl_check(...) with all three parameters, if the pipe is not found, it will be created:

# perform pipe match for authenticated user, creating the pipe if not found
$var(limit) = 20;
if (!pl_check("$au", "traildrop", "$var(limit)")) {
 pl_drop();
 exit;
}

The limit can be adjusted later, by keeping the name and algorithm, changing the value for the third parameter. The parameters can be variables, therefore allowing full flexibility to name the pipe and set its limit.

Practically, with this version, pipes can be created as needed, not depending on record stored in database like with older versions. Here is one useful example: add pipes per each source IP, enabling new mechanisms to protect against unwanted traffic, like D/DoS attacks.

Enjoy it!

Wednesday, December 24, 2014

Merry Christmas!

Another year getting slowly to the end, an excellent opportunity to thank to all old and new friends of Kamailio project, from contributing code to using it, helping on mailing lists and other places online, or advertising it across the world!
Merry Christmas and Happy Winter Holidays!

Thursday, December 18, 2014

Kamailio World 2015 – Call For Speakers

Kamailio World is the conference for realtime communication with Kamailio and related projectsKamailio World Conference – now for the third year in Berlin in 2015!  Submission of presentation proposals for Kamailio World 2015 is open. Deadline for submission is February 15, 2015, notification of accepted proposals will be done latest on February 28, 2015.
Be aware that interesting proposals can be accepted before the deadline, we plan to have two intermediate review sessions before February 15, 2015, announcing any accepted presentations immediately. Therefore it is recommended to send your proposal as soon as possible, do not wait till deadline.
To submit the proposal, fill in the web form at:
The main topic of the conference is Real Time Communications, with the majority of the content being about Kamailio and other open source projects in the area. However, like for the past editions, we welcome very interesting presentations beyond those subjects.
If you are interested to look at the agenda from previous edition, visit:
Happy Winter Holidays! Looking forward to meeting many of you at Kamailio World 2015!

Tuesday, December 16, 2014

Maintenance Work on kamailio.org, Wed, Dec 17, 2014

A short note to say that kamailio.org server availability may be interrupted shortly after 18:00 (Berlin time), on Wednesday, December 17, 2014, due to scheduled maintenance work.
Among affected services:
  • main web site
  • wiki site
  • mailing lists: sr-users, sr-dev and business
  • downloads of tarballs
  • the GIT repository mirror on git.sip-router.org
Hopefully the downtime will be short and barely noticeable for most of the people!

Monday, December 15, 2014

Main Kamailio GIT Repository Hosted on Github

Today we moved the source code management away from an old server to a new infrastructure, based on Github. The main GIT repository that all developers use for development of Kamailio is now on a new address. The web link to it is:
The old server that was hosted by us became very old and is going to be decommissioned very soon.
For users (that cloned read-only from git.sip-router.org in the past) – it should be no change – just be sure that the DNS change has been propagated to you, because git.sip-router.org is pointing now to another server which has a real-time clone of Github repository. To know if DNS was updated on your side, browse to:
an you must be directed to Gitlist web interface:
If you end up in an URL with gitweb on it, the DNS cache on your side is still pointing to the old server.
The listed kamailio and sip-router projects are the same (the second is kept for historical reasons and it is a symlink to the first).
Gitweb is also running on the mirror, so the links from the email notifications of old commits are valid:
Once the DNS is updated, pulling/fetching in an existing clone done from git.sip-router.org should just work.
For developers – it requires to change the remote URL of your local clone to point to Github repository. Github provides access methods  via git/ssh or https: as an example of switching the remote URL to Github repository and do the push via https, got you your local clone directory and do:
git remote set-url origin https://github.com/kamailio/kamailio.git
Check the change with:
git remote -v
You should see:
origin https://github.com/kamailio/kamailio.git (push)
origin https://github.com/kamailio/kamailio.git (fetch)
When you try to push, it should ask you for your Github username and password. For Github repository access, see more details at:
GITHUB OctocatFrom now on all new commits will be pushed to github!
Hopefully the migration is going to be smooth for everyone!

Wednesday, December 10, 2014

New Kamailio Module: statsd

A new module has been pushed to GIT repository: statsd. It was contributed by Eloy Coto, a recently added member to Kamailio development team.
The module provides the ability to send commands to statsd with different kind of information from the Kamailio configuration file. It provides native integration with statsd (https://github.com/etsy/statsd/) and graphite (http://graphite.wikidot.com/).
statsd-kamailio

You can read more about the module at:
Eloy has also published an article about his development version here:

Tuesday, December 9, 2014

Kamailio - Shifting Main GIT Repository to Github

The Kamailio project has decided to move our source code repository, where all the developers contribute source code, to Github on Monday, December 15, 2015. The very old server that runs our current GIT repository for Kamailio is in desperate need of retirement.
There is already a real time mirror on Github and that is the one to become the main GIT repository – it can be found at:
The current domain git.sip-router.org will be kept and directed to a read only real time mirror of the GIT repository, therefore those users that installed Kamailio from GIT should not be affected.
GITHUB OctocatIf you are a developer with GIT write access and you cloned via ssh, you will have to change the remote URL to point to Github repository. You will be given write access to Github as well – if you haven’t sent your Github user id yet, email to

More updates will be posted once the switch is done.