User Tools

Site Tools


features:new-in-4.0.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-4.0.x [2013/03/09 13:21]
miconda [Tools]
features:new-in-4.0.x [2013/04/01 16:30] (current)
admorten Add sca module
Line 75: Line 75:
  
   * new module providing SIP Outbound (RFC 5626) Edge Proxy support   * new module providing SIP Outbound (RFC 5626) Edge Proxy support
-  * http://kamailio.org/docs/modules/4.0.x/modules_k/outbound.html+  * http://kamailio.org/docs/modules/4.0.x/modules/outbound.html 
 + 
 +==== sca ==== 
 + 
 +  * new module providing Broadsoft Shared Call Appearances support 
 +  * http://kamailio.org/docs/modules/4.0.x/modules/sca.html
  
 ==== websocket ==== ==== websocket ====
Line 172: Line 177:
  
   * extended the API with registrar:save_uri()   * extended the API with registrar:save_uri()
 +  * support for URI lookup from registrar
  
 ==== auth ==== ==== auth ====
Line 190: Line 196:
  
   * support of no limitation on number of message chunks   * support of no limitation on number of message chunks
 +
 +==== cpl-c ====
 +
 +  * added an optional parameter to cpl_run_scritp() to provide the URI - the parameter will be used instead of taking the URI from headers or R-URI
 ==== db_cassandra ==== ==== db_cassandra ====
  
Line 197: Line 207:
  
   * added support for row/table locking   * added support for row/table locking
 +
 +==== db_text ====
 +
 +  * new rpc command 'db_text.dump' - allows forcing a write back to disk for modified tables
 +==== dialog ====
 +
 +  * added dlg_set_timeout_by_profile() route script function
 +    * this function allows the same dialog timeout to be set across all the dialogs in a profile (with or without values).
 +  * add contact header in REFER for dlg_bridge()
 +  * bridge contact address can be set via parameter
 +==== htbale ====
 +
 +  * added RPC command for listing one item in a hash table
 +  * added new RPC htable.listTables - this RPC list all defined tables and their settings
  
 ==== ipops ==== ==== ipops ====
Line 206: Line 230:
  
   * added support for websocket transport layer   * added support for websocket transport layer
 +
 +==== maxfwd ====
 +
 +  * max_limit module param can be changed at runtime
  
 ==== mqueue ==== ==== mqueue ====
Line 215: Line 243:
  
   * added support for websocket transport layer   * added support for websocket transport layer
 +  * added internal map table to track msrp connections
 +  * added rpc command to list active connections
 +  * new parameter use_path_addr - specify host and port for usage in Use-Path header
 +
 +==== mtree ====
 +
 +  * added RPC command mtree.summary
  
 ==== nat_traversal ==== ==== nat_traversal ====
Line 226: Line 261:
   * added support for websocket transport layer   * added support for websocket transport layer
   * add_contact_alias() can now be given ip addr port, and proto as parameters   * add_contact_alias() can now be given ip addr port, and proto as parameters
 +  * added the select for rewriting the contact
 +  * new test 128 to check port in contact against source port
  
 ==== nat_traversal ==== ==== nat_traversal ====
Line 247: Line 284:
   * bind to outbound module (if loaded before path) to enable RFC 5626 Edge Proxy behaviour   * bind to outbound module (if loaded before path) to enable RFC 5626 Edge Proxy behaviour
  
 +==== pdt ====
 +
 +  * added pdt.list command to dump memory structure via rpc
 ==== permissions ==== ==== permissions ====
  
   * added new cfg function allow_address_group(addr, port) - return group of matching address and port record in address table   * added new cfg function allow_address_group(addr, port) - return group of matching address and port record in address table
   * added support for websocket transport layer   * added support for websocket transport layer
 +  * added RPC commands 
  
 +==== pike ====
 +
 +  * added pike.top rpc command
 ==== prefix_route ==== ==== prefix_route ====
  
Line 265: Line 309:
  
   * module parameter xcapauth_usedel_reason to allow admin to set the reason in Subscription-Status header when a user is deleted from contact list   * module parameter xcapauth_usedel_reason to allow admin to set the reason in Subscription-Status header when a user is deleted from contact list
 +
 +==== pipelimit ====
 +
 +  * added a new set of RPC commands
  
 ==== pua ==== ==== pua ====
Line 296: Line 344:
     * the char can be given in a pv     * the char can be given in a pv
   * new function: typeof(pvar, vtype) - test the type of the pseudo-variable   * new function: typeof(pvar, vtype) - test the type of the pseudo-variable
-  * new function: not_empty(pvar) - test if the type is string and the value not empt+  * new function: not_empty(pvar) - test if the type is string and the value not empty 
 +  * make individual flags accessible via $Mf(idx), $Bf(idx) and $Sf(idx)
  
 ==== registrar ==== ==== registrar ====
Line 305: Line 354:
   * new function lookup_branches(domain) - lookup the contacts for r-uri and additional branches - only branches that are clean (i.e., have only r-uri set) are used   * new function lookup_branches(domain) - lookup the contacts for r-uri and additional branches - only branches that are clean (i.e., have only r-uri set) are used
   * $ulc(...) returns ruid, reg-id and instance   * $ulc(...) returns ruid, reg-id and instance
 +  * execute event route when a contact expires - the name of the routing block is event_route[usrloc:contact-expired]
  
 ==== rls ==== ==== rls ====
Line 313: Line 363:
  
   * bind to outbound module (if loaded before rr) to enable RFC 5626 Edge Proxy behaviour   * bind to outbound module (if loaded before rr) to enable RFC 5626 Edge Proxy behaviour
 +  * added option to set custom username for Record-Route URI
  
 ==== rtpproxy ==== ==== rtpproxy ====
Line 318: Line 369:
   * allow script variables in set_rtp_proxy_set(...) parameter   * allow script variables in set_rtp_proxy_set(...) parameter
   * possibility to add ice relay candidates to sdp streams if new module parameter ice_candidate_priority_avp has been defined   * possibility to add ice relay candidates to sdp streams if new module parameter ice_candidate_priority_avp has been defined
 +  * when adding ICE relay candidates, always include RTCP candidate
   * new flag "x" for automatic bridging between IPv4 and IPv6, based on the following assumption: "i" is the IPv4 interface and "e" is the IPv6 interface on the RTPProxy   * new flag "x" for automatic bridging between IPv4 and IPv6, based on the following assumption: "i" is the IPv4 interface and "e" is the IPv6 interface on the RTPProxy
   * new flag 't' to rtpproxy_destroy function that makes it possible do delete whole call even when To tag is present in request/reply.  In force_rtp_proxy the flag is ignored   * new flag 't' to rtpproxy_destroy function that makes it possible do delete whole call even when To tag is present in request/reply.  In force_rtp_proxy the flag is ignored
 +  * new flag 'b' to add a branch specific string tot the call-id
 +  * rtpproxy_manage can take the flags parameter as a pseudo-variable
  
 ==== sanity ==== ==== sanity ====
Line 328: Line 382:
   * new function: sdp_remove_line_by_prefix(string)   * new function: sdp_remove_line_by_prefix(string)
     * removes lines from SDP body that matches given prefix     * removes lines from SDP body that matches given prefix
 +  * added sdp_content() - return true of there is a sdp part in the body of sip message
  
 ==== seas ==== ==== seas ====
Line 337: Line 392:
   * support for storing the information to multiple sql tables   * support for storing the information to multiple sql tables
   * HEPv3 support   * HEPv3 support
 +  * added RPC command to turn on/off or check status
  
 ==== siptrace ==== ==== siptrace ====
  
   * added support for websocket transport layer   * added support for websocket transport layer
 +  * added RPC command for turning on/off tracing
  
 +==== siputils ====
 +
 +  * added function to return RURI parameter value
 +==== sl ====
 +
 +  * new function sl_forward_reply(...)
 +    * forward the received reply fron configuration, before it would be done by the core. It has the option to change the status code and reason phrase
 +    * the forwarding is statelessy, not affecting the tm states
 ==== snmpstats ==== ==== snmpstats ====
  
   * added support for websocket transport layer   * added support for websocket transport layer
  
 +==== statistics ====
 +
 +  * update_stat(...) can get PV as value parameter
 +
 +==== textops ====
 +
 +  * added functions that operate on header value
 ==== tm ==== ==== tm ====
  
Line 355: Line 427:
   * added support for outbound by new script function t_next_contact_flows()   * added support for outbound by new script function t_next_contact_flows()
   * enhanced t_replicate() so that if a NULL string is used, it replicates to $du   * enhanced t_replicate() so that if a NULL string is used, it replicates to $du
 +  * added option to check callid when matching transactions
 +  * remember per-branch onreply_route and onfailure_route settings
 +
 +==== tmx ====
  
 +  * added pv $T_reply_reason - useful especially for internally generated (faked) replies to get the reason phrase
 +  * added t_is_reply_route() - function to determine if the top executed route block is a reply
 +  * added active_transactions statistic
 +  * added pv $T_reply_last - returning last reply code
 ==== uac ==== ==== uac ====
  
Line 362: Line 442:
     * if set to 1, then the module uses dialog variables to store the initial and new values for From/To headers     * if set to 1, then the module uses dialog variables to store the initial and new values for From/To headers
     * default set to 0 - otherwise all calls that have changes to From/To headers must be tracked by dialog     * default set to 0 - otherwise all calls that have changes to From/To headers must be tracked by dialog
 +  * added reg_db_table parameter to specify table name for registrations
 +  * skip realm matching when realm pv for uac_auth() is empty or null
 +  * uac_reg - skip realm checking if realm attribute is empty
 +  * uac_reg - add reg_retry_interval parameter. The new parameter allows to retry failed registration attempts. Instead of unconditionally marking the entry as disabled, the registration will be retried after the set interval. Setting it to 0 (default) retains the old behaviour.
  
 ==== usrloc ==== ==== usrloc ====
Line 367: Line 451:
   * for DB_ONLY module, run timer only when timer_interval > 0, to allow database to be cleaned up by external processes   * for DB_ONLY module, run timer only when timer_interval > 0, to allow database to be cleaned up by external processes
   * keep time of the last keepalive for natted UDP contacts   * keep time of the last keepalive for natted UDP contacts
 +  * added +sip.instance and reg-id to mi_usrloc_show_contact
 +  * option to store xavp per contact
 +    * the xavp can contain a list of xavps
 +    * new config parameter to specify the name of xavp
 +  * store per-contact attributes in database
 +    * attributes table is the name of table used for save/lookup plus suffix '_attrs' (e.g., location_attrs)
 +  * added RPC command for AOR lookup
  
 ==== xcap_server ==== ==== xcap_server ====
  
-  * Support for org.openmobilealliance.xcap-directory auid+  * support for org.openmobilealliance.xcap-directory auid 
 +  * use a static table to keep the list of supported auids - adding new auid requires an entry in this table and define of the internal type
  
 ==== xlog ==== ==== xlog ====
Line 383: Line 475:
  
   * -e - print colorful messages based on log level   * -e - print colorful messages based on log level
 +  * command line option -v replaced with -K - -v was exposing to misuse instead of -V (version), now is aliased to it
  
 === core parameters === === core parameters ===
Line 396: Line 489:
     * this is available by setting the USE_DNSSEC compile flag. It requires libval-threads and libres (part of dnssec-tools dnssec-tools.org)     * this is available by setting the USE_DNSSEC compile flag. It requires libval-threads and libres (part of dnssec-tools dnssec-tools.org)
     * the custom resolvers were replaced by val_gethostbyname, val_gethostbyname and val_res_query (for SRV)     * the custom resolvers were replaced by val_gethostbyname, val_gethostbyname and val_res_query (for SRV)
 +  * added instance and reg_id fields to sip_msg_t - also added set_instance and reset_instance functions
 +  * extended xavp api - functions to add an avp last in a list or inserted at a specific position, to extract an avp from top of the list
 +  * print advertise-port on the list of sockets at startup
 +  * default compatibility set to SR_COMPAT_MAX - $xy is tried first as pv and if not, then is considered avp
  
 === parser/uri === === parser/uri ===
Line 411: Line 508:
   * kamctl   * kamctl
     * stats command can print a single group of statistics - groupid can be given as command parameter     * stats command can print a single group of statistics - groupid can be given as command parameter
 +    * new command 'db showg' - uses \G at end of sql query, resulting in line-formated output (at least for mysql)
 +    * added definition of tables for uid modules
 +    * added option to grant sql access from a remote host - set DBACCESSHOST in kamctlrc
 +  * kamdbctl
 +    * new command - kamdbctl pframework create - creates a provisioning framework for the installed db tables
   * Makefile   * Makefile
     * added new target 'printvar' - prints the value of a Makefile variable whose name is provided in variable 'v', e.g.,: make printvar v=exclude_modules     * added new target 'printvar' - prints the value of a Makefile variable whose name is provided in variable 'v', e.g.,: make printvar v=exclude_modules
     * added uninstall target - it prints hints and commands to perform uninstall when installation is done from sources     * added uninstall target - it prints hints and commands to perform uninstall when installation is done from sources
 +    * split module groups definitions in Makefile.groups
 +  * Makefile.defs
 +    * added MEMMNG to allow selection of memory manager
 +      * MEMMNG=0 => fast malloc is used (f_malloc)
 +      * MEMMNG=1 => quick malloc is used (q_malloc)
 +      * MEMDBG is used now to set the debug mode for each of the managers
 +        * 0 - no debug info
 +        * 1 - debug info enabled
 +    * default memory manager set to q_malloc
 +      * debug option is left unset (no DBG_QM_MALLOC)
 +      * lower memory chunk overhead with faster join
          
  
Line 421: Line 534:
   * test if DBURL is already defined before defining it - allow to set it via command line with -A DBURL='...'   * test if DBURL is already defined before defining it - allow to set it via command line with -A DBURL='...'
   * kamailio-local.cfg is attempted to be loaded if exists in the same folder, allowing to set defines/paramters inside it without changing main kamailio.cfg   * kamailio-local.cfg is attempted to be loaded if exists in the same folder, allowing to set defines/paramters inside it without changing main kamailio.cfg
 +  * add option to set pstn gw port
features/new-in-4.0.x.1362831718.txt.gz · Last modified: 2013/03/09 13:21 by miconda