User Tools

Site Tools


features:new-in-4.1.x

This is an old revision of the document!


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

First release in this series is to be numbered 4.1.0 and it is planned to be released in by end of November 2013.

Previous stable version was 4.0.x (released in March 2013), see what was new in that release at:

This is a draft of new features added for v.4.1.x, manually updated, thus not always synchronized with what is new in source code repository.

New Modules

app_java

auth_ephemeral

cnxcc

dnssec

gzcompress

mohqueue

rtpproxy-ng

sctp

sipt

stun

New in Old Modules

app_lua

  • add app_lua.list and app_lua.reload rpc commands

avpops

  • avp_check re operation can now use a pseudo variable as second parameter.
  • avp_check with xavp as second parameter can now be used with [*] index on the second key.

cdp

  • framework for Credit Control Application - initial support for RFC 4006, used for IMS Ro charging interface TS32.299

cfgutils

  • new functions
    • route_if_exists() calls a routing block only if it exists in the configuration script
    • check_route_exists() checks if a routing block exists in the script.

db_mysql

  • new module parameter - insert_delayed - if set to 1, then all INSERT API queries will be converted in INSERT DELAYED (only DB API insert, not for raw queries)
  • sql transaction support

db_postgres

  • handle prepare statements in DB APIv2

debugger

  • new parametes:
    • per module debug level
    • log_assign. Enables the log of every single assign action on config
    • reset_msgid. Enables the ability to reset the msgid ( $mi ) through the RPC command.
  • new functions:
    • dbg_pv_dump() dumps the pv_cache content in json format.
  • new RPC commands:
    • options to enable/disable per module log level as well as set per module log level at runtime.
    • dbg.reset_msg: resets the msgid ( $mi ).

dialog

  • SDP can be passed to MI/RPC dlg_bridge

htable

  • new htable.sets and htable.seti RPC commands
  • cross-server replication via DMQ module integration

nathelper

  • new option - natping_disable_bflag can be set on a per-registration basis to disable NAT pings completely

outbound

  • flow-token key is now automatically generated

permissions

  • DNS domain names in address table - possibility to check also against DNS domain names with allow_address() function.Now in the address table one group can have exact IPs, subnet IPs and DNS domain names

pike

  • counter for blocked IP addresses

presence

  • RPC command presence.cleanup

pv

  • RPC commands shvGet and shvSet to manipulate and list shared variables
  • new transformations - encode.base64 and decode.base64

registrar

  • add Supported headers for outbound extensions in replies
  • RFC 5626 section 6 support - behaviour when outbound in use but first edge proxy does not support it
  • added additional unregister() exported function to allow the removal of a specific contact - contact is removed by using the ruid (unique ID for the location record)
  • set_q_override API function - override the value of the q parameter from the Contact header in subsequent calls to the save() function for the current request

rr

  • use sips to build RR headers if R-URI has sips

rtpproxy

  • database support to rtpproxy
    • if db_url modparam is set rtpproxy sets will be loaded from database
    • if the instance is marked as disabled in database it will be loaded as disabled

sca

  • private hold handling

sdpops

  • new functions:
    • sdp_with_transport(string). Checks if is a media with the transport string.
    • sdp_remove_transport(string). Removes the media info from the SDP that matches string transport.

sipcapture

  • table param for sip_capture() function
  • allow customization for X-CID header

siputils

  • new functions:
    • is_supported(option) that can be used to check if request has a Supported header listing the given option.

snmpstats

  • the SNMPstats module has been extended with a large set of new data, and the KAMAILIO-MIB has been extended with new OIDs
  • the new data reflects the Kamailio server process (memory, configuration at compile time), network transports and modules.

tm

  • new event route to be executed for each branch failure
    • branch failure routes must be named with the format:
      • event_route[tm:branch-failure:myroute]
      • and enabled with the function: t_on_branch_failure(“myroute”)
  • asynchronous processing of SIP responses in configuration file

tmx

  • $T_reply_ruid - pv to return ruid for a branch reply

usrloc

  • new RPC commands:
    • ul.rm
    • ul.rm_contact
    • ul.flush
    • ul.add
  • ul.add RPC and ul_add MI commands modified to be able to set the contact path
  • new option for db_mode - DB_READONLY (4)
    • location records are loaded only at startup
    • no write back to database, not even at shutdown
    • useful when registrations are replicated to another node that does the db storage at runtime

New in Core

  • IPv6 compile time flag removed - it is not possible to compile Kamailio without IPv6 anymore, improving the code maintainability in the core and several modules
  • set TOS for IPv6 sctp sockets
  • the syn_branch parameter has been removed from the core, as Kamailio was not fully standard compliant if this was activated.
  • auto-define cfg directive MOD_modname for each loaded module
    • example: if acc module is loaded, MOD_acc is defined in cfg

Components

  • SCTP support implementation from core was moved as a module. No need to recompile everything to get SCTP support, just load sctp module
  • STUN implementation from core was moved as a module

Tools

kamctl

  • added parameters to add the contact path: kamctl ul add <user> <uri> <expires> <path>
  • command for dialog module management

kamdbctl

  • new command 'add-tables <gid>' to create only specific table grouped under same <gid> name
features/new-in-4.1.x.1384518801.txt.gz · Last modified: 2013/11/15 13:33 by miconda