Main.Ver170 History

Hide minor edits - Show changes to output

April 25, 2013, at 05:24 PM by razvancrainea -
Added lines 1-2:
(:redirect About.Version-1-7-0 quiet=1:)
October 25, 2012, at 12:42 PM by 109.99.235.212 -
Changed line 1 from:
!! Main -> [[Main.Releases|Releases]] -> [[Main.Ver16x|Version 1.7.x]] -> Release 1.7.0
to:
!! Main -> [[AvailableVersions|Available Versions]] -> [[Main.Ver17x|1.7.x Releases]] -> Release 1.7.0
July 12, 2011, at 08:41 PM by razvancrainea -
Changed lines 73-74 from:
* '''extended the db storage modes''' - now all the 3 types are supported: WRITE BACK(the existing one), WRITE THROUGH(new - synchonous storage in db) and NO DB &&&& apply body lumps before processing (for initial Invites on which b2b_init_request was called, and for sequential requests received by b2b with a body)
to:
* '''extended the db storage modes''' - now all the 3 types are supported: WRITE BACK(the existing one), WRITE THROUGH(new - synchonous storage in db) and NO DB
* apply body '''lumps''' before processing (for initial Invites on which b2b_init_request was called, and for sequential requests received by b2b with a body)
July 12, 2011, at 01:12 PM by vlad_paiu -
Changed line 12 from:
!!! What is new in 1.6.0
to:
!!! What is new in 1.7.0
July 12, 2011, at 01:09 PM by vlad_paiu -
Changed lines 7-8 from:
!!!! Migration from 1.6.4 to 1.7.0
to:
!!! Migration from 1.6.4 to 1.7.0
Changed lines 11-25 from:
!!!!! Script Migration

* Remove the "avp_aliases" parameter and all the "i:" and "s:" prefixes from AVP names.
* Remove the "report_ack" parameter from the ACC module. The parameter is considered obsolete.
* Remove the "bye_on_timeout_flag" parameter from the DIALOG module. To keep the bye on timeout behavior, you need to provide a "B" string parameter to the create_dialog() function, like create_dialog("B").
* Remove the "dlg_flag" parameter from the DIALOG module. The parameter is considered obsolete. The only way to create a dialog is to call the create_dialog() function
* Remove the "enable_full_lr" parameter from the RR module. The parameter is considered obsolete.

!!!!! Database Migration

To migrate the database simply run :
opensipsdbctl migrate old_db_name new_db_name

The script will apply all the afferent DB schema changes, and then migrate all the relevant information from the old database to the new one.
to:
----
!!! What is new in 1.6.0
July 12, 2011, at 12:54 PM by vlad_paiu -
Added lines 8-9:

A [[Resources.DocsMigration164to170|manual for how to migrate/update from 1.6.4 to 1.7.0 is now available on site]].
July 07, 2011, at 02:30 PM by vlad_paiu -
Added lines 21-23:

The script will apply all the afferent DB schema changes, and then migrate all the relevant information from the old database to the new one.
July 07, 2011, at 02:26 PM by vlad_paiu -
Changed lines 19-20 from:
To Be Done
to:
To migrate the database simply run :
opensipsdbctl migrate old_db_name new_db_name
July 06, 2011, at 05:10 PM by vlad_paiu -
Changed line 26 from:
* '''SIP wise URI matching''' - SIP URI comparison as per RFC3261 (including URI parameters matching). This is used know in Record-Route, Dialog, UAC_Registrar module
to:
* '''SIP wise URI matching''' - SIP URI comparison as per RFC3261 (including URI parameters matching). This is used now in Record-Route, Dialog, UAC_Registrar module
July 06, 2011, at 02:34 PM by vlad_paiu -
Changed line 11 from:
* Remove the "avp_aliases" parameter and all the "i:" and "s:" prefixes from AVP names. The
to:
* Remove the "avp_aliases" parameter and all the "i:" and "s:" prefixes from AVP names.
July 06, 2011, at 02:34 PM by vlad_paiu -
Changed lines 17-19 from:
to:
!!!!! Database Migration

To Be Done
July 06, 2011, at 02:33 PM by vlad_paiu -
Changed lines 7-9 from:
!!! Migration from 1.6.4 to 1.7.0

!!!! Script Migration
to:
!!!! Migration from 1.6.4 to 1.7.0

!!!!! Script Migration
July 06, 2011, at 02:32 PM by vlad_paiu -
Changed lines 83-85 from:
to:
!!!! CFGUTILS module
* '''new ts_usec_delta(t1_sec, t1_usec, t2_sec, t2_usec, delta) function''' - returns the difference between two timestamps given as seconds and microseconds - [[http://www.opensips.org/html/docs/modules/devel/cfgutils.html#id248956|more...]]
Deleted lines 93-97:


!!!! CFGUTILS module
* '''new ts_usec_delta(t1_sec, t1_usec, t2_sec, t2_usec, delta) function''' - returns the difference between two timestamps given as seconds and microseconds - [[http://www.opensips.org/html/docs/modules/devel/cfgutils.html#id248956|more...]]
Changed lines 107-109 from:
to:
!!!! REGISTRAR module
* '''is_other_contact(domain , IPs) function''' - verifies if there are any other contacts besides the ones given in the IPs list
Changed lines 114-115 from:
!!!! REGISTRAR module
* '''is_other_contact(domain , IPs) function''' - verifies if there are any other contacts besides the ones given in the IPs list
to:
July 06, 2011, at 02:30 PM by vlad_paiu -
Changed lines 9-16 from:
%red%To be done%%
to:
!!!! Script Migration

* Remove the "avp_aliases" parameter and all the "i:" and "s:" prefixes from AVP names. The
* Remove the "report_ack" parameter from the ACC module. The parameter is considered obsolete.
* Remove the "bye_on_timeout_flag" parameter from the DIALOG module. To keep the bye on timeout behavior, you need to provide a "B" string parameter to the create_dialog() function, like create_dialog("B").
* Remove the "dlg_flag" parameter from the DIALOG module. The parameter is considered obsolete. The only way to create a dialog is to call the create_dialog() function
* Remove the "enable_full_lr" parameter from the RR module. The parameter is considered obsolete.
July 06, 2011, at 02:20 PM by razvancrainea -
Changed lines 108-109 from:
to:
!!!! REGISTRAR module
* '''is_other_contact(domain , IPs) function''' - verifies if there are any other contacts besides the ones given in the IPs list
July 06, 2011, at 02:02 PM by vlad_paiu -
Changed line 83 from:
* '''topology hiding''' functionality based on dialog state. It is a lightweight topology hiding built as an extension of dialog module. It does not change the dialog elements (to tag, from tag, callid), but only strips and restores the headers that contain topology information (Via, Record-Route, Route and Contact headers). [[http://www.opensips.org/html/docs/modules/devel/dialog.html#id294708| More...]
to:
* '''topology hiding''' functionality based on dialog state. It is a lightweight topology hiding built as an extension of dialog module. It does not change the dialog elements (to tag, from tag, callid), but only strips and restores the headers that contain topology information (Via, Record-Route, Route and Contact headers). [[http://www.opensips.org/html/docs/modules/devel/dialog.html#id294708| More...]]
July 06, 2011, at 01:58 PM by vlad_paiu -
Changed line 29 from:
* '''new get_timestamp(sec_avp,usec_avp) function''' - to return the current timestamp, seconds and microseconds of the current second, from a single system cal[[http://www.opensips.org/Resources/DocsCoreFcn#toc112|more...]]
to:
* '''new get_timestamp(sec_avp,usec_avp) function''' - to return the current timestamp, seconds and microseconds of the current second, from a single system call [[http://www.opensips.org/Resources/DocsCoreFcn#toc112|more...]]
July 06, 2011, at 01:48 PM by bogdan -
Changed lines 74-75 from:

to:
* '''REFER with REPLACE hdr handling''' - the information on the dialog referred by REPLACE header is properly updated when going through B2BUA

Changed line 78 from:
* state machine accepts requests while in earyly ( if not BYE )
to:
* state machine accepts requests while in early ( if not BYE )
July 06, 2011, at 01:44 PM by bogdan -
Added lines 66-74:

!!!! B2BUA modules
* '''internal API''' that allows other module to bind, control and implement custom B2B2UA scenarios
* '''parallel forking''' support on the UAC side of B2BUA
* '''outbound proxy for B2BUA''' - setting $du before calling b2b_init_request will have effect now
* '''UAS side callid can propagate to UAS side''' as an extra custom header - you can enable this feature by setting the init_callid_hdr parameter with the name of the header
* '''extended the db storage modes''' - now all the 3 types are supported: WRITE BACK(the existing one), WRITE THROUGH(new - synchonous storage in db) and NO DB &&&& apply body lumps before processing (for initial Invites on which b2b_init_request was called, and for sequential requests received by b2b with a body)
* '''support for UAC authentication''' - the list of credentials is provided by the uac_auth module which must be loaded before b2b_entities module
July 06, 2011, at 01:39 PM by bogdan -
Added lines 67-76:
!!!! DIALOG module
* state machine accepts requests while in earyly ( if not BYE )
* '''in-dialog pinging''' - optionally,create_dialog() also receives a string parameter, which specifies whether the dialog end-points should be pinged via SIP options messages. The parameter can be "P" to specify to only ping the caller, "c" to only ping the callee or "Pp" to ping both dialog sides. If one end-point fails to respond to a options ping in ping_interval ( configurable parameter ) seconds, OpenSIPS will terminate the dialog from the middle.
* '''proper cseq handling''' at invite time & proper validation of ACK messages
* '''new match_dialog() script function''' for explicitly doing dialog matching or for coping with sequential requests with no Route hdr. [[http://www.opensips.org/html/docs/modules/devel/dialog.html#id293901| More...]]
* '''FROM/TO URIs per leg''' - in case of uac_replace_* function usage, in-dialog requests generated by OpenSIPS from the middle will have correct FROM and/or TO uris
* '''topology hiding''' functionality based on dialog state. It is a lightweight topology hiding built as an extension of dialog module. It does not change the dialog elements (to tag, from tag, callid), but only strips and restores the headers that contain topology information (Via, Record-Route, Route and Contact headers). [[http://www.opensips.org/html/docs/modules/devel/dialog.html#id294708| More...]


Deleted line 77:
July 06, 2011, at 01:35 PM by bogdan -
Added line 56:
* "auto-bridging" mode - force the module to detect and trigger the RTP bridging cases [[http://www.opensips.org/html/docs/modules/devel/rtpproxy.html#id250151|More...]]
Added lines 70-83:

!!!! DISPATCHER module
* '''limit the number of destinations''' to be tried when dispatcher call. The default entry is not counted into the total. See the '''max_results''' param for [[http://www.opensips.org/html/docs/modules/devel/dispatcher.html#id293056|ds_select_dst() and ds_select_domain() functions]]

!!!! EXEC module
* ''' asynchronous support for exec_cmd() function''' - if the external app you are triggering does not have to provide output back to OpenSIPS, you can instruct OpenSIPS not to wait for the command to finish, but the continue right after the external command was launched.

!!!! PRESENCE module
* '''performance improvements''' - use the info stored in memory to check if a Publish entry exists, instead of hitting the DB.


!!!! PUA_DIALOGINFO module
* '''aggregation for multiple dialogs''' in the same line
July 06, 2011, at 12:59 PM by bogdan -
Changed line 51 from:
!!! New RTPPROXY module
to:
!!!! New RTPPROXY module
July 06, 2011, at 12:58 PM by bogdan -
Added lines 50-56:

!!! New RTPPROXY module
This module was split from NATHELPER module and encapsulate all the rtpproxy-related functionalities.\\
Also comes with a set of improvements
* '''rtproxy failover''' - modules properly handles the errors reported by rtpproxy and it is able now to failover to another rtpproxy in cases like rtpproxy cannot create new streams, internal errors, etc
* improved the algorithm for re-distributing calls assigned to a failed RTPProxy
[[http://www.opensips.org/html/docs/modules/devel/rtpproxy.html | Full module description and documentation]]
July 06, 2011, at 12:51 PM by bogdan -
Changed lines 44-45 from:
*
to:
OPENSIPSCTL and OSIPSCONSOLE uses a single database user (with read/write permissions) for DB access (the opensipsro access user - for Read-Only ops - was dropped)

Changed lines 48-49 from:
This module is a connector module for the Event Interface - it provides datagram based (UDP and UNIX sockets) communication with the external applications.
to:
This module is a connector module for the Event Interface - it provides datagram based (UDP and UNIX sockets) communication with the external applications.\\
Changed lines 52-53 from:
This module that allows OpenSIPS to register itself on a remote registrar, including the authentication part.
to:
This module that allows OpenSIPS to register itself on a remote registrar, including the authentication part.\\
Changed lines 56-57 from:
This module provides a common API for UAC authentication functionality. This module is not to be used directly from script, but it is used by other modules which requires UAC uath, like UAC, B2BUA, UAC_REGISTRANT modules.
to:
This module provides a common API for UAC authentication functionality. This module is not to be used directly from script, but it is used by other modules which requires UAC uath, like UAC, B2BUA, UAC_REGISTRANT modules.\\
July 06, 2011, at 12:49 PM by bogdan -
Changed line 16 from:
* '''Event Interface''' -
to:
* '''Event Interface''' - a new interface that allows external applications to subscribe and receive notifications from OpenSIPS regarding various internal events [[http://www.opensips.org/Development/EventNotification|full description]]
Added lines 46-60:
!!!! New EVENT_DATAGRAM module
This module is a connector module for the Event Interface - it provides datagram based (UDP and UNIX sockets) communication with the external applications.

[[http://www.opensips.org/html/docs/modules/devel/event_datagram.html | Full module description and documentation]]

!!!! New UAC_REGISTRANT module
This module that allows OpenSIPS to register itself on a remote registrar, including the authentication part.

[[http://www.opensips.org/html/docs/modules/devel/uac_registrant.html | Full module description and documentation]]

!!!! New UAC_AUTH module
This module provides a common API for UAC authentication functionality. This module is not to be used directly from script, but it is used by other modules which requires UAC uath, like UAC, B2BUA, UAC_REGISTRANT modules.

[[http://www.opensips.org/html/docs/modules/devel/uac_auth.html | Full module description and documentation]]
Added lines 64-68:

!!!! TM module
* '''fixed race condition between CANCELing branches and creating new ones ''' - on timeout, first CANCEL first the branch and only then generate a new branch (serial forking on timeout). Previous approach (first generate new branch and then CANCEL previous branch) was leading to unpredictable SIP behaviors, especially when the target of both branches is same SIP entity.
* '''accurate retransmissions and timeouts''' - enabling "own_timer_proc" parameter, TM may create its own timer process - Under heavy load, the presence cleanup routes and the register cleanup routines can take several minutes each. During this time, the tm timers, and in particular the retransmission timers don't run. Given that the first retransmission timer is 0.5sec, even very small delays caused by the cleanup routines can kill the retransmissions. [[http://www.opensips.org/html/docs/modules/devel/tm.html#id293323|More..]]
July 06, 2011, at 12:26 PM by bogdan -
Changed lines 16-17 from:
* '''SIP wise URI matching''' - SIP URI comparison as per RFC3261 (including URI parameters matching). This is used know
to:
* '''Event Interface''' -
* '''SIP wise URI matching''' - SIP URI comparison as per RFC3261 (including URI parameters matching). This is used know in Record-Route, Dialog, UAC_Registrar module
July 06, 2011, at 12:20 PM by bogdan -
Added line 16:
* '''SIP wise URI matching''' - SIP URI comparison as per RFC3261 (including URI parameters matching). This is used know
Deleted line 24:
Added lines 32-37:
!!!! SIP Parser

* '''Call-Info''' header parsers
* '''WWW-Authenticate and Proxy-Authenticate''' header parser
* '''SIP URI parser extended''' to parse also the unknown URI parameters
* '''SIP URI parser extended''' - new helper function for splitting URI headers && support for parsing "Replaces" header body
July 06, 2011, at 11:52 AM by bogdan -
Added line 28:
* '''new get_timestamp(sec_avp,usec_avp) function''' - to return the current timestamp, seconds and microseconds of the current second, from a single system cal[[http://www.opensips.org/Resources/DocsCoreFcn#toc112|more...]]
Changed lines 39-41 from:
!!!! xxxx module
to:
!!!! CFGUTILS module

* '''new ts_usec_delta(t1_sec, t1_usec, t2_sec, t2_usec, delta) function''' - returns the difference between two timestamps given as seconds and microseconds - [[http://www.opensips.org/html/docs/modules/devel/cfgutils.html#id248956|more...]]
July 06, 2011, at 11:44 AM by bogdan -
Changed lines 20-21 from:
* '''buffering for DB INSERT operations ''' - Instead of flushing inserts row by row to DB, wait for query_buffer_size rows to pile up, and only then flush to DB. Also, a timer will run every query_flush_time seconds, ensuring that no rows will remain in memory for a long time
Integrated this feature with acc, siptrace and avpops, and also with the usrloc and dialog timer that do write-back synchronization with the DB. [[http://www.opensips.org/Main/News0060| more...]]
to:
* '''buffering for DB INSERT operations ''' - Instead of flushing inserts row by row to DB, wait for query_buffer_size rows to pile up, and only then flush to DB. Also, a timer will run every query_flush_time seconds, ensuring that no rows will remain in memory for a long time. This feature is integrated with acc, siptrace and avpops, and also with the usrloc and dialog timer that do write-back synchronization with the DB. [[http://www.opensips.org/Main/News0060| more...]]
* '''AVP auto-aliasing for names''' - there are no numerical or string names for AVPs - in script all are strings and, at startup, all AVP names are automatically aliased to numerical ID for speedup [[http://www.opensips.org/Main/News0061|more..]]
* '''control TCP over NAT via tcp_no_tcp_conn_bflag parameter ''' - script can instruct TCP layer not to open a new TCP connection when trying to deliver the requests (but only to use an existing one) - useful in NAT situations. New core param "tcp_no_tcp_conn_bflag" - index of branch flag to mark the branch that should not attempt to open a new TCP conn.
* '''OpenSIPS return code covers also the children processes''' - at startup, OpenSIPS waits for all children processes to initialize before reporting a successful or failed startup.
July 06, 2011, at 11:32 AM by bogdan -
Added lines 27-29:
* ''' new variables $auth.nonce, $auth.opaque, $auth.alg, $auth.qop, $auth.nc''' - provides access to fields from the authentication headers [[http://www.opensips.org/Resources/DocsCoreVar#toc11 | more...]]

July 06, 2011, at 11:29 AM by bogdan -
Changed lines 20-22 from:


* '''new VIA transformation''' for extracting information form a SIP VIA-like string - [[http://www.opensips.org/Resources/DocsCoreTran#toc32|more]]
to:
* '''buffering for DB INSERT operations ''' - Instead of flushing inserts row by row to DB, wait for query_buffer_size rows to pile up, and only then flush to DB. Also, a timer will run every query_flush_time seconds, ensuring that no rows will remain in memory for a long time
Integrated this feature with acc, siptrace and avpops, and also with the usrloc and dialog timer that do write-back synchronization with the DB. [[http://www.opensips.org/Main/News0060| more...]]

* '''new {via.*} transformation''' for extracting information form a SIP VIA-like string - [[http://www.opensips.org/Resources/DocsCoreTran#toc32|more]]
* '''new {param.exist,name} transformation''' for testing the presence of a parameter (by name) in a list of SIP parameters. This is useful for testing params that don't have values (e.g., lr,ob). [[http://www.opensips.org/Resources/DocsCoreTran#toc43|more...]]
July 06, 2011, at 11:25 AM by bogdan -
Changed lines 19-25 from:
*
to:
* '''global configurable default DB URL''' - a default DB URL (to be used by all modules if not a per-module one given) can be configured as global parameter - [[http://www.opensips.org/Resources/DocsCoreFcn#toc33|see]]


* '''new VIA transformation''' for extracting information form a SIP VIA-like string - [[http://www.opensips.org/Resources/DocsCoreTran#toc32|more]]
* '''new remove_branch(n) function''' for removing an existing branch [[http://www.opensips.org/Resources/DocsCoreFcn#toc121|more]]
* '''new variable $hdrcnt(name)''' to count the instances of a SIP header in the current message [[http://www.opensips.org/Resources/DocsCoreVar#toc91|more]]
July 06, 2011, at 11:16 AM by bogdan -
Added lines 16-18:
* '''benchmarking and reporting for blocking I/O operations''' - SIP msg processing, DNS queries and DB mysql queries can be timed, and if any of these operations exceed a given threshold, warnings messages will be triggered to the logging facility. Also, new statistics are available, that show the load on the children of each UDP interfaces, as well as the tcp load - [[http://lists.opensips.org/pipermail/users/2011-February/016918.html|see more]]
* '''auto increase of TCP send buffers''' at statup , in order to avoid blocking on TCP send operations because of buffering on socket
* '''extensive TCP debugging''' to troubleshoot the TCP blocking
Deleted line 19:
July 01, 2011, at 07:56 PM by bogdan -
Added lines 1-24:
!! Main -> [[Main.Releases|Releases]] -> [[Main.Ver16x|Version 1.7.x]] -> Release 1.7.0
----
(:toc-float Table of Content:)


----
!!! Migration from 1.6.4 to 1.7.0

%red%To be done%%



----
!!!! Core

*


!!!! Tools

*

!!!! xxxx module

Page last modified on April 25, 2013, at 05:24 PM