About

About.Version-1-11-0 History

Hide minor edits - Show changes to output

May 08, 2014, at 12:10 AM by 89.120.101.121 -
Changed lines 6-8 from:
!!! Migration from 1.10.x to 1.11.0

A [[Documentation.Migration-1-10-0-to-1-11-0|manual for how to migrate/update from 1.10.x to 1.11.0 is now available on site]].
to:
!!! Migration from 1.10.x to 1.11.x

A [[Documentation.Migration-1-10-0-to-1-11-0|manual for how to migrate/update from 1.10.x to 1.11.x is now available on site]].
March 21, 2014, at 10:38 AM by razvancrainea -
Changed line 36 from:
* [[http://www.opensips.org/html/docs/modules/1.12.x/call_center.html|Read more ...]]
to:
* [[http://www.opensips.org/html/docs/modules/1.11.x/call_center.html|Read more ...]]
March 20, 2014, at 10:13 PM by liviu -
Changed line 12 from:
!!! What is new in 1.11.0
to:
!!! What is new in 1.11.0 LTS
March 20, 2014, at 10:07 PM by 89.120.101.121 -
Changed line 8 from:
To be done on release date.
to:
A [[Documentation.Migration-1-10-0-to-1-11-0|manual for how to migrate/update from 1.10.x to 1.11.0 is now available on site]].
March 20, 2014, at 09:17 PM by 89.120.101.121 -
Changed line 121 from:
* Existing [[http://www.opensips.org/html/docs/modules/1.11.x/tm.html#id293143|own_timer_pro]] module parameter extended from boolean value to an integer value : 0 - no separate timer proc for TM; 1 - one separate timer proc for TM; n - multiple timer procs for TM.
to:
* Existing [[http://www.opensips.org/html/docs/modules/1.11.x/tm.html#id293143|own_timer_proc]] module parameter extended from boolean value to an integer value : 0 - no separate timer proc for TM; 1 - one separate timer proc for TM; n - multiple timer procs for TM.
March 20, 2014, at 08:45 PM by razvancrainea -
Added line 28:
* New transformations for searching the index of a substring in a string: '''[[Documentation.Script-Tran-1-11#toc19 | {s.index}]]''' and '''[[Documentation.Script-Tran-1-11#toc20 | {s.rindex}]]'''
March 20, 2014, at 08:12 PM by 89.120.101.121 -
Added line 85:
* the definition of a gateway contains now the desired outbound socket (useful in multi-homed setups).
March 20, 2014, at 08:06 PM by 89.120.101.121 -
Added line 21:
* added support for '''DH or DHE ciphers''' in the TLS implementation
March 20, 2014, at 08:02 PM by 89.120.101.121 -
Added lines 45-50:


!!!! AUTH module

* a domain part is now allowed in the digest username (during authentication via script variables). Ex: Digest username="abc@domain", realm="domain"
March 20, 2014, at 07:58 PM by 89.120.101.121 -
Added line 77:
* [[http://www.opensips.org/html/docs/modules/1.11.x/drouting.html#id294545|route_to_gw()]] may receive a list of GW IDs (instead of only one) - the list is a comma separated list of gw IDs.
March 20, 2014, at 07:56 PM by 89.120.101.121 -
Changed line 102 from:
* '''local route enhancements''' :
to:
* More '''local route enhancements''' :
Added lines 107-111:
* Added support for '''multiple timer processes''' in TM. The timer process may easily become a bottleneck in TM because:
** single lock on the timer lists,
** single process to purge/free all transactions,
** single process running all failure routes (with all script complexity of failure routes).
* Existing [[http://www.opensips.org/html/docs/modules/1.11.x/tm.html#id293143|own_timer_pro]] module parameter extended from boolean value to an integer value : 0 - no separate timer proc for TM; 1 - one separate timer proc for TM; n - multiple timer procs for TM.
March 20, 2014, at 07:48 PM by 89.120.101.121 -
Changed line 103 from:
** serial forking for UAC transactions added
to:
** support for serial forking for UAC transactions
Changed line 106 from:
** DNS based failover works now for UAC transactions (solving #140)
to:
** DNS based failover works now for UAC transactions
March 20, 2014, at 07:48 PM by 89.120.101.121 -
Added lines 102-106:
* '''local route enhancements''' :
** serial forking for UAC transactions added
** possibility to use ONREPLY and FAILURE routes for UAC transactions
** ability to use (transaction wise) AVPs, flags, timeouts
** DNS based failover works now for UAC transactions (solving #140)
March 20, 2014, at 07:45 PM by 89.120.101.121 -
Added lines 31-34:

!!!! NEW CALL_CENTER module
* A new module to provide implementation for call queuing, typical for inbound call centers. The module allows definition of multiple queues/flows (each with its own announcements, on-hold music, required skill from agents), agents (an agent may provide multiple skills). Incoming calls for a flow are distributed to agents based on an even dispersion over the agents (only agents providing same skill as the flow will server that flow). A rich set of statistics (global, per flow, per agent) and detailed CDRs are provided by the module. Note that the module does not provide the media playing capability - an external SIP media server is required for that.
* [[http://www.opensips.org/html/docs/modules/1.12.x/call_center.html|Read more ...]]
March 20, 2014, at 07:37 PM by 89.120.101.121 -
Changed lines 104-137 from:
----
!!! Devel Plan 1.11 release (TODO list)

|| border=1
||! Importance ||! Module ||! Description ||
||xxxx || TM ||even if decide to "go stateful" very early in your script (via t_newtran), all changes you do later over the request (in request route, branch route, failure route) must be updated/pushed into transaction and remembered at later processing ||
||xxxx || DIALOG ||re-INVITE based in-dialog pinging (with proper SDP handling) ||
||xxx || REGISTRAR ||lookup() should have a flag to force '''lookup on all branches''' (and not only on RURI) ||
||xxx || DIALOG ||New events for dialog matched, terminated, etc ||
||xxx || DIALOG ||control profiles/variables DB storage - specify whether we want to ever dump the profies/variables in the DB or only on shutdown. Rethink the current design to see if is the best. ||
||xxx || USRLOC ||distributed storage via a NoSQL DB ||
||xxx || DIALOG ||distributed storage via a NoSQL DB ||
||xxx || USRLOC ||when db is updated based on timer, combine multiple deletes in a single query ||
||xxx || SIPCAPTURE ||TCP support ||
||xxx || RTPProxy ||add ICE support for rtpproxy ||
||xxx || Event Interface ||add ZeroMQ support for Event Interface ||
||xxx || core ||send function (including from TM) should return a dedicated ret code to indicate network errors (failure in sending) ||
||xxx || new ||Integrate OpenSIPS with libpurple library for IM and Presence ||
||xx || TLS core ||add an internal API for TLS management to allow registration of certificates ; a new module to allow TLS certificates provisioning via DB (per domain, per IP, etc) ||
||xx || DROUTING || Allow the option to call do_routing with a particular number, but to propagate downstream a different number ( useful for number portability scenarios ) ||
||xx || USRLOC ||use a single Primary Key (non SIP related) for DB ops ||
||xx || TM ||allow dynamic number of branches per transaction (on demand) ||
||xx || Statistics Interface ||replace the BIG LOCK (if other arch than i386) with multiple shared locks (to protect the values) ||
||xx || new ||new cachedb_virtual modules, similar to db_virtual, but for NoSQL databases ||
||xx || db_virtual ||Opensips should be able to start even if db_virtual was not able to connect to all databases. So long as it can connect to at least 1 it should still work ||
||xx || B2B ||Support for attended transfers on B2BUA
||xx || event_datagram ||Instead of pushing events in text/plan format, to have also the options to pack the event in a json format -> easier to parse by the receiver ||
||xx || new ||mi_xmlrpc to support also REST queries ||
||xx || new ||support for RFC5626 - Managing Client-Initiated Connections in SIP ||
||x || new ||new module mi_stream to provide MI interaction via connection oriented links (TCP or fifo) ||
||x || new ||RFC6140 Registration for Multiple Phone Numbers ||
||x || AVPOPS ||Regexp based filter for avp_db_load - what AVPs to be loaded ||
||x || core ||Be able to specify multiple keys with the "cache_fetch" MI command ||
||x || TM ||Flag to hide call-id for topology_hiding() ||
to:
----
March 20, 2014, at 07:14 PM by liviu -
Changed line 20 from:
** memory allocation pattern recording and fragmentation-on-startup - for optimum restarts on systems with great amounts of memory (8GB+)
to:
** memory allocation pattern recording and fragmentation-on-startup - for optimum restarts on platforms which deal with a high number of calls-per-second
March 20, 2014, at 07:11 PM by liviu -
Changed line 20 from:
** ''memory allocation pattern recording'' and ''fragmentation-on-startup'' - for optimum restarts on systems with great amounts of memory
to:
** memory allocation pattern recording and fragmentation-on-startup - for optimum restarts on systems with great amounts of memory (8GB+)
March 20, 2014, at 07:11 PM by liviu -
Changed lines 17-21 from:
* '''new memory allocator''' - featuring fine-grained locking and a tunable two-level hashing of free memory fragments, the '''High Performance Allocator''' is an ideal choice when dealing with thousands of calls per second on multi-core systems
to:
* '''new memory allocator''' - the '''High Performance Allocator''' is an ideal choice when dealing with thousands of calls per second on multi-core systems. Features:
** fine-grained locking
** tunable two-level hashing of free memory fragments
** ''memory allocation pattern recording'' and ''fragmentation-on-startup'' - for optimum restarts on systems with great amounts of memory
March 20, 2014, at 07:05 PM by liviu -
Changed line 17 from:
* '''new memory allocator''' - featuring fine-grained locking and two-level hashing, the '''High Performance Allocator''' is the way to go when dealing with thousands of calls per second on multi-core systems
to:
* '''new memory allocator''' - featuring fine-grained locking and a tunable two-level hashing of free memory fragments, the '''High Performance Allocator''' is an ideal choice when dealing with thousands of calls per second on multi-core systems
March 20, 2014, at 07:04 PM by liviu -
Added line 17:
* '''new memory allocator''' - featuring fine-grained locking and two-level hashing, the '''High Performance Allocator''' is the way to go when dealing with thousands of calls per second on multi-core systems
March 20, 2014, at 03:25 PM by liviu -
Changed line 34 from:
* '''script writing made easier''' - Transparent sequential request management (through [[ http://www.opensips.org/html/docs/modules/1.11.x/rr.html#record-route-id | record routing ]] and [[ http://www.opensips.org/html/docs/modules/1.11.x/rr.html#loose-route-id | loose routing ]]). May be configured to use dialog support.
to:
* '''script writing made easier''' - Transparent sequential request management (through [[ http://www.opensips.org/html/docs/modules/1.11.x/rr.html#record-route-id | record routing ]] and [[ http://www.opensips.org/html/docs/modules/1.11.x/rr.html#loose-route-id | loose routing ]]). May be configured to use dialog support. Future directions include embedded NAT and auth support.
March 20, 2014, at 03:22 PM by liviu -
Added lines 30-34:
* [[http://www.opensips.org/html/docs/modules/1.11.x/mi_json.html|Read more ...]]

!!!! NEW SCRIPT_HELPER module

* '''script writing made easier''' - Transparent sequential request management (through [[ http://www.opensips.org/html/docs/modules/1.11.x/rr.html#record-route-id | record routing ]] and [[ http://www.opensips.org/html/docs/modules/1.11.x/rr.html#loose-route-id | loose routing ]]). May be configured to use dialog support.
March 18, 2014, at 01:00 PM by liviu -
Changed line 87 from:
* New [[ http://www.opensips.org/html/docs/modules/1.11.x/tm.html#id295246 | $T_fr_timer ]] and [[ http://www.opensips.org/html/docs/modules/1.11.x/tm.html#id295270 | $T_fr_inv_timer ]] module variables, as a replacement for the equivalent module parameter AVPs.
to:
* New [[ http://www.opensips.org/html/docs/modules/1.11.x/tm.html#fr_timeout | $T_fr_timeout ]] and [[ http://www.opensips.org/html/docs/modules/1.11.x/tm.html#fr_inv_timeout | $T_fr_inv_timeout ]] module variables, as a replacement for the equivalent module parameter AVPs.
March 17, 2014, at 09:58 AM by razvancrainea -
Added lines 45-48:
!!!! DIALOG module

* timeout_avp parameter functionality has been replaced with a new [[ http://www.opensips.org/html/docs/modules/1.11.x/dialog.html#timeout-pvar-id | $DLG_timeout ]] pseudo variable that allows you to change the dialog timeout both before and after loose_route()
Added lines 76-79:

!!!! RTPProxy module

* set_rtp_proxy_set() function and rtpp_sock_pvar parameter have been removed and replaced by optional parameters to all RTPProxy functions (i.e. [[http://www.opensips.org/html/docs/modules/1.11.x/rtpproxy#id293779 | rtpproxy_offer()]], [[http://www.opensips.org/html/docs/modules/1.11.x/rtpproxy#id293830 | rtpproxy_answer()]], [[http://www.opensips.org/html/docs/modules/1.11.x/rtpproxy#id294226 | start_recording()]], etc.)
March 14, 2014, at 09:16 AM by liviu -
Added line 58:
* rework of [[ http://www.opensips.org/html/docs/modules/1.11.x/drouting.html#id294326 | attributes AVPs ]] - they are now given as function parameters. Overall performance is the same, but scripting is easier
March 07, 2014, at 03:52 PM by razvancrainea -
Added line 21:
* Optional parameters can now be skipped by comma (i.e. @@rtpproxy_offer(,,"$var(set_id)",)@@)
March 05, 2014, at 04:35 PM by osas - dispatcher: ability to dispatch over multiple dispatching groups
Added line 52:
* ability to dispatch over multiple dispatching groups;
March 05, 2014, at 11:53 AM by liviu -
Changed line 20 from:
* New script statement! - '''[[ http://www.opensips.org/Documentation/Script-Statements-1-11 | for-each ]]''' - iterate through the values of an indexed pseudo-variable (i.e. $avp, $ct, $ct.fields, $branch, $hdr...) easier and faster with "for ($var(ct) in $(ct[*])) { ... }"
to:
* New script statement! - '''[[ http://www.opensips.org/Documentation/Script-Statements-1-11#toc4 | for-each ]]''' - iterate through the values of an indexed pseudo-variable (i.e. $avp, $ct, $ct.fields, $branch, $hdr...) easier and faster with "for ($var(ct) in $(ct[*])) { ... }"
March 05, 2014, at 11:51 AM by liviu -
Changed line 68 from:
* [[ file:///home/liviu/Work/opensips/modules/rest_client/doc/rest_client.html#idp50352 | new parameters ]] to control the SSL certificate verifications of remote parties
to:
* [[ http://www.opensips.org/html/docs/modules/1.11.x/rest_client.html#id249116 | new parameters ]] to control the SSL certificate verifications of remote parties
March 05, 2014, at 11:51 AM by liviu -
Added lines 65-68:

!!!! REST_CLIENT module

* [[ file:///home/liviu/Work/opensips/modules/rest_client/doc/rest_client.html#idp50352 | new parameters ]] to control the SSL certificate verifications of remote parties
March 04, 2014, at 02:42 PM by liviu -
Added lines 65-68:

!!!! STUN module

* The [[ http://www.opensips.org/html/docs/modules/1.11.x/stun.html#id249035 | advertised IPs and ports ]] can now be specified for the listening interfaces. This allows the module to be used behind NAT.
March 02, 2014, at 03:19 PM by liviu -
Changed line 20 from:
* New script statement! - '''[[ http://www.opensips.org/Documentation/Script-Statements-1-11 | for-each ]]''' - iterate through the values of an indexed pseudo-variable (i.e. $avp, $ct, $ct.fields, $branch, $hdr...) easier and faster with "for ($var(i) in $(ct[*])) { ... }"
to:
* New script statement! - '''[[ http://www.opensips.org/Documentation/Script-Statements-1-11 | for-each ]]''' - iterate through the values of an indexed pseudo-variable (i.e. $avp, $ct, $ct.fields, $branch, $hdr...) easier and faster with "for ($var(ct) in $(ct[*])) { ... }"
March 02, 2014, at 03:18 PM by liviu -
Changed lines 20-21 from:
* New script statement! - '''for-each''' - iterate through the values of an avp easier and faster with "for ($var(i) in $avp(array)) { ... }"
to:
* New script statement! - '''[[ http://www.opensips.org/Documentation/Script-Statements-1-11 | for-each ]]''' - iterate through the values of an indexed pseudo-variable (i.e. $avp, $ct, $ct.fields, $branch, $hdr...) easier and faster with "for ($var(i) in $(ct[*])) { ... }"
Deleted line 103:
||xx || script ||"for-each" script statement TODO: iterate over any pv, also its [*] syntax and special fields if supported ||
February 27, 2014, at 01:29 AM by liviu -
Changed line 46 from:
* attrs_pvar dropped; it is now an optional parameter of [[ http://www.opensips.org/html/docs/modules/1.10.x/dialplan.html#id293720 | dp_translate() ]]
to:
* attrs_pvar dropped; it is now an optional parameter of [[ http://www.opensips.org/html/docs/modules/1.11.x/dialplan.html#id293720 | dp_translate() ]]
February 27, 2014, at 12:17 AM by liviu -
Changed line 64 from:
* New script function! '''remove''' - explicitly remove one, more or all contacts belonging to an address-of-record. For usage examples, refer to the [[http://www.opensips.org/html/docs/modules/1.11.x/registrar.html#id293923|documentation]] section.
to:
* New script function! [[ http://www.opensips.org/html/docs/modules/1.11.x/registrar.html#id293924 | remove ]] - explicitly remove one, more or all contacts belonging to an address-of-record. For usage examples, refer to the [[http://www.opensips.org/html/docs/modules/1.11.x/registrar.html#id293923|documentation]] section.
February 27, 2014, at 12:16 AM by liviu -
Deleted line 46:
* destination's state are reload persistent (via memory); after reloading, the destinations (kept in the new set) will preserve their state;
February 27, 2014, at 12:16 AM by liviu -
Added lines 43-47:

!!!! DIALPLAN module

* attrs_pvar dropped; it is now an optional parameter of [[ http://www.opensips.org/html/docs/modules/1.10.x/dialplan.html#id293720 | dp_translate() ]]
* destination's state are reload persistent (via memory); after reloading, the destinations (kept in the new set) will preserve their state;
February 27, 2014, at 12:14 AM by liviu -
Added lines 61-64:

!!!! TM module

* New [[ http://www.opensips.org/html/docs/modules/1.11.x/tm.html#id295246 | $T_fr_timer ]] and [[ http://www.opensips.org/html/docs/modules/1.11.x/tm.html#id295270 | $T_fr_inv_timer ]] module variables, as a replacement for the equivalent module parameter AVPs.
December 19, 2013, at 12:52 AM by liviu -
Changed line 96 from:
||xx || script ||"for-each" script statement TODOs: iterating $branch and $ct (should also work with their fields) ||
to:
||xx || script ||"for-each" script statement TODO: iterate over any pv, also its [*] syntax and special fields if supported ||
December 13, 2013, at 06:42 PM by osas - NEW B2B_SCA module
Added lines 22-25:
!!!! NEW B2B_SCA module
* '''Shared Call Appearance functionality''' - Uses the OpenSIPS b2b_logic module as a foundation to provide SCA functionality.
* [[http://www.opensips.org/html/docs/modules/1.11.x/b2b_sca.html|Read more ...]]
Changed lines 28-29 from:
* '''JSON replies via HTTP GET''' - Uses the OpenSIPS "httpd" module as an HTTP server engine in order to reply in a JSON format to MI Interface commands [[http://www.opensips.org/html/docs/modules/1.11.x/mi_json.html|Read more...]]
to:
* '''JSON replies via HTTP GET''' - Uses the OpenSIPS "httpd" module as an HTTP server engine in order to reply in a JSON format to MI Interface commands.
* [[http://www.opensips.org/html/docs/modules/1.11.x/mi_json.html|Read more ...]]
December 09, 2013, at 07:56 PM by bogdan -
Added lines 38-47:

!!!! DISPATCHER module

* destination's state are restart persistent (across database); after restarting, the destinations are preserving their previous states;
* destination's state are reload persistent (via memory); after reloading, the destinations (kept in the new set) will preserve their state;

!!!! DROUTING module
* gateway's state are restart persistent (across database); after restarting, the gateways are preserving their previous states;
* gateway's state are reload persistent (via memory); after reloading, the gateways (kept in the new set) will preserve their state;
November 25, 2013, at 01:37 PM by liviu -
Changed line 20 from:
* '''for-each statement''' iterate through the values of an avp easier and faster with "for ($var(i) in $avp(array)) { ... }"
to:
* New script statement! - '''for-each''' - iterate through the values of an avp easier and faster with "for ($var(i) in $avp(array)) { ... }"
November 25, 2013, at 01:31 PM by liviu -
Changed line 45 from:
* New script function! '''remove''' - explicitly remove one, more or all contacts belonging to an address-of-record. For usage examples, refer to the [[http://www.opensips.org/html/docs/modules/1.11.x/registrar.html#id293923|module doc]] page.
to:
* New script function! '''remove''' - explicitly remove one, more or all contacts belonging to an address-of-record. For usage examples, refer to the [[http://www.opensips.org/html/docs/modules/1.11.x/registrar.html#id293923|documentation]] section.
November 25, 2013, at 01:30 PM by liviu -
Changed line 45 from:
* New script function! '''remove''' - explicitly remove one, more or all contacts belonging to an address-of-record. For usage examples, refer to the [[http://www.opensips.org/html/docs/modules/1.11.x/registrar.html|module doc]] page.
to:
* New script function! '''remove''' - explicitly remove one, more or all contacts belonging to an address-of-record. For usage examples, refer to the [[http://www.opensips.org/html/docs/modules/1.11.x/registrar.html#id293923|module doc]] page.
November 22, 2013, at 06:58 PM by liviu -
Changed line 45 from:
* '''remove''' function - explicitly remove one, more or all contacts belonging to an address-of-record. For usage examples, refer to the [[http://www.opensips.org/html/docs/modules/1.11.x/registrar.html|module doc]] page.
to:
* New script function! '''remove''' - explicitly remove one, more or all contacts belonging to an address-of-record. For usage examples, refer to the [[http://www.opensips.org/html/docs/modules/1.11.x/registrar.html|module doc]] page.
November 22, 2013, at 06:56 PM by liviu -
Added lines 43-46:
!!!! REGISTRAR module

* '''remove''' function - explicitly remove one, more or all contacts belonging to an address-of-record. For usage examples, refer to the [[http://www.opensips.org/html/docs/modules/1.11.x/registrar.html|module doc]] page.
Deleted line 65:
||xxx || REGISTRAR ||New function to remove an AOR or a contact, from script ||
November 20, 2013, at 12:32 PM by 109.99.235.212 -
Deleted line 61:
||xxx || DB/cacheDB ||Thresholds for DB and cacheDB ops - similar to the ones in db_mysql module ||
November 20, 2013, at 12:31 PM by 109.99.235.212 -
Added lines 34-37:

!!!! CACHEDB_* modules

* Added '''exec_threshold''' parameter in order to be able to track slow queries
November 04, 2013, at 08:44 PM by 109.99.235.212 -
Changed line 24 from:
* JSON replies via HTTP GET - Uses the OpenSIPS "httpd" module as an HTTP server engine in order to reply in a JSON format to MI Interface commands [[http://www.opensips.org/html/docs/modules/1.11.x/mi_json.html|Read more...]]
to:
* '''JSON replies via HTTP GET''' - Uses the OpenSIPS "httpd" module as an HTTP server engine in order to reply in a JSON format to MI Interface commands [[http://www.opensips.org/html/docs/modules/1.11.x/mi_json.html|Read more...]]
November 04, 2013, at 08:44 PM by 109.99.235.212 -
Added lines 21-24:

!!!! NEW MI_JSON module

* JSON replies via HTTP GET - Uses the OpenSIPS "httpd" module as an HTTP server engine in order to reply in a JSON format to MI Interface commands [[http://www.opensips.org/html/docs/modules/1.11.x/mi_json.html|Read more...]]
November 04, 2013, at 07:50 PM by bogdan -
Changed line 1 from:
!!!! About -> [[AvailableVersions|Available Versions]] -> [[About.Version-1-11-x|1.11.x Releases]] -> Release 1.11.0
to:
!!!!! About -> [[AvailableVersions|Available Versions]] -> [[About.Version-1-11-x|1.11.x Releases]] -> Release 1.11.0
November 04, 2013, at 03:33 PM by 109.99.235.212 -
Added lines 21-25:

!!!! CACHEDB_COUCHBASE module

* Better reconnect support
* Added 'lazy_connect' parameter, which delays making the connection to couchbase until the connection is actually used ( If you are connecting to multiple buckets and run many opensips children it can be time consuming to make all the connections on startup )
November 04, 2013, at 01:40 PM by 109.99.235.212 -
Changed lines 22-26 from:
!!!! NATHELPER modules
to:
!!!! CACHEDB_REDIS module

* Added Raw Query running capabilities via cachedb_raw_query [[http://www.opensips.org/html/docs/modules/1.11.x/cachedb_redis.html#id249073|See more ...]]

!!!! NATHELPER module
November 01, 2013, at 04:51 PM by bogdan -
Changed line 1 from:
!! About -> [[AvailableVersions|Available Versions]] -> [[About.Version-1-11-x|1.11.x Releases]] -> Release 1.11.0
to:
!!!! About -> [[AvailableVersions|Available Versions]] -> [[About.Version-1-11-x|1.11.x Releases]] -> Release 1.11.0
November 01, 2013, at 04:44 PM by bogdan -
Added lines 22-25:
!!!! NATHELPER modules

* 100.64.0.0/10 address block (RFC 6598 for Shared Address Space) is processed like any RFC 1918 blocks
Added line 29:
October 28, 2013, at 12:39 PM by liviu -
Changed line 24 from:
* '''binary replication''' feature introduced. Offers transparent, real-time, complete user location mirroring between multiple OpenSIPS instances, commonly used in order to achieve redundancy. For more details on the ''usrloc binary replication'', please visit the [[http://www.opensips.org/html/docs/modules/1.11.x/usrloc.html#usrloc-replication|module documentation]] page.
to:
* '''binary replication''' feature introduced. Offers transparent, real-time and complete user location mirroring between multiple OpenSIPS instances, commonly used in order to achieve redundancy. For more details on the ''usrloc binary replication'', please visit the [[http://www.opensips.org/html/docs/modules/1.11.x/usrloc.html#usrloc-replication|module documentation]] page.
October 28, 2013, at 12:39 PM by liviu -
Changed line 24 from:
* '''binary replication''' feature introduced. Offers transparent, real-time data mirroring between multiple OpenSIPS instances, commonly used in order to achieve redundancy. For more details on the ''usrloc binary replication'', please visit the [[http://www.opensips.org/html/docs/modules/1.11.x/usrloc.html#usrloc-replication|module documentation]] page.
to:
* '''binary replication''' feature introduced. Offers transparent, real-time, complete user location mirroring between multiple OpenSIPS instances, commonly used in order to achieve redundancy. For more details on the ''usrloc binary replication'', please visit the [[http://www.opensips.org/html/docs/modules/1.11.x/usrloc.html#usrloc-replication|module documentation]] page.
October 23, 2013, at 02:31 PM by razvancrainea -
Changed line 35 from:
||xxx || DIALOG ||control profiles/variables DB storage ||
to:
||xxx || DIALOG ||control profiles/variables DB storage - specify whether we want to ever dump the profies/variables in the DB or only on shutdown. Rethink the current design to see if is the best. ||
October 21, 2013, at 12:30 PM by liviu -
Changed line 20 from:
* '''for-each statement''' iterate through the values of an avp easier and faster with for ($var(i) in $avp(array)) { ... }
to:
* '''for-each statement''' iterate through the values of an avp easier and faster with "for ($var(i) in $avp(array)) { ... }"
October 21, 2013, at 12:30 PM by liviu -
Added lines 17-20:

!!!! Script

* '''for-each statement''' iterate through the values of an avp easier and faster with for ($var(i) in $avp(array)) { ... }
October 18, 2013, at 06:28 PM by liviu -
Changed line 53 from:
||xx || script ||"for-each" script statement TODOs: iterating $branch and $ct (should also work with their parameters) ||
to:
||xx || script ||"for-each" script statement TODOs: iterating $branch and $ct (should also work with their fields) ||
October 18, 2013, at 06:06 PM by liviu -
Changed line 53 from:
||xx || script ||implement the "for-each" script statement! usage cases: iterating an avp, $branch or $ct, iterating through the "s.select" script transformation ||
to:
||xx || script ||"for-each" script statement TODOs: iterating $branch and $ct (should also work with their parameters) ||
October 18, 2013, at 01:33 PM by 109.99.235.212 -
Changed line 53 from:
||xx || script ||implement the "for-each" script statement! usage cases: iterating an avp, iterating through the "s.select" script transformation ||
to:
||xx || script ||implement the "for-each" script statement! usage cases: iterating an avp, $branch or $ct, iterating through the "s.select" script transformation ||
October 17, 2013, at 06:15 PM by liviu -
Added lines 17-20:

!!!! USRLOC module

* '''binary replication''' feature introduced. Offers transparent, real-time data mirroring between multiple OpenSIPS instances, commonly used in order to achieve redundancy. For more details on the ''usrloc binary replication'', please visit the [[http://www.opensips.org/html/docs/modules/1.11.x/usrloc.html#usrloc-replication|module documentation]] page.
October 04, 2013, at 04:00 PM by razvancrainea -
Added line 27:
||xxx || DIALOG ||control profiles/variables DB storage ||
October 02, 2013, at 03:48 PM by razvancrainea -
Added line 34:
||xxx || Event Interface ||add ZeroMQ support for Event Interface ||
September 30, 2013, at 08:28 PM by liviu -
Deleted line 35:
||xx || script ||implement the "for-each" script statement! usage cases: iterating an avp, iterating through the "s.select" script transformation ||
Added line 47:
||xx || script ||implement the "for-each" script statement! usage cases: iterating an avp, iterating through the "s.select" script transformation ||
September 30, 2013, at 08:26 PM by liviu -
Added line 36:
||xx || script ||implement the "for-each" script statement! usage cases: iterating an avp, iterating through the "s.select" script transformation ||
September 20, 2013, at 07:33 PM by bogdan -
Added lines 13-16:

!!!! Core

* '''dns_try_naptr''' option added to disable the NAPTR lookups when doing DNS based routing for SIP requests. By default it is enabled.
September 20, 2013, at 02:07 PM by liviu -
Changed line 46 from:
||x || core ||Fetch multiple keys with the "cache_fetch" MI command ||
to:
||x || core ||Be able to specify multiple keys with the "cache_fetch" MI command ||
September 20, 2013, at 02:06 PM by liviu -
Changed line 46 from:
||x || core ||Fetch multiple local cache keys with one command ||
to:
||x || core ||Fetch multiple keys with the "cache_fetch" MI command ||
September 20, 2013, at 02:05 PM by liviu -
Changed line 46 from:
||x || core || Fetch multiple local cache keys with one command ||
to:
||x || core ||Fetch multiple local cache keys with one command ||
September 20, 2013, at 02:05 PM by liviu -
Added line 46:
||x || core || Fetch multiple local cache keys with one command ||
September 19, 2013, at 08:12 PM by nikbyte -
Changed lines 45-46 from:
||x || AVPOPS ||Regexp based filter for avp_db_load - what AVPs to be loaded ||
to:
||x || AVPOPS ||Regexp based filter for avp_db_load - what AVPs to be loaded ||
||x || TM ||Flag to hide call-id for topology_hiding() ||
August 26, 2013, at 06:30 PM by 109.99.235.212 -
Deleted line 19:
||xxxx || new ||new module to drive SANGOMA cards in for transcoding (similar to driving the rtpproxy or mediaproxy) ||
August 05, 2013, at 04:41 PM by razvancrainea -
Deleted lines 13-88:
!!!! CORE

* '''Asynchronous TCP support''' - Added support for Asynchronous Connect and Write operations on TCP [[http://www.opensips.org/Documentation/Script-CoreParameters#toc77 | Read More...]]

* '''TCP read optimizations''' - Improved overall TCP reading ( faster and with less memory used ). Also made TCP more resilient to outside attack by allowing the script writer to limit the amount of fragmentation that is permitted on TCP connections. [[ http://www.opensips.org/Documentation/Script-CoreParameters#toc88 | Read More...]]

* '''NEW Binary Internal Interface''' - Allows a quick and efficient information exchange between OpenSIPS instances by exporting a series of functions used to build, send and receive '''Binary Packets'''. This API can be then used by any OpenSIPS module in order to communicate with the same module of one or more other instances. [[Documentation.Interface-Binary|Read More...]]

* '''NEW -F startup option''' - If set, OpenSIPS will leave the main process in foreground, so that it can be controlled by daemon-tools or old buggy upstart.

* '''conflicting changes''' solves by discarding changes over the chunks which were deleted (the conflict between add and remove lumps).

!!!! NEW DB_CACHEDB module

* '''SQL to NoSQL conversions''' - it provides the SQL API while directly operating with a noSQL engine. Thus, any OpenSIPS module that would regularily need a regular SQL-based database, will now be able to run over a NoSQL back-end, allowing for a much easier distribution and integration of the currently existing OpenSIPS modules in a distributed environment. [[http://lists.opensips.org/pipermail/users/2013-February/024710.html | Read More...]].

!!!! NEW MATHOPS module

* '''Floating point arithmetic''' at OpenSIPS script level, along with a series of rounding capabilities [[http://lists.opensips.org/pipermail/users/2013-March/024918.html | Read More...]]

!!!! NEW MI_XMLRPC_NG module
* '''Improved XMLRPC support''' - Dropped the libxmlrpc-c3 library. Uses the "httpd" module as an HTTP server engine.[[http://www.opensips.org/html/docs/modules/devel/mi_xmlrpc_ng.html | Read More...]]

!!!! NEW REST_CLIENT module

* '''HTTP GET and POST''' are currently the methods supported by the new HTTP client module. [[http://www.opensips.org/html/docs/modules/devel/rest_client.html | Read More...]]

!!!! NEW Transformations

* '''hex2dec and dec2hex''' transformations, used for conversions between decimal and hexadecimal numbers. [[http://www.opensips.org/Resources/DocsCoreTran#toc17 | Read More...]]

!!!! AVPOPS module

* '''avp_db_load()''' - new optional "avp name prefix" parameter which allows distiction between identical attributes when loading AVPs from the database. [[http://www.opensips.org/html/docs/modules/devel/avpops.html#id250302 | Read More...]]

!!!! B2B_LOGIC module

* '''NEW custom_header_regexp param''' - Regexp to search SIP header by names that should be passed from the dialog of one side to the other side. [[http://www.opensips.org/html/docs/modules/devel/b2b_logic#id250020 | Read More ...]]

!!!! CACHE_LOCAL module

* '''Remove Chunks''' - have the ability to remove entire chunks of the cache, from the MI and Script level [[http://www.opensips.org/html/docs/modules/devel/cachedb_local#id249140 | Read More...]]

!!!! DB_HTTP module

* '''NEW timeout param''' - limit the number of milliseconds that a query is allowed to last [[http://www.opensips.org/html/docs/modules/devel/db_http#id250108 | Read More ...]]

!!!! DIALOG module

* '''NEW dialog replication''' - Realtime mirroring of all dialog-related events taking place in one OpenSIPS instance to one or more other instances, for failover purposes. The logic is based on the new ''Binary Internal Interface''. More details can be found in the [[http://www.opensips.org/html/docs/modules/devel/dialog.html#id249113|module documentation]]
* '''$DLG_end_reason''' - new PVAR to tell you the way how to dialog ended ( either normal termination, FIFO, media timeout, lifetime expire, etc ) [[http://www.opensips.org/html/docs/modules/devel/dialog#id295868 | Read More ...]]
* '''dlg_restore_db''' - new MI command which truncates and repopulates the dialog table with the currently confirmed dialogs in memory [[http://www.opensips.org/html/docs/modules/devel/dialog.html#id295678 | Read More ...]]

!!!! HTTPD module
* '''POST support''' added (additional to GET support) - this will open the way for the migration of mi_xmlrpc module and other new features.

!!!! PRESENCE_CALLINFO module
* '''SCA support''' with dialog module ; this module provides OpenSIPS support for shared call appearances (SCA) as defined by BroadWorks SIP Access Side Extensions Interface specifications; it was integrated with the dialog module, so that the dialog module will automatically generate dialog related events for updating the call-info state. [[http://www.opensips.org/html/docs/modules/devel/presence_callinfo.html#id249024 | Read More ...]]

!!!! REGISTRAR module

* '''Store information per location entry''' - the 'attr_avp' module parameter is used to specify an avp which will be used to store/load additional registration-related information in/from the location table. [[http://www.opensips.org/html/docs/modules/devel/registrar#id250484 | Read More...]]

!!!! RTPPROXY module

* '''NEW rtpp_sock_pvar parameter''' - expose to the script the actual RTPProxy URI used in the case of multiple RTPProxy instances load balancing [[http://www.opensips.org/html/docs/modules/devel/rtpproxy#id250494 | Read More...]]

!!!! UAC and UAC_AUTH modules

* module parameters '''auth_realm_avp''', ''auth_username_avp'''and ''auth_password_avp''' moved from the UAC module to the UAC_AUTH module. The UAC_AUTH module is responsible for handling all the credentials (static or dynamic). B2B module gets visibility to credentials defined via AVPs.


!!!! USRLOC module

* '''AOR insert and delete events''' - the usrloc module raises events when a new AOR is inserted or deleted. This allows you to build custom applications to track the customers. [[http://www.opensips.org/html/docs/modules/devel/usrloc#id293650 | Read More...]].
Changed line 15 from:
!!! Devel Plan 1.10 release (TODO list)
to:
!!! Devel Plan 1.11 release (TODO list)
August 05, 2013, at 04:40 PM by razvancrainea -
Added lines 1-122:
!! About -> [[AvailableVersions|Available Versions]] -> [[About.Version-1-11-x|1.11.x Releases]] -> Release 1.11.0
This page has been visited {$PageCount} times.
(:toc-float Table of Content:)

----
!!! Migration from 1.10.x to 1.11.0

To be done on release date.

----

!!! What is new in 1.11.0

!!!! CORE

* '''Asynchronous TCP support''' - Added support for Asynchronous Connect and Write operations on TCP [[http://www.opensips.org/Documentation/Script-CoreParameters#toc77 | Read More...]]

* '''TCP read optimizations''' - Improved overall TCP reading ( faster and with less memory used ). Also made TCP more resilient to outside attack by allowing the script writer to limit the amount of fragmentation that is permitted on TCP connections. [[ http://www.opensips.org/Documentation/Script-CoreParameters#toc88 | Read More...]]

* '''NEW Binary Internal Interface''' - Allows a quick and efficient information exchange between OpenSIPS instances by exporting a series of functions used to build, send and receive '''Binary Packets'''. This API can be then used by any OpenSIPS module in order to communicate with the same module of one or more other instances. [[Documentation.Interface-Binary|Read More...]]

* '''NEW -F startup option''' - If set, OpenSIPS will leave the main process in foreground, so that it can be controlled by daemon-tools or old buggy upstart.

* '''conflicting changes''' solves by discarding changes over the chunks which were deleted (the conflict between add and remove lumps).

!!!! NEW DB_CACHEDB module

* '''SQL to NoSQL conversions''' - it provides the SQL API while directly operating with a noSQL engine. Thus, any OpenSIPS module that would regularily need a regular SQL-based database, will now be able to run over a NoSQL back-end, allowing for a much easier distribution and integration of the currently existing OpenSIPS modules in a distributed environment. [[http://lists.opensips.org/pipermail/users/2013-February/024710.html | Read More...]].

!!!! NEW MATHOPS module

* '''Floating point arithmetic''' at OpenSIPS script level, along with a series of rounding capabilities [[http://lists.opensips.org/pipermail/users/2013-March/024918.html | Read More...]]

!!!! NEW MI_XMLRPC_NG module
* '''Improved XMLRPC support''' - Dropped the libxmlrpc-c3 library. Uses the "httpd" module as an HTTP server engine.[[http://www.opensips.org/html/docs/modules/devel/mi_xmlrpc_ng.html | Read More...]]

!!!! NEW REST_CLIENT module

* '''HTTP GET and POST''' are currently the methods supported by the new HTTP client module. [[http://www.opensips.org/html/docs/modules/devel/rest_client.html | Read More...]]

!!!! NEW Transformations

* '''hex2dec and dec2hex''' transformations, used for conversions between decimal and hexadecimal numbers. [[http://www.opensips.org/Resources/DocsCoreTran#toc17 | Read More...]]

!!!! AVPOPS module

* '''avp_db_load()''' - new optional "avp name prefix" parameter which allows distiction between identical attributes when loading AVPs from the database. [[http://www.opensips.org/html/docs/modules/devel/avpops.html#id250302 | Read More...]]

!!!! B2B_LOGIC module

* '''NEW custom_header_regexp param''' - Regexp to search SIP header by names that should be passed from the dialog of one side to the other side. [[http://www.opensips.org/html/docs/modules/devel/b2b_logic#id250020 | Read More ...]]

!!!! CACHE_LOCAL module

* '''Remove Chunks''' - have the ability to remove entire chunks of the cache, from the MI and Script level [[http://www.opensips.org/html/docs/modules/devel/cachedb_local#id249140 | Read More...]]

!!!! DB_HTTP module

* '''NEW timeout param''' - limit the number of milliseconds that a query is allowed to last [[http://www.opensips.org/html/docs/modules/devel/db_http#id250108 | Read More ...]]

!!!! DIALOG module

* '''NEW dialog replication''' - Realtime mirroring of all dialog-related events taking place in one OpenSIPS instance to one or more other instances, for failover purposes. The logic is based on the new ''Binary Internal Interface''. More details can be found in the [[http://www.opensips.org/html/docs/modules/devel/dialog.html#id249113|module documentation]]
* '''$DLG_end_reason''' - new PVAR to tell you the way how to dialog ended ( either normal termination, FIFO, media timeout, lifetime expire, etc ) [[http://www.opensips.org/html/docs/modules/devel/dialog#id295868 | Read More ...]]
* '''dlg_restore_db''' - new MI command which truncates and repopulates the dialog table with the currently confirmed dialogs in memory [[http://www.opensips.org/html/docs/modules/devel/dialog.html#id295678 | Read More ...]]

!!!! HTTPD module
* '''POST support''' added (additional to GET support) - this will open the way for the migration of mi_xmlrpc module and other new features.

!!!! PRESENCE_CALLINFO module
* '''SCA support''' with dialog module ; this module provides OpenSIPS support for shared call appearances (SCA) as defined by BroadWorks SIP Access Side Extensions Interface specifications; it was integrated with the dialog module, so that the dialog module will automatically generate dialog related events for updating the call-info state. [[http://www.opensips.org/html/docs/modules/devel/presence_callinfo.html#id249024 | Read More ...]]

!!!! REGISTRAR module

* '''Store information per location entry''' - the 'attr_avp' module parameter is used to specify an avp which will be used to store/load additional registration-related information in/from the location table. [[http://www.opensips.org/html/docs/modules/devel/registrar#id250484 | Read More...]]

!!!! RTPPROXY module

* '''NEW rtpp_sock_pvar parameter''' - expose to the script the actual RTPProxy URI used in the case of multiple RTPProxy instances load balancing [[http://www.opensips.org/html/docs/modules/devel/rtpproxy#id250494 | Read More...]]

!!!! UAC and UAC_AUTH modules

* module parameters '''auth_realm_avp''', ''auth_username_avp'''and ''auth_password_avp''' moved from the UAC module to the UAC_AUTH module. The UAC_AUTH module is responsible for handling all the credentials (static or dynamic). B2B module gets visibility to credentials defined via AVPs.


!!!! USRLOC module

* '''AOR insert and delete events''' - the usrloc module raises events when a new AOR is inserted or deleted. This allows you to build custom applications to track the customers. [[http://www.opensips.org/html/docs/modules/devel/usrloc#id293650 | Read More...]].

----
!!! Devel Plan 1.10 release (TODO list)

|| border=1
||! Importance ||! Module ||! Description ||
||xxxx || TM ||even if decide to "go stateful" very early in your script (via t_newtran), all changes you do later over the request (in request route, branch route, failure route) must be updated/pushed into transaction and remembered at later processing ||
||xxxx || new ||new module to drive SANGOMA cards in for transcoding (similar to driving the rtpproxy or mediaproxy) ||
||xxxx || DIALOG ||re-INVITE based in-dialog pinging (with proper SDP handling) ||
||xxx || REGISTRAR ||lookup() should have a flag to force '''lookup on all branches''' (and not only on RURI) ||
||xxx || DIALOG ||New events for dialog matched, terminated, etc ||
||xxx || USRLOC ||distributed storage via a NoSQL DB ||
||xxx || DIALOG ||distributed storage via a NoSQL DB ||
||xxx || USRLOC ||when db is updated based on timer, combine multiple deletes in a single query ||
||xxx || SIPCAPTURE ||TCP support ||
||xxx || DB/cacheDB ||Thresholds for DB and cacheDB ops - similar to the ones in db_mysql module ||
||xxx || REGISTRAR ||New function to remove an AOR or a contact, from script ||
||xxx || RTPProxy ||add ICE support for rtpproxy ||
||xxx || core ||send function (including from TM) should return a dedicated ret code to indicate network errors (failure in sending) ||
||xxx || new ||Integrate OpenSIPS with libpurple library for IM and Presence ||
||xx || TLS core ||add an internal API for TLS management to allow registration of certificates ; a new module to allow TLS certificates provisioning via DB (per domain, per IP, etc) ||
||xx || DROUTING || Allow the option to call do_routing with a particular number, but to propagate downstream a different number ( useful for number portability scenarios ) ||
||xx || USRLOC ||use a single Primary Key (non SIP related) for DB ops ||
||xx || TM ||allow dynamic number of branches per transaction (on demand) ||
||xx || Statistics Interface ||replace the BIG LOCK (if other arch than i386) with multiple shared locks (to protect the values) ||
||xx || new ||new cachedb_virtual modules, similar to db_virtual, but for NoSQL databases ||
||xx || db_virtual ||Opensips should be able to start even if db_virtual was not able to connect to all databases. So long as it can connect to at least 1 it should still work ||
||xx || B2B ||Support for attended transfers on B2BUA
||xx || event_datagram ||Instead of pushing events in text/plan format, to have also the options to pack the event in a json format -> easier to parse by the receiver ||
||xx || new ||mi_xmlrpc to support also REST queries ||
||xx || new ||support for RFC5626 - Managing Client-Initiated Connections in SIP ||
||x || new ||new module mi_stream to provide MI interaction via connection oriented links (TCP or fifo) ||
||x || new ||RFC6140 Registration for Multiple Phone Numbers ||
||x || AVPOPS ||Regexp based filter for avp_db_load - what AVPs to be loaded ||

Page last modified on May 08, 2014, at 12:10 AM