Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
features:new-in-1.5.x [2008/12/05 00:01] – 86.121.128.211 | features:new-in-1.5.x [2012/03/22 12:33] (current) – removed spam 80.250.1.245 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ===== New in v1.5.0 ===== | ||
+ | |||
+ | Released on March 02, 2009 | ||
+ | |||
+ | ==== New Kamailio modules ==== | ||
+ | |||
+ | * [b]htable[/ | ||
+ | ** Generic hash table container made available to config script | ||
+ | ** Able to deal with many hash tables at same time in config file | ||
+ | ** Ability to load DB table in hash table at startup | ||
+ | ** Auto-expire for hash table values - will be removed automatically (easier to implement caching system) | ||
+ | ** Auto-expire value can be updated from config file | ||
+ | ** [[http:// | ||
+ | * [b]misc_radius[/ | ||
+ | ** New module that replaces Kamailio 1.4 modules avp_radius, group_radius, | ||
+ | ** [[http:// | ||
+ | * [b]presence_dialoginfo[/ | ||
+ | ** Dialog Info support for Presence Server | ||
+ | ** [[http:// | ||
+ | * [b]pua_dialoginfo[/ | ||
+ | ** Dialog Info support for Presence User Agent | ||
+ | ** [[http:// | ||
+ | * [b]purple[/ | ||
+ | ** Multi-protocol gateway module using Purple (Pidgin/ | ||
+ | ** Can connect SIP to GTalk, MSN, ..., for IM&P | ||
+ | ** [[http:// | ||
+ | * [b]pv[/b] | ||
+ | ** Module to collect pseudo-variables from core, available in configuration file. | ||
+ | ** [[http:// | ||
+ | ** new pseudo-variable introduced in 1.5.0 | ||
+ | *** $branch(name) class: [[pseudovariables: | ||
+ | *** $TS - current time stamp, refreshed upon each call | ||
+ | *** $TF - current time string formatted, refreshed upon each call | ||
+ | ** new transformations introduced in 1.5.0 | ||
+ | *** {tobody.abc} - return parts of a To-Body structure - [[transformations: | ||
+ | * [b]qos[/b] | ||
+ | ** Module that tracks per dialog SDP sessions. | ||
+ | ** The QoS module is sitting on top of the dialog module and provides an API to be used by other module. | ||
+ | ** [[http:// | ||
+ | * [b]regex[/ | ||
+ | ** PCRE regular expression matching | ||
+ | ** Regular expressions can be stored in a file and structured in groups | ||
+ | ** [[http:// | ||
+ | ** [[http:// | ||
+ | * [b]rtimer[/ | ||
+ | ** execute route blocks on timer basis | ||
+ | ** can deal with multiple timers | ||
+ | ** can create new timer processes | ||
+ | ** each timer can execute multiple route blocks | ||
+ | ** [[http:// | ||
+ | * [b]siputils[/ | ||
+ | ** SIP utilities module | ||
+ | ** various utilities related to the SIP protocol | ||
+ | ** management of 183 and 180 to control the ringing tone | ||
+ | ** [[http:// | ||
+ | * [b]sqlops[/ | ||
+ | ** SQL operations module | ||
+ | ** Among features: | ||
+ | *** many DB connections - the module can connect to many databases on different servers using different DB driver modules at the same time. | ||
+ | *** many DB results - the module can store many results of different SQL queries in separate structures at the same time. Thus is possible to work in parallel with several DB results. | ||
+ | *** access via pseudo-variables - the content of SQL query result is accessible via pseudo-variables. | ||
+ | *** array indexes - fast access to result values via array position: [row, | ||
+ | *** persistence in process space - a result can be used many times in same worker process. Query once, use many times. | ||
+ | ** [[http:// | ||
+ | * [b]utils[/ | ||
+ | ** Utilities module | ||
+ | ** http_query() function to get data from http servers | ||
+ | ** functionality to configure run time forwarding (copying) of certain messages | ||
+ | ** [[http:// | ||
+ | * [b]sanity[/ | ||
+ | ** Module for sanitizing SIP messages | ||
+ | ** detect malformed messages early in the configuration | ||
+ | ** [[http:// | ||
+ | |||
+ | ==== New in Kamailio modules ==== | ||
+ | |||
+ | |||
+ | * [b]*_radius modules[/b] | ||
+ | ** New [b]misc_radius[/ | ||
+ | ** All misc_module functions now load AVPs from SIP-AVP reply items from RADIUS. | ||
+ | ** All functions send extra attributes to RADIUS if configured to do so by module parameters | ||
+ | ** Replaced avp_load_radius() function by radius_load_caller_avps() and radius_load_callee_avps() functions that take user, whose AVPs are loaded, as a string parameter that may contain pseudo variables. | ||
+ | ** String names of AVPs are not anymore prefixed with anything when AVPs are loaded (if needed, do prefixing in your Radius server). | ||
+ | * [b]acc module[/ | ||
+ | ** Added support for integer valued Radius attributes. | ||
+ | * [b]auth_radius module[/ | ||
+ | ** Added auth_extra module parameter that can be used to configure, which extra attributes (if any) are included in RADIUS queries. | ||
+ | * [b]carrierroute module[/b] | ||
+ | ** fetch result support, no increase in private memory pool necessary anymore to load larger routing data sets | ||
+ | ** extensive refactoring and cleanup, use standard functions or functions of the core instead of own implementations | ||
+ | ** efficient matching for domains and carriers based on numerical IDs | ||
+ | ** new support for non-numerial prefix matching (standard ascii set), configurable with a module parameter (match_mode) | ||
+ | * [b]db_mysql module[/b] | ||
+ | ** support for BIGINT (8 byte integer) values | ||
+ | ** add group functionality to read content from specified sections of the mysql config, the group can be setup in the db_url | ||
+ | * [b]db_postgres module[/b] | ||
+ | ** support for BIGINT (8 byte integer) values | ||
+ | * [b]db_unixodbc module[/b] | ||
+ | ** support for BIGINT (8 byte integer) values | ||
+ | ** fetch_result support, to better support modules like usrloc, carrierroute and dialog with larger data sets | ||
+ | * [b]dialog module[/b] | ||
+ | ** ability to execute a route block when a dialog time-outs | ||
+ | ** exports dialog attributes via pseudo-variable $dlg(...) | ||
+ | ** exports dialog context via pseudo-variable $dlg_ctx(...) | ||
+ | ** dlg_manage() function can be used to handle SIP requests with dialog module, as alternative to Route-header callback | ||
+ | ** dlg_bye() can be used to send BYE to one or both sides in the dialog | ||
+ | ** dialog structure stores flags field that can be managed from config file | ||
+ | ** option to send BYE when dialog expires | ||
+ | ** dlg_bridge() can be used to bridge two SIP users in a call using INVITE(on hold)-REFER-BYE mechanism | ||
+ | ** dlg_transfer() can be used to transfer one side of the dialog to a new SIP address | ||
+ | ** new MI command - dlg_bridge - to connect two sip users via MI interface - can be used to implement in a easy manner click-to-dial functionalities | ||
+ | * [b]dialplan module[/b] | ||
+ | ** Regular expressions are now Perl 5.x, instead of T-Rex (subset of POSIX), compatible due to use of PCRE regular expression library. | ||
+ | ** Alpha-stage t-rex library code removed | ||
+ | ** Types of regular expressions that can be used for matching increased substantially via PCRE: | ||
+ | *** [[http:// | ||
+ | *** [[http:// | ||
+ | * [b]dispatcher module[/b] | ||
+ | ** new algorithm 8 - select first destination in the set | ||
+ | ** priority can be assigned to each destination address | ||
+ | ** better predictability of selected destinations and easier (another) way to implement routing failover | ||
+ | ** check: [[http:// | ||
+ | * [b]gflags module[/b] | ||
+ | ** functionality of this module was integrated into the cfgutils module | ||
+ | * [b]lcr module[/b] | ||
+ | ** New high-performance implementation that keeps lcr information in in-memory hash table, whose size can be given in a new module parameter ' | ||
+ | ** New ' | ||
+ | ** New ' | ||
+ | ** Introduced aliveness checking of gateways. | ||
+ | ** Support for prefix_mode=1 has been dropped. | ||
+ | ** lcr_dump MI function has been split into lcr_gw_dump and lcr_lcr_dump functions. | ||
+ | ** lcr_reload function is now executed under a lock thus minimizing race conditions. | ||
+ | ** Regular expressions are now Perl 5.x, instead of POSIX, compatible due to use of PCRE regular expression library. | ||
+ | ** load_gws()/ | ||
+ | ** to_gw() function now takes an optional pseudo variable argument that holds the address to be checked. | ||
+ | ** New function to_gw_grp() replaces to_gw() function with group id argument. | ||
+ | ** Enhanced versions of load_contacts()/ | ||
+ | * [b]options module[/b] | ||
+ | ** functionality of this modules were integrated into the [b]siputils[/ | ||
+ | * [b]registrar module[/b] | ||
+ | ** the registered() function can now load the compared Call-Id from the reg_callid_avp AVP | ||
+ | ** new function: unregister(table, | ||
+ | ** save() accept a new flag 0x04 to store and maintain single contact address per AoR | ||
+ | ** new function: reg_fetch_contacts(table, | ||
+ | ** new function: reg_freee_contacts(profile) - release profile structure | ||
+ | ** new pseudo-variable: | ||
+ | ** check: [[http:// | ||
+ | * [b]sl module[/b] | ||
+ | ** new send_reply(code, | ||
+ | * [b]textops module[/b] | ||
+ | ** Added set_body(" | ||
+ | ** Added set_reply_body(" | ||
+ | ** Added {re.subst, | ||
+ | ** Added is_present_hf_re(regexp) - match header names by regular expression | ||
+ | ** Added remove_hf_re(regexp) - remove headers by matching the name against regular expression | ||
+ | ** check: [[http:// | ||
+ | * [b]tlsops module[/b] | ||
+ | ** Added support for TLS server_name extension (aka SNI=server name indication) | ||
+ | * [b]tm module[/b] | ||
+ | ** auto-detection of changes done to From/ | ||
+ | ** New functions t_load_contacts()/ | ||
+ | ** Function load_contacts() can now be called also from FAILURE_ROUTE. | ||
+ | ** t_check_trans() can be used in default onrely_route to detect if a SIP reply belongs to an existing transaction. Used together with drop() can vanish replies coming to proxy but not having a transaction. | ||
+ | ** $T_req(pv) - new pseudo-variable that provides access to request attributes while processing the reply | ||
+ | ** $T_rpl(pv) - new pseudo-variable that provides access to reply attributes while processing the request | ||
+ | ** t_cancel_branches(...) - can be used to cancel current processed branch, the other branches or all branches of the transaction | ||
+ | ** [[http:// | ||
+ | * [b]userblacklist module[/ | ||
+ | ** Make database table and column names configurable | ||
+ | * [b]uac module[/b] | ||
+ | ** send SIP requests from config file: uac_send_req() | ||
+ | ** new pseudo-variable class to build the request to be sent: $uac_req(key) | ||
+ | ** [[http:// | ||
+ | * [b]uri module[/b] | ||
+ | ** functionality of this modules were integrated into the [b]siputils[/ | ||
+ | ==== New in Kamailio core ==== | ||
+ | |||
+ | * [b]module interface[/ | ||
+ | ** modules can implement mod_register(...) function which is called at the time the module is loaded | ||
+ | ** allow to register to core in early stage any attributes exported by modules which might be needed while parsing the config file (e.g., case of PV transformations) | ||
+ | * [b]pseudo-variables[/ | ||
+ | ** moved from core to PV module | ||
+ | ** use [i]loadmodule " | ||
+ | * [b]transformations[/ | ||
+ | ** moved from core to PV module | ||
+ | ** use [i]loadmodule " | ||
+ | ** modules can export now transformations | ||
+ | * [b]tls support[/b] | ||
+ | ** added support for TLS server_name extension (aka SNI=server name indication) | ||
+ | * [b]daemontools support[/b] | ||
+ | ** added support for running openser with daemon tools (new core parameter for " | ||
+ | * [b]memory management improvements[/ | ||
+ | ** F_MALLOC has better startup performance, | ||
+ | ** support for compiling the server with system malloc, without PKG_MEM | ||
+ | ** removal of the VQ_MALLOC memory manager, which was not used anymore | ||
+ | ** increase of the default private memory pool size, it uses now 4 MB per process | ||
+ | * [b]module interface[/ | ||
+ | ** unify and cleanup module initialization and shutdown logging, its now done in core | ||
+ | * [b]non-blocking logging[/b] | ||
+ | ** support for non-blocking log writes to prevent blocking of the server in certain error situations | ||
+ | ** can be enabled by setting the SYSLOG_ASYNC define in the Makefile.defs, | ||
+ | * [b]database interface[/ | ||
+ | ** generalization of existing common code of several DB modules in the core | ||
+ | ** support for BIGINT (8 byte integer) values | ||
+ | ** its now possible to autogenerate implementation code and documentation from the same XML source that is also used for the SQL | ||
+ | * [b]cleanups and refactoring[/ | ||
+ | ** removal of obsolete code, unification and integration of existing functionality | ||
+ | * [b]developer documentation[/ | ||
+ | ** unify existing documentation, | ||
+ | ** 24% of all source lines are comments now, according to ohloh.net source code [[http:// | ||
+ | ** Removed undocumented core functions serialize_branches()/ | ||
+ | * [b]drop[/b] | ||
+ | ** drop() function used in default reply route can drop any SIP reply received | ||
+ | * [b]Make system[/b] | ||
+ | ** easier system to set internal defined values like number of routes, size of pkg memory | ||
+ | ** options to build modules groupped by dependencies -- see Makefile.vars | ||
+ | |||
+ | ==== New in Kamailio Testing Suite ==== | ||
+ | |||
+ | * [b]Extensions[/ | ||
+ | ** add more tests (now over 40 test cases), refactoring of existing tests | ||
+ | ==== New in Kamailio Documentation ==== | ||
+ | |||
+ | * addition of man pages for all modules | ||
+ | * addition of man pages for the kamdbctl command | ||
+ | * update of all existing man pages | ||
+ | * addition of a documentation index to the wiki | ||
+ | * many updates and bugfixes to module documentation | ||
+ | |||
+ | ==== SIREMIS - Web Management interface ==== | ||
+ | |||
+ | * [b]Features[/ | ||
+ | ** provides system and database administration tools for Kamailio (OpenSER) | ||
+ | ** subscriber, database aliases and speed dial management | ||
+ | ** location table view | ||
+ | ** dispatcher, prefix-domain translation and least cost routing (lcr) management | ||
+ | ** access control lists (user groups) and permissions management | ||
+ | ** accounting records, missed calls and call data records view | ||
+ | ** hash table, dial plan table and user preferences table management | ||
+ | ** offline message storage view | ||
+ | * [b]Project web site[/b] | ||
+ | ** [[http:// | ||
+ | |||