Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
history:ser-9-years [2010/09/03 17:22]
miconda
history:ser-9-years [2010/09/03 23:36] (current)
miconda
Line 10: Line 10:
 **SIP Express Router** (aka **SER**) is a high-performance, configurable, free Session Initiation Protocol (SIP) server licensed under the open-source GNU license, offering a large set of features. Started before the publishing of RFC3261 (SIP v2.0), SER pioneered the development of many SIP extensions and pushed further the real-time communications over IP. **SIP Express Router** (aka **SER**) is a high-performance, configurable, free Session Initiation Protocol (SIP) server licensed under the open-source GNU license, offering a large set of features. Started before the publishing of RFC3261 (SIP v2.0), SER pioneered the development of many SIP extensions and pushed further the real-time communications over IP.
  
-It is the oldest open source SIP server, routing **billions of VoIP minutes every month world wide**, being used from Telcos and Carriers to ITSP and SOHO  environments. If you haven't heard of it so far, it is very likely because your VoIP provider routes the calls fast and reliable with SER-based SIP servers, so you don't need to build your own system.+Initial project web site was: 
 +  * http://iptel.org/ser 
 + 
 +Now the web site of development version is: 
 +  * http://sip-router.org 
 + 
 +{{ http://sip-router.org/wp-images/ser-logo.jpg }} 
 + 
 +It is the oldest and most robust open source SIP server, routing **billions of VoIP minutes every month world wide**, being used from Telcos and Carriers to ITSP and SOHO  environments. If you haven't heard of it so far, it is very likely because your VoIP provider routes the calls fast and reliable with SER-based SIP servers, so you don't need to build your own system.
  
 First source code commit of SER was done **9 years ago**: **Sep 3, 2001**. According to GIT log, first three commits were: First source code commit of SER was done **9 years ago**: **Sep 3, 2001**. According to GIT log, first three commits were:
Line 22: Line 30:
 </code> </code>
  
-That is **3286 days** of continuous development, with over 70 registered developers and hundreds of contributors.+That is **3286 days** of continuous development, with over **70** registered developers and hundreds of contributors, estimated cost of development: **over 8 000 000 USD**.
  
 ===== Summary of Evolution ===== ===== Summary of Evolution =====
  
   * **September 2001** - initial commit, SER was then developed for about one year internally at FhG FOKUS Institute, Berlin, Germany   * **September 2001** - initial commit, SER was then developed for about one year internally at FhG FOKUS Institute, Berlin, Germany
-  * **Autumn 2002** - SER was released as GPL, code published on berlios.de +  * **Autumn 2002** - SER was released as GPL, code published on BerliOS: http://developer.berlios.de/projects/ser/ 
-  * **June 2005** - OpenSER forked from SER, code hosted by sourceforge.net +  * **June 2005** - [[http://www.openser-project.org|OpenSER]] forked from SER, code hosted by Source Forge: http://sourceforge.net/projects/openser/ 
-  * **July 2008** - OpenSER was renamed to Kamailio+  * **July 2008** - OpenSER was renamed to [[http://www.kamailio.org|Kamailio]]
   * **November 2008** - SER and Kamailio teams decide to join development efforts and merge the source code trees of the two applications   * **November 2008** - SER and Kamailio teams decide to join development efforts and merge the source code trees of the two applications
 +    * development portal for both changed to: http://sip-router.org
   * **January 2010** - version 3.0.0 is released, from a source code tree containing both SER and Kamailio   * **January 2010** - version 3.0.0 is released, from a source code tree containing both SER and Kamailio
   * **September 2010** - expect next major release, version 3.1.0   * **September 2010** - expect next major release, version 3.1.0
Line 37: Line 46:
  
 SER code and architecture was and still is the foundation for other projects that forked over years from it or from its forks, which still keep majority of inherited code untouched. SER code and architecture was and still is the foundation for other projects that forked over years from it or from its forks, which still keep majority of inherited code untouched.
 +
 +As you can notice, **SER** and **Kamailio** are now same application (completely the same source code). The difference is made by what modules are you using for same purpose (e.g., user authentication, location, accounting) because the variants have a different database structure (you can notice later the existence of modules with same name, but located in different folders).
 +
 +{{ http://www.kamailio.org/wp-images/kamailio-rock-logo.jpg }}
 +
 +Of course you can combine to some extent, for example use Kamailio-specific accounting module with SER-specific database user authentication module. The limitation comes to modules that have dependencies, for example registrar module depends on usrloc module -- you have to use both from one side.
  
 ==== Public Releases ==== ==== Public Releases ====
Line 45: Line 60:
  
  
-  * SER 0.8.x +  * 2002-09-25: SER 0.8.x 
-  * SER 0.9.x +  * 2005-07-04: SER 0.9.x 
-  * SER 2.0.x +  * 2008-08-06: SER 2.0.x 
-  * SER 2.1.x+  * 2009-02-28: SER 2.1.x
  
 === Kamailio (OpenSER) Only Versions === === Kamailio (OpenSER) Only Versions ===
  
  
-  * Kamailio (OpenSER) 0.9.x - release built mainly out of SER 0.9.x +  * 2005-06-14: Kamailio (OpenSER) 0.9.x - release built mainly out of SER 0.9.x 
-  * Kamailio (OpenSER) 1.0.x +  * 2005-10-25: Kamailio (OpenSER) 1.0.x 
-  * Kamailio (OpenSER) 1.1.x +  * 2006-07-10: Kamailio (OpenSER) 1.1.x 
-  * Kamailio (OpenSER) 1.2.x +  * 2007-03-12: Kamailio (OpenSER) 1.2.x 
-  * Kamailio (OpenSER) 1.3.x - [[http://www.kamailio.org/dokuwiki/doku.php/features:new-in-1.3.x|See what was added in 1.3.x]] +  * 2007-12-13: Kamailio (OpenSER) 1.3.x - [[http://www.kamailio.org/dokuwiki/doku.php/features:new-in-1.3.x|See what was added in 1.3.x]] 
-  * Kamailio (OpenSER) 1.4.x - [[http://www.kamailio.org/dokuwiki/doku.php/features:new-in-1.4.x|See what was added in 1.4.x]] +  * 2008-08-07: Kamailio (OpenSER) 1.4.x - [[http://www.kamailio.org/dokuwiki/doku.php/features:new-in-1.4.x|See what was added in 1.4.x]] 
-  * Kamailio (OpenSER) 1.5.x - [[http://www.kamailio.org/dokuwiki/doku.php/features:new-in-1.5.x|See what was added in 1.5.x]]+  * 2009-03-02: Kamailio (OpenSER) 1.5.x - [[http://www.kamailio.org/dokuwiki/doku.php/features:new-in-1.5.x|See what was added in 1.5.x]]
  
  
Line 65: Line 80:
  
  
-  * SER and Kamailio (OpenSER) 3.0.x+  * 2010-01-11: SER and Kamailio (OpenSER) 3.0.x
     * [[http://www.kamailio.org/dokuwiki/doku.php/features:new-in-3.0.x|See what was added in 3.0.x]]     * [[http://www.kamailio.org/dokuwiki/doku.php/features:new-in-3.0.x|See what was added in 3.0.x]]
  
Line 76: Line 91:
 ==== SER Arguments ==== ==== SER Arguments ====
  
-Output of **ser -h** and **ser -V** at very young age:+The command line arguments of SER changed over the years, but you can notice that it has **IPv6** support since 2002 (well, we still wait for ISPs...). 
 + 
 +Output of **ser -h** and **ser -V** at very young age (recompiled today):
  
 <code> <code>
Line 121: Line 138:
 ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 3040 ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 3040
 @(#) $Id: main.c,v 1.119 2002-09-25 19:20:26 andrei Rel $ @(#) $Id: main.c,v 1.119 2002-09-25 19:20:26 andrei Rel $
-main.c compiled on 17:11:29 Oct  18 2002 with gcc+main.c compiled on 17:11:29Sep  3 2010 with gcc 4.4
  
 </code> </code>
Line 129: Line 146:
  
 <code> <code>
-./ser -h+ser -h
 version: ser 3.0.99-dev1 (i386/linux) b72876 version: ser 3.0.99-dev1 (i386/linux) b72876
 Usage: ser [options] Usage: ser [options]
Line 177: Line 194:
 # ser -V # ser -V
 version: ser 3.0.99-dev1 (i386/linux) b72876 version: ser 3.0.99-dev1 (i386/linux) b72876
-flags: STATS: Off, USE_IPV6, USE_TCP, USE_TLS, TLS_HOOKS, USE_RAW_SOCKS, DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MEM, SHM_MMAP, PKG_MALLOC, DBG_QM_MALLOC, USE_FUTEX, FAST_LOCK-ADAPTIVE_WAIT, USE_DNS_CACHE, USE_DNS_FAILOVER, USE_NAPTR, USE_DST_BLACKLIST, HAVE_RESOLV_RES+flags: STATS: Off, USE_IPV6, USE_TCP, USE_TLS, TLS_HOOKS, USE_RAW_SOCKS, 
 +DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MEM, SHM_MMAP, PKG_MALLOC, DBG_QM_MALLOC, 
 +USE_FUTEX, FAST_LOCK-ADAPTIVE_WAIT, USE_DNS_CACHE, USE_DNS_FAILOVER, USE_NAPTR, USE_DST_BLACKLIST, HAVE_RESOLV_RES
 ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 65535, PKG_SIZE 4MB ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 65535, PKG_SIZE 4MB
 poll method support: poll, epoll_lt, epoll_et, sigio_rt, select. poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
Line 189: Line 208:
 ==== Commits ==== ==== Commits ====
  
-Nine years later since first one, the number of commits is 14200:+Nine years later since first one, the number of new development commits is **14200**:
  
 <code> <code>
Line 289: Line 308:
 | Top Month | March | 1727 | 12.16 | | Top Month | March | 1727 | 12.16 |
 | Top Year | 2009 | 2267 | 15.96 | | Top Year | 2009 | 2267 | 15.96 |
 +
 +**Here are the screenshots with detailed representation over the time of commits:**
 +
 +{{ http://sip-router.org/pub/img/9-years/ser-commits-hour-of-day.png }}
 +
 +{{ http://sip-router.org/pub/img/9-years/ser-commits-hour-of-day-graph.png }}
 +
 +{{ http://sip-router.org/pub/img/9-years/ser-commits-hour-of-week.png }}
 +
 +{{ http://sip-router.org/pub/img/9-years/ser-commits-day-of-week.png }}
 +
 +{{ http://sip-router.org/pub/img/9-years/ser-commits-month-of-year.png }}
 +
 +{{ http://sip-router.org/pub/img/9-years/ser-commits-by-year.png }}
 +
 +{{ http://sip-router.org/pub/img/9-years/ser-commits-by-year-table.png }}
 +
 +==== Ohloh Statistics ====
 +
 +Many other statistics can be found at:
 +  * http://www.ohloh.net/p/sip-router
 +
 +For example, estimated cost to develop the project from scratch is over **8 millions USD**:
 +
 +
 +{{ http://sip-router.org/pub/img/9-years/ser-ohloh-project-cost.png }}
  
 ===== Config Files ===== ===== Config Files =====
Line 437: Line 482:
 ==== Default Configs Over Years ==== ==== Default Configs Over Years ====
  
-Nowadays we build two applications from same source code: Kamailio and SER. Next sections show the latest versions of default config files. If you want to see the evolution for each major version, then follow the links:+Nowadays we build two applications from same source code: **Kamailio** and **SER**. 
 + 
 +Next sections show the latest versions of default config files. If you want to see the evolution for each major version, then follow the links:
  
   * [[http://sip-router.org/pub/configs/ser-0.8.x.cfg|Default config for SER 0.8.x]]   * [[http://sip-router.org/pub/configs/ser-0.8.x.cfg|Default config for SER 0.8.x]]
Line 459: Line 506:
 === SER Default Config === === SER Default Config ===
  
 +You can notice in this config the modularity with sub-routes and the usage of string names for routes (e.g., route[REGISTRAR]), first ever introduced by SER in 2007.
  
 <code c> <code c>
Line 1014: Line 1062:
 === Kamailio Default Config === === Kamailio Default Config ===
  
 +You can notice here the usage of **config defines** (#!define XYZ, #!ifdef XYZ, ...) which makes very easy to enable/disable features as well as defining values for tokens that are replaced later in config (e.g., DBURL). The config provides advanced features such as NAT traversal with RTPProxy or presence server.
  
 <code c> <code c>

Navigation

Wiki

Other

QR Code
QR Code history:ser-9-years (generated for current page)