Table of Contents
New Features in OpenSER 1.3.x
New in OpenSER core
* pseudo-variable (PV) refurbishment – modules can add now writable PVs * SCTP protocol support * AVPs and HDRs can be accessed via dynamic index * while statement support * modules can register to core to fork new processes for own usage, cleaner server initialization * modules can fork their own timer process for better performance * cleanups in utility functions and database API – integrate common functionality into the core, removal redundant code * bugs – more then 160 bugs reported from the community were fixed * patches – more then 60 community created patches were integrated * GNU/kFreeBSD support for systems with a FreeBSD kernel and a GNU userland * redesign of logging functions – the debugging output has a more consistent and syslog-like format even for stderror * documentation – many errors in module documentation and code comments were fixed * new assign operator for avps “:=” – $avp(name) := value will overwrite the value of any exiting $avp(name), resulting in a new single $avp(name) (delete all $avp(name), add $avp(name)). In addition, $avp(name) := null will delete all existing $avp(name) * configurable debug level at runtime * unix socket server implementation removed; the functionality is now provided by the mi_datagram module * several new pseudo variables
New OpenSER modules
* benchmark - config file benchmarking
* carrierroute - routing extension suitable for carriers
* cfgutils - config file utilities
* db_berkeley - Berkeley DB backend support
* h350 - H350 LDAP 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 - Brigded line appearance extension for PUA
* pua_xmpp - SIMPLE-XMPP Presence gateway
* rls - Resource List Service implementation (beta – not fully released)
All modules in OpenSER 1.3: http://www.openser.org/docs/modules/1.3.x/
New in OpenSER modules
* auth ability to perform authentication taking username and password from pseudo-variables together with LDAP module can perform now user authentication against LDAP servers see here
* dbtext ability to reload content from files if this has changed * dialog the module stores many more details specific for dialogs, making possible to build requests in dialog support for dialog persistence across openser restart * dispatcher ability to use database as backend for the destinations list ability to auto-detect recovered destinations new selection algorithms
* lcr many parameters can be given as pseudo-variables, allowing dynamic values at runtine * mi_xmlrpc ability to work with both 0.9.x and 1.0.x versions of libxmlrpc
* mysql allows MySQL stored procedures and multiple statements calls from OpenSER extension to return the last inserted ID of
* nathelper ability to do load balancing within a set of RTPProxies ability to spoof source IP of NAT ping packets SIP NAT pings follow PATH array NAT pings sending is distributed over the natping interval, instead of sending all at once usage of special timer process to send NAT pings new flag in force_rtp_proxy() to force a symmetric rtp session removed the “rtpproxy_disable” string - you can achive the same by either not defining “rtpproxy_sock” (default NULL) or setting it to empty string * pdt * ability to define the set of characters allowed in prefix * support to reload rules from database via MI command * siptrace intercept and store hop-by-hop ACK coherence for source and destination IP addresses * tm new error code E_NO_DESTINATION was added to report when there are no available branch to forward to. t_relay returns now: <code> -1 : generic internal error -2 : bad message (parsing errors) -3 : no destination available (no branches were added or request already cancelled) -4 : bad destination (unresolvable address) -5 : destination filtered (black listed) -6 : generic send failed </code> * uac ability to do qop authentication
* xlog ** color PV moved in xlog module
New in additional tools
*database setup is done from one source for all databases *openserdbctl integrates now the different db specific scripts for database maintainance *cleanups in openserdbctl and openserctl – removal of redundant code *tests for basic functionality in the core and essential modules