OpenSIPS Changelog

New in version 1.10.0 Beta

August 20th, 2013
  • This version comes with several improvements (asynchronous TCP, better lumps management), but also with new functionality like SCA support with a dialog module, a new binary interface used to efficiently communicate with other OpenSIPS instances, and a new module that provides SQL to NoSQL translations.

New in version 1.9.0 RC (January 30th, 2013)

  • This version adds several major improvements (scripting, dialog support, TCP, Web Sockets, timers), but also new functionalities like CacheDB Interface-CouchBase, MongoDB, Cache2SQL, and a nice provisioning tool, the PI_HTTP module, or a great helper on integration, the Event_Route module (combined with a rich set of new events from core and modules).
  • The important goals of this release were scalability (geo and load), integration capabilities, and controllability (debugging, tracing, monitoring).

New in version 1.8.2 (November 3rd, 2012)

  • Important fixes were made in the TLS/TCP engine, dialog module, presence and RLS support, Dispatcher module, SIP parser, scripting (startup and timer routes), dynamic routing module, statistics reporting (for PKG and SHM memory), and B2B module (requests handing and script route triggering). Upgrading is highly recommended.

New in version 1.8.0 (March 24th, 2012)

  • This version comes with several major improvements (dialog support, TCP, security, and validation), but also with new functionality (like CacheDB Interface - REDIS/CASSANDRA, DNS caching, SIPcapturing, RabbitMQ support, LUA support, etc.). It has a new graphical configuration tool (make menuconfig or osipsconfig) that allows you to configure, compile, install, and generate config files for OpenSIPS.

New in version 1.7.2 (February 23rd, 2012)

  • This version contains fixes for crashes, malfunctions, and compliance issues in the core and critical modules including dialog, presence, tm, and textops.
  • Functionality, scripting, and interfacing were not changed. Upgrading is highly recommended.

New in version 1.7.0 (July 13th, 2011)

  • This version comes with several major improvements (a DB area, dialog support, TCP, and debugging) and new functionality (like an Event Notification Interface, a UAC Registrant module, scripting support, etc).

New in version 1.6.3 (August 2nd, 2010)

  • Core:
  • critical fix in DNS based failover on how the SRV and A records are iterated (when more than one)
  • added the possibility to use script variables as expires parameter in the cache_store function
  • "-g" compile options (debug symbols) is added for mode=debug also
  • new crc transformation for strings
  • pvars $bf and $bF were put back as there is no other way to bulk access (as mask) the branch flags for current branch.
  • new pvar path added to allow reading of path information of the current RURI.
  • Tool:
  • opensipsctl and opensipdbctl uses sh instead of bash to be compatible with all OS's
  • B2B_LOGIC module:
  • extra headers from init request passed in all bridging Invites
  • added a new MI command b2b_bridge - it allows bridging a party from a current ongoing call to another destination
  • added a new feature: when bridging to a new destination, you can connect the old entity to a media server to hear a ringing tone until the new real destination answers
  • added the possibility, while bridging with provisional media, to use the initial sdp as body for the Invite sent to the callee (initial Invite without a body seems not to be accepted by many endpoints)
  • added the possibility to specify To and From display names when starting a new dialog from the server and the possibility to specify a RURI different from To uri
  • DIALOG module:
  • new get_dialog_info() function to exchange info between dialogs - see http://lists.opensips.org/pipermail/users/2010-April/012414.html
  • support in dlg_list MI command for listing dialogs with offset and counter (and not only all of them) - needed by OpenSIPS Control Panel for pagination of dialog info
  • fixed SEQ_MATCH_FALLBACK (dialog matching with fallback) - do fallback to SIP matching also if the DID found but (1) the dialog was not found based on DID or (2) the DID-based found dialog does not match from SIP point of view the current request (failed tight matching)
  • DIALPLAN module:
  • TREX engine replaced with PCRE matching engine to solve multiple regexp matching bugs - NOTE that the module now depends on lpcre library at compile time
  • DISPATCHER module:
  • ds_select_xxx() functions allowed from failure route
  • ds_next_xxx() and ds_mark_xxx() allowed from request route
  • is_in_ds_list() takes on more extra optional param "active_only" - returns true only if the destination is in list and active.
  • fixed probing and re-enabling of the inactive destinations -> if inactive, do not probe it and not re-enable it.
  • DROUTING module:
  • new AVP made available in script with the gw_id - For accounting purposes, I needed to know which gateway a request was sent to. Since there was already an AVP inside the drouting module that stored this information, I just modified the code to allow this AVP to be accessed from inside the routing scripts. There is a new module parameter called id_avp to configure where it will be stored. The AVP will only contain a value between the time do_routing/next_gw is called and the request is sent to the next hop.
  • NATHELPER module:
  • nat_uac_test() and fix_nated_contact() process all the contacts (multiple URIs per header and multiple headers per message)
  • PATH module:
  • add_path() adds 2 PATH headers if detects changes in IP, port or transport between inbound and outbound interfaces.
  • new module parameter enable_double_path to control the addition of double PATH headers
  • PERMISSIONS module:
  • function get_source_group() returns the group via a pvar (function param) instead of return code - the bug was that the group may be 0 and a return code 0 means breaking the script execution. See http://www.opensips.org/html/docs/modules/1.6.x/permissions.html#id233495
  • PRESENCE module:
  • enhancement for dialoginfo to work better with Linksys - if no dialoginfo published information is found - send an body without any dialog ( rather then sending no body)
  • new cool feature in presence server: mixing dialog info with presence. The presence server can now generate presence information from dialog state and tell you if a buddy is in a call even if his phone did not send a presence Publish with this information. See http://lists.opensips.org/pipermail/users/2010-April/012021.html
  • PRESENCE_XML module:
  • when force_active is true, the pxml_db is not opened; When force_active is true, the db is not needed and the code already avoids touching the db. This patch adds the same functionality into the init code (both mod init and child init). When force_active is True, the db_url parameter can be left unspecified.
  • PUA_DIALOGINFO module:
  • the module allows you to generate dialoginfo only for one side of the dialog (by selecting the call leg)
  • it is possible to define custom caller and callee information to be used when generating the dialoginfo
  • RLS module:
  • changes in rls module to allow subscriptions to other rls lists
  • SIGNALING module:
  • send_reply can be used from FAILURE route too
  • STATISTICS module:
  • Added a new pseudovariable called stat, that allows reading and resetting statistics values from the script. Like $stat(in_used_transactions) will return the value of the TM statistic in_used_transactions
  • TM module:
  • t_replicate() can also work if the transaction already exists (like t_newtran() is called before t_replicate() )
  • UAC_REDIRECT module:
  • able to extract contact URIs from more than one CONTACT header (from a single 3xx reply)
  • USRLOC module:
  • fixed bug in case-sensitiviness for MI commands - as usrloc has no option on that, be case sensitive all the time, otherwise you cannot find AORs with upper cases.
  • XLOG module (REMOVED):
  • all function moved directly into core, with no changes into prototype or functionality

New in version 1.5.1 (April 13th, 2009)

  • This release contains only bug fixing (additional to 1.5.0) - no functionality, scripting or interfacing was changed. OpenSIPS 1.5.1 contains critical fixed related to MySQL prepared statements implementation and it is highly recommended to upgrade.

New in version 1.4.2 (October 10th, 2008)

  • OpenSIPS 1.4.2 brings more fixes on the 1.4 branch - critical fixes (TM, dialog, DB) and also minor fixups and tunings.
  • It is highly recommended to upgrade to this version if you are running an older 1.4 release.