Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
features:new-in-devel [2011/10/06 20:28] 178.55.177.114 [pv] |
features:new-in-devel [2012/03/15 12:06] 109.230.216.225 old revision restored |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== SIP Router - New features in development version ====== | + | Hello, |
- | + | ||
- | The page collects the summary (draft notes) of the new features in SIP Express Router (SER) and Kamailio (OpenSER) development version. | + | |
- | + | ||
- | **This source tree branch will result in release 3.2.0 - release date proposal: Mid Autumn 2011**. | + | |
- | + | ||
- | Current stable branch is: **3.1** | + | |
- | + | ||
- | * last major release: **3.1.0 - was released on Oct 06, 2010** (note that minor releases as version 3.1.x may be out already) | + | |
- | + | ||
- | ===== New SIP Router modules ===== | + | |
- | + | ||
- | ==== async ==== | + | |
- | + | ||
- | * collector for asynchronous config functions | + | |
- | * async_route(...) - execute | + | |
- | * async_sleep(...) - asynchronous sleep for usage when processing SIP requests | + | |
- | + | ||
- | ==== db_sqlite ==== | + | |
- | + | ||
- | * database connector for SQLite | + | |
- | + | ||
- | ==== dmq ==== | + | |
- | + | ||
- | * distributed message queue using SIP to communicate between peers (SIP server instances) | + | |
- | + | ||
- | ==== ipops ==== | + | |
- | + | ||
- | * IPv4 and IPv6 related functions for config file | + | |
- | + | ||
- | ==== json ==== | + | |
- | + | ||
- | * json parser for configuration file | + | |
- | + | ||
- | ==== jsonrpc-c ==== | + | |
- | + | ||
- | * JSON-RPC client over netstrings | + | |
- | ==== ndb_redis ==== | + | |
- | + | ||
- | * connector to Redis no-SQL database engine | + | |
- | + | ||
- | ==== presence_reginfo ==== | + | |
- | + | ||
- | * Support for RFC 3680 in the presence architecture of Kamailio | + | |
- | + | ||
- | ==== pua_reginfo ==== | + | |
- | + | ||
- | * Publish Registration info according to RFC 3680 (" | + | |
- | * Subscribe to remote registration info | + | |
- | * Process published registration info (NOTIFY requests) and store it to usrloc | + | |
- | * (currently still in the carstenbock/ | + | |
- | + | ||
- | ==== p_usrloc ==== | + | |
- | + | ||
- | * partitioned user location service | + | |
- | + | ||
- | ==== sdpops ==== | + | |
- | + | ||
- | * module to control the content of the SDP payload from configuration file | + | |
- | * e.g.,: remove codecs | + | |
- | + | ||
- | ==== sipcapture ==== | + | |
- | + | ||
- | * SIP traffic capturing server extension for Homer project | + | |
- | ==== IMS Extensions ==== | + | |
- | + | ||
- | * the IMS related modules resides in **carstenbock/ | + | |
- | + | ||
- | ==== IMS: CDP / CDP-AVP ==== | + | |
- | + | ||
- | * The CDP (C-Diameter-Peer) modules provide an Diameter-interface, which are used by several components of the OpenIMS-core: | + | |
- | + | ||
- | ==== IMS: P-CSCF ==== | + | |
- | + | ||
- | * The Proxy-CSCF in the IMS Architecture acts as an entry point to the network. The pcscf module of the original OpenIMS-core aggregates many functions required at this component: Header manipulation/ | + | |
- | + | ||
- | ==== IMS: I-CSCF ==== | + | |
- | + | ||
- | * The Interrogating-CSCF is a kind of “Loadbalancer” or a entry Proxy for the “home-network” of an IMS setup. The I-CSCF will retrieve the location for a user from the HSS, it will check, where a user is registered or where it should register (based on user-settings, | + | |
- | + | ||
- | ==== IMS: S-CSCF ==== | + | |
- | + | ||
- | * The Serving-CSCF is acting as a registrar and as decision engine regarding | + | |
- | + | ||
- | ==== IMS: MGCF ==== | + | |
- | + | ||
- | * The MGCF-Module | + | |
- | + | ||
- | ==== IMS: E-CSCF & LRF ==== | + | |
- | + | ||
- | * The Emergency-CSCF and the Location Ressource Function (LRF) implements IMS compliant emergency call routing. The modules provide required content aggregation methods. | + | |
- | + | ||
- | + | ||
- | + | ||
- | ===== New in Old SIP Router modules ===== | + | |
- | + | ||
- | ==== acc ==== | + | |
- | + | ||
- | * name of acc and missed calls database tables can contain variables which are evaluated at runtime | + | |
- | * generate user-customizable CDR logs | + | |
- | + | ||
- | ==== app_lua ==== | + | |
- | + | ||
- | * more modules available in Lua | + | |
- | * auth | + | |
- | * auth_db | + | |
- | * dispatcher | + | |
- | * maxfwd | + | |
- | * registrar | + | |
- | * rr | + | |
- | * sqlops | + | |
- | * tm | + | |
- | * xhttp | + | |
- | + | ||
- | ==== auth_db ==== | + | |
- | + | ||
- | * export of inter-module API (available through Lua) | + | |
- | + | ||
- | ==== db_postgres ==== | + | |
- | + | ||
- | * reconnect in case of broken connection | + | |
- | + | ||
- | ==== dialog ==== | + | |
- | + | ||
- | * read and set per-dialog variables from script | + | |
- | * provide callbacks | + | |
- | * enable | + | |
- | + | ||
- | ==== lcr ==== | + | |
- | * Added optional tag_avp module parameter and made lcr_flags module parameter optional. | + | |
- | * Renamed dont_strip_or_tag_flag module parameter to dont_strip_or_prefix_flag. | + | |
- | * load_gws() can take uri_user param, value of which is used instead of Request URI user part by load_gws() function. | + | |
- | * [from|to][any]_gw functions now check also transport protocol. | + | |
- | * Renamed lcr_gw table' | + | |
- | * Parameters of load_gw() function must be given without quotes. | + | |
- | * Added tag field to lcr_gw table whose value is assigned to possible tag_avp by next_gw() and from_gw() functions. | + | |
- | * Increased lcr_gw tables version number to 2. | + | |
- | * Script that upgrades lcr_gw table from version 3.1 is available as http:// | + | |
- | ==== dispatcher ==== | + | |
- | + | ||
- | * export of inter-module API (available through Lua) | + | |
- | ==== nathelper ==== | + | |
- | * new function: is_rfc1918(ip_addr). Checks if the address < | + | |
- | + | ||
- | + | ||
- | ==== maxfwd ==== | + | |
- | + | ||
- | * export of inter-module API (available through Lua) | + | |
- | + | ||
- | ==== presence ==== | + | |
- | + | ||
- | * the module can work in three modes | + | |
- | * caching | + | |
- | * caching with fallback to database | + | |
- | * database only | + | |
- | ==== pv ==== | + | |
- | + | ||
- | * new pseudovariables: | + | |
- | * $timef(format) - string representation of time formatted according to format | + | |
- | * $Tb - epoch of the startup (boottime) of the current process | + | |
- | * new transformations: | + | |
- | * {s.ftime,< | + | |
- | * {s.sql} - output the pvar as valid SQL value. < | + | |
- | * {s.replace,< | + | |
- | * {s.prefixes[,< | + | |
- | * new functions: | + | |
- | * is_int() checks if pvar argument contains integer value. | + | |
- | + | ||
- | ==== registrar ==== | + | |
- | + | ||
- | * export of inter-module API (available through Lua) | + | |
- | + | ||
- | ==== rls ==== | + | |
- | + | ||
- | * new parameters to control local contact and outbound proxy addresses | + | |
- | ==== rr ==== | + | |
- | + | ||
- | * export of inter-module API (available through Lua) | + | |
- | + | ||
- | ==== rtpproxy ==== | + | |
- | + | ||
- | * force_rtp_proxy function was removed | + | |
- | ==== sqlops ==== | + | |
- | * xavp support. New function sql_xquery() stores the query result in an xavp. | + | |
- | * BIGINT support. Native support when sql_xquery | + | |
- | + | ||
- | ==== tmx ==== | + | |
- | + | ||
- | * asynchronous SIP request processing functions for configuration file | + | |
- | * t_suspend() - suspend the processing of SIP request transaction | + | |
- | * t_continue() - resume the processing of SIP request transaction | + | |
- | * $T(name) - new class of pseudo-variables for accessing transaction attributes: | + | |
- | * internal index, label, the branch index, reply code | + | |
- | + | ||
- | ==== uac ==== | + | |
- | * new function: uac_reg_request_to. Lookup | + | |
- | + | ||
- | + | ||
- | ==== usrloc ==== | + | |
- | + | ||
- | * store extra attributes per location records | + | |
- | ==== xavp ==== | + | |
- | * [[devel: | + | |
- | + | ||
- | ==== xhttp ==== | + | |
- | + | ||
- | * export of inter-module API (available through Lua) | + | |
- | + | ||
- | + | ||
- | ===== New in Core ===== | + | |
- | + | ||
- | ==== Preprocessor directives ==== | + | |
- | + | ||
- | * #!substdef - add a substitution rule and a define at the same time | + | |
- | * #!substdefs - add a substitution rule and a define with string value at the same time | + | |
- | * #!trydef - add a define if not defined already | + | |
- | * #!redefine - force redefinition even if defined already | + | |
- | + | ||
- | **#!** and **!!** can be used as start of preprocessor directives | + | |
- | + | ||
- | ==== import_file ==== | + | |
- | + | ||
- | Attempt to include a file, but if it is not found, do not throw error like **include_file**. | + | |
- | + | ||
- | ===== New in Documentation ===== | + | |
- | + | ||
- | ==== Developer visible changes ==== | + | |
- | + | ||
- | * Many bugfixes to existing doxygen code documentation in modules and core | + | |
- | * Several extensions to doxygen documentation in modules and core | + |