User Tools

Site Tools


features:new-in-4.0.x

This is an old revision of the document!


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

Version 4.0.0 is planned to be released in the first half of March 2013.

Previous major version was 3.3.x (released in June 2012), see what was new in that release at:

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

New Modules

cdp

cdp_avp

dialog_ng

ims_auth

ims_icscf

ims_isc

ims_qos

ims_registrar_pcscf

ims_registrar_scscf

ims_usrloc_pcscf

ims_usrloc_scscf

corex

outbound

websocket

xhttp_pi

SER Modules

This modules are imported from SER flavour, being new from Kamailio packaging point of view (they were not part of Kamailio distribution in the past).

avp

  • avp manipulation tools

db2_ldap

  • DB API v2 connector for LDAP

db2_ops

  • DB API v2 script operations

malloc_test

  • test drive module for memory managers

mangler

  • SIP message mangling tools

print

  • sample module (for devel)
  • sample module depending on internal library (for devel)

timer

  • routing block execution on core timers

uid_auth_db

  • authentication using db structure based on unique user id

uid_avp_db

  • per user APV loading from db structure based on unique user id

uid_domain

  • multi-domain management using db structure based on unique user id

uid_gflags

  • global flags and AVPs management using db structure based on unique user id

uid_uri_db

  • uri management using db structure based on unique user id

xprint

  • log messages from scrip using %xy specifiers (former SER xlog module)

New in Old Modules

acc

  • table name for db acc can be dynamic

app_lua

  • extended the API with registrar:save_uri()

auth

  • added new variant of pv_www_authenticate() which takes method as a parameter

auth_db

  • added new variant of www_authenticate() which takes method as a parameter

db_cassandra

  • added raw query support for CQL format

db_postgres

  • added support for row/table locking

ipops

  • added new exported function is_in_subnet()

lcr

  • added support for websocket transport layer

mqueue

  • added mq_size() function to get runtime size of mqueue in script
  • added MI command to get current size of mqueue

msrp

  • added support for websocket transport layer

nat_traversal

  • added support for websocket transport layer

nathelper

  • use usrloc record unique id to generate the OPTIONS keepalives, allowing to match its reply with location record
  • option to remove UDP contacts that don't respond to OPTIONS keepalives
  • added support for websocket transport layer

nat_traversal

  • added support for websocket transport layer

ndb_redis

  • ability to connect to redis server via unix domain socket
  • new cfg function redis_free() to free the redis reply on demand
  • redis_cmd() can take variable number of parameters
  • added redisc_exec_argv() function

p_usrloc

  • ported gruu and outbound API changes to p_usrloc module

path

  • added support for websocket transport layer
  • bind to outbound module (if loaded before path) to enable RFC 5626 Edge Proxy behaviour

permissions

  • 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

prefix_route

  • option to provide the value to match the prefix as parameter to prefix_route()
  • option to disable config file execution exit upon prefix match

presence

  • added support for websocket transport layer
  • now uses DB row/table locking in DB only mode (where supported by the DB module)

presence_xml

  • module parameter xcapauth_usedel_reason to allow admin to set the reason in Subscription-Status header when a user is deleted from contact list

pua

  • now uses DB row/table locking in DB only mode (where supported by the DB module)

pv

  • new variable $cnt(…) to count the number of other array variables
  • added support for websocket transport layer
  • new pv class $version(key)
    • return attributes of the software version
    • key can be:
      • num - return version number
      • full - return all version string
      • hash - return git hash code and status

registrar

  • added support for websocket transport layer
  • new modparam to control requiring (and adding) outbound options-tag
  • new modparam to control adding Flow-Timer: header to 200 OK responses to REGISTER requests
  • 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

rls

  • now uses DB row/table locking in DB only mode (where supported by the DB module)

rr

  • bind to outbound module (if loaded before rr) to enable RFC 5626 Edge Proxy behaviour

rtpproxy

  • 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

sanity

  • added support for websocket transport layer

sdpops

  • new function: sdp_remove_line_by_prefix(string)
    • removes lines from SDP body that matches given prefix

seas

  • added support for websocket transport layer

sipcapture

  • support for storing the information to multiple sql tables
  • HEPv3 support

siptrace

  • added support for websocket transport layer

snmpstats

  • added support for websocket transport layer

tm

  • added t_is_set(“target”) function - returns true if the attribute specified by the target parameter is set for current transaction (e.g., failure_route, branch_route, onreply_route)
  • new parameter to control remapping of 503 response to 500
  • added support for websocket transport layer
  • module parameter contacts_avp is now name of an xavp
  • added new module parameter contact_flows_avp that must be defined if contacts_avp is defined
  • 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

uac

  • uac_replace_[from|to]() in AUTO mode can use dialog module to restore From/To - in this mode the URIs are stored as dialog

variables.

usrloc

  • 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

xcap_server

  • Support for org.openmobilealliance.xcap-directory auid

xlog

  • log_colors - new parameter to update the color scheme for core log levels

New in Core

Components

command line parameters

  • -e - print colorful messages based on log level

core parameters

  • log_color - print colorful messages based on log level

core code

  • support for receiving/sending WebSocket frames over TCP/TLS
  • support for building Via: and Record-Route: (including double-RR) headers for WebSockets
  • added Colin Plumb's MD5 implementation to be fully GPL compliant
  • update printing of socket lists to show the advertised address if set for the socket

parser/uri

  • support for WS and WSS transports in Via: lines
  • support for “;transport=ws” in URIs

lib/srdb1

  • added support for row/table locking (requires corresponding support in database modules)

Tools

  • kamctl
    • stats command can print a single group of statistics - groupid can be given as command parameter

kamailio.cfg

  • use add_contact_alias()/handle_uri_alias() for NATed calls
features/new-in-4.0.x.1362784227.txt.gz · Last modified: 2013/03/09 00:10 by miconda