Documentation

Documentation.Migration-2-3-0-to-2-4-0 History

Hide minor edits - Show changes to output

June 07, 2018, at 11:42 AM by liviu -
Changed line 1 from:
!!!!!Documentation -> [[Documentation.Migration|Migration]] -> Migration from 2.3.x to 3.0.0
to:
!!!!!Documentation -> [[Documentation.Migration|Migration]] -> Migration from 2.3.x to 2.4.x
Changed lines 6-9 from:
This section is meant to provide useful help in migrating your OpenSIPS installations from the '''2.3.0''' version to '''3.0.0'''.

You can find the all the new additions in the '''3.0.0''' release compiled [[ About.Version-3-0-0| under this page]]. The ChangeLog may help your understanding of the migration / update process.
to:
This section is meant to provide useful help in migrating your OpenSIPS installations from the '''2.3.0''' version to '''2.4.x'''.

You can find the all the new additions in the '''2.4.x''' release compiled [[ About.Version-3-0-0| under this page]]. The ChangeLog may help your understanding of the migration / update process.
Changed line 15 from:
You can migrate your 2.3.x MySQL DB to the 3.0.0 format by using the '''opensipsdbctl''' tool :
to:
You can migrate your 2.3.x MySQL DB to the 2.4.x format by using the '''opensipsdbctl''' tool :
Changed lines 21-23 from:
* opensips_2_4 is the DB name to be created for 3.0 format

to:
* opensips_2_4 is the DB name to be created for 2.4 format

Changed lines 73-74 from:
* The old @@$cgrret@@ variable has been deprecated - it's behavior has been replaces by the newly added [[ http://www.opensips.org/html/docs/modules/3.0.x/cgrates.html#idp5675504 | $cgr_ret(name)]] variable. Replace in your script all @@$cgrret@@ tokens with @@$cgr_ret@@.
* The new module uses by default the '''SessionSv1''' cgrates interface. In order to use the old '''SMGenericV1''' interface, you must set the [[http://www.opensips.org/html/docs/modules/3.0.x/cgrates.html#idp5583008| compat_mode]] parameter to '''1'''.
to:
* The old @@$cgrret@@ variable has been deprecated - it's behavior has been replaces by the newly added [[ http://www.opensips.org/html/docs/modules/2.4.x/cgrates.html#idp5675504 | $cgr_ret(name)]] variable. Replace in your script all @@$cgrret@@ tokens with @@$cgr_ret@@.
* The new module uses by default the '''SessionSv1''' cgrates interface. In order to use the old '''SMGenericV1''' interface, you must set the [[http://www.opensips.org/html/docs/modules/2.4.x/cgrates.html#idp5583008| compat_mode]] parameter to '''1'''.
May 11, 2018, at 01:21 PM by liviu -
Added line 81:
* '''[[http://www.opensips.org/html/docs/modules/2.4.x/dialog.html#func_match_dialog|match_dialog()]]''' does '''NOT''' do DID_FALLBACK matching by default anymore, and will inherit the matching behavior of the [[http://www.opensips.org/html/docs/modules/2.4.x/dialog.html#param_dlg_match_mode|dlg_match_mode]] modparam
Added lines 102-104:

!!!! TOPOLOGY_HIDING
* * '''[[http://www.opensips.org/html/docs/modules/2.4.x/topology_hiding.html#func_topology_hiding_match|topology_hiding_match()]]''' does '''NOT''' do DID_FALLBACK matching by default anymore, and will inherit the matching behavior of the [[http://www.opensips.org/html/docs/modules/2.4.x/dialog.html#param_dlg_match_mode|dlg_match_mode]] modparam
April 05, 2018, at 03:14 PM by liviu -
Added lines 90-92:

!!!! FRAUD_DETECTION
* the module now uses local time instead of UTC time. The former behavior can be restored by enabling '''[[ http://www.opensips.org/html/docs/modules/2.4.x/fraud_detection.html#param_use_utc_time | use_utc_time ]]'''.
March 29, 2018, at 11:44 AM by liviu -
Changed lines 69-70 from:
* a8db3e45cdf
to:
* OpenSIPS startup no longer gets aborted if any of the Redis servers are down. To restore the old behavior, set the new '''[[http://www.opensips.org/html/docs/modules/2.4.x/cachedb_redis.html#idp5504688 | shutdown_on_error ]]''' modparam to 1.
Changed line 88 from:
* c0cdc66b2fe90
to:
* gateway type '''0''' has been fixed: it no longer erroneously matches all types. This is relevant for you if you use something like ''is_from_gw(partition, type)''
March 28, 2018, at 08:53 PM by liviu -
Changed line 101 from:
* the behavior for statistic names which include multiple '''":"''' symbols (e.g. '''"method:register:auth"''') has changed. Read [[ https://github.com/OpenSIPS/opensips/commit/92de4ffc | this commit ]] for more info
to:
* the behavior for script-defined statistics which include multiple '''":"''' symbols (e.g. '''"method:register:auth"''') has changed. Read [[ https://github.com/OpenSIPS/opensips/commit/92de4ffc | this commit ]] for more info
March 28, 2018, at 08:53 PM by liviu -
Changed line 101 from:
* the behavior for statistic names which include multiple '''":"''' symbols (e.g. "method:register:auth") has changed. Read [[ https://github.com/OpenSIPS/opensips/commit/92de4ffc | this commit ]] for more info
to:
* the behavior for statistic names which include multiple '''":"''' symbols (e.g. '''"method:register:auth"''') has changed. Read [[ https://github.com/OpenSIPS/opensips/commit/92de4ffc | this commit ]] for more info
March 28, 2018, at 08:51 PM by liviu -
Changed line 101 from:
* 92de4ffc060e
to:
* the behavior for statistic names which include multiple '''":"''' symbols (e.g. "method:register:auth") has changed. Read [[ https://github.com/OpenSIPS/opensips/commit/92de4ffc | this commit ]] for more info
March 28, 2018, at 07:35 PM by rvlad_patrascu -
Added lines 57-59:

!!!! Core MI commands
Added lines 76-85:
!!!! CLUSTERER

* the '''ls_seq_no''' and '''top_seq_no''' columns from the clusterer table were removed and are no longer required for the topology establishing mechanism.

!!!! DIALOG
* reduce the dialog replication related module parameters: '''accept_replicated_dialogs''' and '''replicate_dialogs_to''' to a single parameter:
'''[[http://www.opensips.org/html/docs/modules/2.4.x/dialog.html#idp5744576|dialog_replication_cluster]]'''.
* reduce the profile replication related module parameters: '''accept_replicated_profiles''' and '''replicate_profiles_to''' to a single parameter:
'''[[http://www.opensips.org/html/docs/modules/2.4.x/dialog.html#idp5749600|profile_replication_cluster]]'''.
Added lines 89-97:
* reduce the replication related module parameters: '''accept_replicated_status''' and '''replicate_status_to''' to a single parameter: '''[[http://www.opensips.org/html/docs/modules/2.4.x/drouting.html#idp6071344|status_replication_cluster]]'''.

!!!! LOAD_BALANCER

* reduce the replication related module parameters: '''accept_replicated_status''' and '''replicate_status_to''' to a single parameter: '''[[http://www.opensips.org/html/docs/modules/2.4.x/load_balancer.html#idp5913456|status_replication_cluster]]'''.

!!!! RATELIMIT

* reduce the replication related module parameters: '''accept_pipes_from''' and '''replicate_pipes_to''' to a single parameter: '''[[http://www.opensips.org/html/docs/modules/2.4.x/ratelimit.html#idp5552304|pipe_replication_cluster]]'''.
March 28, 2018, at 02:33 PM by razvancrainea -
Added lines 67-71:

!!!! CGRATES

* The old @@$cgrret@@ variable has been deprecated - it's behavior has been replaces by the newly added [[ http://www.opensips.org/html/docs/modules/3.0.x/cgrates.html#idp5675504 | $cgr_ret(name)]] variable. Replace in your script all @@$cgrret@@ tokens with @@$cgr_ret@@.
* The new module uses by default the '''SessionSv1''' cgrates interface. In order to use the old '''SMGenericV1''' interface, you must set the [[http://www.opensips.org/html/docs/modules/3.0.x/cgrates.html#idp5583008| compat_mode]] parameter to '''1'''.
March 28, 2018, at 12:16 PM by 109.99.227.30 -
Added lines 58-60:

!!!! Statistics migration
Following the rework of the LOAD reporting, the old load related statistics '''tcp-load''' and '''udp:int_ip:int_port-load''' should be replaced with [[http://www.opensips.org/Documentation/Interface-CoreStatistics-3-0#load|load]] or [[http://www.opensips.org/Documentation/Interface-CoreStatistics-3-0#load-all|load-all]] statistics.
March 01, 2018, at 02:55 PM by liviu -
Changed line 57 from:
* the output format of the '''MI cache_fetch''' has changed. It is easier to parse now, but backwards-incompatible nevertheless!
to:
* the output format of '''MI cache_fetch''' has changed. It is easier to parse now, but backwards-incompatible nevertheless!
March 01, 2018, at 02:55 PM by liviu -
Added line 57:
* the output format of the '''MI cache_fetch''' has changed. It is easier to parse now, but backwards-incompatible nevertheless!
December 19, 2017, at 11:55 AM by razvancrainea -
Added lines 38-41:

!!!! Global Parameters

* '''poll_method''': '''epoll_et''' and '''epoll_lt''' keywords have been replaced with the '''epoll''' keyword (which behaves as old '''epoll_lt''').
October 17, 2017, at 01:41 PM by liviu -
Added lines 55-58:

!!!! CACHEDB_REDIS

* a8db3e45cdf
October 13, 2017, at 10:14 PM by liviu -
Changed lines 58-62 from:
* c0cdc66b2fe90
to:
* c0cdc66b2fe90

!!!! STATISTICS

* 92de4ffc060e
October 13, 2017, at 05:49 PM by liviu -
Added lines 53-54:

!!! Module migration
October 13, 2017, at 05:48 PM by liviu -
Changed lines 52-56 from:
* removed '''msg:len''' keyword along with ''max_len'' core value, use [[ http://www.opensips.org/Documentation/Script-CoreVar-3-0#toc52 | $ml ]] core variable instead.
to:
* removed '''msg:len''' keyword along with ''max_len'' core value, use [[ http://www.opensips.org/Documentation/Script-CoreVar-3-0#toc52 | $ml ]] core variable instead.

!!!! DROUTING

* c0cdc66b2fe90
July 27, 2017, at 01:10 PM by liviu -
Changed line 44 from:
* removed '''myself''', use the new [[ http://www.opensips.org/Documentation/Script-CoreFunctions-3-0#toc24 | is_myself() ]] core function instead. %red% '''NOTICE: '''%%The meaning of '''is_myself()''' is slightly different. Rather than comparing against a SIP URI as before, ''is_myself()'' now compares against a hostname, alias or IP which is given as a parameter. For example, '''!(uri == myself)''' is now equivalent to '''!is_myself("$rd")'''. This little migration detail may save hours of script troubleshooting :)
to:
* removed '''myself''', use the new [[ http://www.opensips.org/Documentation/Script-CoreFunctions-3-0#toc24 | is_myself() ]] core function instead. %red% '''NOTICE: '''%%The meaning of '''is_myself()''' is slightly different. Rather than comparing against a SIP URI as before, ''is_myself()'' now compares against a hostname, alias or IP which is given as a parameter. For example, '''!(uri == myself)''' is now equivalent to '''!is_myself("$rd")'''. This little migration detail may save you hours of script troubleshooting :)
July 27, 2017, at 01:10 PM by liviu -
Changed line 44 from:
* removed '''myself''', use the new [[ http://www.opensips.org/Documentation/Script-CoreFunctions-3-0#toc24 | is_myself() ]] core function instead. %red% '''NOTICE: '''%%The meaning of '''is_myself()''' is slightly different. Rather than comparing against a SIP URI as before, ''is_myself()'' now compares against a hostname, alias or IP which is given as a parameter. For example, '''!(uri == myself)''' is equivalent to '''!is_myself("$rd")'''. This little migration detail may save hours of script troubleshooting :)
to:
* removed '''myself''', use the new [[ http://www.opensips.org/Documentation/Script-CoreFunctions-3-0#toc24 | is_myself() ]] core function instead. %red% '''NOTICE: '''%%The meaning of '''is_myself()''' is slightly different. Rather than comparing against a SIP URI as before, ''is_myself()'' now compares against a hostname, alias or IP which is given as a parameter. For example, '''!(uri == myself)''' is now equivalent to '''!is_myself("$rd")'''. This little migration detail may save hours of script troubleshooting :)
July 27, 2017, at 01:09 PM by liviu -
Changed line 51 from:
* removed '''proto''' keyword along with ''TCP'' and ''UDP'' core values, use [[ http://www.opensips.org/Documentation/Script-CoreVar-3-0#toc62 | $pr/$proto ]] core variable instead and test it's value against "udp", "tcp", "wss" etc. string values;
to:
* removed '''proto''' keyword along with ''UDP'', ''TCP'', ''WS'', etc. core values, use [[ http://www.opensips.org/Documentation/Script-CoreVar-3-0#toc62 | $pr/$proto ]] core variable instead and test it's value against "udp", "tcp", "ws" etc. string values;
July 27, 2017, at 12:38 PM by liviu -
Changed line 44 from:
* removed '''myself''', use the new [[ http://www.opensips.org/Documentation/Script-CoreFunctions-3-0#toc24 | is_myself() ]] core function instead. %red% '''NOTICE: '''%%The meaning of '''is_myself()''' is slightly different. Rather than comparing against a SIP URI as before, ''is_myself()'' now compares against a hostname, alias or IP which is given as a parameter. For example, '''!(uri == myself)''' is equivalent to '''!is_myself("$fd")'''. This little migration detail may save hours of script troubleshooting :)
to:
* removed '''myself''', use the new [[ http://www.opensips.org/Documentation/Script-CoreFunctions-3-0#toc24 | is_myself() ]] core function instead. %red% '''NOTICE: '''%%The meaning of '''is_myself()''' is slightly different. Rather than comparing against a SIP URI as before, ''is_myself()'' now compares against a hostname, alias or IP which is given as a parameter. For example, '''!(uri == myself)''' is equivalent to '''!is_myself("$rd")'''. This little migration detail may save hours of script troubleshooting :)
July 27, 2017, at 12:35 PM by liviu -
Changed line 44 from:
* removed '''myself''', use the new [[ http://www.opensips.org/Documentation/Script-CoreFunctions-3-0#toc24 | is_myself() ]] core function instead. %red% '''NOTICE: '''%%The meaning of '''is_myself()''' is slightly different. Rather than comparing against a SIP URI as before, ''is_myself()'' now compares against a hostname, alias or IP which is given as a parameter. This little migration detail may save hours of script troubleshooting :)
to:
* removed '''myself''', use the new [[ http://www.opensips.org/Documentation/Script-CoreFunctions-3-0#toc24 | is_myself() ]] core function instead. %red% '''NOTICE: '''%%The meaning of '''is_myself()''' is slightly different. Rather than comparing against a SIP URI as before, ''is_myself()'' now compares against a hostname, alias or IP which is given as a parameter. For example, '''!(uri == myself)''' is equivalent to '''!is_myself("$fd")'''. This little migration detail may save hours of script troubleshooting :)
July 27, 2017, at 12:34 PM by liviu -
Changed line 44 from:
* removed '''myself''', use the new [[ http://www.opensips.org/Documentation/Script-CoreFunctions-3-0#toc24 | is_myself() ]] core function instead. %red% '''NOTICE: '''%%The meaning of '''myself''' has slightly changed. Rather than comparing against a SIP URI as before, ''is_myself()'' now compares against a hostname, alias or IP which is given as a parameter. This little migration detail may save hours of script troubleshooting :)
to:
* removed '''myself''', use the new [[ http://www.opensips.org/Documentation/Script-CoreFunctions-3-0#toc24 | is_myself() ]] core function instead. %red% '''NOTICE: '''%%The meaning of '''is_myself()''' is slightly different. Rather than comparing against a SIP URI as before, ''is_myself()'' now compares against a hostname, alias or IP which is given as a parameter. This little migration detail may save hours of script troubleshooting :)
July 27, 2017, at 12:33 PM by liviu -
Changed line 44 from:
* removed '''myself''', use the new [[ http://www.opensips.org/Documentation/Script-CoreFunctions-3-0#toc24 | is_myself ]] core function instead. %red% '''NOTICE: '''%%The meaning of '''myself''' has slightly changed. Rather than comparing against a SIP URI as before, ''is_myself()'' now compares against a hostname, alias or IP which is given as a parameter. This little migration detail may save hours of script troubleshooting :)
to:
* removed '''myself''', use the new [[ http://www.opensips.org/Documentation/Script-CoreFunctions-3-0#toc24 | is_myself() ]] core function instead. %red% '''NOTICE: '''%%The meaning of '''myself''' has slightly changed. Rather than comparing against a SIP URI as before, ''is_myself()'' now compares against a hostname, alias or IP which is given as a parameter. This little migration detail may save hours of script troubleshooting :)
July 27, 2017, at 12:31 PM by liviu -
Changed line 44 from:
* removed '''myself''', use the new [[ http://www.opensips.org/Documentation/Script-CoreFunctions-3-0#toc24 | is_myself ]] core function instead. %red% '''NOTICE: '''%%The meaning of '''myself''' has slightly changed. Rather than comparing against a SIP URI as before, ''is_myself()'' now compares against a hostname, alias or IP which is given as a parameter. This little detail may save hours of script troubleshooting :)
to:
* removed '''myself''', use the new [[ http://www.opensips.org/Documentation/Script-CoreFunctions-3-0#toc24 | is_myself ]] core function instead. %red% '''NOTICE: '''%%The meaning of '''myself''' has slightly changed. Rather than comparing against a SIP URI as before, ''is_myself()'' now compares against a hostname, alias or IP which is given as a parameter. This little migration detail may save hours of script troubleshooting :)
July 27, 2017, at 12:31 PM by liviu -
Changed line 44 from:
* removed '''myself''', use the new [[ http://www.opensips.org/Documentation/Script-CoreFunctions-3-0#toc24 | is_myself ]] core function instead. The IP, hostname or alias that could be compared with ''myself'' can now be given as parameter to the ''is_myself'' function;
to:
* removed '''myself''', use the new [[ http://www.opensips.org/Documentation/Script-CoreFunctions-3-0#toc24 | is_myself ]] core function instead. %red% '''NOTICE: '''%%The meaning of '''myself''' has slightly changed. Rather than comparing against a SIP URI as before, ''is_myself()'' now compares against a hostname, alias or IP which is given as a parameter. This little detail may save hours of script troubleshooting :)
July 14, 2017, at 05:39 PM by rvlad_patrascu -
Changed line 3 from:
(:toc-float Table of Content:)
to:
(:toc-float Table of Contents:)
Changed lines 39-41 from:
!!!! TBA

* TBA
to:
!!!! Core keywords

Removed the concept of '''core keywords'''. Some keywords were dropped entirely (as they were redundant) and others were replaced as functionality by other means (
new core function, new core variable etc.).

* removed '''myself''', use the new [[ http://www.opensips.org/Documentation/Script-CoreFunctions-3-0#toc24 | is_myself ]] core function instead. The IP, hostname or alias that could be compared with ''myself'' can now be given as parameter to the ''is_myself'' function;
* removed '''af''' keyword along with ''INET'', ''INET6'' core values, use the new [[ http://www.opensips.org/Documentation/Script-CoreVar-3-0#toc19 | $af ]] core variable instead and test it's value against "INET" or "INET6" string values;
* removed '''dst_ip''' and '''src_ip''', use [[ http://www.opensips.org/Documentation/Script-CoreVar-3-0#toc78 | $Ri ]] and [[ http://www.opensips.org/Documentation/Script-CoreVar-3-0#toc81 | $si ]] core variables instead;
* removed '''dst_port''' and '''src_port''', use [[ http://www.opensips.org/Documentation/Script-CoreVar-3-0#toc79 | $Rp ]] and [[ http://www.opensips.org/Documentation/Script-CoreVar-3-0#toc82 | $sp ]] core variables instead;
* removed '''uri''', '''from_uri''' and '''to_uri''', use [[ http://www.opensips.org/Documentation/Script-CoreVar-3-0#toc75 | $ru ]], [[ http://www.opensips.org/Documentation/Script-CoreVar-3-0#toc46 | $fu ]] and [[ http://www.opensips.org/Documentation/Script-CoreVar-3-0#toc86 | $tu ]] core variables instead;
* removed '''method''', use [[ http://www.opensips.org/Documentation/Script-CoreVar-3-0#toc69 | $rm ]] core variable instead;
* removed '''status''', use [[ http://www.opensips.org/Documentation/Script-CoreVar-3-0#toc73 | $rs ]] core variable instead;
* removed '''proto''' keyword along with ''TCP'' and ''UDP'' core values, use [[ http://www.opensips.org/Documentation/Script-CoreVar-3-0#toc62 | $pr/$proto ]] core variable instead and test it's value against "udp", "tcp", "wss" etc. string values;
* removed '''msg:len''' keyword along with ''max_len'' core value, use [[ http://www.opensips.org/Documentation/Script-CoreVar-3-0#toc52 | $ml ]] core variable instead.
March 16, 2017, at 07:43 PM by razvancrainea -
Added lines 1-41:
!!!!!Documentation -> [[Documentation.Migration|Migration]] -> Migration from 2.3.x to 3.0.0
This page has been visited {$PageCount} times.
(:toc-float Table of Content:)
----

This section is meant to provide useful help in migrating your OpenSIPS installations from the '''2.3.0''' version to '''3.0.0'''.

You can find the all the new additions in the '''3.0.0''' release compiled [[ About.Version-3-0-0| under this page]]. The ChangeLog may help your understanding of the migration / update process.

%red% Make sure you don't have any '''Makefile.conf''' files in your sources' root before starting the migration. The configuration file generated by '''menuconfig'' is not compatible with the one in older version! %%

----
!!! DB migration

You can migrate your 2.3.x MySQL DB to the 3.0.0 format by using the '''opensipsdbctl''' tool :
[@
# opensipsdbctl migrate opensips_2_3 opensips_2_4
@]
where :
* opensips_2_3 is the existing DB name corresponding to version 2.3.x format
* opensips_2_4 is the DB name to be created for 3.0 format


NOTE:
* the old database will not be deleted, altered or changed - it will not be touched at all
* new database will be created and data from old DB will be imported into it


%red% NOTE that the migration tool is available only for MYSQL databases! %%

%red% NOTE that the default MySQL DB engine is now InnoDB! %%

(:toc-back Back to Table of Contents:)

----
!!! Script migration
The following is the full list of backwards-incompatible syntax or functional changes in the OpenSIPS configuration script (some of them are fixes):

!!!! TBA

* TBA

Page last modified on June 07, 2018, at 11:42 AM