Benefits
The SIP Router Project brings many benefits to both communities, being the main engine driving the collaboration. Any developer is first an user of the project, depending on the others as much as the others depend on him.
The design sketched at first meeting is intended to avoid overlappings and code conflicts, an flexible architecture for future development.
Long term benefits:
- larger development team
- faster development
- easier maintenance
- more expertise
- larger community
- more testing and production deployments
- better promotion and popularity
- better documentation
- reliability and trust
- no confusion which is better or which will resist and develop more over the time
- solid business environment by joining the effort of the companies backing up the project
Short term benefits, achieved on October 10, 2009:
- once common layer is integrated (the core and TM), each project will benefit of all new features from the other project. Next lines don’t catch by far all the features that one project will get access to. The goal is to show that each project moves forward, doing a huge step in short time.
- Kamailio (OpenSER) users will get
- updates to transport layers: UDP, TCP/TLS and SCTP
- asynchronous TCP sending
- asynchronous message processing support
- access to new features in parts like: memory managers, locking and synchronization, timers, DNS
- build framework that allow creation of libraries from code, thus ability to make core more lightweight and remove duplications in an efficient way
- several config file goodies
- send route – route called just before sending the message, meaning it will show the final content (headers and body updated) and makes available the destination IP address – more flexibility in handling DNS blacklists and filters
- timer route – route called in a timer base
- reload of some config variables, routes with names, flags with names
- a bunch of useful modules:
- sanity – checks SIP grammar conformance of headers
- db_ops – database operations
- iptrtpproxy – nat traversal using kernel space for media relaying
- auth identity, cfg_db, cfg_rpc, ctl, timer, eval and few more
- tools
- web interface: serweb
- control tool in Python: serctl
- command line application (similar to Asterisk cli)
- SER users will get access to:
- many configuration file enhancements
- pseudo-variables framework and transformations
- while and switch statements
- bitwise, arithmetic and string operators
- error route – a route that can be executed when a SIP parsing error occurs
- extensive documentation for core and modules
- a bunch of useful modules
- path – SIP PATH extension implementation
- rich presence server implementation: SIMPLE, MWI, DIALOGINFO, XCAP
- presence user agent: USRLOC, MI, BLA/SLA
- perl programming interface
- java SIP servlet application server connector
- management interface via FIFO file, datagram socket or XMLRPC
- SNMP
- unixodbc connector for database API
- benchmark – config file benchmarking
- dialplan, carrierroute, cfgutils, dialog, domainpolicy, h350, imc, peering, sst, siptrace, xmpp, htable
- new features to existing modules
- acc, avpops, exec, msilo, registrar, usrloc, tm, enum, textops, pdt
- tools
- testing suite – compilation, load and regression
- up-to-date shell-based control tool
- many configuration file enhancements
- integration of new features brought by OpenIMSCore Project