Kamailio (OpenSER) v3.1.0 is out – major release with impressing number of new features and improvements.
This release is a result of more than 8 months of development and testing from the teams of Kamailio (OpenSER) and SIP Express Router (SER) projects. Backed up by a solid development group, we are proud to announce that this release brings a large set of features, many for first time on the SIP server market, such as asynchronous TLS, UDP raw sockets, embedded HTTP and XCAP servers, embedded Lua, configuration file debugger. All together, there are over 15 new modules and countless improvements to old components.
Since last major release (version 3.0.0, which was out in January 10, 2010), the two SIP servers, Kamailio and SER, are practically the same application, the name making the difference regarding the database structure and the extensions used for certain features, such as user database based authentication or location service.
Therefore another development direction was towards smooth integration of Kamailio and SER extensions, previously duplicated modules such as auth, sl, ratelimit or sms were merged during this development cycle.
Continue reading the release notes at:
http://www.kamailio.org/w/kamailio-openser-v3.1.0-release-notes/
Many thanks to all developers and community members that made possible this release.
An important note I should add here:
- starting with this version, there is a single stable branch for both Kamailio and SER, so when you compile the sources, you must run first:
make FLAVOUR=kamailio cfg
Then:
make all make install
A step by step tutorial is available at: http://www.kamailio.org/dokuwiki/doku.php/install:kamailio-3.1.x-from-git
Cheers, Daniel
On 10/6/10 4:45 PM, Daniel-Constantin Mierla wrote:
Kamailio (OpenSER) v3.1.0 is out – major release with impressing number of new features and improvements.
This release is a result of more than 8 months of development and testing from the teams of Kamailio (OpenSER) and SIP Express Router (SER) projects. Backed up by a solid development group, we are proud to announce that this release brings a large set of features, many for first time on the SIP server market, such as asynchronous TLS, UDP raw sockets, embedded HTTP and XCAP servers, embedded Lua, configuration file debugger. All together, there are over 15 new modules and countless improvements to old components.
Since last major release (version 3.0.0, which was out in January 10, 2010), the two SIP servers, Kamailio and SER, are practically the same application, the name making the difference regarding the database structure and the extensions used for certain features, such as user database based authentication or location service.
Therefore another development direction was towards smooth integration of Kamailio and SER extensions, previously duplicated modules such as auth, sl, ratelimit or sms were merged during this development cycle.
Continue reading the release notes at:
http://www.kamailio.org/w/kamailio-openser-v3.1.0-release-notes/
Many thanks to all developers and community members that made possible this release.
Daniel-Constantin Mierla writes:
- starting with this version, there is a single stable branch for both
Kamailio and SER, so when you compile the sources, you must run first:
make FLAVOUR=kamailio cfg
daniel,
what happens if i don't include FLAVOR=kamailio? namely i have never done that when i have build sip router and haven't noticed any problems. what have i missed?
-- juha
HELLO,
On 10/6/10 6:14 PM, Juha Heinanen wrote:
Daniel-Constantin Mierla writes:
- starting with this version, there is a single stable branch for both
Kamailio and SER, so when you compile the sources, you must run first:
make FLAVOUR=kamailio cfg
daniel,
what happens if i don't include FLAVOR=kamailio? namely i have never done that when i have build sip router and haven't noticed any problems. what have i missed?
literally two things: - internal kamailio-style statistics (what you get when they are enabled with kamctl fifo get_statistics all) -- iirc, they are exported by snmpstats module, so it might be the only thing not working because of this (or it is exporting always 0) - AS (application server) extensions in TM - needed only by seas module (ie some extra fields in transaction structure and callbacks)
First point will be fixed in next release, as we will migrate to new counters API, which have less impact when updating statistics. Note that these statustucs exist for quite some time (older than openser 1.3.x), so far no performance impact was reported.
Second one, we will see what can be done to have it default.
I haven't listed the name of application as difference (along with default config file) -- I don't consider it so.
Cheers, Daniel
Daniel-Constantin Mierla writes:
literally two things:
- internal kamailio-style statistics (what you get when they are enabled
with kamctl fifo get_statistics all) -- iirc, they are exported by snmpstats module, so it might be the only thing not working because of this (or it is exporting always 0)
i get statistics via xmlrpc and just checked and they seems to be ok. at least core, registrar, transaction, and message stat counters are increasing.
- AS (application server) extensions in TM - needed only by seas module
(ie some extra fields in transaction structure and callbacks)
ok, i don't use seas module and perhaps therefore i have not noticed this.
I haven't listed the name of application as difference (along with default config file) -- I don't consider it so.
i use my own name by setting MAIN_NAME=sip-proxy.
in summary, looks like i can leave flavor unspecified.
-- juha
On Oct 06, 2010 at 18:22, Daniel-Constantin Mierla miconda@gmail.com wrote:
HELLO,
On 10/6/10 6:14 PM, Juha Heinanen wrote:
Daniel-Constantin Mierla writes:
- starting with this version, there is a single stable branch for both
Kamailio and SER, so when you compile the sources, you must run first:
make FLAVOUR=kamailio cfg
daniel,
what happens if i don't include FLAVOR=kamailio? namely i have never done that when i have build sip router and haven't noticed any problems. what have i missed?
literally two things:
- internal kamailio-style statistics (what you get when they are
enabled with kamctl fifo get_statistics all) -- iirc, they are exported by snmpstats module, so it might be the only thing not working because of this (or it is exporting always 0)
- AS (application server) extensions in TM - needed only by seas
module (ie some extra fields in transaction structure and callbacks)
First point will be fixed in next release, as we will migrate to new counters API, which have less impact when updating statistics. Note that these statustucs exist for quite some time (older than openser 1.3.x), so far no performance impact was reported.
There are 2 different statistics defines and they are disabled for 2 different reasons.
-DSTATISTICS - this disables statistics support for modules/sl and a lot of kamailio modules. The reason for not having it enable it's not performance (the same counters api is now used underneath anyway), but to force migration and documentation of the statistics (via the help strings integrated in counters). As I said before, we could enable it for sr too (since we didn't have time to migrate anything to the new stats).
-DUSE_CORE_STATS - this disables kex core stats support. The reason for this is performance. Each core stat is now done via a callback (so for each request or other event that needs to be counted, a function call is made).
Second one, we will see what can be done to have it default.
The question is whether to penalise people that don't use seas. IMHO if somebody needs seas, he is knowledgeable enough to recompile (make cfg WITHAS=1 ; make all).
I haven't listed the name of application as difference (along with default config file) -- I don't consider it so.
Andrei
Andrei Pelinescu-Onciul writes:
There are 2 different statistics defines and they are disabled for 2 different reasons.
andrei,
what about MALLOC_STATS? why is it disabled by default?
Oct 6 20:57:31 sip /usr/sbin/sip-proxy[7455]: WARNING: tls [tls_init.c:592]: tls: ser compiled without MALLOC_STATS support: the workaround for low mem. openssl bugs will _not_ work
-- juha
Juha Heinanen writes:
what about MALLOC_STATS? why is it disabled by default?
Oct 6 20:57:31 sip /usr/sbin/sip-proxy[7455]: WARNING: tls [tls_init.c:592]: tls: ser compiled without MALLOC_STATS support: the workaround for low mem. openssl bugs will _not_ work
i did some digging and found that "ser" is compiled by default with MALLOC_STATS support only if flavor is sip-router. in Makefile.defs:
ifeq ($(FLAVOUR),sip-router) ... # fast malloc statistics on FMSTATS ?= 1 ... endif
and then:
ifeq ($(FMSTATS), 1) C_DEFS+= -DMALLOC_STATS endif
this is getting too complicated to understand.
as i mentioned yesterday, i have not defined any flavor, when i build sip router. what flavor does this then give to me?
# flavour: sip-router, ser or kamailio $(call set_if_empty,FLAVOUR,sip-router)
would i loose something if i specify that flavor is sip-router?
-- juha
On Oct 07, 2010 at 11:10, Juha Heinanen jh@tutpro.com wrote:
Juha Heinanen writes:
what about MALLOC_STATS? why is it disabled by default?
Oct 6 20:57:31 sip /usr/sbin/sip-proxy[7455]: WARNING: tls [tls_init.c:592]: tls: ser compiled without MALLOC_STATS support: the workaround for low mem. openssl bugs will _not_ work
i did some digging and found that "ser" is compiled by default with MALLOC_STATS support only if flavor is sip-router. in Makefile.defs:
ifeq ($(FLAVOUR),sip-router) ... # fast malloc statistics on FMSTATS ?= 1 ... endif
No, it's compiled with MALLOC_STATS only if FLAVOUR=kamailio : ifeq ($(FLAVOUR),sip-router) # main binary name MAIN_NAME=ser else ifeq ($(FLAVOUR),ser) ^^^^^^^^^^^^^ note the else
and then:
ifeq ($(FMSTATS), 1) C_DEFS+= -DMALLOC_STATS endif
this is getting too complicated to understand.
as i mentioned yesterday, i have not defined any flavor, when i build sip router. what flavor does this then give to me?
# flavour: sip-router, ser or kamailio $(call set_if_empty,FLAVOUR,sip-router)
sip-router (if empty is set to sip-router).
would i loose something if i specify that flavor is sip-router?
Right now for compiling there is no difference between ser and sip-router. If you force no flavour or an unknown flavour (e.g. FLAVOUR="" or FLAVOUR=foo) the only difference it the binary name (sip-router instead of ser).
When installing, I think the only difference is that an unknown flavour will not install any mysql script.
Andrei
Andrei Pelinescu-Onciul writes:
No, it's compiled with MALLOC_STATS only if FLAVOUR=kamailio : ifeq ($(FLAVOUR),sip-router) # main binary name MAIN_NAME=ser else ifeq ($(FLAVOUR),ser) ^^^^^^^^^^^^^ note the else
sorry, i didn't notice it. now the question still remains, if i don't use flavor=KAMAILIO, is it so that there is nothing i can do to get rid of the warning?
Oct 6 20:57:31 sip /usr/sbin/sip-proxy[7455]: WARNING: tls [tls_init.c:592]: tls: ser compiled without MALLOC_STATS support: the workaround for low mem. openssl bugs will _not_ work
or can i just add -DFMSTATS to my make command without specifying any flavor?
-- juha
On Oct 07, 2010 at 11:42, Juha Heinanen jh@tutpro.com wrote:
Andrei Pelinescu-Onciul writes:
No, it's compiled with MALLOC_STATS only if FLAVOUR=kamailio : ifeq ($(FLAVOUR),sip-router) # main binary name MAIN_NAME=ser else ifeq ($(FLAVOUR),ser) ^^^^^^^^^^^^^ note the else
sorry, i didn't notice it. now the question still remains, if i don't use flavor=KAMAILIO, is it so that there is nothing i can do to get rid of the warning?
Oct 6 20:57:31 sip /usr/sbin/sip-proxy[7455]: WARNING: tls [tls_init.c:592]: tls: ser compiled without MALLOC_STATS support: the workaround for low mem. openssl bugs will _not_ work
or can i just add -DFMSTATS to my make command without specifying any flavor?
You need to add FMSTATS=1 or extra_defs=-DMALLOC_STATS to make cfg (if you compile with MEMDBG=0, otherwise stats are on anyway).
E.g.: make cfg FMSTATS=1 include_modules=tls .... ; make all
Andrei
On Oct 06, 2010 at 20:59, Juha Heinanen jh@tutpro.com wrote:
Andrei Pelinescu-Onciul writes:
There are 2 different statistics defines and they are disabled for 2 different reasons.
andrei,
what about MALLOC_STATS? why is it disabled by default?
Very minor performance hit (at least it should be minor, but I never measured it).
Oct 6 20:57:31 sip /usr/sbin/sip-proxy[7455]: WARNING: tls [tls_init.c:592]: tls: ser compiled without MALLOC_STATS support: the workaround for low mem. openssl bugs will _not_ work
Yes, it's used by 3 different things:
- tls (runtime, checks if enough free memory is available before accepting/creating new connection or even receving packets on an existing connection) - auth - only on init, for sanity checks (and nicer error messages) for nc_array_size, nc_array_order, otb_in_flight_no, otn_in_flight_order. - core.shmmem: it's faster with MALLOC_STATS
We could enable it, but only tls in low memory scenarios will gain from it.
Andrei
On Wednesday 06 October 2010, Daniel-Constantin Mierla wrote:
Kamailio (OpenSER) v3.1.0 is out – major release with impressing number of new features and improvements.
Hello Daniel,
thanks a lot. :-) I've uploaded the tarball and the changelog also to sourceforge.
Cheers,
Henning