– Kamailio SIP Server –

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:
  -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
  • 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