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
Last revision Both sides next revision
features:new-in-3.2.x [2011/10/18 22:54]
miconda [Config Structure]
features:new-in-3.2.x [2011/10/19 13:29]
miconda [Kamailio SIP Server - New features in version 3.2.0]
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 with 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 398: Line 473:
   * reply_route { ... } can be used instead of main onreply_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   * '!!' 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 414: 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 436: 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.txt · Last modified: 2011/10/19 22:11 by 212.230.46.89