Thursday, January 28, 2010

Kamailio 3.0.0 at FOSDEM 2010, Brussels, Feb 6-7

I will give a lightning talk about Kamailio (OpenSER) 3.0.0 on the main track at FOSDEM 2010, the annual meeting of free and open source developers.

It is already a tradition that folks around Kamailio (OpenSER) and SIP-Router.org projects meet in Brussels to plan the year. Last time we crafted the SIP Router integration plan, which seemed impossible to be doable in an usual release cycle, but it was with luck, 3.0.0 is already out there.

So, as usually, Friday evening is the FOSDEM beer event and Saturday evening is Kamailio (OpenSER) dinner. If you want to join, drop me an email to reserve you a seat and send location details, at miconda [at] gmail.com

You will have the opportunity to meet some of project's developers:
  • me (hehe, first, I am the rock star in my blog :-) )
  • Henning Westerholt
  • Elena-Ramona Modroiu
  • Marius Zbihlei
  • Olivier Taylor
  • Dan Bogos
  • Olle E Johansson (still to be confirmed)
Several other community members registered, seems it will be a crowded place. For sure we'll have fun. See some pictures from previous similar events:
Hope to meet many of you in Brussels!

Wednesday, January 27, 2010

eLeaning class on Kamailio to start on Feb 8, 2010

A new E-Learning class about SIP Router Configuration File is due to start on February 8, 2010. Registrations are accepted up to February 5, 2010.

The class duration is six months and gives the opportunity to learn the structure of configuration file and how to write it properly. Lessons are applied to Kamailio (OpenSER) and SIP Router SIP servers, touching VoIP security and scalability.

Kamailio (OpenSER), now at release v3.0.0, is an open source SIP server, awarded Best of Open Source Networking Software 2009 by InfoWorld magazine, used world wide in VoIP platforms servicing millions of active subscribers and routing billions of call minutes per month.

Target attendees:

  • VoIP administrators willing to learn and have a support channel for SIP Router configuration file
  • System and network administrators willing to enhance their portfolio with VoIP knowledge

Use the contact form for registration details.

Tuesday, January 26, 2010

Two weeks Kamailio 3.0.0

Two weeks since Kamailio 3.0.0 was released and everything goes smooth. Unexpected?!? Many were reticent about stability provided the bag of new features and the integration of core and tm module with SIP Express Router (SER) within SIP Router project. Indeed 2009 was heavy work year, but we prolonged the testing period to ensure 3.0.0 delivers high quality release as used to be always.

The users of voipuser.org and iptel.org VoIP services may have noticed that they run on Kamailio 3.0.0 and branch SR 3.0.0 for quite some time. Although they are free VoIP services, they host thousands of active subscribers, the first one serving over 50 SIP messages per second.

As you could imagine, they run to core of proxy modules, like authentication, user location, accounting, nat traversal, presence and dialog, group-based authorization. With all of these everything rocks in 3.0.0. As a matter of fact, during these two weeks just few bugs were reported, in the usual spectrum after any major released, none of them affecting the core modules (so far misbehaving modules were sip_trace and uac).

Discussions about 3.0.0 lead the public lists and new development is already in place waiting 3.1.0. I am going to blog separately about what is new added after 3.0.0 in these two weeks, but now shortly:
  • app_lua - run embedded Lua scripts from config
  • mtree - config caching system that index the values on a tree structure (there is another option, older, htable to index in shared memory hash tables), ideal for fast DID routing
  • uac - module can do and manage registrations to another server
  • pipelimit - module to set limits (e.g., calls per second) based on customizable rules (e.g., trunks, destination address, source address, user).
  • geoip - get the location based on IP address (e.g., source or destination of a call)
I feel really pleased with the outcome of SIP Router project so far, especially for Kamailio 3.0.0.

Friday, January 22, 2010

Tru++ 2010

This week came with great news from Truphone, would have been nice to catch up with TruThings at ITCom in Miami, but decided for Berlin to give a presentation at 3G + & LTE Event, however:
  • yeah, Truphone Local Anywhere is out - eager to get my hands on one SIM asap (any events soon in UK?!?!), my mobile roaming bill considering the traveling agenda would really increase my company profit in 2010. So, free calls when Wi-Fi, good price when on GSM and amazing low prices when roaming..
  • and of course, Tru'Droid for Nexus One, couldn't last very long without anyhow, but just above 2 weeks since device was released is remarkable - congratulations to the team, being the first to offer calls over Wi-Fi with the Google phone



The smarter choice is becoming the obvious choice.

Tuesday, January 19, 2010

3G+ and LTE Event in Berlin

This end of the week I will give a presentation at 3G+ and LTE Network Planning and Optimization Forum, taking place in Berlin, Hotel Palace, January 20-22, 2010.

The speech will focus on SIP Applications for 3G+ Networks:

* Demands and challenges of SIP for quality communication service
* SIP for Voice and beyond – build scalable new services in 3G+
* Quality of service versus quality of experience
* SIP as bearer for QoS metrics and monitoring data
* What attractive services can be built using SIP
* How SIP can be used to drive the maintenance of networks 3G+ Optimization (e.g., monitoring nodes, capacity, optimizing routes)

If happens to be around and want to meet, drop me an email (or comment here).

Monday, January 18, 2010

Siremis v1.0.0 Released

A new version of SIREMIS Web Management Interface for Kamailio (former OpenSER) is available as v1.0.0.

Siremis enables straightforward management of subscriber profiles, least cost routing and load balancing rules, communication at runtime with Kamailio, displays monitoring charts. You find detailed list of feature at:

http://siremis.asipto.com

v1.0.0 is a major release introducing many new features:

  • presence service management – watchers, active watchers and presentity
  • sip trace view – access sip_trace module records, highlight headers and group by call-id
  • user location statistics charts – online user agents, supported SIP methods, contacts and nat related charts
  • update of the core components to latest stable versions
  • update to work with latest Kamailio (OpenSER) v3.0.0
  • patch to work with older Kamailio (OpenSER) v1.5.x
  • time-based X-axis for charts print labels as HH:MM
  • charts types supported: line, line dot and area

Download and installation steps:

http://siremis.asipto.com/install/



Some screenshots specific for this version:
http://www.asipto.com/gallery/v/siremis/siremis_22.png.html
http://www.asipto.com/gallery/v/siremis/siremis_23.png.html
http://www.asipto.com/gallery/v/siremis/siremis_24.png.html

More screenshots:

http://www.asipto.com/gallery/v/siremis/

Demo site (it works on a database with random data, username: admin, password: admin):

http://siremis.asipto.com/demo/

Sunday, January 17, 2010

Best of New in Kamailio 3.0.0 - #19: htable

This is the last post in this series. It is still a lot to talk about, but now is time for new development. You can check the wiki page with what is new in Kamailio (OpenSER) 3.0.0:

http://www.kamailio.org/dokuwiki/doku.php/features:new-in-3.0.x

I am stopping just a bit to hash table module, the one that provides a shared caching system in config file. You can load at start time values from a database in shared memory and then get/set them at runtime.

The module can cope with many hash tables at same time. The items in tables can have expire time, being automatically deleted if there is no updated done to them.

The 3.0.0 brings couple of enhancements to this module:
  • run a routing block at start time - event_route[htable:mod-init] - is executed just after the module has been initialized, allowing you to set initial values in hash tables. Note that you can us this route block to initialize parameters and script variables for other modules
  • count items in a table by regular expression over the value
  • count items in a table by regular expression over the name

Here is a simple example of how to count active calls done by each user and limit to 3:
...
modparam("htable", "htable", "acalls=>size=8;")
...
route {
...
if(is_method("INVITE") && !has_totag())
{
# a new call
if($shtcv(ht=>^$fU$)>=3)
{
send_reply("403", "limit exceeded");
exit;
}
$sht(acalls=>$ci) = $fU;
t_on_failure("NEW_INVITE");
}

if(is_method("BYE"))
{
$sht(acalls=>$ci) = $null;
}
...
}

failure_route[NEW_INVITE] {
$sht(acalls=>$ci) = $null;
}
For more see module's readme:
http://kamailio.org/docs/modules/3.0.x/modules_k/htable.html

Best of New in Kamailio 3.0.0 - Table of Content.

Saturday, January 16, 2010

Kamailio and FreeSWITCH - LCR and SBC

Several days ago I came across this interesting article describing how to use Kamailio as carrier grade Least Cost Routing engine and FreeSWITCH as SBC, it is almost one year old, but very well maintained.

First it shows how easy is to integrate both applications to solve demands. Then, although some features offered by those applications overlap, their main target differ, therefore they complete rather than compete.

I am using FreeSwitch pretty much for any new b2bua and voice related application I have to add to my SIP servicing solutions, but still when comes to SIP signaling handling, Kamailio is the king, no mater is about SIP packets mangling, registrar and user location, load balancing or least cost routing.

Overall, it is important to value the blending of open source applications, no matter is Asterisk, FreeSwitch or Kamailio, to build outstanding services and solution. I do not believe in "one size fits all" and most troubles reported out there to each of those projects are due to misuage - trying to do everything with one application, even for functionalities they were not designed for.

Friday, January 15, 2010

Best of New in Kamailio 3.0.0 - #18: transaction management

Transaction management (tm module) was the most re-worked internally. Inherited from SER via SIP Router framework, it brings a lot of novelty for Kamailio users. The core of the module in this form is out and tested heavily for more that two years.

When comparing with the version we have in older versions of Kamailio (OpenSER), the new design removed a lot of locks, improved the retransmissions timers and exports richer API to build new applications in tops of it.

In order to keep the module slim, a new module was created: tmx - tm extensions, trying to collect high application level function and let tm mainly for the core of transaction management.

Here is the summary about tm module:
  • module was overhauled
    • faster and more lightweight timer implementations for retransmissions
    • removed lot of locks by a better design
    • more internal hooks to develop applications on top of module
  • asynchronous message processing support
    • you can park the transaction and resume the processing later
    • meanwhile the SIP worker process can handle new SIP traffic
  • option to decide what replies to drop in serial forking steps
  • load of new functions to access transactions
  • new parameters to tune transaction management
As for tmx:
  • special pseudo-variables tied to tm in request, failure, branch or reply routes:
    • $T_inv(pv)
    • access to pseudo-variables and attributes of INVITE while processing the CANCEL
    • $T_req(pv)
    • access to pseudo-variables and attributes of SIP request while processing the reply
    • $T_rpl(pv)
    • access to pseudo-variables and attributes of SIP reply while processing the request

Best of New in Kamailio 3.0.0 - Table of Content.

Thursday, January 14, 2010

Best of New in Kamailio 3.0.0 - #17: xmlrpc

Kamailio (OpenSER) 3.0.0 was released on Jan 11, 2010. I updated the release notes and what is new in 3.0.0 wiki pages a lot inspired from this series - I deserve myself sending thanks to me.

However, there will be two three more posts here and that's it, devel for next major release has started, no more time for old versions...

So, now XMLRPC. Kamailio (OpenSER) includes for quite some time the mi_xmlrpc module, the XMLRPC bearer for MI commands. The dependence of libxmlrpc-c3 set several limitations and created many problems over the time which are underlined by the benefits of the new one.

The version 3.0.0 brings an XMLRPC connector for RPC control interface, module named xmlrpc. Note that you can run any MI command via RPC interface. The new module has several features that makes it irresistible when needing such communication channel:
  • no external library, it reuses the transport layer from the core
  • that means scalable tcp and tls support at a glance
  • you can process xmlrpc requests at the same rate of SIP requests (hmm, 10 000 xmlrpc's/second, that's quite some traffic)
  • execute a config route block for each xmlrpc request
  • practically you can check in config the content of xmlrpc packet and do lot of operations with it
  • test the source IP, port, transport protocol - easy implementation of authorization (previously possible only by using firewalls)
  • reply to xmlrpc command from config file
Here is an example of usage:
#...
modparam("xmlrpc", "route", "XMLRPC");
#...
route[XMLRPC]{
# allow XMLRPC requests only on TLS and only if the client
# certificate is valid
if (proto!=TLS){
xmlrpc_reply("400", "xmlrpc allowed only over TLS");
return;
}
if (@tls.peer.verified!=""){
xmlrpc_reply("400", "Unauthorized");
return;
}
if (search("^User-Agent:.*xmlrpclib"))
set_reply_close();
set_reply_no_connect(); # optional
dispatch_rpc();
}

Next: transaction management improvements.

Best of New in Kamailio 3.0.0 - Table of Content.

Monday, January 11, 2010

Kamailio (OpenSER) v3.0.0 Released

After ten months since previous major release 1.5.0, I am glad to announce that Kamailio (OpenSER) v3.0.0 is out.

It is a special release, being the first based on SIP Router project. Along with new things developed during the past months, you can blend features and modules provided by previous versions of Kamailio (OpenSER) and SIP Express Router (SER) in same configuration file. Given these, 3.0.0 offers an impressive number of new features and improvements, read release notes at:

http://www.kamailio.org/mos/view/Kamailio-OpenSER-v3.0.0-Release-Notes

Wiki page with more details about what is new:
http://www.kamailio.org/dokuwiki/doku.php/features:new-in-3.0.x

The tarball with sources:
http://www.kamailio.org/pub/kamailio/latest/src/

Binary packages for several distributions:
http://www.kamailio.org/pub/kamailio/latest/bin/
http://www.kamailio.org/pub/kamailio/latest/packages/

Modules' documentation:
- http://www.kamailio.org/docs/modules/3.0.x/
Cookbooks and more wiki docs:
- http://www.kamailio.org/dokuwiki/
Migration guidelines:
- http://www.kamailio.org/dokuwiki/doku.php/install:1.5.x-to-3.0.0

From Kamailio project point of view, this is the first major milestone accomplished within SIP Router project, proving its viability. The work done so far, to offer the features brought out by this release, together with the development teams working together, make the future of the SIP Router project very solid.

I would like to thank to everybody that contributed to get SIP Router project at this stage and I am eager to get to next major release from it source tree -- the work will continue in order to offer a more tight integration of Kamailio (OpenSER) and SIP Express Router (SER) projects, of course, along with development of new features.

Sunday, January 10, 2010

Best of New in Kamailio 3.0.0 - #16: auth sip identity

auth_identity is a new module in Kamailio (OpenSER) 3.0.0 implementing RFC 4474 - Authenticated Identity Management in the Session Initiation Protocol (SIP) - aka SIP Identity.

The RFC defines a mechanism for securely identifying originators of SIP messages, a transitive authentication system, building signature over SIP message body and relevant headers, like From, To, Date, Call-Id, CSeq, Contact.

Among immediate benefits are protection again man-in-the-middle attacks, registration hijacking or Caller ID spoofing.

The module offers two main services:
  • authorizer - authorizes a message and adds Identity and Identity-Info headers
  • verifier - verifies an authorized message
The readme of the module is available online at:
http://kamailio.org/docs/modules/3.0.x/modules/auth_identity.html

The series continues with: secure and scalable XMLRPC control interface.

Saturday, January 9, 2010

Best of New in Kamailio 3.0.0 - #15: sctp

SCTP - Stream Control Transmission Protocol - read more about this protocol at wikipedia or the IETF RFC. Being designed with telephony in mind, SCTP and SIP match perfectly, unfortunately not many end devices support it due to late appearance, but for internal infrastructure and peering is the best option in terms of server resource usage, scalability and high availability.

Kamailio (OpenSER) 3.0.0 offers of the most complete SCTP implementation in the open source SIP and VoIP world. The numbers of features talk themselves:
  • multi-homing
  • statistics for SCTP
  • connections associations - multi-streaming
  • connection auto-close
  • runtime re-configuration of SCTP parameters
  • management of attributes for retransmission at SCTP transport layer
  • connection reuse
  • connection tracking
  • black-listing at SCTP level
  • ability to fallback to SCTP for big UDP packets
  • over 20 parameters to tune SCTP behaviour
  • configurable time to live, send retries, send and receive buffer size, retransmission timeout, a.s.o
  • admin access via RCP control interface
Next some examples of using command line interface application sercmd to access SCTP options:

 $sercmd core.sctp_info
{
opened_connections: 0
tracked_connections: 0
total_connections: 50007
}

$ sercmd core.sctp_options
{
sctp_socket_rcvbuf: 54784
sctp_socket_sndbuf: 54784
sctp_autoclose: 180
sctp_send_ttl: 32000
sctp_send_retries: 0
sctp_srto_initial: 3000
sctp_srto_max: 60000
sctp_srto_min: 1000
sctp_asocmaxrxt: 10
sctp_init_max_attempts: 8
sctp_init_max_timeo: 60000
sctp_hbinterval: 30000
sctp_pathmaxrxt: 5
sctp_sack_delay: 200
sctp_sack_freq: 0
sctp_max_burst: 4
}
Integration of SIP with SS7 networks should be pushed forward by availability of this SCTP implementation in the Open Source space. Also I expect more and more big SIP platforms to migrate internally to SCTP, mainly because of reliability and high availability features offered by this transport layer.

The series will continue with SIP identity authentication - RFC4474

Friday, January 8, 2010

Best of New in Kamailio 3.0.0 - #14: iptrtpproxy

If you face limitations in handling the RTP streams for your behind NAT users, check the new module in Kamailio (OpenSER) 3.0.0 named: iptrtpproxy.

Online readme available at:
http://kamailio.org/docs/modules/3.0.x/modules/iptrtpproxy.html

Using it, all RTP streams are manipulated directly in kernel space, no data are copied from kernel to userspace and back, therefore reducing load and delay.

The provides similar functionality as nathelper but communicates with netfilter kernel xt_RTPPROXY module using libipt_RTPPROXY userspace library. More about these at:
http://www.2p.cz/en/netfilter_rtp_proxy

AFAIK, these NAT traversal solution is used by public VoIP service offered by iptel.org, therefore is pretty much production ready (Note: the module is not a new development, it is available in Kamailio 3.0.0 via SIP Router project framework from SIP Express Router (SER)).

Next I will get back to transport layer: SCTP - Stream Control Transmission Protocol - wikipedia.

Thursday, January 7, 2010

Best of New in Kamailio 3.0.0 - #13: number portability

Contributed by 1&1, the German provider running a telephony service with over 3 000 000 subscribers, Kamaialio (OpenSER) 3.0.0 comes with a suite of tools to implement fast number portability handling:
  • pdbt server - located in source directory, under utils/pdbt
  • pdb module - client for the server, as Kamailio module
The PDB module and server have support for load-balancing and aggressive timeouts (in milliseconds), offering a scalable framework for number portability service.

The module can query in many servers in parallel and use the first answer , ensuring just few milliseconds to query the remote server and return the reply to the configuration script. Runtime management can be done via Kamailio's control interface (e.g., via XMLRPC, FIFO file, UDP or TCP sockets).

See the readme online at:
http://kamailio.org/docs/modules/3.0.x/modules/pdb.html

Coming next: iptrtpproxy - kernel-based media relaying for nat traversal

Wednesday, January 6, 2010

Best of New in Kamailio 3.0.0 - #12: development team

The most important aspect of every open source project is long term reliability. Kamailio (OpenSER) is no longer a small application, version 3.0.0 packages over 100 modules and you can use now other over 50 modules coming from SIP Express Router (SER).

On another hand, we play on the availability-is-critical market - telecommunications. By law or user expectation, the service should not be down nor have long delays. If there is a bug, it has to be fixed quick, if there is a regression, then needs to be recovered asap. If the user has an emergency, you must route his 112 (911) call at any time.

Moreover, just voice communication is deprecated, providers need to offer new services to resist on the market, new features need to be brought in.

Considering all these, first thing to analyze to an open source project is the development team. And I think the SIP Router Project (out of which we package Kamailio (OpenSER) 3.0.0) has a great group of people and companies doing support and development.

With the risk of forgetting many of them (I will do that to myself, but just contact me if your name is missing), I am listing some names (no order preference) along with very short description (google their name for more):
  • Andrei Pelinescu-Onciul - the one that wrote first line (and 2nd, 3rd, and couple more) of code for SIP Express Router (SER), credited for the application design, very active all the time since the SER project started, keeping SER the reference name of open source SIP server (NOTE: SER is the foundation for Kamailio (OpenSER) (fork of SER in 2005) or other variants, many Kamailio developers were working to SER project as well). He is working for Iptelorg
  • Juha Heinanen - running TutPro consultancy service, member of Kamailio management team, doctor in computer science, former professor at Tampere University, author of many RFCs, and the list can continue … from the web:
    http://www.arkko.com/tools/rfcstats/juhaheinanen.html
  • Jan Janak - one of the most important and oldest developers of SIP Express Router (SER), tight involved in project administration, working for Iptelorg
  • Elena-Ramona Modroiu - member of Kamailio management team, co-founder of Kamailio (OpenSER), author of many tutorials about Kamailio, including the Devel Guide, running consultancy service at asipto.com
  • Miklos Tirpak - among first contributors of SIP Express Router (SER) project, working for Iptelorg
  • Klaus Darilion - doctor in computer science at Technical University Vienna, involved in ENUM and security of VoIP/SIP, author/contributor to several open source applications (e.g., QjSimple SIP phone) and papers related to these domains, working at ipcom.at
  • Jiri Kuthan - in charge with SIP Express Router (SER) project management at FhG Fokus where it started just before year 2000, involved in development, author of IETF RFCs, running Iptelorg
  • Henning Westerholt - developer and member of management board of Kamailio, in charge with the biggest VoIP deployment based on Kamailio(OpenSER) I ever heard of: by now about 3 000 000 users, 6 000 000 phone numbers, 2 000 000 000 routed minutes per month (older reference), working at 1&1
  • Raphael Coeffic - initial author of SIP Express Media Server (SEMS), working at Iptelorg
  • Andreas Granig - Kamailio developer, author of Kamailio Config Wizard, working at sipwise.com
  • Martin Hoffmann - developer member of SER management team, working at Telio
  • Jesus Rodriguez - Kamailio developer and FreeBSD packager, working at Voztele.com
  • Greger Viken Teigre - member of SER management team, one of the authors of SER Getting Started guide
  • Inaki Baz Castillo - Kamailio and SIP Router developer, running sipdoc.net
  • Stefan Sayer - main author of SIP Express Media Server (SEMS), member of SER management team, working at Iptego
  • Carsten Bock - Kamailio and SIP Router developer, in charge with many SIP deployments in telco and mobile operators across Europe, working for Basis Audionet
  • Maxim Sobolev - developer of SER and author of RTPProxy, Sippy B2BUA, working at Sippy Soft
  • Alex Balashov - Kamailio advocate, long term community support activist, running consultancy service at evaristesys.com
  • Ovidiu Sas - Kamailio developer, running voipembedded.com
  • Nils Ohlmeier - SER developer, author of sipsak, VoIP RFC Watch and other SIP testing tools, working as SIP and VoIP consultant
  • Olle E. Johansson - registered developer of Kamailio and SIP Router, well known for its activity as main SIP developer for Asterisk, running edvina.net
  • Hendrik Scholz - SER developer, in charge with Freenet VoIP platform of over 700 000 users, working at FreeNet AG (NOTE: Freenet DLS & VoIP was bought by 1&1 in 2009, resulting in 1&1 VoIP platform running a subscriber base of over 4 000 000 000 SIP accounts once integration is done)
I would say:
  • with such squad, the future development is safe and guaranteed for high quality outcome
  • the combined SIP and VoIP expertise is outstanding
  • this is clear not one-man project, therefore not dependent of availability of one person
  • it is no company that can take control over the project, ensuring impartial evolution and business environment
  • having many companies behind the devs, the project has a strong business and financial backup for a solid future
  • biggest VoIP providers in Europe are directly involved in the SIP Router project: 1&1, FreeNet and Telio
Do you need more references to convince you or your upper management to go with SIP-Router-project-based solutions? Contact me, I have dozen of other references for you, now I listed only those related to people involved in development team right now.

Next episode: number portability.

Tuesday, January 5, 2010

Best of New in Kamailio 3.0.0 - #11: memcached connector

Another interesting module in Kamailio (OpenSER) 3.0.0 is memcached - readme is available online at:

http://kamailio.org/docs/modules/3.0.x/modules_k/memcached.html

Memcached is a distributed memory object caching system and the Kamailio module sharing the same name gives you the possibility to access the key-values stored in Memcached server from withing Kamailio configuration file.

Main featured offered by memcached module:
  • get/set integer or string values from/to memcached server
  • atomic increment or decrement integer values from memcached server
  • key can be static string or dynamic value build from other config variables
  • set expire time for memcached values
  • operations are done via pseudo-variables, therefore memcached values can be used by other modules, can be printed via xlog, a.s.o.
The pseudo-variables that give access to memcached operations are documented here.

Example of usage - count number of SIP requests to IP 10.10.10.10:

event_route[htable:mod-init] {
$mct(10.10.10.10) = 0;
}

route {
...
if(snd_ip==10.10.10.10)
$mcinc(10.10.10.10) = 1;
...
}
Then you can pull the number of SIP requests from a different application, like web admin portal.

Next in this series will not be about a SIP-related feature, but probably the most important aspect over all: the development team - join of Kamailio (OpenSER) and SIP Express Router (SER) under SIP Router Project, resulting in lot more people working on, with large expertise in the area, backed up by many companies, to ensure solid future and extraordinary quality of project.

SIP-related new features will continue afterwards.

Monday, January 4, 2010

Schedule for Kamailio 3.0.0 Release

Kamailio (OpenSER) 3.0.0 release scheduled for January 11, 2010 ...

This time the testing phase was a bit longer way than usual, but the achievements pay the bill - you can run Kamailio (OpenSER) and SIP Express Router (SER) modules at the same time, as well as most of the core features from both applications.

Proposed date to release Kamailio (OpenSER) 3.0.0 is the 11th of January. If you are aware of issues in branch 3.0, report them to:
sr-dev [at] lists.sip-router.org

I encourage everyone to contribute to wiki pages for what is new and migration from 1.5.x:
http://www.kamailio.org/dokuwiki/doku.php/features:new-in-3.0.x
http://www.kamailio.org/dokuwiki/doku.php/install:1.5.x-to-3.0.0

To get upcoming 3.0.0 from GIT and test, see:
http://www.kamailio.org/dokuwiki/doku.php/install:kamailio-3.0.x-from-git

I started to detail some of the new features in blog posts, see ToC at:

http://bit.ly/4qy9cn

A great 2010 for kamailians and sip router users!

Sunday, January 3, 2010

Best of New in Kamailio 3.0.0 - #10: topology hiding

Kamailio (OpenSER) 3.0.0 comes with a new module named topoh. In SIP, there are several headers indicating the local IP address of user agent or the path taken to rich the SIP server:
  • top most Via header
  • contact address
  • Record-Route headers
  • sometimes the Call-ID header
You may want to hide such details, typical use cases being:
  • protect the addresses of your PSTN gateways - will protect you against people trying to attack them to get free calls
  • protect your internal network topology - when having a big platform with many servers, you do not disclose their addresses
  • interconnection provider - to keep the details of connected parties secret to the other, to prevent a bypass of its service in the future
Note that for full privacy, you have to use a media relay (like rtpproxy) to hide the endpoints of media stream.

Advantages of topology hiding via topoh module:
  • lightweight solution - it is built in top of the SIP proxy, does not keep the state of the call. Needed information is encrypted in the SIP message
  • it can work across several SIP servers - by sharing same secret, different servers can encode/decode SIP messages within same call
  • script writer gets access to clear SIP messages - using an innovation in Kamailio 3.0.0, the SIP message is decode before executing the config file and is encoded after it execution. Practically, in config you process headers as they are set by caller or callee, ensuring proper accounting, authorization, etc.
  • straightforward usage - you need just to load the module, eventually tune the module parameters and that's it - topology hiding functionality is transparent to config routing logic
  • scalability - there is no back-to-back user agent involved, one box running topoh can scale up to many thousands of active calls with a casual server hardware these days
See screenshots with headers of (pay attention to Via, Contact, Call-ID):
  • received INVITE from caller
  • forwarded INVITE to callee
  • received 200 ok from callee
  • forwarded 200 ok to caller






The readme of topoh module is available at:
http://kamailio.org/docs/modules/3.0.x/modules/topoh.html

Check next post to learn about MemCached connector - accessing memcached from Kamailio config file.

Saturday, January 2, 2010

Best of New in Kamailio 3.0.0 - ToC

Best of New in Kamailio (OpenSER) 3.0.0

Kamailio (OpenSER) v3.0.0 was released on January 11, 2010. It is the first version done based on http://sip-router.org integration project, meaning that you can use mixed features of Kamailio (OpenSER) and SIP Express Router (SER) in the same configuration file.

This page collects the links to a series of blog posts highlighting the best new features made available by 3.0.0 release.

Table of content: