Login | Register


Documentation -> Migration -> Migration from 1.11.x to 2.1.0

This page has been visited 6886 times.

This section is meant to provide useful help in migrating OpenSIPS installations from the 1.11 version to the latest 2.1 release.

You can find the all the new additions compiled in the 2.1.0 release page. Going through the changelog may improve your understanding of the migration / update process.

1.  DB migration

For MySQL users, you can easily migrate your 1.11.x OpenSIPS databases to the 2.1.0 format with the opensipsdbctl tool:

   # opensipsdbctl migrate opensips_1_11 opensips_2_1


  • opensips_1_11 is the existing DB name corresponding to version 1.11.x format
  • opensips_2_1 is the DB name to be created for 2.1 format


  • 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 only available for MYSQL databases!

In order to migrate other SQL backends, the complete list of structural changes may be found below. However, if possible, we recommend re-creating the databases from scratch using the DB deployment tutorial.

2.  Config 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):

  • In 2.1, for each type of listener, you must load its corresponding module (e.g. loadmodule "proto_tcp.so" if you are using TCP listeners or loadmodule "proto_udp.so" if you are using UDP listeners). Additional info here...
  • All tcp_xxx and tls_xxx core parameters have been moved to their respective modules (proto_tcp, respectively proto_tls)
  • all tcp_ and tls_ global timeout parameters are now given in milliseconds, instead of seconds/useconds
  • Fix: "opensips fifo t_uac_dlg" and t_new_request() now properly handle any force_send_socket() operation done inside the local_route (d37ae66)
  • Fix: acc_evi_request() now properly reports E_ACC_CDR, E_ACC_EVENT and E_ACC_MISSED_EVENT (24bd3a8)
  • Advertised address with mutiple branches: if the advertised address of the first branch is changed, all new branches will start off with the last changed value (ad92fa6)
  • Memcached NoSQL driver bugfix: get() operations no longer create counters in case they do not exist (47cd18c)
  • Couchbase NoSQL driver bugfix: get() operations no longer create counters in case they do not exist (67023e9)
  • make: default prefix changed to "/usr/local" from "/usr" (84cfab2)
  • script: variables can now be assigned NULL variables (5ebc1ef)
  • removed SSLv2 and SSLv3 support (4c56d98 and 06f9025)
  • mi_xmlrpc_ng: default root path changed from "xmlrpc" to "RPC2" (e93a98b)
  • obsolete modules: mi_xmlrpc, auth_diameter, closeddial (d6c14c2)
  • dialog: OpenSIPS no longer starts if dialog fails to establish an SQL DB connection (e2c77e4)
  • Contact header parsing: OpenSIPS 2.1 no longer supports this syntax: "Contact: <>\r\n", as imposed by RFC3261 (608de67)
  • json: $json variables will be set to NULL if assignment fails due to parsing errors (8dfe15e3ce)
  • dialog: the topology_hiding() function was moved in a stand-alone new module, called topology_hiding (d84649e3). If you are using this function, you need to load the topology_hiding module, and also call the topology_hiding_match() function for sequential requests.

3.  List of MI input/output changes

The following is the full list of backwards-incompatible changes in the output of the OpenSIPS Management Interface commands:

  • MI output structure changed: (34576f5 and 459dffb) - make sure your MI parsing scripts are still working correctly!
  • MI output: "opensipsctl fifo list_tcp_conns" - "Timeout" field is now a human-readable date instead of UNIX timestamp (6ac1dc8251)
  • MI output: "opensipsctl fifo subs_phtable_list" - "expires" field is now a human-readable date instead of UNIX timestamp (ddaf004)
  • MI output: "opensipsctl fifo dp_translate" may now return "404 - No translation" (f517529)
  • MI output: "opensipsctl fifo rtpproxy_show" structure change (213e777)
  • MI output: "opensipsctl fifo ds_list" state instead of flags (45afa00)
  • MI output: "opensipsctl fifo dr_gw_status" changed from "Enabled : yes/no" to "State : Disabled MI / Probing / Inactive / Active (3866e35)
  • MI json : on invalid command, "{"error":"Internal server error"}" has been replaced with "{"error":"Command not found"}" (aaaf85c)
  • MI output: "opensipsctl ul show" output aligned to default JSON format (e8101df + eaa5f1a)

4.  List of DB changes

  • cachedb_sql, cachedb table - "PRIMARY KEY" attr added (f1fec17)
  • call_center, cc_agents table - new "last_call_end" column (4b366c5)
  • call_center, cc_calls table - NEW (2f6eb09)
  • dispatcher, dispatcher table - new "priority" column (6dc7261)
  • msilo, silo table - DEFAULT "text/plain" removed (2e4b2d5)
  • siptrace, siptrace table - from_ip|to_ip split into 6 columns (b746032)
  • pua, pua table - new indexes added (59061f1)
  • domain, domain table - attributes support (57ec0f3)
  • drouting, dr_partitions table - NEW (c664d40)
  • dialplan, dialplan table - NEW timerec column (e71485f)
  • fraud_detection, fraud_detection table - NEW (f8a72e8)
  • registrar, aliases table - various column property changes (1572ed0)
  • acc, missed_calls table - NEW columns: "created" and "setuptime" (94cf5dd)
  • msilo, silo table - "NULL" attribute added (e02a004)
  • closeddial, closeddial table - DROPPED (7b30b2c)

Back to Table of Contents

Page last modified on December 07, 2016, at 02:03 PM