1. What is new in 1.6.3 (versus 1.6.2)
Full Changelog can be found here.
2. Migration from 1.6.2 to 1.6.3
Read the instructions for how to migrate from 1.6.2 version to 1.6.3.
- 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.
- opensipsctl and opensipdbctl uses sh instead of bash to be compatible with all OS's
2.3 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
2.4 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)
2.5 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
2.6 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.
2.7 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.
2.8 NATHELPER module
- nat_uac_test() and fix_nated_contact() process all the contacts (multiple URIs per header and multiple headers per message)
2.9 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
2.10 PERMISSIONS module
2.11 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
2.12 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.
2.13 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
2.14 RLS module
- changes in rls module to allow subscriptions to other rls lists
2.15 SIGNALING module
- send_reply can be used from FAILURE route too
2.16 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
2.17 TM module
- t_replicate() can also work if the transaction already exists (like t_newtran() is called before t_replicate() )
2.18 UAC_REDIRECT module
- able to extract contact URIs from more than one CONTACT header (from a single 3xx reply)
2.19 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.
2.20 XLOG module (REMOVED)
- all function moved directly into core, with no changes into prototype or functionality