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:3.1.x-to-3.2.x [2010/10/11 21:36]
87.93.206.26
install:3.1.x-to-3.2.x [2012/03/02 23:26] (current)
tr Fix typo acc -> htable.
Line 3: Line 3:
 ===== Database Structure ===== ===== Database Structure =====
  
-==== lcr tables ====+This sections presents notes, listed by modules, about the structure of database tables that existed in v3.1.x and changed during development of v3.2.0.
  
-Renamed lcr_gw table column 'tag' to 'prefix'+==== modules_k/acc ====
-Added new lcr_gw table column 'tag'+
-Increased lcr_gw table version to 2.+
  
 +  * table **acc**
 +    * callid column has now the size varchar(255)
 +  * table **missed_calls**
 +    * callid column in has now the size varchar(255)
 +
 +==== modules_k/htable ====
 +
 +  * table **htable**
 +    * table version is 2
 +    * new column: expires INT DEFAULT 0 NOT NULL
 +
 +==== modules_k/dialog ====
 +
 +  * table **dialog_vars**
 +    * new table that holds per-dialog custom values
 +    * the new table has to be created, see SQL command below
 +==== modules/lcr ====
 +
 +  * table **lcr_gw**
 +    * table version is 2.
 +    * Renamed lcr_gw table column 'tag' to 'prefix'.
 +    * Added new lcr_gw table column 'tag': tag VARCHAR(64) DEFAULT NULL.
 +    * Dropped unique index lcr_id_ip_addr_port_hostname_idx
 +    * Added new index: CREATE INDEX lcr_id_idx ON lcr_gw (lcr_id);
 +    * Script modules/lcr/utils/lcr_upgrade_from_3.1.sh can be used to perform the upgrade of lcr_gw table.
 +
 +==== modules_k/presence ====
 +
 +  * table **active_watchers**
 +    * callid column has now the size varchar(255)
 +
 +==== modules_k/pua ====
 +
 +  * table **pua**
 +    * table version is 7
 +    * call_id column has now the size varchar(255)
 +    * pres_id column has now the size varchar(255)
 +
 +==== modules_k/rls ====
 +
 +  * table **rls_presentity**
 +    * table version is 1
 +    * content_type column has now the size varchar(255)
 +    * callid column has now the size varchar(255)
 +    * contact column has now the size varchar(128)
 +
 +==== modules_k/siptrace ====
 +
 +  * table **sip_trace**
 +    * table version is 3
 +    * new columns: time_us INT UNSIGNED DEFAULT 0 NOT NULL
 +    * msg column has the type: MEDIUMTEXT
 +
 +==== modules_k/xcap_client ====
 +
 +  * table **xcap**
 +    * table version is 4
 +    * doc column has the type: MEDIUMBLOB
 +    * doc_uri column has now the size varchar(255)
 +
 +==== SQL Commands ====
 +
 +You can use next SQL commands (made for MySQL) to update the structure of existing tables in v3.1.x for v3.2.0:
 +
 +<code sql>
 +
 +ALTER TABLE acc MODIFY callid VARCHAR(255) DEFAULT '' NOT NULL;
 +ALTER TABLE missed_calls MODIFY callid VARCHAR(255) DEFAULT '' NOT NULL;
 +
 +INSERT INTO version (table_name, table_version) values ('dialog_vars','1');
 +CREATE TABLE dialog_vars (
 +    id INT(10) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL,
 +    hash_entry INT(10) UNSIGNED NOT NULL,
 +    hash_id INT(10) UNSIGNED NOT NULL,
 +    dialog_key VARCHAR(128) NOT NULL,
 +    dialog_value VARCHAR(512) NOT NULL
 +) ENGINE=MyISAM;
 +CREATE INDEX hash_idx ON dialog_vars (hash_entry, hash_id);
 +
 +UPDATE version SET table_version=2 WHERE table_name="htable";
 +ALTER TABLE htable MODIFY key_value VARCHAR(128) DEFAULT '' NOT NULL;
 +ALTER TABLE htable ADD COLUMN expires INT DEFAULT 0 NOT NULL;
 +
 +UPDATE version SET table_version=2 WHERE table_name="lcr_gw";
 +ALTER TABLE lcr_gw DROP INDEX lcr_id_ip_addr_port_hostname_idx;
 +ALTER TABLE lcr_gw ADD prefix VARCHAR(16) DEFAULT NULL;
 +ALTER TABLE lcr_gw MODIFY tag VARCHAR(64) DEFAULT NULL;
 +CREATE INDEX lcr_id_idx ON lcr_gw (lcr_id);
 +
 +ALTER TABLE active_watchers MODIFY callid VARCHAR(255) NOT NULL,
 +
 +UPDATE version SET table_version=7 WHERE table_name="pua";
 +ALTER TABLE pua MODIFY pres_id VARCHAR(255) NOT NULL;
 +ALTER TABLE pua MODIFY call_id VARCHAR(255) NOT NULL;
 +
 +UPDATE version SET table_version=1 WHERE table_name="rls_presentity";
 +ALTER TABLE rls_presentity MODIFY content_type VARCHAR(255) NOT NULL;
 +ALTER TABLE rls_presentity MODIFY callid VARCHAR(255) NOT NULL;
 +ALTER TABLE rls_presentity MODIFY contact VARCHAR(128) NOT NULL;
 +
 +UPDATE version SET table_version=3 WHERE table_name="sip_trace";
 +ALTER TABLE sip_trace ADD COLUMN time_us INT UNSIGNED DEFAULT 0 NOT NULL;
 +ALTER TABLE sip_trace MODIFY msg MEDIUMTEXT NOT NULL;
 +
 +UPDATE version SET table_version=4 WHERE table_name="xcap";
 +ALTER TABLE xcap MODIFY doc MEDIUMBLOB NOT NULL;
 +ALTER TABLE xcap MODIFY doc_uri VARCHAR(255) NOT NULL;
 +
 +</code>
 +
 +===== Modules =====
 +
 +==== modules/lcr ====
 +
 +  * Renamed 'dont_strip_or_tag_flag' module parameter to 'dont_strip_or_prefix_flag'.
 +  * Added new optional 'tag_avp' module parameter and made 'lcr_flags' module parameter optional.
 +  * If 'tag_avp' module parameter is defined, gateway's tag field value is assigned to the AVP by next_gw() and from_gw() functions.
 +  * load_gws() syntax has changed from load_gws(lcr_id[, caller_uri]) to load_gws(lcr_id[, uri_user[, caller_uri]]).
 +  * [to|from][_any]_gw() functions now check also transport protocol of gateway.
 +  * [to|from]_gw() syntax has changed from [to|from]_gw(lcr_id[, ip_addr]) to [to|from]_gw(lcr_id[, ip_addr, proto]).
 +  * [to|from]_any_gw() syntax has changed from [to|from]_any_gw([ip_addr]) to [to|from]_any_gw([ip_addr, proto]).
 +
 +==== modules/rtpproxy ====
 +
 +  * force_rtp_proxy() removed
 +    * use rtpproxy_offer() when it is SDP offer (mainly on INVITE request) and rtpproxy_answer() when it is SDP answer (mainly on INVITE replies)
 +    * new alternative is to use rtpproxy_manage() which does the detection of SDP offer/answer internally
 +==== modules/utils ====
 +
 +  * New function is_int(pvar) that returns true if pvar argument has integer value.

Navigation

Wiki

Other

QR Code
QR Code install:3.1.x-to-3.2.x (generated for current page)