Migration from 1.4.x to 1.5.x
This section is to provide useful help in migrating your OpenSIPS installations from any release from 1.4 branch to any release from 1.5 branch.
You can find the all the new additions in 1.5.x release compiled under this page. Overviewing it, may help you understanding the migration / update process.
DB migration
Section titled “DB migration”The database structure was not affected by major changes (like changing the format existing tables). But new tables were added (corresponding to the newly added modules).
The biggest change concerning the DB structure was reworking some datatypes for MYSQL - replacing varchar with char in order to speed up the DB access.
You can migrate your 1.4.x DB to the 1.5.x format by using the opensipdbctl(deprecated) or osipsconsole tools:
$ opensipsdbctl migrate opensips_1_4 opensips_1_5 # or $ osipsconsole > migrate opensips_1_4 opensips_1_5 > quit $where :
- opensips_1_4 is the existing DB name corresponding to version 1.4.x format
- opensips_1_5 is the DB name to be created for 1.5.x format
Take care and edit (if necessary) the opensipsctlrc / osipsconsolerc files if you want to customize the DB users used for accessing the new DB.
Script migration
Section titled “Script migration”OpenSIPS core
Section titled “OpenSIPS core”-
“reply_to_via” core parameter was removed.
-
if only stateful forwarding is used, the core will automatically drop the stateless replies (see: http://lists.opensips.org/pipermail/users/2009-February/002951.html)
-
if you were defining “alias” core parameter to define domains that were also set via the domain module just to make record_routing/loose_routing work, you can remove them as the domain module will automatically export the loaded domains to the core as aliases (see http://lists.opensips.org/pipermail/users/2009-February/002869.html)
Append_branch() usage
Section titled “Append_branch() usage”There is no need to call “append_branch()” function in failure_route in order to use the RURI - you still need to use it only if you want to do parallel forking.
# in 1.4.x failure_route[2] if (t_check_status("408")) { # set new RURI rewritehostport("my_voicemail.com:5060"); append_branch(); t_relay(); } }
-> # in 1.5.x failure_route[2] if (t_check_status("408")) { # set new RURI rewritehostport("my_voicemail.com:5060"); t_relay(); } }Affected modules (from scripting perspective) are:
- uac_redirect, get_redirects() function
- lcr, next_gw() function
- dispatcher, ds_next_xxxx() functions
After the listed functions, there is no need to call ‘append_branch()’ any more.
SIP replies from script
Section titled “SIP replies from script”A set of existing module do requires (as module dependency) a newly added module called “signaling”.
In other words, if you use one of the following module, you will need to load also the “signaling” module:
- auth
- auth_db
- auth_diameter
- cpl-c
- options
- perl
- presence
- presence_xml
- ratelimit
- registrar
- rls
- sst
OpenSIPS modules
Section titled “OpenSIPS modules”DB_MYSQL module
Section titled “DB_MYSQL module”- auto_reconnect module option was dropped (auto-reconnect is by default due prepared statements).
DIALOG module
Section titled “DIALOG module”- before using the profile functions, it is mandatory to call “create_dialog” function to create the dialog.
TM module
Section titled “TM module”- “t_release” function is obsoleted - there is no need to use it as the TM will automatically release any pending transactions.
REGISTRAR module
Section titled “REGISTRAR module”- “aor_avp” module paramter is obsoleted - the lookup() / save() / registered() functions takes as third optional parameter a pseudo-variable containing a custom AOR value.
AUTH module
Section titled “AUTH module”- the return code “STALE_NONCE” will be also reported if nonce reusage case is detected by “www/proxy_authorize()” functions
RADIUS support
Section titled “RADIUS support”All the RADIUS module do require a new RADIUS AVP to be available in the RADIUS dictionary : Acct-Session-Id
This AVP should be provided by the radius client lib you are using as it is a standard SIP RADIUS AVP. IF not, add to your dictionary AVP:
ATTRIBUTE Acct-Session-Id 44 string # RFC2865, accTools migration
Section titled “Tools migration”osipsconsole, an interactive console like application will replace opensipsctl and opensipsdbctl - the console offers the save functions as the scripts it replace.
It is indicated to start migrating to osipsconsole asap.