Documentation

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

Hide minor edits - Show changes to markup

June 07, 2018, at 11:42 AM by liviu -
Changed line 1 from:
Documentation -> Migration -> Migration from 2.3.x to 3.0.0
to:
Documentation -> 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 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 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 $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 compat_mode parameter to 1.
to:
  • The old $cgrret variable has been deprecated - it's behavior has been replaces by the newly added $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 compat_mode parameter to 1.
May 11, 2018, at 01:21 PM by liviu -
Added line 81:
  • match_dialog() does NOT do DID_FALLBACK matching by default anymore, and will inherit the matching behavior of the dlg_match_mode modparam
Added lines 102-104:

TOPOLOGY_HIDING

  • * topology_hiding_match() does NOT do DID_FALLBACK matching by default anymore, and will inherit the matching behavior of the 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 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 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 this commit for more info
to:
  • the behavior for script-defined statistics which include multiple ":" symbols (e.g. "method:register:auth") has changed. Read 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 this commit for more info
to:
  • the behavior for statistic names which include multiple ":" symbols (e.g. "method:register:auth") has changed. Read 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 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:
 dialog_replication_cluster.
  • reduce the profile replication related module parameters: accept_replicated_profiles and replicate_profiles_to to a single parameter:
 profile_replication_cluster.
Added lines 89-97:
  • reduce the replication related module parameters: accept_replicated_status and replicate_status_to to a single parameter: status_replication_cluster.

LOAD_BALANCER

  • reduce the replication related module parameters: accept_replicated_status and replicate_status_to to a single parameter: status_replication_cluster.

RATELIMIT

  • reduce the replication related module parameters: accept_pipes_from and replicate_pipes_to to a single parameter: 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 $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 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 load or 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 $ml core variable instead.
to:
  • removed msg:len keyword along with max_len core value, use $ml core variable instead.

DROUTING

  • c0cdc66b2fe90
July 27, 2017, at 01:10 PM by liviu -
Changed line 44 from:
  • removed myself, use the new is_myself() core function instead. 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 is_myself() core function instead. 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 is_myself() core function instead. 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 is_myself() core function instead. 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 $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 $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 is_myself() core function instead. 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 is_myself() core function instead. 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 is_myself() core function instead. 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 is_myself() core function instead. 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 is_myself() core function instead. 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 is_myself() core function instead. 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 is_myself core function instead. 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 is_myself() core function instead. 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 is_myself core function instead. 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 is_myself core function instead. 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 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 is_myself core function instead. 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 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 $af core variable instead and test it's value against "INET" or "INET6" string values;
  • removed dst_ip and src_ip, use $Ri and $si core variables instead;
  • removed dst_port and src_port, use $Rp and $sp core variables instead;
  • removed uri, from_uri and to_uri, use $ru, $fu and $tu core variables instead;
  • removed method, use $rm core variable instead;
  • removed status, use $rs core variable instead;
  • removed proto keyword along with TCP and UDP core values, use $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 $ml core variable instead.
March 16, 2017, at 07:43 PM by razvancrainea -
Added lines 1-41:
Documentation -> Migration -> Migration from 2.3.x to 3.0.0

This page has been visited 11229 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 under this page. The ChangeLog may help your understanding of the migration / update process.

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

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

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