Page Contents
- About OpenSER
- OpenSER Headlines
- OpenSER Events
- OpenSER Capabilities
- Download
- Documentation
- OpenSER Modules
- Deploying OpenSER
- Practical Examples
- Platforms
- Resources
- See also
About OpenSER
Please note that OpenSER no longer exists. It was forked into two projects, Kamailio and OpenSIPS. The two projects are currently very similar, given that they are built on the same code base, however the two projects have differing philosophies and goals (hence the fork).
Source of documentation. Please be advised that OpenSER was originally renamed to Kamailio while maintaining all documentation. However the openser.org domain now points to OpenSIPS. To secure a proper source of information, the original links to openser.org pages now point to the Kamailio domain.
OpenSER was an open source GPL project that aimed to develop a robust and scalable SIP server. It was spawned from FhG FOKUS SIP Express Router (SER) by two core developers and one main contributor of SER, and it promoted a development strategy open for contributions. From project’s website About OpenSER.
OpenSER Headlines
- Monday, November 24, 2008, OpenSER version 1.3.4 was released
- Wednesday, September 27, 2008, OpenSER version 1.3.3 was released.
- Thursday, August 7, 2008. A new major release under the new name: Kamailio 1.4.0 is out. It includes lot of improvements in terms of performance and new features.
- Thursday, June 05, 2008, the 2008 edition of OpenSER Advanced Programming Course will take place in Bucharest, Romania between 11th and 14th of August. Registration is free for everybody.
- Thursday, May 15, 2008, OpenSER version 1.3.2 was released.
- Tuesday, March, 2008, OpenSER version 1.3.1 was released.
- Tuesday, February 19, 2008, the second OpenSER Summit edition takes place in San Jose on 17th of March 2008 during VoN Spring. Registration is open and free on the project web site.
- Tuesday, February 13, 2008, first edition of OpenSER Pavilion is set to take place in San Jose between 18th and 19th of March 2008, in the VoN Spring expo area. Read more about this unique event on the project web site.
Headlines Archive
OpenSER Events
Events around the world where you can meet OpenSER folks or OpenSER has dedicated sessions or talks.
2008
- SIP/SIMPLE-XMPP Developer Workshop, September 2-5, 2008, Paris, France. Free registration.
- OpenSER Advanced Programming Course, 11th to 14th of August, Bucharest, Romania. Free registration.
- OpenSER Summit & Pavilion, March 17-19, San Jose, USA
- IP Communications Technology Summit (Bob2.0), April 2-4, Stockholm, Sweden
- International SIP 2008 Conference, January 29 – February 1, 2008, Paris, France
- Open Source Meets Business Congress, January 22-24, 2008, Nuremberg, Germany
OpenSER Capabilities
- SCTP support
- ‘while’ statement in config file
- dynamic index for header and AVP variables
- config file benchmarking
- SIMPLE Presence support http://kamailio.net/dokuwiki/doku.php/presence:presence-module
- PERL API
- JAVA SIP Servlet Application Server http://wesip.eu
- script variables and transformations http://kamailio.net/dokuwiki/doku.php/transformations:devel
- DNS failover
- IP blacklists
- XMPP IM gateway
- XMLRPC
- SIP session timers
- secure federation peering
- retransmission timer accuracy
- automatic error handling
- AVPs in reply routes
- NAPTR support – more DNS-related requirements from RFC3263 are in
- statistics – lot of internals indicators can be displayed to get a proper overview of OpenSER runtime status
- many improvements in TCP/TLS
- basic dialog support – new module features active call listing during runtime
- possibility to use many more database backends via new unixodbc module
- some of the legal interception requirements can be achieved by newly introduced siptrace module
- deployments of the distributed VoIP platform is easily possible using cacheless user location and PATH extensions
- consolidated SIP server features: SIP registrar, SIP location server, SIP proxy, SIP redirect server, SIP router and SIP application server
- TLS support – OpenSER is the first free SIP server with integrated TLS support. This enables high secure VoIP communications.
- easier scripting – new commands as return(x) (returns from current route with code x) and exit (complete script termination), ‘switch’ statements to handle returned values.
- easier maintenance of multiple OpenSER instances – config parameter ‘mpath’ to specify the base directory for modules
- pseudo-variables support
- xlog can print any pseudo-variable
- avpops/avp_printf() – printf-like function to print pseudo-variables in an avp
- textops/subst(),subst_uri() and subst_user() – have support for pseudo-variables in replacement string
- flexible accounting – any header or avp can be stored in accounting database
- proper serial/parallel forking handling in TM
- alias_db module – direct database user aliases
- uac_redirect module – handling of redirect replies (3xx) on server
- more dialog support and better replication and NAT traversal handling
- modules’ documentation is updated http://kamailio.net/docs/modules/1.0.x/
- OpenSER Core Cookbook is available at http://kamailio.net/dokuwiki/doku.php/core-cookbook:devel
- SIP proxy/registrar/redirect server (RFC3261, RFC3263)
- UDP/TCP/TLS support
- transactional stateful proxy
- modular architecture
- programmable configuration file
- ENUM support
- Call Processing Language (CPL)
- gateway to sms or xmpp
- authentication, authorization and accounting via Radius or database
- NAT traversal system
- least cost routing
- multiple database backends: MySQL, Postgres or flat files
Download
- Debian and Ubuntu packages are included in official distribution, you can simply install via apt-get
- OpenSUSE provides pre-built packages of OpenSER
- OpenSER
Documentation
- OpenSER Documentation Page – http://kamailio.net/docs/
Tutorials
- OpenSER v1.1.x Core Cookbook – http://www.kamailio.net/dokuwiki/doku.php/core-cookbook:1.1.x
- OpenSER v1.0.x Modules’ Documentation – http://kamailio.net/docs/modules/1.0.x/
- OpenSER v1.1.x Modules’ Documentation – http://kamailio.net/docs/modules/1.1.x/
- OpenSER v1.2.x Modules’ Documentation – http://kamailio.net/docs/modules/1.2.x/
- Integration with Asterisk – http://www.kamailio.net/dokuwiki/doku.php/asterisk:realtime-integration
- Several OpenSER Tutorials
- OpenSER Devel Guide – http://www.asipto.com/pub/openser-devel-guide/
Other Resources
- Project’s development page – http://sourceforge.net/projects/openser/
- Users mailing list – http://kamailio.org/cgi-bin/mailman/listinfo/users
- Development mailing list – http://kamailio.org/cgi-bin/mailman/listinfo/devel
- Business mailing list – http://kamailio.org/cgi-bin/mailman/listinfo/business
- OpenSER Blog – http://openser.blogspot.com/
- OpenSER IRC channel: #openser @ irc.freenode.net
- OpenSER Configuration auto-generator: https://www.sipwise.com/
OpenSER Modules
v1.0.0
-
- acc – accounting to syslog, database, diameter or radius
- alias_db – user aliases managed directly in DB (no memory cache)
- auth- basic authentication functionality
- auth_db – authentication using database
- auth_diameter – authentication and authorization using diameter server
- auth_radius – authentication using RADIUS server
- avp_radius – loading AVPs from RADIUS server
- avpops – AVP and pseudo-variables operations
- cpl-c – call processing language (CPL) support
- dbtext – small database driver for text files
- dispatcher – load balancing and dispatching
- diversion – IETF diversion draft implementation
- domain – multi-domain operations
- enum – ENUM functionality and support
- exec – allow execution of external scripts
- flatstore – support for writing accounting data to flat files
- gflags – global flags
- group – group membership checking
- group_radius – group membership checking using RADIUS server
- jabber – gateway to jabber/xmpp
- lcr – least cost routing
- mangler – message mangling from config file
- maxfwd – max forward processing
- mediaproxy – nat traversal using media proxy
- msilo – offline message storage
- mysql – connector to mysql databse server
- nathelper – nat traversal using rtpproxy
- options – processing of option requests
- osp – Multi-Lateral Peering using OSP protocol
- pdt– prefix-domain translation
- permissions – set permissions for users and peers
- pike – flood detection
- postgres – connector to postgres database server
- registrar – user registration processing
- rr – record routing processing
- sl – stateless reply generation
- sms – gateway to sms
- speeddial – short dialing on server
- textops – text operations over the SIP message
- tm – transactional module
- uac – basic uac functionality for openser server
- uac_redirect – server side handling of redirect replies (3xx)
- uri – operations for SIP URIs
- uri_db – operations for SIP URIs using database server
- uri_radius – operations for SIP URIs using RADIUS server
- usrloc – user location service
- xlog – formatted message printing, useful for debugging
v1.1.0
- dialog – dialog support (call stateful) in SIP server
- path – PATH support in SIP server
- siptrace – trace SIP messages, useful for legal interception requirements
- statistics – support for statistics variables in configuration script
- unixodbc – database connection driver using unixodbc
v1.2.0
- imc – Instant Messaging Conferencing
- domainpolicy – policy management for connecting federations
- mi_fifo – FIFO file transport for new management interface (MI)
- mi_xmlrpc – XMLRPC transport for new management interface (MI)
- perl – Perl scripting integration — allow embedding of Perl functions execution
- presence – SIMPLE presence server implementation
- pua – SIMPLE presence user agent client common API
- pua_mi – SIMPLE presence user agent client implementation for new management interface (MI)
- pua_usrloc – SIMPLE presence user agent client common implementation for user location records
- seas – SIP Express Application Server module – enables communication with WeSIP – the Java SIP Servlet application server
- snmpstats – Simple Network Management Interface (SNMP) to OpenSER statistics
- sst – SIP session timer support
- xmpp – on-the-fly SIP-XMPP (google talk) instant messaging gateway
v1.3.0
- benchmark – config file benchmarking
- carrierroute – routing extension suitable for carriers
- cfgutils – config file utilities
- db_berkeley – db berkeley backend support
- h350 – H350 implementation
- ldap – LDAP connector
- mi_datagram – datagram transport for management interface (MI)
- perlvdb – Perl virtual database engine
- presence_mwi – Extension to Presence server for Message Waiting Indication
- presence_xml – SIMPLE Presence extension
- pua_bla – BLA extension for PUA
- pua_xmpp – SIMPLE-XMPP Presence gateway
- rls – Resource List server implementation
- xcap_client – XCAP client for Presence server
v1.4.0
- db_oracle – ORACLE DB driver
- dialplan – Dialplan management
- nat traversal – NAT traversal helper
- peering – RADIUS based peering
- ratelimit – SIP traffic shaping
- userblacklist – User-specific blacklists
Deploying OpenSER
- Realtime Integration Of Asterisk With OpenSER – step by step integration of Asterisk with OpenSER to provide voicemail service with MWI to large number of VoIP subscribers
- Realtime Integration Of Asterisk 1.4 With OpenSER 1.3 – step by step integration of Asterisk v1.4.x with OpenSER 1.3.x to provide voicemail service with MWI to large number of VoIP subscribers
- OpenSER And Mediaproxy – OpenSER configuration to do NAT traversal using mediaproxy
- OpenSER And RTPProxy – OpenSER v1.1.x configuration to do NAT traversal using nathelper and rtpptoxy
- OpenSER v1.2.x and RTPProxy – OpenSER v1.2.x configuration to do NAT traversal using nathelper and rtpptoxy
- OpenSER and RADIUS – tutorial to build VoIP services with OpenSER and FreeRADIUS
- OpenSER and CDRTool – open-source CDR mediation, fully featured rating engine and SIP tracing tool
- OpenXCAP – An Open Source XCAP server implementation
- OpenSER And Monit – configure monit to keep an eye on your OpenSER to ensure lower service downtime
- OpenSER Administrator – web interface for managing OpenSER written in Ruby on Rails
- OpenSER 1.1.x and SerWEB 0.9.4 – how to patch and configure SerWEB 0.9.4 to make it compatible with OpenSER 1.1.x
- https://www.sipwise.com/ – get your OpenSER configuration file in few seconds
Practical Examples
- OpenSER Logging
- OpenSER Accounting
- Turn your Linux/Unix server in a SIMPLE presentity – publish details from the system (CPU, load, memory usage, …) to a SIP Presence server
- OpenSER Modular Installation
- OpenSER v1.2.0 Configuration Script Debugging
Platforms
OpenSER is know to work on
- most of Linux flavours (OS used for development is mainly Debian)
- 64b Linux flavours
- SUN/Solaris
- FreeBSD
- OpenBSD
- NetBSD
Resources
- OpenSER Consultants
- eLearning and Certification programs for OpenSER
- Guide for Building Telephony Systems with OpenSER
See also
- https://www.kamailio.org/w/ – Kamailio/OpenSER home page
- Dokuwiki of OpenSER project
- www.kamailio.org – New name for OpenSER
- https://www.opensips.org – OpenSER fork