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:37] 178.55.177.114 [app_lua] |
features:new-in-devel [2012/03/18 05:40] 91.224.161.250 old revision restored |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== SIP Router - New features in development version ====== | + | Hi AnnaThanks |
- | + | ||
- | 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 | + | |
- | * async_route(...) - execute a route block asynchronously after an interval of time | + | |
- | * 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) | + | |
- | * (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, | + | |
- | + | ||
- | ==== 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 the routing of the Request. It retrieves the user-data and routing rules from the HSS and applies them to the processed requests. The scscf-module implements the according interfaces towards the HSS (Cx), the interfaces towards application-servers (Isc) and according header manipulation/ | + | |
- | + | ||
- | ==== 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 | + | |
- | * added ' | + | |
- | + | ||
- | ==== app_lua ==== | + | |
- | + | ||
- | * more modules available in Lua | + | |
- | * auth | + | |
- | * auth_db | + | |
- | * dispatcher | + | |
- | * maxfwd | + | |
- | * registrar | + | |
- | * rr | + | |
- | * sqlops | + | |
- | * tm | + | |
- | * xhttp | + | |
- | + | ||
- | ==== auth ==== | + | |
- | + | ||
- | * New flag 16 to add stale=true to challenge response. | + | |
- | + | ||
- | ==== 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 to fire on OK and ACK messages following INVITE, respectively | + | |
- | * enable to terminate call programmatically | + | |
- | + | ||
- | ==== 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:// | + | |
- | + | ||
- | ==== dialplan ==== | + | |
- | + | ||
- | * dp_translate() returns -2 (instead of -1) if dp with given id does not exist. | + | |
- | + | ||
- | ==== 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 | + | |
- | * 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 | + | |
- | + | ||
- | ==== siputils ==== | + | |
- | + | ||
- | * Added set_uri_user(uri, | + | |
- | * Function tel2sip() replaced by tel2sip(uri, | + | |
- | ==== sqlops ==== | + | |
- | * xavp support. New function sql_xquery() stores the query result in an xavp. | + | |
- | * BIGINT support. Native support when sql_xquery is used, transformed | + | |
- | + | ||
- | ==== 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 a local user from the registration table and prepares message variables so the request can be sent to the remote user, using the same credentials as with which the registration has been done. | + | |
- | + | ||
- | + | ||
- | ==== 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 | + | |
- | + | ||
- | ===== 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 | + |