Friday, May 31, 2019

New Kamailio module – app_lua_sr

A new module named app_lua_sr has been pushed to git master branch. It collects the functions that correspond to the Lua srlibrary, previously exported from app_lua module:
The Lua sr library is the old way of exposing Kamailio API to Lua scripting. With the introduction of KEMI in Kamailio v5.0, the KSR library has been exported to Lua, with a larger set of functions, therefore over the time app_lua_sr will be deprecated and removed. Splitting the code from app_lua that is no longer needed for KEMI is the first step in this process.
If you are using sr library in your Lua script, consider to migrate to KEMI alternatives offered by KSR library. For now you can still keep your old Lua script with sr library, requiring following updates to kamailio.cfg:
# old config
loadmodule "app_lua.so"
modparam("app_lua", "register", "sl")
 
# new config
loadmodule "app_lua.so"
loadmodule "app_lua_sr.so"
modparam("app_lua_sr", "register", "sl")
If you find a function available in Lua sr library but not in Lua KSR library, contact us via mailing lists or open an issue on github tracker.
Thanks for flying Kamailio!

Wednesday, May 22, 2019

Kamailio v5.2.3 Released

Kamailio SIP Server v5.2.3 stable is out – a minor release including fixes in code and documentation since v5.2.2. The configuration file and database schema compatibility is preserved, which means you don’t have to change anything to update.
Kamailio® v5.2.3 is based on the latest source code of GIT branch 5.2 and it represents the latest stable version. We recommend those running previous 5.2.x or older versions to upgrade. There is no change that has to be done to configuration file or database structure comparing with the previous releases of the v5.2 branch.
Resources for Kamailio version 5.2.3
Source tarballs are available at:
Detailed changelog:
Download via GIT:
 # git clone https://github.com/kamailio/kamailio kamailio
 # cd kamailio
 # git checkout -b 5.2 origin/5.2
Relevant notes, binaries and packages will be uploaded at:
Modules’ documentation:
What is new in 5.2.x release series is summarized in the announcement of v5.2.0:
Thanks for flying Kamailio!

Friday, May 17, 2019

Kamailio – Updates To Command Line Arguments

Recently, a series of commits focused on updating the command line arguments for Kamailio. With an increased popularity of deploying Kamailio in containerised environments, the flexibility of using command line arguments when starting the SIP server can simplify the orchestration.
For long time, Kamailio accepted only arguments with short name (single character argument name), so one of these new additions was the option to handle arguments with long name, opening the door to add a lot more variants.
The list of command line arguments is printed by running ‘kamailio -h‘, with the version built from the latest Git master branch, these are:
# kamailio -h

version: kamailio 5.3.0-dev5 (x86_64/darwin) 104147-dirty
Usage: kamailio [options]
Options:
    -a mode      Auto aliases mode: enable with yes or on,
                  disable with no or off
    --alias=val  Add an alias, the value has to be '[proto:]hostname[:port]'
                  (like for 'alias' global parameter)
    -A define    Add config pre-processor define (e.g., -A WITH_AUTH,
                  -A 'FLT_ACC=1', -A 'DEFVAL="str-val"')
    -b nr        Maximum receive buffer size which will not be exceeded by
                  auto-probing procedure even if  OS allows
    -c           Check configuration file for syntax errors
    -d           Debugging mode (multiple -d increase the level)
    -D           Control how daemonize is done:
                  -D..do not fork (almost) anyway;
                  -DD..do not daemonize creator;
                  -DDD..daemonize (default)
    -e           Log messages printed in terminal colors (requires -E)
    -E           Log to stderr
    -f file      Configuration file (default: /tmp/kamailio-dev/etc/kamailio/kamailio.cfg)
    -g gid       Change gid (group id)
    -G file      Create a pgid file
    -h           This help message
    --help       Long option for `-h`
    -I           Print more internal compile flags and options
    -K           Turn on "via:" host checking when forwarding replies
    -l address   Listen on the specified address/interface (multiple -l
                  mean listening on more addresses). The address format is
                  [proto:]addr_lst[:port][/advaddr],
                  where proto=udp|tcp|tls|sctp,
                  addr_lst= addr|(addr, addr_lst),
                  addr=host|ip_address|interface_name and
                  advaddr=addr[:port] (advertised address).
                  E.g: -l localhost, -l udp:127.0.0.1:5080, -l eth0:5062,
                  -l udp:127.0.0.1:5080/1.2.3.4:5060,
                  -l "sctp:(eth0)", -l "(eth0, eth1, 127.0.0.1):5065".
                  The default behaviour is to listen on all the interfaces.
    -L path      Modules search path (default: /tmp/kamailio-dev/lib64/kamailio/modules)
    -m nr        Size of shared memory allocated in Megabytes
    -M nr        Size of private memory allocated, in Megabytes
    -n processes Number of child processes to fork per interface
                  (default: 8)
    -N           Number of tcp child processes (default: equal to `-n')
    -O nr        Script optimization level (debugging option)
    -P file      Create a pid file
    -Q           Number of sctp child processes (default: equal to `-n')
    -r           Use dns to check if is necessary to add a "received="
                  field to a via
    -R           Same as `-r` but use reverse dns;
                  (to use both use `-rR`)
    --server-id=num set the value for server_id
    --subst=exp set a subst preprocessor directive
    --substdef=exp set a substdef preprocessor directive
    --substdefs=exp set a substdefs preprocessor directive
    -S           disable sctp
    -t dir       Chroot to "dir"
    -T           Disable tcp
    -u uid       Change uid (user id)
    -v           Version number
    --version    Long option for `-v`
    -V           Alternative for `-v`
    -x name      Specify internal manager for shared memory (shm)
                  - can be: fm, qm or tlsf
    -X name      Specify internal manager for private memory (pkg)
                  - if omitted, the one for shm is used
    -Y dir       Runtime dir path
    -w dir       Change the working directory to "dir" (default: "/")
    -W type      poll method (depending on support in OS, it can be: poll,
                  epoll_lt, epoll_et, sigio_rt, select, kqueue, /dev/poll)
Among the latest argument additions:
  • add domain aliases with –alias
  • set advertised address to listen sockets speficied with -l socket/advertise
  • set server id with –server-id
  • set a subst, substdef or substdefs preprocessor expression with –subst, –substdef or –substdefs
Couple of more will be added in the future, aiming to make it easier to control Kamailio from command line. If you have suggestions, do not hesitate to propose them to sr-users mailing list.
Thanks for flying Kamailio!

Tuesday, May 14, 2019

Kamailio – Winner Of Google Open Source Peer Bonus Award

Recently Google announced the first group of Open Source Peer Bonus Award winners for 2019 and we are thrilled to see Daniel-Constantin Mierla and Kamailio among them.
The Google Open Source Peer Bonus program is described as:
In the same way that a Google Peer Bonus is used to recognize a fellow Googler who has gone above and beyond, an Open Source Peer Bonus recognizes external people who have made exceptional contributions to open source.
The announcement for the 2019 winners is available at:
Daniel and Kamailio are listed among open source developers and projects that have a relevant impact out there, like Linux Kernel, Kubernetes, Angular, Pip, LLVM/CLang, Apache projects, Git or Gerrit.
We are glad to see Kamailio recognized in this way for its contribution to open source real time communications ecosystem!
Thanks for flying Kamailio!

Wednesday, April 17, 2019

Kamailio World 2019 – The Schedule Of The Event

The first version of the schedule for Kamailio World Conference 2019 is out. You can see it at:
There can still be changes in the timelines, therefore keep an eye on the website for latest updates.
At this edition we have again sessions covering the major open source SIP/VoIP projects: Kamailio, Asterisk and FreeSwitch, as well as industry perspectives from a consistent group of renowned speakers. You can learn about the impact of 5G for local network innovations or how to build 4G networks with open source; scalability, reliability and security are well covered across many workshops and presentations; how to use latest Homer SIPCapture or what is new in Asterisk along with the no-touch auto provisioning system for FreeSwitch.
More relevant projects are represented, such as Wazo, dSIProuter, reSiprocrate, Janus Gateway, CGRateS, SIP3.io; differences on voice and video media processing; WebRTC – how to build a softphone with web technologies; the RTPEngine project developed at fast pace in the past two years, adding transcoding, call recording, audio play back and more, the talk about it is something that should not be skipped.
Obviously, the majority of sessions focus on Kamailio, touching security extensions, deployments in containerisation environment with Docker, how to deal with outages, billing systems relying on blockchain technology, optimizations for KEMI scripting (SIP routing logic in Lua, Python, JavaScript, Ruby, …), Kamailio metrics and monitoring with Prometheus, the new RTP media module, the event routes and the timers, an open source SBC using Kamailio and RTP engine as well as remarks about using Kamailio as an SBC, replication and data sharing for multi-node Kamailio deployments.
Three interactive sessions complete what looks like being the most impressive content of a single Kamailio World edition to date, respectively the traditional VoIP Visions panel, Dangerous Demos and the new show Your Deployment On Stage. The conference content is accompanied by two social events in the evenings on Monday and Tuesday: Berlin City Boat Trip and Cockatail Party.
Two weeks and a half to go, no much time left to register and participate at this edition, hurry up! We look forward to meeting many of you in Berlin during May 6-8, 2019!

Thursday, April 11, 2019

Kamailio v5.1.8 Released

Kamailio SIP Server v5.1.8 stable is out – a minor release including fixes in code and documentation since v5.1.7. The configuration file and database schema compatibility is preserved, which means you don’t have to change anything to update.
Kamailio® v5.1.8 is based on the latest source code of GIT branch 5.1 and it represents the latest stable version. We recommend those running previous 5.1.x or older versions to upgrade. There is no change that has to be done to configuration file or database structure comparing with the previous releases of the v5.1 branch.
Resources for Kamailio version 5.1.8
Source tarballs are available at:
Detailed changelog:
Download via GIT:
 # git clone https://github.com/kamailio/kamailio kamailio
 # cd kamailio
 # git checkout -b 5.1 origin/5.1
Relevant notes, binaries and packages will be uploaded at:
Modules’ documentation:
What is new in 5.1.x release series is summarized in the announcement of v5.1.0:
Note: the branch 5.1 is the previous stable branch. The latest stable branch is 5.2, at this time with v5.2.2 being released out of it. Be aware that you may need to change the configuration files and database structures from 5.1.x to 5.2.x. See more details about it at:
Do not forget about the next Kamailio World Conference, taking place in Berlin, Germany, during May 6-8, 2019. It is less than one month away, the registration can be done here! Looking forward to meeting many of you in Berlin!
Thanks for flying Kamailio!

Tuesday, April 9, 2019

Kamailio World 2019 – Welcoming Nexmo Among The Sponsors

We are very pleased to welcome Nexmo among the sponsors of the next Kamailio World Conference, May 6-8, 2019, in Berlin, Germany.
Nexmo is a global cloud communications platform, providing APIs and SDKs for messaging, voice, phone verification, advanced multi-channel conversations and video calling with the OpenTok API. With their Messages and Dispatch Beta you can now integrate with various communication channels including Facebook Messenger, WhatsApp and Viber. They support open source libraries for PHP, Python, Ruby, Node.JS, Java and C# .NET enabling you to build scalable communications features.
You can meet their team in Berlin during the Kamailio World 2019, get some pretty swag, ask more details about their services or even see some demos. Meanwhile you can follow their announcements via twitter handle @NexmoDev .
With the help of all our sponsors we are once again able to align an amazing list of speakers and presentations during the three days of workshops and conference sessions. The full agenda should be published in a matter of days. The seats are filling up, do not delay your registration if you want to attend the event:
Looking forward to meeting many of you in Berlin!

Thursday, April 4, 2019

Kamailio v5.0.8 Released

Kamailio SIP Server v5.0.8 stable is out – a minor release including fixes in code and documentation since v5.0.7. The configuration file and database schema compatibility is preserved, which means you don’t have to change anything to update.
Kamailio v5.0.8 is based on the latest version of GIT branch 5.0. We recommend those running previous 5.0.x or older versions to upgrade. There is no change that has to be done to configuration file or database structure comparing with the previous release of the v5.0 branch.
Important Note: this is the last official release planned from branch 5.0, unless in a matter of a few days major regressions are discovered. The official maintained stable branches at this moment are 5.1 and 5.2. If you are still running 5.0.x, it is now highly recommended to upgrade to a maintained version.
Resources for Kamailio version 5.0.8
Source tarballs are available at:
Detailed changelog:
Download via GIT:
 # git clone https://github.com/kamailio/kamailio kamailio
 # cd kamailio
 # git checkout -b 5.0 origin/5.0
Relevant notes, binaries and packages will be uploaded at:
Modules’ documentation:
What is new in 5.0.x release series is summarized in the announcement of v5.0.0:
Note: the branch 5.0 is an old stable branch. The latest stable branch is 5.2, at this time with v5.2.1 being released out of it. Be aware that you may need to change the configuration files and database structures from 5.0.x to 5.1.x or 5.2.x. See more details about the latest stable series at:
Looking forward to meeting many of you at the next Kamailio World Conference, May 6-8, 2019, in Berlin, Germany!
Thanks for flying Kamailio!