– Kamailio SIP Server –

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
install:1.3.x-to-1.4.0 [2011/08/31 08:26]
109.254.49.8
install:1.3.x-to-1.4.0 [2011/08/31 12:21] (current)
92.112.59.125
Line 1: Line 1:
 +====== Migrating OpenSER v1.3.x to Kamailio v1.4.0 ======
 +
 +Due to trademark issues, on July 28, 2008, [[http://www.kamailio.org/|OPENSER was renamed to KAMAILIO]].
 +
 +At the end of the document is the part presenting new things in v1.4.0.
 +===== Renaming Matrix =====
 +
 +The relation between old and new names of the files provided by KAMAILIO (OPENSER).
 +
 +^ Old Name ^ New Name ^ Description ^
 +| openser | kamailio | Binary of the SIP routing application |
 +| openser.cfg | kamailio.cfg | Configuration file |
 +| openserctl | kamctl | Command line tool for management |
 +| openserdbctl | kamdbctl | Command line tool to create and manage database |
 +| openserctlrc | kamctlrc | Configuration file for command line tools |
 +| openser.8 | kamailio.8 | Man page |
 +| openser.cfg.5 | kamailio.cfg.5 | Man page for configuration file |
 +||||
 +
 +===== Changes in the configuration file =====
 +
 +==== Preserve configuration files ====
 +
 +After installation of Kamailio (OPENSER) 1.4.0 from packages
 +
 +* move /etc/openser/openser.cfg to /etc/kamailio/kamailio.cfg
 +* move /etc/openser/openserctlrc to /etc/kamailio/kamctlrc
 +
 +
 +If installed from sources:
 +
 +* move /usr/local/etc/openser/openser.cfg to /usr/local/etc/kamailio/kamailio.cfg
 +* move /usr/local/etc/openser/openserctlrc to /usr/local/etc/kamailio/kamctlrc
 +==== Updates in configuration file ====
 +
 +* change path to modules
 +
 +<code>
 +# when installed from packages
 +old value: mpath="/usr/lib/openser/modules"
 +new value: mpath="/usr/lib/kamailio/modules"
 +
 +# when installed from sources
 +old value: mpath="/usr/local/lib/openser/modules"
 +new value: mpath="/usr/local/lib/kamailio/modules"
 +</code>
 +
 +Note: if you use a 64bit architecture, replace 'lib' with 'lib64' in above paths.
 +
 +* update the name of database modules. These module have now the format: [b]db_name[/b] - where name is the database driver name, e.g., mysql, postgres, unixodbc, berkeley, etc.
 +<code>
 +# for mysql
 +old value: loadmodule "mysql.so"
 +new value: loadmodule "db_mysql.so"
 +# for postgres
 +old value: loadmodule "postgres.so"
 +new value: loadmodule "db_postgres.so"
 +</code>
 +
 +Module parameters for database URL have still the format <code>"driver://username:password@host/database"</code>
 +
 +<code>
 +old value: modparam("auth_db", "db_url", "mysql://openser:openserrw@localhost/openser"
 +new value (the same): modparam("auth_db", "db_url", "mysql://openser:openserrw@localhost/openser"
 +</code>
 +
 +
 +==== Updates in database scheme ====
 +
 +The following SQL statements (for MySQL) can be used to convert a 1.3.x database to the new scheme. Please not that new tables (e.g. for carrierroute, diaplan or others are ommited at the moment.)
 +
 +<code>
 +UPDATE version SET table_version=2 WHERE table_name='carrierroute';
 +UPDATE version SET table_version=2 WHERE table_name='dispatcher';
 +UPDATE version SET table_version=7 WHERE table_name='gw';
 +UPDATE version SET table_version=3 WHERE table_name='presentity';
 +UPDATE version SET table_version=6 WHERE table_name='pua';
 +UPDATE version SET table_version=2 WHERE table_name='siptrace';
 +
 +ALTER TABLE carrierroute ADD flags INT(11) UNSIGNED DEFAULT 0 NOT NULL AFTER scan_prefix;
 +ALTER TABLE carrierroute ADD mask INT(11) UNSIGNED DEFAULT 0 NOT NULL AFTER flags;
 +ALTER TABLE carrierroute CHANGE comment description VARCHAR(255) DEFAULT NULL;
 +
 +ALTER TABLE route_tree DROP PRIMARY KEY;
 +ALTER TABLE route_tree CHANGE id id INT(10) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL;
 +
 +ALTER TABLE dispatcher ADD flags INT DEFAULT 0 NOT NULL AFTER destination;
 +
 +ALTER TABLE domainpolicy CHANGE comment description VARCHAR(255) NOT NULL;
 +
 +ALTER TABLE gw CHANGE prefix tag VARCHAR(16) DEFAULT NULL;
 +ALTER TABLE gw CHANGE dm flags INT UNSIGNED DEFAULT 0 NOT NULL;
 +
 +ALTER TABLE presentity ADD sender VARCHAR(128) NOT NULL;
 +
 +ALTER TABLE pua ADD remote_contact VARCHAR(128) NOT NULL AFTER contact;
 +
 +ALTER TABLE re_grp CHANGE group_id group_id INT(11) DEFAULT 0 NOT NULL;
 +
 +ALTER TABLE sip_trace CHANGE date time_stamp DATETIME DEFAULT '1900-01-01 00:00:01' NOT NULL;
 +</code>
 +
 +===== New in v1.4.0 =====
 +
 +==== New in Kamailio(OpenSER) modules ====
 +
 +* [b]acc module[/b]
 +** extension: it is possible to log accounting related output to a different log facility
 +* [b]cfgutils module[/b]
 +** new FIFO functions get_config_hash and check_config_hash for config file checks
 +** shared PV exported to configuration script
 +**debugging helpers usable from config script for abort, shm_status and pkg_status
 +* [b]mysql module[/b]
 +** extension: enable timeouts on connect, read and write to prevent blocking on errors
 +* [b]database modules[/b]
 +** renaming of all database modules, addition of the prefix 'db_', e.g. mysql is now db_mysql
 +* [b]ratelimit module[/b] (new module ported from ser with openims enhancements)
 +** suitable for traffic shaping control and server load control
 +*[b]carrierroute module[/b]
 +** extension: much more flexibility in routing and database supported failure routing, improved internal structure
 +*[b]dialog module[/b]
 +** internal API reworked for better flexibility
 +** direction of the message provided via the internal API
 +** new dialog callback types:
 +*** DLGCB_LOADED
 +*** DLGCB_DESTROY
 +*** DLGCB_RESPONSE_WITHIN
 +*** DLGCB_MI_CONTEXT
 +** new mi command: dlg_list_ctx
 +*[b]enum module[/b] 
 +** enum_fquery([...]) replaced by enum_pv_query("$fU"[,...])
 +*[b]db_oracle module[/b]
 +** new database module for native access of oracle databases
 +*[b]userblacklist module[/b]
 +** new module for user specific and global URI blacklists
 +* [b]msilo module[/b]
 +** notification system refurbished - message body, content-type, from address and contact header can be dynamically specified with pseudo-variables
 +* [b]pdt module[/b]
 +** accepts now same destination domain bound to different prefixes
 +** internal structures and logic optimized for memory and performance
 +* [b]lcr module[/b]
 +** refactor module functions
 +** add pseudo-variable support
 +** remove gw_grp table
 +* [b]peering module[/b]
 +** new module for radius setups
 +** allowing SIP providers to verify via a broker if source or destination request is from a trusted peer
 +* [b] new mediaproxy module[/b]
 +** update to version 2.0
 +** better performance and scalability as packets are forward in kernel space
 +
 +==== New in Kamailio(OpenSER) core ====
 +
 +* [b]Overhauled DB API[/b] -- uses now the 'str' datatype for more performance and safety, more common functionality integrated in the core
 +* [b]Extensive cleanups in database drivers[/b] -- integrate common functionality into the core for more stability and maintainability
 +* [b]SDP parser[/b] -- provides an internal API for parsing SDP
 +* [b]fixup functions[/b] -- provides an internal API for fixing module parameters
 +* [b]extended module interface[/b] -- its now possible to use up to 6 parameters in module functions
 +
 +==== New in Kamailio(OpenSER) utilities ====
 +
 +* [b]Removal of SERWEB[/b] -- the SERWEB specific parts were removed from the openserdbctl, openserctl and the database schemes
 +* [b]openserctl for dbtext[/b] -- add SQL support to dbtext using a python module and integrate it into openserctl to better support this database
 +
 +==== New in Kamailio(OpenSER) documentation ====
 +
 +* [b]Module documentation[/b] -- the module documentation was migrated to the docbook-xml infrastructure
 +* [b]Developer guide[/b] -- a developer guide has been added to repository
 +
 +
 +==== New in Kamailio(OpenSER) Testing Suite ====
 +
 +* [b]Stability improvements[/b] -- better checks for available modules and necessary tools 
 +* [b]Extensions[/b] -- test more modules, tests for other databases beside MySQL
 +
 +[[http://editingwritingservices.org/|dissertation editing]]
 +
 +
 +