Thursday, December 25, 2008

Merry Christmas and Happy New Year 2009!

Day by day, we ended another year. 2008 was full of events, starting with one major release and six minor releases, participation to workshops and conferences wordlwide, adoption in new production environments and acknowledgement of running platforms with millions of users and billions of routed minutes/month using Kamailio (OpenSER), check the News archive at:

There were sad events as well, including the hijacking of the old domain name after the rename in Kamailio, still the SourceForge project goes on, with same name, proving the genuine openser project:

We maintained release 1.3.x series, last being 1.3.4, which still keeps the old name and is available at:

Life is going on, from the the latest major release, version 1.4.0, the project boosted in new features, a summary of what is new since then is available here:

An important share of effort was directed to clean the code and improve the stability and performance, a proof of maturity and the need to make the maintenance of the project easier and open for new comers. Lot of documentation was added in doxygen format inside the source code, Devel Guide was published, new developers can start new easier to enhance the application.

Reference moment for the future was the launch of SIP Router project in November - a concentration of many people with great SIP and VoIP expertise, backed up by huge programming experience in this field. This came to strengthen the development workforce, to ensure the reliability, to remove the doubts of what projects is better now or is going to develop better in the future.

So, 2009 is an year that announces already great achievements to be done in its first half:

  • 1st Quarter - release of Kamailio (OpenSER) 1.5.0
  • minor releases for 1.4x and 1.5.x
  • 2nd Quarter - release of SIP Router project as stable version
  • dedicated meeting to celebrate the first operational SIP Router and draw future directions

With the release of SIP Router project, everyone gets access to the features provided by Kamailio (OpenSER), SIP Express Router and OpenIMSCore projects:

Looking forward to a fruitful 2009!

Tuesday, December 16, 2008

Kamailio v1.4.3 Released

A new release in 1.4 series is out. Kamailio 1.4.3 is based on the latest version of branch 1.4, including many fixes in code and documentation, therefore those running 1.4.0, 1.4.1 or 1.4.2 are advised to upgrade.

Source tarballs are available at:

Detailed changelog:

Download via SVN:

svn co kamailio

Tag for this release can be browsed at:

Project site at (still using old name):

Modules' documentation:

What is new in 1.4.x release series is summarized in the announcement of v1.4.0:

Note: Kamailio is the new name of OpenSER project. First version under Kamailio name was 1.4.0. Older versions will continue to use OpenSER name.

Wednesday, December 10, 2008

Truphone - Call With Your iPod Touch

On 4th of December, 2008, Truphone increased its target market, making available their smart VoIP client available for iPod Touch:

... charming and handy to use. Still loyal to my Nokia phone, but the latest developments from Truphone for iPhone and i'Touch are really tempting ...

Tuesday, December 9, 2008

Request/Reply Attributes Access From TM

Latest developments provide access to the attributes of reply while processing the request and vice-versa.

The TM module introduces two new features:

  • access to SIP request attributes while processing a reply belonging to same transaction
  • access to SIP reply attributes while processing a request belonging to same transaction

Functionalities come as pseudo-variables, $T_req(pv) and $T_rpl(pv) - where pv can be any pseudo-variable, check documents at:

The new pseudo-variables can be used:

  • in failure_route to get the attributes of the reply causing the failure route. You can take decisions what to do with the request based on reply details
  • in onreply_route to get the attributes of the request. you can take decision what to do with the reply based on request attributes.
  • in acc to store data from reply
  • in C code (modules)

Note that couple of PV are disabled for these cases (PV will return null) - these are the PV that alter/depend on the context of the processed message, like $Ts, $Tf (but you can use $TS and $TF), $time, destination set attributes. The $avp(...) will be current avps, as they are stored in a global list. Also, in case there is a timeout or other reply generated by kamailio itself, $T_rpl(pv) will return null as there is no real reply structure behind.

Example, print the source ip of the reply in failure route:

failure_route[1] {
    xlog("reply received from: $T_rpl($si)\n");

Monday, December 8, 2008


sqlops module focuses to offer fast and easy access to SQL backends directly from the configuration file. Among its features:
  • many DB connections - the module can connect to many databases on different servers using different DB driver modules (mysql, postgres, ...) at the same time.
  • many DB results - the module can store many results of different SQL queries in separate structures at the same time. Thus is possible to work in parallel with several DB results.
  • access via pseudo-variables - the content of SQL query result is accessible via pseudo-variables.
  • array indexes - fast access to result values via array possition: [row,column].
  • persistence in process space - a result can be used many times in same worker process. Query once, use many times.

Here is an example of fetching and printing the content of a table:

sql_query("ca", "select * from domain", "ra");
xlog("rows: $dbr(ra=>rows) cols: $dbr(ra=>cols)\n");
    $var(i) = 0;
        xlog("--- SCRIPT: column[$var(i)] = $dbr(ra=>colname[$var(i)])\n");
        $var(i) = $var(i) + 1;
    $var(i) = 0;
        $var(j) = 0;
            xlog("[$var(i),$var(j)] = $dbr(ra=>[$var(i),$var(j)])\n");
            $var(j) = $var(j) + 1;
        $var(i) = $var(i) + 1;

Other advantages than the ones listed above against old avp_db_query() function:

- does not mess up fields position if the value in db is null

- use private memory, no locking

- does not iterate through linked (avp) list to get each field, direct

reference to each data structure in result array, thus much faster.

More info at:

Sunday, December 7, 2008

PV and Transformation API Updates

Pseudo-variables and transformations implemented in core for Kamailio (OpenSER) versions <= 1.4.x are now moved in pv module.

This is part of cleaning up the core, in order to keep it slimmer and less exposed to bugs. There are modules and use cases that need no PVs, therefore no need of keeping the implementation of about 100 pseudo-variables and over 30 transformations in core.

Now the core includes only an API that allows to:
- register pseudo-variables
- parse name, evaluate and set value of pseudo-variable
- register transformations
- parse name and evaluate transformations in config file

$shv(...) - shared variables, and $time(...) - broken down time, were moved from cfgutils module to pv module ($shv(...) depends on $var(...)).

To summarise, for devel version (upcoming v1.5.0 release), if you need $ru, $avp(...), $var(...), a.s.o. in your config file you have to load pv module.

Two new pseudo-variables were introduced with this occasion, $TS and $TF, see more:

Friday, December 5, 2008

Code restructuring for Kamailio 1.5.0

The efforts to consolidate the core of Kamailio (OpenSER) and reduce duplicates of code are going on. Several modules with related functionalities were merged in others for a better and easier maintenance.
No functionality was removed, it can be now just found
in a different place.

1. gflags module
The functionality of this module was integrated into the cfgutils module. The internal functionality, function names and MI commands are the same, the parameter “initial” was renamed to “initial_gflags”.

2. options module
The functionality of this module was integrated into the siputils module. The function name was not changed, all parameters were prefixed with the "options_” string.

3. uri module
The functionality of this module was integrated into the siputils module. The function names were not changed, internal functionality is the same.

So starting from the release 1.5 you'll need to fix your "loadmodule" statements and some parameter prefixes in your config if you use one of the mentioned modules. Documentation for the functions can be found in the usual place:


Monday, December 1, 2008

25th Chaos Communication Congress

- Kamailio and 25th Chaos Communication Congress in Berlin...

Henning Westerholt, developer and board member of Kamailio (OpenSER) project, will be present this year at the 25th Chaos Communication Congress in Berlin [1], December 27th to 30th, 2008.

If you go there or you are around Berlin that time, contact Henning in case you want to meet for some hacking sessions and discussions around the Kamailio and SIP-Router projects.

For contact address, see his email posting with this announcement.


Monday, November 24, 2008

OpenSER v1.3.4 Released

OpenSER v1.3.4 is out - a minor release of the branch 1.3, including fixes since v1.3.3 - configuration file and database compatibility is preserved...

A new release in 1.3 series is out. OpenSER (new project name: Kamailio) 1.3.4 is based on the latest version of branch 1.3, including many fixes in code and documentation, therefore those running 1.3.x are advised to upgrade.

Source tarballs are available at:

Detailed changelog:

Download via SVN:

svn co kamailio

Tag for this release can be browsed at:

Project site at

Modules' documentation:

What is new in 1.3.x release series is summarized in the announcement of v1.3.0:

Note: Kamailio is the new name of OpenSER project. First version under Kamailio name was 1.4.0. Older versions will continue to use OpenSER name.

Friday, November 21, 2008

First Kamailio (OpenSER) Module Ran On SIP-Router

Yesterday evening first Kamailio (OpenSER) module ran on the common layer core+tm provided by sip-router project. That was siputils (new module in Kamailio devel version).

Soon after:
- xlog module was ready too, with just an extra define in Makefile, marking the inclusion of pseudo-variable and transformation API in sip-router — one can do color printing via xlog. Note that all pseudo-variables and transformations will be moved in PV module as discussed some time ago on Kamailio devel mailing list.
- DB API of Kamailio and SER were included as library and other modules become compilable with sip-router

For reference:

Once MI and statistics APIs will become libraries as well, then many other Kamailio (OpenSER) modules shall work more or less out of the box (some statistics done in core and 1-2 mi commands will miss in the first phase). Then it comes the second big step, after module integration, config language update — after that point we are kind of 70% ready.

All these happened in just few days since source code repository (GIT) was up … it looks like we will get most of the features from Kamailio (OpenSER) and SIP Express Router (SER) together sooner than expected … let’s see …

Karlsruhe Meeting Photos

Photos taken during the SIP Router Project meeting day in Karlsruhe, Germany, Nov 10, 2008, are available at:

... with folks from Kamailio (OpenSER) and SIP Express Router (SER) projects..

Karlsruhe Meeting Minutes

SIP Router Project - Kick Start Meeting minutes:

* development side: move forward, source repository should be up next week
* end of January we should have a runable core+tm with support for the most used features from both Kamailio (OpenSER) and SIP Express Router (SER) (100% support might be a little delayed as some features may become obsolete)
* Kamailo next-next release (probably after spring next year) will be based on sip-router core+tm
* next or next-next SER release will be based on sip-router (SER might make another 2.1 release from the current CVS, since the code is ready - to be discussed)
* future releases will most likely be common and will unify all or most of the modules (depending on everything up to that point working ok)
* copyright: patches that are not accompanied by (c) claims will not add to the (c). We should put this on a web page and when in doubt we can ask the patch author for confirmation. While it’s likely this has no or very limited legalvalue (especially in Europe), it will server at least as a gentleman agreement. We need this because:

1. we need the agreement of all (c) holders for the GPL code to add licensing exemptions (e.g. we need to add an openssl linking exemption) and it’s easy if we have a known “small” set of (c) holders
2. people might not like having multiple (c) notices on files they created, just because someone did send a trivial or not so significant patch (note: “trivial” and “significant” are very relative). On problems, probably the board will decide, if nobody gives up the claim we’ll fork the module (worst case, to be avoided as hard as possible).

* forking modules: highly discouraged, but allowed
* unmaintained and rarely used modules: removed after a grace period
* board: for now we continue to have 2 boards, SER and Kamailo at least until we have something runable. In the meantime we should think/discuss how the common board will look like: how it will be elected and for how long, “composition” (how many devels, how many from the user community, testers a.s.o)
* testing: very important, Jerome proposed having beta-tester groups and stressed out the importance of dynamic tested. Everybody seems to agree, but there are doubts about finding beta-testers volunteers.
* release management: we need a release manager for each release
* documentation: Kamailio uses a wiki for core, and docbook .xml for modules, SER use NEWS (txt file) for core and docbook for modules, but it’s in the process of migrating to a more man page friendly format (still .xml). More discussion is needed, between the main doc writers from both sided.

* GIT repository should be up next week
* sr-dev mailing list should be used for technical dicussions related to merging the cores
* new features mails should be cc’ed to sr-dev too (very important especially when core or tm is involved).
* todo: find easy to remember short name

Related projects:

* some modules may be on separate repositories for a while (e.g., openimscore), maintained by their devs for using them out of the box with sip-router
* stand-alone application servers (Voztelecom/WeSIP, Iptego/SASI) may merge the communication interface specs in the future.
* it is a need for a place where to collect basic info about related projects

Further steps:

* new meeting, to be organized somewhere end of winter/beginning of spring 2009 (topics: celebrate first integrated working version, discuss further development of sip-router)
* setup of adjacent tools that help developing code and documentation (e.g., wiki, tracker)

General opinions:

* there are x-ser platforms running milions of users, sip-router must provide a rock-solid SIP server, esure trust and project reliability
* while having a strong focus on above item, innovation shall not be stopped, new features to be added as module to avoid effects to core and main modules
* very important modules (e.g., usrloc, registrar, …) should be protected as much as possible, patches and new features to be carefully reviewed not to affect stability and interoperability
* improvements to most important parts to be discussed on sr-dev mailing list

Thursday, November 20, 2008

PBX Alternatives

Interesting post listing PBX alternatives:

... with Kamailio (OpenSER) included ...

Carrierroute Extensions In Kamailio 1.5

Courtesy of Henning Westerholt and 1&1, carrierroute module got a bunch of new features that makes the module more flexible than ever and also fixed a few annoyances in the module usage:

1. Improved routing data loading

The module supports now the partioned loading of routing data during startup and reloads. In the past when one want to load big route set it was necessary to increase the private memory pool size, as the data was stored temporarily there. Now this is not necessary anymore, its possible to load route sets with e.g. 400.000 rules in the standard (private memory) configuration.

2. Efficient matching of domains and carriers

In the old implementation a simple linear list was used, this was replaced with a fast binary search function. The module can now look up carrier and domains in most cases with O(log n), which makes it more scalable when a big number of carriers and/ or domains are involved. Only when a dynamic string is used in the config script a full list search is needed.

3. Support for non-numerical prefix matching

Carrierroute now supports also the prefix matching with non-numerical characters. Its possible to use the entire standard ascii charset for route matching. This is configurable with a module parameter, the default implementation is still the know digit matching method. Please keep in mind that memory demands will increase somewhat when the extended matching is used. This additonal flexibility will probably bring a small overhead with it, as some additional logic is involved during the routing deciscion. But this will not be noticable on today standard servers.

4. Extensive refactoring and cleanups

Restructured and refactored the code in most areas, to make the module implementation and structure more understandable, maintainable and extensible. Replaced the usage of custom datatypes and fixup functions with the standard core implementation, switched to the autogenerated DB interface and use now standard glibc functions e.g. for the list search. Changed certain structures to not store the full name of carriers and domains in memory to save space and got finally rid of this mismatch between internal and external carrier ID.

More details about the new implementation can be found in the documentation at:

Porting hints, e.g. for the new database structure are provided at:

Track the new features introduced in Kamailio devel at:

Wednesday, November 19, 2008

SIP Router Project - GIT Repository Online

The GIT repository for sip-router is now online. GIT URLs:

- git:// (read only)
- (read only, slower, git://… recomended)
- ssh:// (read write but account on needed)

Web interface:


For more info about GIT try:

and if you want to know how it works:

Special thanks go to Jan Janak, who not only did setup (including automatic cvs sync for some of the repos), but he’s also hosting it on one of his private machines.

More details here…

Tuesday, November 18, 2008

Photos from Karlsruhe

Photo album that includes pictures from last week's Karlsruhe meeting of SIP Router project is available at:

Wednesday, November 12, 2008

SIP Router Project - The Meeting In Karlsruhe

Because of taking several days off, a complete report might show up a bit later, now a (short) summary...

First, many thanks to 1&1 for hosting the event and everyone that participated in such short notice. There were representatives from 10 companies:
- 1&1
- FhG Fokus
- Telio
- Asipto
- iptelorg/Tekelec
- Voztelecom
- Iptego
- Itsyscom
- Longphone
- Basis AudioNet
Some pictures should be published in the near future.

After going in short introduction and presentation of the goals from the point of view of each project (SIP Express Router (SER) and Kamailio (OpenSER)), we focused on:
- identification of potential points of conflicts and how to get to a resolution in such case
- code integration for common layer of the first phase
- future development and proposals of new features
- management of the larger eco-system that includes related projects and business entities

I will do several posts detailing what was discussed and proposed there for SIP Router project in few days. meanwhile, the outlines:
- it is hard to avoid conflicts just by some clear and strict rules, so the common sense should lead the collaboration and discussions
- GIT repository should be up in several days so the work can start, with a time line of 2-3 months from now to get core and tm in a very good shape of integration
- another meeting shall be set in about 3 months time, to allow enough time for people to be able to attend, adjust the development and look more deep at the future. While a lot of focus in the next months will be on integration, development of new features won't stop -- for example, steps to a partial asynchronous processing are undertaking, couple of new modules are planned for release, several other modules to bring new functionalities
- we should encourage and promote the development of related applications, like web interfaces, management tools, applications servers -- they add value for community and business

Tuesday, November 11, 2008

IRC Devel Meeting Summary - Nov 06, 2008

I am trying to summarize the outcome of the IRC devel meeting from last Thursday, Nov 06, 2008. The log is available here...

Regarding the 1.3.x series, we set the 20th of November as the date for 1.3.4 release. There are several fixes and this branch is still used in many production environments, so it worths investing time in it. There are some updates in 1.4.x to be ported and some issues to be investigated.

For a new 1.4.x release (the 1.4.3) we look for the beginning of December as the time frame for setting the date of the release.

The 1.5.x rises in the first phase the question of a shorter time release, as we have lot of new features already implemented, see:

Unfortunately some of the new features are not completed yet (e.g., htable, carrierroute updates, PV migration) so we will stick to 6-8 months release cycle. The next major one that will use the common layer (core and tm) from sip-router could be done in a shorter time than
usual. So, beginning to mid of January should be the time to freeze the code for a release date somewhere in end of January or February.

An important aspect approached during the discussions was the release management and testing management. Perhaps we need to appoint a person to manage releasing process in order to have a better synchronization of the developers. As everyone agrees, testing is very important and we try to improve it. There is a testing suite included in the source tree right now, used for static testing.

The idea of a dynamic testing and testing community was introduced and hopefully we can attract people and build a group of beta testers. There is a proposal of how to implement and what to take care of, probably this one has to continue on devel and users mailing lists for a proper
organizational structure.

GIT became as a subject of migrating from SVN, because of its features for a distributed development environment. However, does not have such offerings, so it is not possible now anyhow. However the will use it.

Regarding the project, we focused on short term goals, acknowledging that we have several modules offering same functionality but relying on different underlaying data structures, this have to co-exists for a longer time. For the first phase, core + tm the overlapping is rather small, the two projects insisting in the past to improve different aspects of them.

Unfortunately I forgot to bring up some punctual topics proposed, mainly related to tm failure route calling in case of sending error and reply handling/dropping in onreply_routes.

Wednesday, November 5, 2008

SIP Router Project Kick Start Meeting

The meeting happens in very short time. Sorry for that, but probably it is better sooner that later as will mark the moment of integration start. It is the place to discuss the technical aspects of the integration, milestones and future development.

Place: Karlsruhe, Germany
Date: Monday, November 10, 2008
Registration: free

More details at:

The results of the meeting will be posted to the site and mailing lists.

Tuesday, November 4, 2008

The SIP Router Project

The SIP Router Project started aiming to build a solid open source SIP routing platform, based on collaboration of the SIP Express Router (SER) and Kamailio (OpenSER) teams.

Developers of these two projects believe that an united and non-conflicting environment will bring many benefits, to them, community members and companies.

- bring together the developers and user communities of both projects
- reduce maintenance overhead
- avoid duplicated efforts in development
- develop a core framework that is flexible, extensible and scalable
- promote and build a solid open source SIP server project
- ensure business credibility
- make future forking undesirable, this harms everybody, affects credibility and business

You are welcome to join! Visit:

Mailing list:

There will be a meeting for concluding the collaboration and kick start the integration. Everybody is welcome to join. See more details:

Wednesday, October 29, 2008

Simple Web UI

Graham Wooden posted on Kamailio (OpenSER) users mailing list the news about a simple web UI.

After seeing that CDRTool was a little too complex and complicated for that matter, he decided to take the CDR gathering and add a "simple" web UI to it, allowing to maintain SIP users and various settings (some are not shown in this version right now).

As a preface - this is very plain, not stylized, no CSS, no fancy layouts, etc.


I hope people see value with this as Graham too, and will start contributing to develop it to a nice and robust web UI for Kamailio (OpenSER).

Further details:

Thursday, October 23, 2008

Kamailio v1.4.2 Released

A new release in 1.4 series is out. Kamailio (OpenSER) 1.4.2 is based on the latest version of branch 1.4, including many fixes in code and documentation, therefore those running 1.4.0 or 1.4.1 are advised to upgrade. This is a minor release that includes updates since v1.4.1 - configuration file and database compatibility is preserved.

Source tarballs are available at:

Detailed changelog:

Download via SVN:

svn co kamailio

Tag for this release can be browsed at:

Project site at

Modules' documentation:

What is new in 1.4.x release series is summarized in the announcement of v1.4.0:

Note: Kamailio is the new name of OpenSER project. First version under Kamailio name was 1.4.0. Older versions will continue to use OpenSER name.

Analysis of a VoIP Attack

Klaus Darilion, developer and member of management team of Kamailio (OpenSER) project, published a deep analysis of a recent VoIP attack.

Several IT news websites reported VoIP attacks against home users containing lots of myths and incorrect statements. Unfortunately, they also give wrong security advices.

Klaus decided to write an article about this attack and give some advices for protection. The document is available for download at:

Friday, October 17, 2008

LCR Module Enhancements

Juha Heinanen just committed to Kamailio (OpenSER) trunk an enhanced version of lcr module, including new features and increasing performance:

* New high-performance implementation that keeps lcr information in in-memory hash table, whose size can be given in a new module parameter 'lcr_hash_size'. See lcr/README for lcr functions' execution time.
* New 'weight' field in 'gw' table that can be used to assign a gateway a weight among gateways of its group.
* Support for prefix_mode=1 has been dropped.
* lcr_dump MI function has been split into lcr_gw_dump and lcr_lcr_dump functions.
* lcr_reload function is now executed under a lock thus minimizing race conditions.
* Regular expressions are now Perl 5.x, instead of POSIX, compatible due to use of PCRE regular expression library. This allow pre-compile in shared memory at load time, avoiding checks and regexp compilation at runtime.

Track what is new in upcoming Kamailio 1.5.0 at:

You can download trunk version of Kamailio via SVN:

svn co kamailio

Thursday, October 16, 2008

Asynchronous syslogging

Courtesy of Henning Westerholt, Kamailio (OpenSER) development version has now support for non-blocking logging. This was implemented using the syslog-async functionality from the dnsmasq server [1] from Simon Kelley.

The standard Unix syslog() library routine can block waiting for the syslog daemon. On some systems, using a datagram socket for /dev/log avoids endless waits, but on Linux, even this does not work. Try typing:

killall -SIGSTOP $pid_of_syslog

into a root terminal on a non-critical machine. Then generate traffic to get some logs, eventually, the server will stop. This blocking of the syslog daemon can happens because of bugs, or if the daemon waits for external events, like DNS lookups.

Instead of blocking, log-lines are buffered in memory. The buffer size is limited and if the buffer overflows log lines are lost. When lines are lost this fact is logged with a message.

This functionality can be enabled with setting the define SYSLOG_ASYNC in the Makefile.defs file. The default is the normal log functionality from the system library, nothing changed if the define is not set.

You can get the code from the svn repository:

svn co kamailio

Debian packages for several debian releases are available at:


Tuesday, October 14, 2008

sip:wise - launch of new products

SIPWISE, the creator of Kamailio/OpenSER Web Configuration Wizard launched two new products:

- sip:carrier - a secure and scalable Class5 SIP platform for ISPs, ITSPs, Telcos, Mobile Operators and Carriers, packed in highly available, high-performance hardware.
- sip:provider - a turnkey platform enabling small and medium size operators to launch professional VoIP services within a couple of days.

It is just wonderful to see new products that uses Kamailio/OpenSER on the market, especially coming from those being tight involved in the project, this time is the case of Andreas Granig, long time developer of Kamailio/OpenSER.

Just few time ago, I wrote about Oigaa Virtual PBX Service, coming from Voztelecom and Jesus Rodriguez, another long time developer and supporter of Kamailio/OpenSER.

Monday, October 6, 2008

Registrar Enhancements

In the last time several enhancements were added to registrar module to help in dealing with user location records. This correlated with the new modue pv shall give lot of control over the destination set for calls.

To get the latest Kamailio (OpenSER) devel version, check out the latest svn:

svn co kamailio

The news in registrar module are:

- ability to unregister all contacts for a SIP addres - there is a new function: unregister(table, uri)
- ability to store and maintain single contact per user - the save() function accepts a new value for flags parameter (0x04) to restrict to one single record in location table
- ability to access the attributes of all contacts for a user - there are two new functions: reg_fetch_contacts(table, uri, profile) and reg_free_contacts(profile) to make available/release the contacts for a SIP uri. After fetching the contacts, the attributes can be accessed via pseudo variable $ulc(profile=>attr).

For more details see the README:

Here are couple of use cases:

1) only one contact per user

save("location", "0x04");

Note that if you have couple of phones registering for same user, the one that sent last REGISTER message will be the only ringing.

2) check if a user is calling from a registered device and if not, deny the call

if(!reg_fetch_contacts("location", "$fu", "caller"))
sl_send_reply("403", "Please register first");
$var(i) = 0;
$var(found) = 0;
$var(contact) = $(ct{nameaddr.uri});
while($var(found) == 0 && $var(i) < $(ulc(caller=>count)))
$var(found) = 1;
$var(i) = $var(i) + 1;
if($var(found) == 0)
sl_send_reply("403", "Please register first");

For the future:
- unregister() to get a $ulc(...) variable as parameter to unregister a specific contact
- drop a branch via pv module

Wednesday, October 1, 2008

Towards Kamailio v1.5.0

Recently we just released 1.4.1 in the latest stable branch, so it is time to give updates on the development version of the project to be released as v1.5.0. In less that two months since 1.4.x release series was branched, lot of new things happened - new modules and features, code refactoring and fixes.

The outline of the new additions:

A drafted version of the roadmap is available at:

As shortcut, those links are hosted on the website page:

For a deeper track of all changes you can browse the SVN repository at Source Forge.

Download the version from SVN and try out. Your feedback is very much appreciated!

svn co kamailio

Monday, September 29, 2008

Benchmark: RTPProxy v1.0 with OpenSER 1.3

Transnexus has done an interesting analysis of using RTPProxy 1.0 with OpenSER 1.3, of course specific with their use case.

It has very interesting results, you can check here: Papers/OpenSER_RTPproxy_test.htm

There was a lot of discussing regarding space for improvements and tunings to get better performances on the mailing lists, but still it is a good reference to be used. The page includes details about everything you need to do the test by yourself.

Transnexus is the developer of OSP module in Kamailio/OpenSER.

Thursday, September 25, 2008

Kamailio v1.4.1 Released

A new release in 1.4 series is out. Kamailio (OpenSER) 1.4.1 is based on the latest version of branch 1.4, therefore those running 1.4.0 are advised to upgrade.

Source tarballs are available at:

Detailed changelog:

Download via SVN:

svn co kamailio

Tag for this release can be browsed at:

Project site at (still using old name):

Modules' documentation:

Ekiga 3.0

Ekiga, the open source SIP softphone, announced yesterday the release of Ekiga 3.0.

There are many new features, including SIP SIMPLE presence. Check the release news at:

Congratulations to the team, it looks very promising and I am just waiting for the Debian packages to try it out.

Skype Channel In Asterisk

Last day of AstriCon brought out a very surprising news: official Skype channel in Asterisk from Digium, as there is a press release from both sides.

Link to official press release.

It looks like the cost will be per channel and licenses are available from Digium via Asterisk market place.

This means a lot in bringing Skype users connected to SIP world.

Wednesday, September 24, 2008

Generic Data Container

A new feature that allows to store and share arbitrary data across Kamailio (OpenSER) configuration file is available

Elena-Ramona Modroiu has just introduced a generic hash table container for usage in configuration file. The hash table is in shared memory, therefore the values are global over all kamailio processes.

The items in hash table can be accessed via $sht(name). The name can include pseudo-variables that will be evaluated at runtime. In this way, the hash table can be used to store data per user or other key and can offer functionality of dealing with array of values.

An example of how to protect against dictionary attacks is in the README:

As a roadmap for the new module, planned for addition:
- MI commands to get/set items in hash table
- ability to save/load in/from database
- ability to init items at startup
- auto-expire time for items

This completes global variables space along with shared variables $shv(name)) which are single value and allow only static name, but they are faster to access (see cfgutils readme file for more details on $shv(name)).

Announcement email is here:

Tuesday, September 23, 2008

Cisco Buys

Two weeks after end of SIP-XMPP Workshop in Paris, an important move has been announced on the Instant Messaging and Presence market: Cisco, network device and telco vendor, to acquire Jabber Inc.

Jabber leverages open standard eXtensible Messaging and Presence Protocol (XMPP) to provide enterprise class unified communication platforms. Yet another big company invests in XMPP after Google selecting XMPP for their GTalk service.

Kamailio (OpenSER) includes its SIP/SIMPLE-XMPP gateway for a while now, although still in beta stage. With a speed up of IM&P growing market, the interoperability between SIP and XMPP becomes an important fact that can lead to successful communication service.

Monday, September 22, 2008

Oigaa Virtual PBX Service

Jesus Rodriguez, Kamailio/OpenSER developer and FreeBSD packager, announced today on his blog the launch of new products and services under name Oigaa:

Voztelecom is one of the major supporters of Kamailio/OpenSER project, developing the WeSIP Java SIP Servlet Application Server and seas module. Many of their products and services run on top of several Open Source applications, among them Kamailio/OpenSER and Asterisk.

Good to see such news that underline the power and flexibility of Open Source!

Networking groups on Facebook and Linkedin

For a while now there, you can find groups named "OpenSER" and "Kamailio" on both Facebook and Linkedin Social Networking portals.

If you want to meet people and make connections in Kamailio/OpenSER eco-system and you are member of one of those portals, then join the groups. Access is granted to everyone that applies to join, immediately on Facebook, after group manager approval on Linkedin (portal policy).

Sunday, September 21, 2008

A1 InnovationDays Keynotes Presentation

Links to PDF file of my presentation at A1 Innovation Days, named "Sculpturing SIP World", and photos are available at:

Friday, September 19, 2008

Kamailio (OpenSER) Presence Server: Dialog Info Support

Developed by Klaus Darilion and sponsored by Silver Server (, Kamailio (OpenSER) introduced support for Dialog Info presence states - RFC4235 - INVITE-Initiated Dialog Event Package.

There are two new modules introduced:

* pua_dialoginfo: gets dialog states from dialog module and sends PUBLISH with the dialog state in RFC 4235 conform XML documents
* presence_dialoginfo: extends presence module to handle PUBLISH with dialog-info. Allows aggregation of multiple XML documents into one document.

With these modules you can have BLF without the need for an PBX (Asterisk). It is know to work with SNOM and Linksys phones. Linksys requires some tweaking with module parameters.

For more see the readme files:

Tuesday, September 16, 2008

A1 InnovationDays Remarks

Returning from about two weeks of journey, I am catching up with work now. However, it worth to mention here some events I attended during past weeks.

The A1 InnovationDays Sprint was really challenging.

While participating to other coding sessions in the past, this one had the premises to make it great:

- nice location, one hour drive from Vienna, Austria, at Monastery Und in Krems. An old site turned into a convention place

- competition - five teams ran head to head to win. Finally the project "Spontaneous live comment as A1 sports reporter" got the prize, but I could say all the projects have big potential and the results after two days of coding were impressive: "Thunderbird plug-in for Unified Communications", "SIP Website Widget", "Automated Audio/Video Greeting Service" and "SIP extension for Disko framework". I will try to detail each one in separate posts

- vast knowledge base - it would be hard to get again in same room technical people from various domains working together: Web 2.0, graphic design, SIP, voice and video processing, embedded systems, GUI, GSM/Mobile technology, IMS

The only barrier seemed to be the weather, very nice, warm and sunny, trying to attract out attention away from coding.

However, the most important aspect of the event was the implication of the A1 - Mobilkom Austria in such event. It is the first mobile operator I have seen encouraging Open Source initiatives. Worth congratulations and let's hope they will be followed by other similar companies.

Kamailio updates

Some updates concerning two main topics discussed on the mailing lists. First, the project name, many expressed the concern that a rename in short time will create more confusion. As we are not in front of a new major release, I think it is better to postpone this process for a while and focus on the second topic, the organization for the project.

For this one, I have to thank personally to many people from the list that wrote us, giving suggestions and helping finding solutions. As a result, we are working to create the draft of statute for organization, but we are also investigating the option to join an existing
organization, dedicated to hosting of open source projects.

Meanwhile, the svn repository got couple of new features as well as refactoring of some modules. 1.4.1 will be released soon as we got a bunch of important fixes in the 1.4 branch. Most probably another release in 1.3 branch will follow.

Check the website for updates:

Thursday, August 28, 2008

OPENSER v1.3.3 Released

August 27, 2008 - OPENSER v1.3.3 is out - a minor release of the branch 1.3, including fixes since v1.3.2 - configuration file and database compatibility is preserved...

A new release in 1.3 series is out. OPENSER 1.3.3 is based on the latest version of branch 1.3, therefore those running 1.3.2 or earlier version in this branch are advised to upgrade.

Source tarballs are available at:

Detailed changelog:

Download via SVN:

svn co openser

Tag for this release can be browsed at:

Modules' documentation:

Monday, August 18, 2008

Kamailio Logo

If you have artistic sense and idea of a new logo matching the new name Kamailio, you are welcome to submit your work at devel [at]

The submissions are uploaded at:

Friday, August 8, 2008

Kamailio v1.4.0 Released

KAMAILIO v1.4.0 is released

August 7, 2008

Kamailio is the new name of the SIP server known so far as OpenSER. Due to trademark issues, the OpenSER project had to change the name. Officially, the new name was announced on July 28, 2008.

Version 1.4.0 brings many new features since OpenSER v1.3.0 as well as improvements to existing components. An important share of effort was directed to code cleanup and stability. Moreover, new features in core and old modules were added while other 6 new modules were introduced.


You can download the tarball of the released sources at
Binary packages for several distributions you can find at

Packages will be uploaded as soon as they are submitted.


* modules' documentation:
* migration guide :

Summary of the new stuff in core:

* overhauled DB API - better performance and safety, more common functionality integrated in the core
* extensive cleanups in database drivers - integrate common functionality into the core for more stability and maintainability
* SDP parser - provides an internal API for parsing SDP
* fixup functions - provides an internal API for fixing module parameters
* new free fixup functions - making safer to use some functions exported by modules in embedded languages such as Perl
* extension to module interface - its now possible to use up to 6 parameters in module functions

New modules:

* db_oracle - ORACLE DB driver - connect to Oracle SQL Server
* dialplan - Dialplan management - dialplan regular expression based translations
* nat_traversal - NAT traversal helper
* peering - RADIUS based peering allowing SIP providers to verify via a broker if source or destination request is from a trusted peer
* ratelimit - SIP ttraffic shaping control and server load control based on your rules
* userblacklist - User-specific blacklists

New in existing modules:

** acc module
* it is possible to log accounting related output to a different log facility
** cfgutils module
* new FIFO functions get_config_hash and check_config_hash for config file checks
* shared PV exported to configuration script
* debugging helpers usable from config script for abort, shm_status and pkg_status
** mysql module
* enable timeouts on connect, read and write to prevent blocking on errors
** database modules
* renaming of all database modules, addition of the prefix 'db_', e.g. mysql is now db_mysql
** carrierroute module
* much more flexibility in routing and database supported failure routing, improved internal structure
** dialog module
* internal API reworked for better flexibility
* direction of the message provided via the internal API
* new dialog callback types
* new mi command: dlg_list_ctx
** dispatcher module
* ability to load destination URI flags from database at startup or reload
* new algorithm to hash the content of a pseudo-variable
** enum module
* enum_fquery([...]) replaced by enum_pv_query([...])
** msilo module
* notification system refurbished - message body, content-type, from address and contact header can be dynamically specified with pseudo-variables
** pdt module
* accepts now same destination domain bound to different prefixes
* internal structures and logic optimized for memory and performance
** lcr module
* refactor module functions
* pseudo-variable support
** mediaproxy module
* update to version 2.0
* better performance and scalability as packets are forward in kernel space

New testing suite

* a testing suite to ensure quality checking and regression tests reports has been developed, included in the repository and used during this development cycle

Other important changes

* modules' documentation has been migrated to DOCBOOK XML format
* doxygen documentation extended and developer guide published
* serweb tables have been removed
* command line tool to manage dbtext in a SQL fashion

These are not all, there is a big change log that gives more details:


Thursday, July 31, 2008

A1 InnovationDays

:: Final Call for the International Developer Challenge A1 InnovationDays ::

Since almost 4 weeks, the international developer challenge A1 InnovationDays attracted more than 30 ideas from creative minds. The challenge is open to anyone who addresses the grand theme “Open Communication by Open Standards” and can come up with ideas for cool services built on IP-based communication (SIP & IMS).

Ideas can be posted on the platform until August 15, 2008.

All entries are open for voting and discussing by all users. On August 15, the 10 highest ranked ideas will be short-listed and judged by a panel of recognized experts as well as representatives from the sponsors. End of August, the best teams behind the ideas will be invited to a prototyping event near Vienna in order to realize their ideas and demonstrate their potential. The winning team can choose among several awards, such as a week of powder snow skiing in Austria. After that, the sponsor (mobikom Austria) is keen to bring your idea to the market.

All submissions must be based on Open Source Software.

: More Information :

For all details about this challenge, go to the FAQs:

For registration, go directly to:

: Important dates ahead :

August 1, 2008: Two prizes for the best interim ideas will be awarded

August 15, 2008: End of idea entries (CET 24:00)

August 18, 2008: Announcement of the five selected teams for the prototyping event

August 29 - September 1, 2008: Prototyping event at the monastery Und

(near Vienna:

Monday, July 28, 2008


Here is the announcement of project rename:

"OpenSER project and the community around it have grown considerably in the past three years. Because of its extensive development and high adoption rate, conflicting interests related to the OpenSER name and similar trademarks emerged.

Consequently, we have been forced to find a new name for the project that stands on itself and represent the project in its future expression.

Starting with version 1.4, OpenSER is called Kamailio. Existing OpenSER users can keep on enjoying the benefits of the best open source SIP server available on the market under this new name.

All project infrastructure like the website and mailing list will be in the future accessible under the domain, but we will keep the old one functional for a transition period to make the switch as easy as possible for you.

Kamailio is a hawaiian word. Kama'ilio means talk, to converse. It was chosen for its special flavour. It is hopefully easy to remember and the meaning fits well with the project purpose. We hope you like it too!"


Friday, July 25, 2008

SIP/SIMPLE-XMPP Developer Workshop 2008

INRIA, French National Research Network in Computer Science is hosting an workshop dedicated to SIP/SIMPLE-XMPP Interoperability. The event aims to bring together people with large expertise in both protocols, interested in development, testing and deployment of SIP/SIMPLE-XMPP solutions.

I am going to be present and coordinate the XMPP interoperability tests and development for OPENSER.

The workshop takes place between September 2 and 5, 2008, in Paris, France.

Among participating projects and companies:
- Asterisk
- Edvina
- Asipto
- AG Projects
- MSRPRelay
- eJabberd

Read more details here…

Thursday, July 24, 2008

RTP Proxy in Erlang

Just found this project:

erlrtpproxy seems to be a RTP relay for OPENSER written in Erlang, an alternative to RTPProxy and Meidia Proxy. I didn't dig for more details, but I guess it is working together with the nathelper module in OPENSER.

Hope that Erlang fans will enjoy it.

Tuesday, June 24, 2008

Updates of NAT Traversal Solutions for OPENSER

There were lot of development efforts in the two options available for NAT traversal with OPENSER.

Mediaproxy relesed next generation version: v2.0. More details at:

Rtpproxy brings lately lot of new stuff, information is available at the dedicated site:

Thursday, June 12, 2008

Approaching OPENSER v1.4

The time for a new major release is approaching. Last minute discussions about some lately introduced code keeps the situation a bit unclear for the moment regarding the release day.

However, this post tries to underline the new features and important aspects that happened during last development cycle.

There are six new modules:
- db_oracle - database driver to connect directly to Oracle servers
- dialplan - regular expression based dialplan management
- nat_traversal - helper for nat traversal
- peering - RADIUS based peering
- ratelimit - call rate control module
- userblacklist - user based blacklisting

Lot of other new features and refurbishing in existing modules such as carrierroute, dispatcher, dialog, mediaproxy, msilo, cfgutils, pdt, textops.

Review of the DB API, fixup functions, new transformations and pseudo-variables are some of the core updates.

Related to this cycle, worth to mention the first OPENSER Devel Guide, a free, electronic book available at:

and first printed book about OPENSER:

Building Telephony Systems With OPENSER.

I encourage everyone to start testing the upcoming OPENSER 1.4. Will be a big step forward.

Friday, June 6, 2008

OPENSER Dinner, Berlin - remarks

What can I say first, great beer! Although, since I have been there last time, the place has changed the name, still nice and good quality.

The talks focused a bit on the two events taking place in Berlin, the AsteriskTag and the LinuxTag. Part ot SUN/OpenSolaris team joined us -- some one there worked hard in the past to make OPENSER compiling on OpenSolaris with the native compiler. Thanks.

As the VoN show in Amsterdam was canceled, this was the last social event in this cycle. I returned to work at ASIPTO, preparing for a new major release.

Thursday, June 5, 2008

AsteriskTag and LinuxTag 2008 - week in Berlin

I covered a bit about AsteriskTag2008 and LinuxTag2008 at:

There you can find links to some photos and the slides I presented in the first day of AsteriskTag.

I had no photos from the OPENSER dinner in Berlin, on the 28th, but I will post about soon.

Sunday, May 25, 2008

OPENSER Dinner, Vienna - remarks

Very good restaurant - delicious food and local made beer - credits for selection goes to Andreas Granig. Located in the old part, in the city center, the place was somehow protected by the tourists crowd, offering a quite atmosphere.

As we got two visitors from Bratislava, Slovakia, the discussions went global wise. A hot topic (I guess not only there) was the cancellation of VoN show in Amsterdam. What will be the meeting place from now on for the VoIP guys as the VoN disappeared? Who knows, lot and lot of discussions and opinions here and there on the web forums and mailing lists...

Personally I got an update regarding WiMAX, deploying phase started in some countries. Although I know there are still many issues, the pressure of production environments will give more confidence and attract investors and creation of new or better products and solutions for this technology.

And of course, answering many times, again and again, it is VoIP in that dark castle in Transilvania, only SIP, SIP, SIP (I think is actually lower case :-) )...

Saturday, May 24, 2008

Interview: Mysql and Openser

I have found an interesting interview by MySQL with Juha Heinanen, developer and management board member of OPENSER Project. Targeting the carrier grade deployments, the key components approached are the MySQL cluster and OPENSER, to leverage reliable and distributed storage system for routing large volume of VoIP calls.

See the interview here.

Thursday, May 22, 2008

OPENSER Dinner, Berlin, May 28, 2008

Bound to Asterisk Tag ( and Linux Tag ( events, Henning Westerholt and I will take care of an OPENSER group meeting in Berlin, Germany, May 28 at 20:00.

The place is a small brewery next to Chartlottenburg Castle in Berlin, named Lusinen Brau, the website:

Organized in same idea of casual community meeting, everybody is welcome to join at any time. It is recommended to contact us to announce your participation so you got your seat reserved.

Confirmed Participants:
- Henning Westerholt, developer OPENSER, 1&1 Germany
- Elena-Ramona Modroiu, co-founder OPENSER,
- Olle E. Johansson, main SIP developer Asterisk,
- Dan Bogos, VoIP consultant,
- Daniel-Constantin Mierla, co-founder OPENSER,
- Bogdan Pintea, developer SER, Iptego

Tuesday, May 20, 2008

OPENSER Workshop, Berlin, May 26-27, 2008

The Asterisk Tag conference hosts two presentations related to OPENSER. In the first day, starting with 4:00pm, will be Asterisk and OpenSER - blending together for scalability. The main focus will be how to plug OPENSER to scales Asterisk-based services.

The next day will be a two hours workshop dedicated to OPENSER. The target is to reveal where OPENSER fits in IP communication services, Voice over IP and beyond, and to give the starting point to use it.

The evening of 28th May will host an OPENSER Social Networking Event at Luisen Brau in Berlin (more details in a new post very soon).

Monday, May 19, 2008


I just found VIM OPENSER syntax specs for configuration file, courtesy of Stanislaw Pitucha. As a heavy VIM user, I am glad to have it available. You can download it from the VIM site.

Friday, May 16, 2008

OPENSER Dinner - Vienna, Austria, May 24, 2008

The OPENSER Dinner to be held in Vienna, Austria, is scheduled for May 24, 2008, 19:30 at Plutzer Brau

Already confirmed the presence:

- Elena-Ramona Modroiu, co-founder OpenSER, COO at
- Andreas Granig, developer OpenSER, CEO at
- Daniel-Constantin Mierla, co-founder OpenSER, CEO at

See photos from the previous similar event (Barcelona, Spain).

Next event will be in Berlin, in the week with Asterisk Tag and Linux Tag (more details soon).

The OPENSER Dinner series targets local community meetings around the world for social networking and business discussions. If you want to participate (free of charge, everyone pays for its expenses) and secure a seat, contact us at:

Thursday, May 15, 2008

OPENSER v1.3.2 Released

New minor release in the series of 1.3 is out as v1.3.2. It includes a bunch of fixes from the time of v1.3.1 release. All running 1.3.x in production should upgrade.

The compatibility is kept at database level and for the configuration file. No need to apply changes, just install the new OPENSER version.

More details at

See detailed changes for this release in ChangeLog file.

Monday, May 12, 2008

OPENSER Dinner, Barcelona - remarks

May 6, 2008, Barcelona, Spain, OPENSER Social Networking Event at El Glop, in the city center.

A great dinner put together by Jesus Rodriguez (OPENSER developer, FreeBSD package maintainer, CTO at Voztelecom), Daniel-Constantin Mierla (co-founder and developer OPENSER, CEO at and Inaki Baz Castillo (VoIP and OPENSER Consultant at

All together were 20 people, including the elite of Spanish VoIP Blogging Army: Jesus Rodriguez (, Alberto Sagredo (, Sergio Serrano (

Well known to OPENSER and Asterisk environments: Olle E. Johansson, Elena-Ramona Modroiu, Gines Gomes, Elias Baixas, Pascal Maugeri, Victor Pascual Avilla, Nacho Cabrera Ramos.

See some pictures I selected from the ones taken by Alberto Sagredo:

Food was excellent (thanks Jesus for selecting the place), so the discussions, as we were staying long after leaving the restaurant to talk outside. Of course, some went to a pub at the usual time in Spain 1:00am.

Next are Vienna and Berlin...

Tuesday, May 6, 2008

OPENSER Dinner - El Glop, Barcelona, May 6, 2008

The OPENSER dinner in Barcelona, Spain, May 6, 9:00PM, takes place at "Braseria El Glop".

There will be about 20-25 persons, among them:

- Olle E. Johansson, main Asterisk SIP developer, CEO at
- Elena-Ramona Modroiu, co-founder OpenSER, COO at
- Jesus Rodriguez, developer OpenSER -- FreeBSD packages maintainer, CTO at
- Daniel-Constantin Mierla, co-founder OpenSER, CEO at
- Inaki Baz Castillo - OpenSER mailing list activist, VoIP consultant
- Alberto Sagredo -
- several other openser, wesip ( and asterisk folks

Sunday, May 4, 2008


Just returning from my trip in Florida, I am catching up with some events happening around the project.

First book about OPENSER was published by Packt Publishing, authored by Flavio E. Goncalves. I did technical review of the book and waiting now for the hardcopy version of it. More details at:

Friday, May 2, 2008

Oracle Support

Courtesy of Iouri Kharon, a new developer, the development branch of OPENSER includes now native support for connecting to ORACLE databases. Previously possible via UNIXODBC driver, the new module named db_oracle brings more flexibility when using this powerful database server.

The readme of the module is available at:

The module will be include in next major release 1.4.0.

Tuesday, April 22, 2008

OpenSER-Asterisk SIP Masterclass, Barcelona, Spain

The Asterisk SIP Masterclass is a five days of advanced Asterisk and OpenSER SIP proxy training, focusing on how to make Asterisk work in a SIP network. The class assumes a good of knowledge about Asterisk.

Location: Barcelona, Spain
Date: May 5-9, 2008

The training is sustained by the main Asterisk SIP developer, Olle E. Johansson and Daniel-Constantin Mierla, the OpenSER project co-founder and developer. They have many years of experience together, building VoIP networks and debugging all kinds of issues in the software, network and the SIP protocol. This is an opportunity to spend a week learning and working with these OpenSER, SIP and Asterisk developers.

This class includes many practical labs. Feel free to bring your own equipment to the class - SIP phones, gateways, servers. We will have a classroom network filled with Asterisk servers, SIP proxies and devices to work with. It’s a good opportunity to test your devices!

More details at: and

Thursday, April 17, 2008

OpenSER Social Networking - ROSDEV2008

The fist OpenSER social networking event took place in Bucharest, Romania, Apr 12, 2008. It was together with the folks at ROSDEV2008. From the OpenSER mailing lists, you may recognize in pictures people like: Dan Bogos, Elena-Ramona Modroiu and Daniel-Constantin Mierla (that's myself).

There were other people at the event using OpenSER -- see the presentation about VoIP in the University Campus -- and we were able to conduct constructive discussions about VoIP in general. Apart of that, it was quite a hot spring day (over 25 Celsius), so the rest was about beer and good food in a typical Romanian restaurant. Here are links to photo albums and videos from ROSDEV2008 and the diner afterwards.

Next day it was an applied seminar of VoIP and OpenSER, photos at:

Friday, April 11, 2008


This post mainly addresses to Romanians around OPENSER Project and Open Source VoIP.

The second edition of Romanian Open Source Development Conference (ROSDEV2008) is taking place tomorrow, April 12, 10:00-18:00, at University “Politehnica” Bucharest, Computer Science Department, Hall EG301. It is an event organized for Open Source developers by Open Source developers.

It is the place to meet lot of Open Source projects, many programmers and companies interested in this philosophy.

I will have a short talk about what means life as Open Source developer, OPENSER and other VoIP technologies.

It is a merit for the organizers to bring one of the top 3 television channels in Romania to broadcast the event on Internet. More details at (Romanian only):

Live broadcasting:

Monday, April 7, 2008

OPENSER Devel Guide

Daniel-Constantin Mierla and Elena-Ramona Modroiu, co-founders OPENSER, authored the OPENSER Devel Guide. It is comprehensive tutorial, approaching the important components of OPENSER: memory manager, locking system, pseudo-variables, transformations, statistics, configuration file, db and timer api, module interface and so on.

The document is intended to give the knowledge for those willing to develop extensions for OPENSER and to show its internal structure. The tutorial is available at:

Friday, April 4, 2008

OpenSER eLearning and Certification programs

ASIPTO is offering certification and eLearning programs for OPENSER SIP Server, backed up by two co-founders of the project.

OPENSER is a complex platform, testing the knowledge about and passing the certification proofs the professional expertise gained working with this technology.

eLearning channels address the major issues of VoIP platform in the real world. Understanding the root of the issues and learning the right solutions to solve them is what the classes focus on.

More details at

Wednesday, April 2, 2008

OpenSER Social Networking Events - April-June 2008

In the period of time April - June 2008, there will be a series of OpenSER Social Networking events organized in different places world wide, during the time some other Open Source or VoIP events take place in the same city.

The events are most probably in the form of a dinner, organized together with local representatives of OpenSER community. The events are intended to be rather small size, to allow each one to know the others, in a nice and friendly discussion environment. The primary goal is to strengthen the relations within community and give opportunity to network for collaboration and business. Participation to any of these events is free, everybody pays for its expenses. Anyone interested in OpenSER, SIP or VoIP in general is welcome to join.

Next events are:

- Bucharest, Romania, April 12, 2008, tied up with ROSDEV2008 ( - Romanian site only)
- Orlando, FL, USA, April 22, 2008, tied up with OPENSER-Asterisk SIP Masterclass (
- Barcelona, Spain, May 6, 2008, tied up with OPENSER-Asterisk SIP Masterclass (
- Vienna, Austria, May 24, 2008, on the way to AsteriskTag (
- Berlin, Germany, May 28, 2008, tied up with LinuxTag (
- Amsterdam, Netherlands, June 3, 2008, tied up with VoN.x Europe (

The hour and exact place for each event will be announced few days before as the number of attending people is known and the reservation is done.

Although you are welcome to come at any time and without prior notice, you may find that there is no more available seat to join the table. To reserve a seat or join in the organization of an event, contact Daniel-Constantin Mierla <miconda [at] gmail [dot] com>.

Monday, March 31, 2008

Reports about OpenSER

Proud to mirror some details from the blog of Virtual Hosting, that nominated OpenSER in their top of Open Source VoIP applications -- and we got to the position #1, although it is clear is not a ordered list, but...

More details here....

Moreover, another blogger made an analysis of German VoIP market and shows that billions of minutes per month are routed with Open Source applications, and of course, OpenSER has its big share, sustaining one of the biggest VoIP service in the world.

More details here...

1.76 million of users on an OpenSER-based platform is not bad at all...

Thursday, March 20, 2008

Asterisk-OpenSER SIP Masterclass, Orlando, FL, USA

Date: April 21-25
Place: Orlando, Florida, USA

Learn Asterisk, OPENSER and SIP from the main developers!

The training is sustained by the main Asterisk SIP developer, Olle E. Johansson and Daniel-Constatin Mierla, the OpenSER project co-founder and developer. They have many years of experience together, building VoIP networks and debugging all kinds of issues in the software, network and the SIP protocol. This is an unique opportunity to spend a week learning and working with these OpenSER, SIP and Asterisk folks.

This class focuses on building a carrier-class scalable network architecture with Asterisk and OpenSER. You need to know Asterisk at the level of the Asterisk Bootcamp or the Asterisk Masterclass by Edvina in order to e able to take this class. Learn more about course content here:

More details at

Registration by email at info (at)

Tuesday, March 11, 2008

Module Documentation Now In Docbook XML Format

Migration from SGML to XML Docbook format is now ended for all OpenSER modules.

The format is much more flexible and allows easier conversion to different format. Using XSL, the look can become more user friendly, we can generate summaries, indexes and references to parameters, functions, MI commands and pseudo-variables exported by modules. Another target is creation of an aggregated tutorial, combining these documents along with a getting started guide.

Modules' documentation repository in HTML format can be found at:

Sunday, March 2, 2008

New documentation effort

Recently, the openser-docs mailing list was created to conduct the development on OpenSER documentation. If you want to join go to:

Immediate task is to create a master document where to refer the rest of documents, the entry point for new comers. The dokuwiki is already an impressive knowledge base, but lacks somehow a good index.

Another subject is to migrate the format to Docbook XML.The amount of available tools and the strict formating in XML provide easier ways to manage and convert to readable formants.

Off topic, worth to mention that RTPProxy got its own mailing list:

Thursday, February 7, 2008

Shared variables in configuration script

OpenSER is a multiprocess application. Sometimes, as an VoIP administrator of an OpenSER based platform, you feel the need to have a variable whose value is visible in all OpenSER processes.

Few days ago, the cfgutils module introduced this feature. A shared variable is specified via $shv(name), name can be any string of alpha-numeric characters. The shared variables can be initialized via a parameter of the cfgutils module. Also, they can be set via MI commands, giving the possibility to control routing logic in a nice way, without restarting OpenSER.

xlog was enhanced to take the log lever from any pseudo-variable, including shared variables. Now you can enable/disable printing of the log messages via MI.

Example of usage:

loadmodule ""
modparam("cfgutils", "shvset", "debug=i:4")
xlog("$shv(debug)", "request [$rm] from [$fu] to [$ru]\n");

To get your xlog message printed, issue the command:

# openserct fifo shv_set debug int 3

More details at:

Wednesday, January 30, 2008

MSRPRelay released

A new project was released to the public on the 29th of January, 2008. Adrian Georgescu of AG Projects announced the version 0.9.1 of MSRPRelay, an Open Source implementation of IETF standard RFC 4976. MSRP relay is an extension to the MSRP protocol (RFC 4975). Its main role is to help NAT traversal of Interactive Messaging and file transfer sessions for SIP/MSRP endpoints located behind NAT.

Out of the box, the software is designed to work in combinations with the
subscriber database used by OpenSER.

For more information visit:

Saturday, January 26, 2008

OpenXCAP v0.9.9 and Soap-Simple-Proxy v1.0.2

There is a new OpenXCAP server release available. Downloads and details at:

Soap-Simple-Proxy exposes a simple to use SOAP interface for the OpenXCAP server. It is a transparent proxy for SOAP to XCAP requests relying on XCAP server for authenticating requests.

Provided functions

1. Publish presence information (using pidf-manipulation application)
2. Set the presence policy for a given presentity (pres-rules application)
3. Retrieve the OpenSER watchers for a given presentity (watchers application)

The software can be used as

- Stand-alone data publisher for persistent Presence documents.
- Policy manager. You can build a web interface to manage the pres-rules
documetn and use it in combination with Eyebeam-lite as a complete SIP
SIMPLE client.
- To retreive and display the active watchers from OpenSER in a web

Monday, January 7, 2008

Asterisk & OpenSER SIP Master Class in Stockholm

The Asterisk & OpenSER SIP Master Class in Stockholm, January 14-18, will be held by two teachers that have all the insights you need to learn the details of Asterisk and OpenSER:

* Olle E. Johansson - Asterisk SIP Developer
* Daniel-Constatin Mierla - OpenSER Developer, co-founder

This class focuses on building a carrier-class scalable network architecture with Asterisk and OpenSER. You need to know Asterisk at the level of the Asterisk Bootcamp or the Asterisk Masterclass by Edvina in order to e able to take this class. Learn more here:

Register now - seats are limited! If you have any questions, please contact Emnet Jonsson at

info (at) or phone +46 8 96 40 20.

See you in Stockholm!

CDRTool 6.1.0 released

AG Projects announced today the availability of CDRTool v6.1.0.

CDRTool is an Open Source solution that provides mediation, accounting and tracing for Call Detail Records enerated by OpenSER by using RADIUS protocol and OpenSER siptrace facility.

More details at

OpenSER 1.2.3 Released

On the 20th of December 2007, a patch release for old 1.2 stable series was released as 1.2.3. Those running 1.2 branch and have no time or interest to upgrade to 1.3 branch (first stable release in this branch was out on the 13th of December 2007 as 1.3.0) should upgrade to 1.2.3, as it provides higher grade of stability.

The config file is full-compatible with any previous version in 1.2 branch, so the upgrade from 1.2.2 to 1.2.3 shall go smooth.

More details at