User Tools

Site Tools


features:new-in-3.2.x

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
features:new-in-3.2.x [2011/10/18 22:52]
miconda [New in Core]
features:new-in-3.2.x [2011/10/19 22:11] (current)
212.230.46.89 [rtpproxy] fixed "INVITE with sdp" to "INVITE without SDP"
Line 5: Line 5:
 **The release date for version 3.2.0: October 18, 2011**. **The release date for version 3.2.0: October 18, 2011**.
  
-**NOTE: this page is not yet up-to-date with all new features in v3.2.0. Check back soon, it is updated right now, it should take just a bitThis message will be removed when the update is finished.**+Full commits log for release 3.2.0 is available at: 
 + 
 +  * http://www.kamailio.org/pub/kamailio/3.2.0/ChangeLog
 ===== Configuration File ===== ===== Configuration File =====
  
Line 32: Line 34:
  
   * database connector for SQLite   * database connector for SQLite
 +  * good option to use for small (or embedded) SIP servers, as alternative to big DB servers such as MySQL or Postgres
   * README File: http://kamailio.org/docs/modules/3.2.x/modules_k/db_sqlite.html   * README File: http://kamailio.org/docs/modules/3.2.x/modules_k/db_sqlite.html
  
Line 42: Line 45:
  
   * IPv4 and IPv6 related functions for config file   * IPv4 and IPv6 related functions for config file
 +    * among implemented functions: is_ipv4(ip), is_ipv6(ip), compare_ips(ip1, ip2), ip_type(ip)
   * README File: http://kamailio.org/docs/modules/3.2.x/modules/ipops.html   * README File: http://kamailio.org/docs/modules/3.2.x/modules/ipops.html
  
Line 47: Line 51:
  
   * json parser for configuration file   * json parser for configuration file
 +    * get the values from a JSON document
 +    * example:
 +<code c>
 +json_get_field("{'foo':'bar'}", "foo", "$var(foo)");
 +xlog("foo is $var(foo)");
 +</code>
   * README File: http://kamailio.org/docs/modules/3.2.x/modules/json.html   * README File: http://kamailio.org/docs/modules/3.2.x/modules/json.html
  
 ==== jsonrpc-c ==== ==== jsonrpc-c ====
  
-  * JSON-RPC client over netstrings+  * JSON-RPC client over tcp/netstrings 
 +    * send notifications to a JSON-RPC server 
 +    * invoke execution of a JSON-RPC to a server
   * README File: http://kamailio.org/docs/modules/3.2.x/modules/jsonrpc-c.html   * README File: http://kamailio.org/docs/modules/3.2.x/modules/jsonrpc-c.html
 ==== ndb_redis ==== ==== ndb_redis ====
  
   * connector to Redis no-SQL database engine   * connector to Redis no-SQL database engine
 +    * uses hiredis library
 +    * exports function to send commands to redis and a new pseudo-variable class to access the reply: $redis(key)
   * README File: http://kamailio.org/docs/modules/3.2.x/modules/ndb_redis.html   * README File: http://kamailio.org/docs/modules/3.2.x/modules/ndb_redis.html
  
Line 61: Line 75:
  
   * Support for RFC 3680 in the presence architecture of Kamailio   * Support for RFC 3680 in the presence architecture of Kamailio
 +    * handle PUBLISH requests with reg-info content
 +    * notify watcher with updates of reg-info records
   * README File: http://kamailio.org/docs/modules/3.2.x/modules_k/presence_reginfo.html   * README File: http://kamailio.org/docs/modules/3.2.x/modules_k/presence_reginfo.html
  
 ==== pua_reginfo ==== ==== pua_reginfo ====
  
-  * Publish Registration info according to RFC 3680 ("reg"-Package), in case a user registration (based on usrloc callbacks)+  * publish registration info (reg-info) according to RFC 3680 ("reg"-package), in case a user registration (based on usrloc callbacks)
   * README File: http://kamailio.org/docs/modules/3.2.x/modules_k/pua_reginfo.html   * README File: http://kamailio.org/docs/modules/3.2.x/modules_k/pua_reginfo.html
  
Line 91: Line 107:
  
   * SIP traffic capturing server extension for Homer project   * SIP traffic capturing server extension for Homer project
 +    * save to database mirrored traffic from other SIP server instances - mirroring can be done by siptrace module
   * README File: http://kamailio.org/docs/modules/3.2.x/modules/sipcapture.html   * README File: http://kamailio.org/docs/modules/3.2.x/modules/sipcapture.html
  
Line 146: Line 163:
 </code> </code>
  
 +  * db_insert_mode can be set to 1 in order to use INSERT DELAYED when adding the acc records to database
  
  
Line 171: Line 189:
  
   * export of inter-module API (available through Lua)   * export of inter-module API (available through Lua)
 +  * option to skip checking version table
 +    * new parameter 'version_table' to be able to disable checking for version table
 +    * useful when connecting to a different database to fetch the password
  
 ==== auth_radius ==== ==== auth_radius ====
Line 207: Line 228:
   * export of inter-module API (available through Lua)   * export of inter-module API (available through Lua)
   * new event routes that are called when destinations go on/off-line   * new event routes that are called when destinations go on/off-line
 +    * event_route[dispatcher:dst-up]
 +    * event_route[dispatcher:dst-down]
   * added RPC commands - new RPC commands to replace the MI ones   * added RPC commands - new RPC commands to replace the MI ones
  
Line 229: Line 252:
     * both return the new value of the item     * both return the new value of the item
     * they work only with items having integer values     * they work only with items having integer values
 +  * options to store expires value of items in database
 ==== kex ==== ==== kex ====
  
Line 277: Line 301:
 ==== presence_xml ==== ==== presence_xml ====
   * new exported functions to enable the online/offline presentity of a subscriber to be checked from the configuration file.   * new exported functions to enable the online/offline presentity of a subscriber to be checked from the configuration file.
 +    * pres_check_basic() enables you to find out whether a users basic status matches the string you provide.
 +    * pres_check_activities() enables you to find out whether any of user's listed activities matches the string you provide.
  
 +
 +==== pua ====
 +
 +  * added new modparam check_remote_contact
 ==== pv ==== ==== pv ====
  
Line 290: Line 320:
       * the value is 2 if the sip message is reply       * the value is 2 if the sip message is reply
     * $Tb - startup time available in a pseudo-variable (boottime)     * $Tb - startup time available in a pseudo-variable (boottime)
 +    * $rz - returns r-uri scheme
 +      * possible values: sip, sips, tel and tels
 +      * r-uri scheme parsing error should be reflected by value: none
  
   * new transformations:   * new transformations:
Line 322: Line 355:
   * support for resource-list indices that reference other resource-list XML documents (including XPath within documents)   * support for resource-list indices that reference other resource-list XML documents (including XPath within documents)
   * new exported function to allow re-subscription to a list to be initiated from the configuration file   * new exported function to allow re-subscription to a list to be initiated from the configuration file
 +  * added a new exported function: rls_update_subs() - this new function can be called from the Kamailio configuration file to force the RLS module to refresh its back-end subscriptions.
  
 ==== rr ==== ==== rr ====
Line 332: Line 366:
 ==== rtpproxy ==== ==== rtpproxy ====
  
-  * force_rtp_proxy function was removed+  * force_rtp_proxy function was removed, you can use rtpproxy_offer() and rtpproxy_answer() 
 +  * new function rtpproxy_manage() 
 +    * auto-pilot function to handle rtp proxy session management 
 +    * it can take same kind of parameters as rtpproxy_offer() 
 +    * embeds the functionality of rtpproxy_offer(), rtpproxy_answer() and unfroce_rtp_proxy(): 
 +      * if INVITE with SDP, then do rtpproxy offer 
 +      * if INVITE without SDP, when tm is loaded, mark transaction with internal flag FL_SDP_BODY to know that the 1xx and 2xx are for rtp answer 
 +      * if ACK with SDP, then do rtpproxy answer 
 +      * if BYE or CANCEL, then do unforce rtpproxy 
 +      * if reply to INVITE with code >= 300 do unfrce rtp proxy 
 +      * if reply with SDP to INVITE having code 1xx and 2xx, then do rtpproxy answer if the request had SDP or tm is not loaded, otherwise do rtpproxy offer 
 +  * aliased rtpproxy_destroy() to unforce_rtp_proxy()
  
 ==== sanity ==== ==== sanity ====
Line 338: Line 383:
   * new parameter autodrop to control automatic dropping of broken messages   * new parameter autodrop to control automatic dropping of broken messages
   * setting it to 0 is good for logging purposes in config file and exiting from there   * setting it to 0 is good for logging purposes in config file and exiting from there
 +
 +==== siptrace ====
 +
 +  * trace_to_database configuration parameter - to control whether to write to database or not and just mirror traffic
 +  * use x-headers to add fromip, toip, method, time and direction in the message body (using X-* headers). This allows to transmit them using duplicate_uri from one kamailio to an other.
 +  * store milliseconds part of the time in database
 ==== siputils ==== ==== siputils ====
  
Line 346: Line 397:
     * useful to check in sub-routes that can be executed from both request and reply routes     * useful to check in sub-routes that can be executed from both request and reply routes
  
 +==== snmpstats ====
 +
 +  * control exporting registrar records
 +    * exporting of large location database may result in out of shared memory, as well as when the records are not pulled
 +    * new parameter export_registrar was added to enable/disable location records export (off by default)
 ==== sqlops ==== ==== sqlops ====
   * xavp support. New function sql_xquery() stores the query result in an xavp.   * xavp support. New function sql_xquery() stores the query result in an xavp.
   * BIGINT support. Native support when sql_xquery is used, transformed to string for sql_query().   * BIGINT support. Native support when sql_xquery is used, transformed to string for sql_query().
 +  * new PV $sqlrows(con) - return affected rows of previous query
  
 ==== textops ==== ==== textops ====
Line 359: Line 416:
   * new parameter 'sanity_checks' - option to bind to sanity for parsing checks   * new parameter 'sanity_checks' - option to bind to sanity for parsing checks
   * the module can bind to sanity to perform parsing checks before proceeding to encoding/decoding of received requests   * the module can bind to sanity to perform parsing checks before proceeding to encoding/decoding of received requests
 +
 +==== tm ====
 +
 +  * allow nested backup of avp lists when sending local requests
 ==== tmx ==== ==== tmx ====
  
Line 366: Line 427:
   * $T(name) - new class of pseudo-variables for accessing transaction attributes:   * $T(name) - new class of pseudo-variables for accessing transaction attributes:
     * internal index, label, the branch index, reply code     * internal index, label, the branch index, reply code
 +  * two helper functions to detect route block type
 +    * t_is_failure_route() - return true if it is a failure_route execution
 +    * t_is_branch_route() - return true if it is a branch_route execution
 +    * useful to check in sub-routes executed from different points of config
 +  * added t_reply_callid MI command
 +  * $T(reply_type) to solve ambiguity of received or local replies
 +    * it returns 1 in failure route if the reply was local generated (e.g., timeout), otherwise is 0. If there is no transaction, it returns null.
  
 ==== uac ==== ==== uac ====
Line 384: Line 452:
     * org.openmobilealliance.pres-content     * org.openmobilealliance.pres-content
     * org.openmobilealliance.search     * org.openmobilealliance.search
-  * Support for HTTP 1.1 pre-conditions to enable clients to avoid having to re-download unchanged documents and to check whether documents have changed or not on upload+  * support for HTTP 1.1 pre-conditions to enable clients to avoid having to re-download unchanged documents and to check whether documents have changed or not on upload 
 +  * ability to insert new nodes in xcap docs 
 + 
 +==== xlog ==== 
 + 
 +  * new module parameter log_facility 
 +    * allow to specify syslog facility for messages printed by xlog module 
 +    * xlog messages can be diverted now to special file via syslog conf
  
 ==== xhttp ==== ==== xhttp ====
Line 396: Line 471:
  
   * request_route { ... } can be used instead of main route { ... }   * request_route { ... } can be used instead of main route { ... }
 +  * reply_route { ... } can be used instead of main onreply_route { ... }
 +  * '!!' can be used as alternative to '#!' for pre-processor directives, being easier to distinguish it out of commented lines
 +  * caching support for pv spec parsing
 ==== Preprocessor directives ==== ==== Preprocessor directives ====
  
Line 412: Line 490:
  
   * corelog - control the log level for non-critical core error messages   * corelog - control the log level for non-critical core error messages
 +  * pv_buffer_size - size in bytes for internal PV buffer (default 1024)
 +  * pv_buffer_slots - home many internal PV buffers (default 10)
 +  * sql_buffer_size - set the size of SQL buffer (default 64k)
 +  * auto_bind_ipv6 - auto-bind or not to IPv6 addresses (default 1 - bind to IPv6)
 +
 +==== Functions ====
 +
 +  * added functions remove_branch(index) and clear_branches()
 ==== Config Reload Framework ==== ==== Config Reload Framework ====
  
Line 434: Line 520:
  
   * core events when pkg usage changes   * core events when pkg usage changes
 +  * option for short status dumping
   * pkg mem size configurable form the cmd line   * pkg mem size configurable form the cmd line
     * The pkg mem size used can be configured by using the "-M" parameter on the command line. The default remains 4Mb.     * The pkg mem size used can be configured by using the "-M" parameter on the command line. The default remains 4Mb.
features/new-in-3.2.x.1318971156.txt.gz · Last modified: 2011/10/18 22:52 by miconda