Changelog for SEMS 

Version 1.3.0
 - SIP stack moved into the core (no need to load sipctrl any more)

 - session app/signaling thread pool support (for very high session count)

 - reduced memory usage if no RTP is processed

 - SIP/UDP receive buffer configurable

 - optimized potentially contentious mutexes

 - multiple SIP/UDP receivers for even more signaling performance

 - daemon mode can be compile-time disabled

 - command line params may overrule config file

 - CMake build with older versions possible (2.4)

 - simple mode for voicemail/voicebox, usable without special handling by proxy

 - RTP DTMF reception fixed (using RTP TS)

 - support for DTMF sending/relaying on app level

 - json-rpc (v2.0) module for interfacing (sync+async)

 - 100rel (PRACK, RFC 3262) support

 - open webconference rooms at startup

 - DNS cache, support for load balancing on DNS SRV records

 - new tutorials, DSM examples

 - DSM state machine scripting platform
    - #include scripts
    - sys.popen to run external programs
    - proper dialout support with ringing events, variables passed, auth etc.
    - app selection and call preparation on in-mem DB (monitoring), with fallback
    - System DSMs - executed DSM scripts unrelated to calls
    - full conference support, with subgroups (mixed sidebars)
    - mix in file into call or conference
    - consistency checks on DSM scripts
    - sets() for variable replacement
    - raw SIP message processing
    - arrays (also recursive) in DI action
    - utils.add/sub
    - prefix matching for test

 - UPDATE support for Session Timer

 - B2BUA with Session Timer (using UPDATE/re-INVITE with last SDP)

 - SIP Session Timer for webconference, conference, dsm, ivr

 - SIGHUP stops active calls, SIGUSR1/2 can be used by apps

 - G.729 codec module (Intel IPP wrapper)

Version 1.2.0

- many DSM improvements:
  - exceptions support
  - transitions from multiple origin states
  - 'not' operator on conditions
  - B2BUA functionality
  - register scripts as application
  - live reload of scripts
  - script sets with its own configuration
  - mod_mysql for MySQL DB access  
  - mod_conference module
  - mod_aws Amazon Web Services module
  - mod_py Python module
  - CANCEL handling in early dialogs (generates hangup event)
  - Events from DI Interface
  - eval() function for simple expression evaluation (+, -)

- ivr: fixed memory leak and crashes that occured with high load

- complete working and usable CMake build system

- twitter app

- monitoring: server monitoring and in-memory AVP store

- fixed precoded announcements for all codecs

- fixed multiple timers with the same timestamp

- mail_header_vars : variables from P-App-Param into voicemail template (SEMS-17)

- sipctrl: outbound proxy support and ACK sent from UA layer

- stored application and variables from monitoring for new calls 

- improved RTP DTMF detection using TS

- Audio file recording with subtype (e.g. record.wav|A-Law)

- PyQT GUI example for webconference 



- py_sems compiles with newer sip4 versions

Version 1.1.0 RC1
 (in order)

 - configurable server timeout for XMLRPC client 

 - DIAMETER client with TLS

 - SEMS-42: callee domain optionally specified in webconference dialout

 - SEMS-35: time out empty webconference rooms

 - support for multi domain through uid/did in voicebox system

 - early media support for b2b w/ media relay

 - transparent signaling + media B2BUA application

 - MT XMLRPC server

 - ISDN gateway module 

 - controlled server shutdown (de-initialization, stopping of sessions) 

 - improved logging 

 - MT binrpc receiver, connection pool for sending to SER

 - DSM state machine interpreter: write applications as simple,
   self-documenting, correct, state machine description charts

 - g722 codec from spandsp in 8khz compatibility mode

 - support for out of dialog request handling in modules

 - audio file autorewind

 - AmAudio mixing 

 - 488 reply (instead of 606) if no compatible codec found

 ... plus as always lots of fixes

Version 1.0.0

 - internal SIP stack (sipctrl)

 - module to use ser2 as SIP stack (binrpcctrl)

 - rewritten SDP parser

 - various options for application selection (configured, special header, 
   RURI regexp, RURI user, RURI parameter)
   
 - ZRTP support

 - XMLRPC client mode

 - DIAMETER client

 - new complete mailbox system (msg_storage+voicebox+voicemail+annrecorder) 

 - simple call generator application 

 - early media pre-call announcement application with B2B

 - B2B call timer application 

 - callback application

 - prepaid and click2dial applications

 - precoded annoucements

 - early media receiving example

 - support for extra headers in dialout sessions

 - support for setting the URI of a session in SDP

 - support for posting events into conferences

 - support for receiving early media

 - outbound_proxy option sets next hop on outgoing dialogs and 
   registrations

 - b/f: don't reuse dialog for SIP authenticated re-sending of INVITE

 - fixed artifacts on wav files with extra chunks

 - support for spandsp DTMF detection, packet loss concealment

 - speex NB, G726, L16 codecs

 - support for local audio as audio sources into audio engine 
   on the same channel as RTP 

 - selectively exclude codecs

 - MP3 playback

 - libsrc resampling enables prompt files in other bitrates

 - RTP receive buffer optimization 

 - configurable session limit

 - basic OPTIONS support for alive monitoring through SIP

 - syslog calls logging, configurable syslog facility

 - builds for and on solaris, openembedded, openwrt, Darwin, too

 ... plus as always lots of fixes

Version 0.10.0 (final)
 - new module for exposing internal DI APIs via XMLRPC 

 - new module for triggering calls via DI interface
 
 - new DI/XMLRPC controlled conference application, that can for example
   be used for conference rooms with web interface

 - CallWatcher and a more powerful dialout function simplifies 
   interfacing to external applications 

 - many examples for quick start of custom service development, 
   for example new serviceline (auto-attendant) application

 - b2bua implementation with media relay
 
 - language awareness of conference application 

 - DB support for conference and voicemail prompts, and announcements

 - PromptCollection simplifies usage of prompts in applications

 - b2bua support in py_sems embedded python interpreter

 - corrected RTP timeout detection 

 - new api for custom logging modules, new in-memory ring buffer 
   logging module

 - accept all possible payloads and payload switching on the fly 
   (thanks to Maxim Sobolyev/sippysoft) 

 - changing callgroups (media processing threads) in running sessions 

 - support for setting sessions on hold 

 - support for OpenSer 1.3 

 - substantially improved documentation 

 - 'bundle' install method for easy installation

 - support for OpenWRT package build

 ... and many bugfixes

Version 0.10.0 rc2

 - new Adaptive jitter buffer as alternative playout method
   Contributed by Andriy Pylypenko/Sippy Software

 - new PIN collect application with transfer to e.g. 
   separate conference bridge

 - new SIP registrar client for registration at a 
   SIP registrar

 - new UAC authentication component

 - new faster announcement application with memory caching for 
   audio files

 - new pre call announcement method using REFER 

 - new plug-in py_sems using a Python/C++ binding generator for even more power 
   in python scripts

 - stats server can be used for monitoring custom modules/applications

 - session specific parameters by default taken from unified 
   session parameters header 

 - signature configurable 

 - install and make system updated

 - added documentation 

 - some security bugfixes (namely fixing possible 
   buffer overflows)

 - ...and a lot of other bug fixes


Version 0.10.0 rc1
 ...