User Tools

Site Tools


features:new-in-4.3.x

This is an old revision of the document!


Kamailio SIP Server (SER) - New Features in v4.3.x

Current stable version is numbered 4.3.x and it was released in June 2015.

Previous version was 4.2.x (released on October 16, 2014), see what was new in that release at:

This is a draft of new features added in 4.3 version, manually updated, thus not always synchronized with what is new in source code repository.

New Modules

auth_xkeys

dmq_usrloc

erlang

geoip2

jansson

janssonrpc-c

statsd

rtjson

tcpops

New in Old Modules

app_lua

  • exported additional tm functions
    • sr.tm.t_load_contacts
    • sr.tm.t_next_contatcs
    • sr.tm.t_on_branch_failure

cdp

  • added support for incoming and outgoing trunk-group AVPs

cdpavp

  • added support for incoming and outgoing trunk-group AVPs

cnxcc

  • added Redis support for distributed cnxcc nodes

db_mysql

  • added parameter to change affected rows value for UPDATE queries
    • when enabled will return the number of matched/foudn rows as opposed to the number of updated rows

dialplan

  • new RPC command: dialplan.dump
    • list all entries in the dialplan
  • support $(avp(“key”)[+]) notation on dynamic match/subst rules:
  • option to allow variables in match and substitution expressions - new parameter: match_dynamic to enable this feature

dispatcher

  • new function ds_list_exist() to check if a dispatcher set exists
  • added per gateway and global send socket configuration

ims_charging

  • added realtime DB support for Ro sessions
  • added support for trunk ID in Ro CCR

ims_icscf

  • new module param use_preferred_scscf_uri - allows ICSCF to have a preferred S-CSCF is HSS returns a list

ims_registrar_scscf

  • use dedicated process to send notifies
  • new parameter user_data_always - if set S-CSCF always requests user data from HSS
  • new mod_param subscription_expires_range - if set this parameter randomises the subscription expiry

ims_qos

  • Rx_reg use received IP for framed_ip_address AVP

ims_usrloc_pcscf

  • added new parameter to contact match using only URI host and port

ims_usrloc_scscf

  • added database support for subscriptions
  • callback when contact is deleted/removed

jsonrpc-s

  • support to receive RPC commands via FIFO file

ndb_redis

  • Redis authentication is now supported:
modparam("ndb_redis", "server", "name=srvX;addr=127.0.0.2;port=6379;db=4;pass=mypassword")

pua

  • added outbound_proxy for publishing info

pv

  • new variable type: $vn() that can hold a $NULL value. The existing $var() can not have a $NULL value.
    • similar to $var(name) and able to hold $null
    • default value is $null

$vn(x) = 0; $vn(x) = “abc”; $vn(x) = $null;

  • $vz(name) aliased to $var(name)
  • $sut - new variable that returns full uri for source address
  • added 7Bit encoding/decoding transformations

rr

  • new variable class $rdir(key)
    • return the direction of the request within dialog
    • $rdir(id) - returns integer 1 for downstream and 2 for upstream
    • $rdir(name) - returns the strings 'downstream' or 'upstream'
  • new config variables $fti and $tti
    • $fti - from tag as in initial INVITE
    • $tti - to tag as in the response to the initial INVITE

rtpengine

  • rtpengine_tout is now rtpengine_tout_ms
    • rtpengine tout param is now expressed in milliseconds and renamed
  • new write_sdp_pv parameter, to return the new SDP in a $var() or $avp() instead of message body

sdpops

  • new function sdp_with_active_media
    • return true of the SDP has 'media=type …' line and the media is active.
    • active media means the port is non-zero and the direction is not “inactive”

tm

  • new function t_is_retr_async_reply to check if a reply being processed is part of a transaction currently suspended
  • handle r-uri alias parameter for local generated requests within a dialog
  • default value for failure_reply_mode set to 3 - discard previous replies if a new serial forking step is done

tsilo

  • new MI and RPC commands

usrloc

  • new parameter: close_expired_tcp. When set to 1, usrloc will close the corresponding TCP connection for expired entries.

xlog

  • xlog: new log function xlogm(…) - logs with method filtering
    • same as xlog(level, message), fitering on methods
  • new parameter methods_filter - a bitmask with internal sip method ids to be skipped from printing logs. Default -1 (skip all)
  • parameter can be set at runtime via cfg reload framework kamcmd cfg.set_now_int xlog methods_filter 15
  • alternative implementation of FS#81

New in Core

Code

  • execute onsend_route for replies before sending out
    • control execution of onsend_route block for replies via parameter onsend_route_reply
  • default tcp read buffer size set to 16kB
  • pv print default buffer size set to 8kB
  • default size for shared memory is 64MB
  • new parameter - max_branches
    • the maximum number of uac branches can be set via config
    • default value is 12 (old static value for MAX_BRNACHES)
    • the upper limit is 31, it has to be at least 1

TLSF Memory Manager

  • Two Level Segregated Fit memory allocator
  • bounded-time performance memory manager
  • malloc and free operations always done in O(1)
  • build with MEMMNG=2 option to activate TLSF

Default Config

Tools

Kamctl

  • support of fnmatch operator for dialplan
    • do not reload rules in memory after each change in database to allow batch updates. Reload command has to be done explicitely
    • parameters of addrule after match expression are optional

Build Process

Support reproducible builds adding compile options to skip compile date or set a particular value

  • default is current behaviour, date and time included in version string
  • compile with no date and time:
    make CC_EXTRA_OPTS="-DVERSION_NODATE"
  • compile with a specific date and time:
    make CC_EXTRA_OPTS='"-DVERSION_DATE=\"19:30:40 Feb  8 2015\""'
features/new-in-4.3.x.1433248444.txt.gz · Last modified: 2015/06/02 14:34 by miconda