# cd kamailio
# git checkout -b 4.3 origin/4.3Binaries and packages will be uploaded at:No comments »
Looking forward to irc-ing about Kamailio next week!
- evapi module – to asynchronously send/receive data to/from Node.js (i.e., don’t block Kamailio, allow to handle other traffic meanwhile)
- rtjson module – to fill in the internal fields corresponding to the routing attributes returned by the Node.js application
- jansson module – to access the rtjson document in kamailio.cfg for additional processing
- force a reset of the passwords, so the new values are tested to see if they are strong
- try to audit the existing HA1 values in subscriber database and detect the ones using weak values
Author: Andrei Pelinescu-Onciul
Date: Mon Sep 3 21:27:11 2001 +0000
Next year we are preparing to celebrate with a special edition of Kamailio World Conference – be sure you keep it in your plans for 2016.Since September 2014, Kamailio has released two major versions, 4.2 (Oct 2014) and 4.3 (Jun 2015). Now, after the summer holidays, we are speeding up to get new stuff for next major release, planned to be numbered 4.4 — keep an eye on sr-dev mailing list to stay up to date with what is going to be new and interesting!
A fruitful rest of the year for all Kamailians out there and prepare for the party in 2016!
- https://blog.irontec.com/voip-y-la-guerra-por-el-crecimiento-horizontal-con-el-trio-docker-kamailio-y-asterisk/ (spanish)
# cd kamailio
# git checkout -b 4.2 origin/4.2Binaries and packages will be uploaded at:
v4.3 introduced as well several new variables, here we touch few of them.
$var(name) is an old variable, storing the value in private memory, being persistent per process. It is very fast when used in operations (no looking needed), therefore popular across config files. One of its property is that the initial value is 0 (no need to initialize it explicitly) and setting it to $null results in resetting it to value 0.
Requested by community, a new variable class $vn(name) was introduced in v4.3 by pv module, which has the properties of $var(name), but it holds ‘null’. Setting it to 0 requires explicit assignment ‘$vn(name) = 0′ and setting it to ‘$null’ no longer resets the value to 0, but to ‘null’.
The pv module added $sbranch(key), a class of variables that allows to manage all the attributes of outgoing branches, including the first branch corresponding to request URI. It is like a temporary container where to store the attributes before pushing them to the branches. A set of three functions come to help in these operations: sbranch_set_ruri(), sbranch_append() and sbranch_reset(). An use case that is possible now can be setting the Path of a branch (next hops till final destination), including the one for R-URI branch.
Related to XAVP variables, a function named xavp_explode_params() can be now used to take the names and values of a parameters string and add them as XAVPs.
The rr module introduced variables to get the direction of the request – $rdir(name) will return ‘downstream’ if request is from caller to callee and ‘upstream’ if the request is from callee to caller.$rdir(id) is the variant to return 1 for ‘downstream’ and 2 for ‘upstream’. From the same module come $fti and $tti – the From and To tags as for the initial INVITE transaction, no matter of direction for the request. For example, using in config (e.g., as htable key) the dialog 3-tuple identifier (call-id, from-tag, to-tag) is now simpler, no need to care anymore about the direction of the request.
Presence or other IMS modules are among the components introducing new variables, you can see the full list of variables available for Kamailio v4.3 at:
# cd kamailio
# git checkout -b 4.3 origin/4.3Binaries and packages will be uploaded at:
- 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
make installIt 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!
- main website (www.kamailio.org)
- wiki portals
- mailing lists (lists.sip-router.org)
- git mirror (git.kamailio.org)
- 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)
- 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)