Login | Register

Documentation

Documentation -> Migration -> Migration from 3.6.x to 5.0.x

This page has been visited 479 times.


This section is meant to provide useful help in migrating your OpenSIPS installations from the 3.6.x version to 4.0.x.

You can find the all the new additions in the 4.0 release compiled under this page. The ChangeLog may help your understanding of the migration / update process.

Make sure you don't carry a left-over Makefile.conf file in your OpenSIPS source tree if migrating to a new branch! This configuration file, generated by make menuconfig, is usually not compatible with the one of a previous major release!


1.  DB migration

You can migrate your 3.6.x MySQL DB to the 4.0.x format using the opensips-cli tool :

   # opensips-cli -x database migrate 3.6_to_4.0 opensips_3_6 opensips_4_0

where :

  • opensips_3_6 is the existing DB name corresponding to version 3.6.x format
  • opensips_4_0 is the DB name to be created for 4.0.x format

See the opensips-cli documentation for more details.

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

Back to Table of Contents


1.1  MI naming logic
  • Canonical format: all MI commands are exported as module:command.
  • Legacy names: old MI names are kept as aliases where available.
  • Unqualified call: calling only command works only if the name is unambiguous.
  • Ambiguous call: ambiguous unqualified calls fail with JSON-RPC code -32001 (Method ambiguous).
  • Alias limit: each MI command can define up to 4 aliases.
  • Group listing: which command=module: lists all commands from that module/group.

The following table summarizes all MI function migration changes:

ModuleOld MI functionNew MI function
coreadd_blacklist_ruleblacklists:add_rule
corecache_fetchcache:fetch
corecache_removecache:remove
corecache_storecache:store
corecheck_blacklistblacklists:check
corecheck_blacklistsblacklists:check_all
coredel_blacklist_ruleblacklists:del_rule
coreevent_subscribeevi:subscribe
coreevents_listevi:list
coreget_statisticsstatistics:get
corelist_blacklistsblacklists:list
corelist_statisticsstatistics:list
coremem_pkg_dumpmem:pkg_dump
coremem_rpm_dumpmem:rpm_dump
coremem_shm_checkmem:shm_check
coremem_shm_dumpmem:shm_dump
coreraise_eventevi:raise
corereset_all_statisticsstatistics:reset_all
corereset_statisticsstatistics:reset
coresr_get_statusstatus_report:get
coresr_list_identifiersstatus_report:identifiers
coresr_list_reportsstatus_report:reports
coresr_list_statusstatus_report:status
coresubscribers_listevi:subscribers
auth_akaaka_av_addauth_aka:av_add
auth_akaaka_av_dropauth_aka:av_drop
auth_akaaka_av_drop_allauth_aka:av_drop_all
auth_akaaka_av_failauth_aka:av_fail
b2b_entitiesb2be_listb2b_entities:list
b2b_logicb2b_bridgeb2b_logic:bridge
b2b_logicb2b_listb2b_logic:list
b2b_logicb2b_terminate_callb2b_logic:terminate_call
b2b_logicb2b_trigger_scenariob2b_logic:trigger_scenario
b2b_scasca_listb2b_sca:list
benchmarkbm_enable_globalbenchmark:enable_global
benchmarkbm_enable_timerbenchmark:enable_timer
benchmarkbm_granularitybenchmark:granularity
benchmarkbm_loglevelbenchmark:loglevel
benchmarkbm_poll_resultsbenchmark:poll_results
binstls_tracebins:trace
cachedb_localcache_fetch_chunkcachedb_local:fetch_chunk
cachedb_localcache_remove_chunkcachedb_local:remove_chunk
call_centercc_agent_logincall_center:agent_login
call_centercc_dispatch_call_to_agentcall_center:dispatch_call_to_agent
call_centercc_internal_call_dispatchingcall_center:internal_call_dispatching
call_centercc_list_agentscall_center:list_agents
call_centercc_list_callscall_center:list_calls
call_centercc_list_flowscall_center:list_flows
call_centercc_list_queuecall_center:list_queue
call_centercc_reloadcall_center:reload
call_centercc_reset_statscall_center:reset_stats
callopscall_holdcallops:hold
callopscall_transfercallops:transfer
callopscall_unholdcallops:unhold
carrierroutecr_activate_hostcarrierroute:activate_host
carrierroutecr_add_hostcarrierroute:add_host
carrierroutecr_deactivate_hostcarrierroute:deactivate_host
carrierroutecr_delete_hostcarrierroute:delete_host
carrierroutecr_dump_routescarrierroute:dump_routes
carrierroutecr_reload_routescarrierroute:reload_routes
carrierroutecr_replace_hostcarrierroute:replace_host
clusterercluster_broadcast_miclusterer:broadcast_mi
clusterercluster_send_miclusterer:send_mi
clustererclusterer_listclusterer:list
clustererclusterer_list_capclusterer:list_cap
clustererclusterer_list_shtagsclusterer:list_shtags
clustererclusterer_list_topologyclusterer:list_topology
clustererclusterer_reloadclusterer:reload
clustererclusterer_remove_nodeclusterer:remove_node
clustererclusterer_set_cap_statusclusterer:set_cap_status
clustererclusterer_set_statusclusterer:set_status
clustererclusterer_shtag_set_activeclusterer:shtag_set_active
configconfig_flushconfig:flush
configconfig_listconfig:list
configconfig_pushconfig:push
configconfig_push_bulkconfig:push_bulk
configconfig_reloadconfig:reload
cpl_cGET_CPLcpl_c:get
cpl_cLOAD_CPLcpl_c:load
cpl_cREMOVE_CPLcpl_c:remove
db_berkeleybdb_reloaddb_berkeley:reload
db_flatstoreflat_rotatedb_flatstore:rotate
db_textdbt_dumpdb_text:dump
db_textdbt_reloaddb_text:reload
db_virtualdb_getdb_virtual:get
db_virtualdb_setdb_virtual:set
dialogdlg_cluster_syncdialog:cluster_sync
dialogdlg_db_syncdialog:db_sync
dialogdlg_end_dlgdialog:end_dlg
dialogdlg_listdialog:list
dialogdlg_list_ctxdialog:list_ctx
dialogdlg_push_vardialog:push_var
dialogdlg_restore_dbdialog:restore_db
dialogdlg_send_sequentialdialog:send_sequential
dialogdlg_set_profiledialog:set_profile
dialogdlg_unset_profiledialog:unset_profile
dialogset_dlg_profiledialog:set_profile
dialogunset_dlg_profiledialog:unset_profile
dialplandp_reloaddialplan:reload
dialplandp_show_partitiondialplan:show_partition
dialplandp_translatedialplan:translate
dispatcherds_listdispatcher:list
dispatcherds_push_script_attrsdispatcher:push_script_attrs
dispatcherds_reloaddispatcher:reload
dispatcherds_set_statedispatcher:set_state
domaindomain_dumpdomain:dump
domaindomain_reloaddomain:reload
droutingdr_carrier_statusdrouting:carrier_status
droutingdr_enable_probingdrouting:enable_probing
droutingdr_gw_statusdrouting:gw_status
droutingdr_number_routingdrouting:number_routing
droutingdr_reloaddrouting:reload
droutingdr_reload_statusdrouting:reload_status
event_flatstoreevi_flat_rotateevent_flatstore:rotate
fraud_detectionfraud_reloadfraud_detection:reload
fraud_detectionshow_fraud_statsfraud_detection:show_stats
freeswitch_scriptingfs_listfreeswitch_scripting:list
freeswitch_scriptingfs_reloadfreeswitch_scripting:reload
freeswitch_scriptingfs_subscribefreeswitch_scripting:subscribe
freeswitch_scriptingfs_unsubscribefreeswitch_scripting:unsubscribe
httpdhttpd_list_root_pathhttpd:list_root_path
imcimc_list_membersimc:list_members
imcimc_list_roomsimc:list_rooms
load_balancerlb_listload_balancer:list
load_balancerlb_reloadload_balancer:reload
load_balancerlb_resizeload_balancer:resize
load_balancerlb_statusload_balancer:status
media_exchangemedia_exchange_from_call_to_urimedia_exchange:from_call_to_uri
media_exchangemedia_exchange_from_call_to_uri_bodymedia_exchange:from_call_to_uri_body
media_exchangemedia_fork_from_call_to_urimedia_exchange:fork_from_call_to_uri
media_exchangemedia_terminatemedia_exchange:terminate
mqueuemq_fetchmqueue:fetch
mqueuemq_get_sizemqueue:get_size
mqueuemq_get_sizesmqueue:get_sizes
msrpmsrp_tracemsrp:trace
msrp_gatewaymsrp_gw_end_sessionmsrp_gateway:end_session
msrp_gatewaymsrp_gw_list_sessionsmsrp_gateway:list_sessions
msrp_uamsrp_ua_end_sessionmsrp_ua:end_session
msrp_uamsrp_ua_list_sessionsmsrp_ua:list_sessions
msrp_uamsrp_ua_send_messagemsrp_ua:send_message
msrp_uamsrp_ua_start_sessionmsrp_ua:start_session
nathelpernh_enable_pingnathelper:enable_ping
opentelemetryotel_enableopentelemetry:enable
pi_httppi_reload_tbls_and_cmdspi_http:reload_tbls_and_cmds
pikepike_listpike:list
pikepike_rmpike:rm
presencepres_exposepresence:expose
presencepres_phtable_listpresence:phtable_list
presencerefreshWatcherspresence:refresh_watchers
presence_dfksdfks_set_featurepresence_dfks:set_feature
pua_mipua_publishpua_mi:publish
pua_mipua_subscribepua_mi:subscribe
qroutingqr_disable_dstqrouting:disable_dst
qroutingqr_enable_dstqrouting:enable_dst
qroutingqr_reloadqrouting:reload
qroutingqr_statusqrouting:status
rate_cacherrc_addClientrate_cacher:addClient
rate_cacherrc_addVendorrate_cacher:addVendor
rate_cacherrc_deleteClientrate_cacher:deleteClient
rate_cacherrc_deleteClientRaterate_cacher:deleteClientRate
rate_cacherrc_deleteVendorrate_cacher:deleteVendor
rate_cacherrc_deleteVendorRaterate_cacher:deleteVendorRate
rate_cacherrc_getClientPricerate_cacher:getClientPrice
rate_cacherrc_getVendorPricerate_cacher:getVendorPrice
rate_cacherrc_reloadClientRaterate_cacher:reloadClientRate
rate_cacherrc_reloadVendorRaterate_cacher:reloadVendorRate
ratelimitrl_dump_piperatelimit:dump_pipe
ratelimitrl_get_pidratelimit:get_pid
ratelimitrl_listratelimit:list
ratelimitrl_reset_piperatelimit:reset_pipe
ratelimitrl_set_pidratelimit:set_pid
regexregex_matchregex:match
regexregex_match_groupregex:match_group
regexregex_reloadregex:reload
rlsrls_update_subscriptionsrls:update_subscriptions
rtp_relayrtp_relay_listrtp_relay:list
rtp_relayrtp_relay_updatertp_relay:update
rtp_relayrtp_relay_update_callidrtp_relay:update_callid
rtpenginertpengine_enablertpengine:enable
rtpenginertpengine_reloadrtpengine:reload
rtpenginertpengine_showrtpengine:show
rtpproxyrtpproxy_enablertpproxy:enable
rtpproxyrtpproxy_reloadrtpproxy:reload
rtpproxyrtpproxy_showrtpproxy:show
sipcapturesip_capturesipcapture:capture
sockets_mgmsockets_listsockets_mgm:list
sockets_mgmsockets_reloadsockets_mgm:reload
sql_cachersql_cacher_reloadsql_cacher:reload
stir_shakenstir_shaken_ca_reloadstir_shaken:ca_reload
stir_shakenstir_shaken_crl_reloadstir_shaken:crl_reload
tcp_mgmtcp_reloadtcp_mgm:reload
tlstls_tracetls:trace
tls_mgmtls_listtls_mgm:list
tls_mgmtls_reloadtls_mgm:reload
tmt_hashtm:hash
tmt_replytm:reply
tmt_uac_canceltm:uac_cancel
tmt_uac_dlgtm:uac_dlg
tracertrace_starttracer:start
tracertrace_stoptracer:stop
trietrie_number_deletetrie:number_delete
trietrie_number_upserttrie:number_upsert
trietrie_reloadtrie:reload
trietrie_reload_statustrie:reload_status
trietrie_searchtrie:search
uac_registrantreg_deleteuac_registrant:delete
uac_registrantreg_disableuac_registrant:disable
uac_registrantreg_enableuac_registrant:enable
uac_registrantreg_force_registeruac_registrant:force_register
uac_registrantreg_listuac_registrant:list
uac_registrantreg_reloaduac_registrant:reload
uac_registrantreg_upsertuac_registrant:upsert
userblacklistreload_blacklistuserblacklist:reload
usrlocul_addusrloc:add
usrlocul_cluster_syncusrloc:cluster_sync
usrlocul_dumpusrloc:dump
usrlocul_flushusrloc:flush
usrlocul_rmusrloc:rm
usrlocul_rm_contactusrloc:rm_contact
usrlocul_show_contactusrloc:show_contact
usrlocul_syncusrloc:sync
wsws_tracews:trace
wsswss_tracewss:trace

2.  Script migration

The following is the full list of backwards-incompatible syntax or functional changes in the OpenSIPS configuration script:

  • none

Global Parameters

  • The log_stderror parameter has been completely dropped, use stderror_enabled and/or instead
  • The log_facility parameter has been completely dropped, use syslog_facility instead
  • The log_name parameter has been completely dropped, use syslog_name instead
  • The listen parameter has been completely dropped, use socket instead

Core Variables

  • example

Core keywords

  • example

Core functions

  • example

Core MI commands

  • Canonical MI command format is now module:command (for example, usrloc:rm_contact, blacklists:list).
  • Local (module-less) MI calls are still accepted only if the local name is unambiguous across all modules.
  • Ambiguous module-less MI calls now fail with JSON-RPC custom error code -32001 (Method ambiguous) and return the supported canonical names.
  • MI commands can define up to 4 aliases (typically old names kept for compatibility).
  • Core command regrouping:
    • mem_* -> mem:*
    • sr_* -> status_report:* (with sr_get_status -> status_report:get)
    • event MI commands -> evi:*
    • cache MI commands -> cache:*
  • The which MI command now supports module listing by suffixing the module with : (example: which command=dialog: lists all dialog MI commands).

Statistics migration

  • example

3.  Module migration

  • All MI function renames are consolidated in the MI command migration table above.

MI_XMLRPC_NG module

  • The old MI_XMLRPC_NG module has been renamed to MI_XMLRPC - in order to migrate, replace mi_xmlrpc_ng references with mi_xmlrpc.

USRLOC module


Page last modified on March 10, 2026, at 07:08 PM