|
Main -> Releases -> Version 1.6.x -> Devel 1.6.0Table of Content (hide)
1. Migration to 1.6.0A manual for how to migrate/update from 1.5.x to 1.6.0 is now available on site. 2. What is new in 1.6.02.1 Core
2.2 Script Routes
2.3 Pseudo variables
2.4 Transformations
2.5 AAA API and enhancement of RADIUS support(NEW)AAA APIThe AAA API represents a set of generic callbacks and structures needed for AAA operations. The purpose of the API is to move all the AAA specific (Radius) implementations in a single module. The AAA API will hide the implementations details from the modules that want to use AAA support, making it easier to use. Currently, only one module implements the AAA API - aaa_radius, offering Radius support. Because both standardized AAA protocols, Radius and Diameter, use lists of attribute-value pairs, the API is designed based on attribute-value pairs, as well. One of the advantages of using the API is that any module that wishes to do AAA operations does not depend on a certain protocol implementation, therefore it is not linked with a certain AAA library. Hence, any module that was previously using Radius, for example, is not linked with the radiusclient library any more, which is obviously an advantage, especially when the module uses more than one API (DB, AAA, etc). The AAA protocol to be used by a module is specified from the script using a so called "aaa_url" that encodes the protocol used and other useful information depending on the protocol. The way the generic AAA API is used makes it very similar to the generic database API. The ability to make custom Radius requests directly from the scriptThis feature is very useful because of its flexibility. Basically, any type of Radius queries can be yielded directly from the script, and also, Radius replies can be inspected for certain attributes. Radius implementation for the generic AAA APIThe handling of Radius AVP "SIP-AVP" (used for fetching variables from the Radius server) was integrated in this module. All SIP-AVPs are automatically and transparently handled by the module, so that this functionality is by default available for all the modules that use Radius. Module changesDue to the fact that the modules that were previously using Radius were ported to the generic AAA API, the following changes have been made:
2.6 B2BUA support (NEW)A signaling B2BUA implementation has been added in OpenSIPS. It can keep the state of the dialogs, create new dialogs and control dialogs to offer some PBX specific services. This feature is implemented in two modules: b2b_entities and b2b_logic. The services are defined in XML documents that are parsed and applied by the b2b_logic module. It uses the basic dialog management functions offered by the b2b_entities module to command the actions needed to implement the service. Find more on http://www.opensips.org/Main/News0036. 2.7 MEMCACHED module (NEW)A new module that provides a new caching method using memcached servers was added. It provides a way to access memcached servers using the existing memcache API. Advantages over the existing "localcache" module:
Find more on http://lists.opensips.org/pipermail/users/2009-July/007024.html or 2.8 DB_HTTP module (NEW)This module provides access to a database that is implemented as a HTTP server. It may be used in special cases where traversing firewalls is a problem, or where data encryption is required. In order to use this module you must have a server that can communicate via HTTP or HTTPS with this module that follows exactly the format decribed in the specifications section. The module can provide SSL, authentication, and all the functionalities of an opensips db as long as the server supports them ( except result_fetch). There is a slight difference between the url of db_http and the urls of the other db modules. The url doesn't have to contain the database name. Instead, everything that is after the address is considered to be a path to the db resource, it may be missing. Find more on http://www.opensips.org/html/docs/modules/devel/db_http.html 2.9 DB_VIRTUAL module (NEW)The DB_VIRTUAL module allows you to create virtual DB connection on top of real connections. A virtual connection may use multiple real connection (a set), acting as a mixer layer - based on different algorithms, the DB operation pushed on the virtual DB will be pushed further to one or more real DB connections. The DB_VIRTUAL provides failover mode (you have a master real connection and when this is down, the queries will be pushed via the next real connection from the set), parallel mode (the received query is pushed via all real connections) and round-robin mode ( the received queries are spread across the set of real connections). The purpose of this module is to provide failover and load-balancing at DB connection level in a totally transparent way for the modules that needs DB support. Read more on http://www.opensips.org/Main/News0035. 2.10 JSON module (NEW)This module introduces a new type of variable that provides both serialization and de-serialization from JSON format. The Json format it is very useful as you can encode an unlimited number (and types) of info elements into a single string. For example a gateway description may contain several infos on the GW (if SST is accepted, RPID/PAI, etc), also a user profile (with all its date) can be condensed into a single string, so that DB ops are reduced to a maximum. The variable provides ways to access objects and arrays to add,replace or delete values from the script. The correct approach is to consider a json object as a hashtable ( you can put (key;value) pairs, and you can delete and get values by key) and a json array as an array ( you can append, delete and replace values). Since the JSON format can have objects inside other objects you can have multiple nested hashtables or arrays and you can access these using paths. See more on http://www.opensips.org/html/docs/modules/devel/json.html 2.11 STUN server module (NEW)There is a new STUN server(rfc 3489) module integrated in OpenSIPS. Why an integrated STUN server module?
In the case of a bad behaving NATs (such as symmetric NAT) only this integrated STUN server will increase the likelihood of STUN to solve the NAT traversal for a wider range of NAT implementations. This translates into less need of media relaying (for NAT traversal purposes). Note:
Example:
Opensips listening for signaling traffic:
89.89.89.12:5060
for stun module we configure :
primary_ip = 89.89.89.12; primary_port = 5060 - overlapping with signaling socket
primary_ip = 89.89.89.12; alternate_port = 3478 - dedicated stun socket
alternate_ip = 34.34.34.12; primary_port = 5060 - dedicated stun socket
alternate_ip = 34.34.34.12; alternate_port = 3478 - dedicated stun socket
Documentation can be found here: http://www.opensips.org/html/docs/modules/devel/stun.html 2.12 ALIAS_DB module
2.13 AVPOPS module
2.14 AVP_RADIUS moduleimportant - Removed as its functionality is now part of the AAA_RADIUS module - see the AAA API and module changes. 2.15 AUTH_RADIUS moduleimportant - Renamed as AUTH_AAA module - see the AAA API and module changes. 2.16 BENACHMARK module
2.17 CALL_CONTROL module
modparam("call_control", "init", "call-id=$ci to=$tu from=$fu
authruri=$du another_field = $avp(i:10)")
2.18 CFGUTILS module
2.19 DIALOG module
2.20 DISPATCHER module
2.21 DROUTING module
2.22 GROUP module
2.23 GROUP_RADIUS moduleimportant - Removed as merged into GROUP module - see the AAA API and module changes. 2.24 LOAD_BALANCER module
2.25 MI_DATAGRAM
2.26 NAT_TRAVERSAL
2.27 NATHELPER module
2.28 PERMISSIONS module
2.29 PIKE moduleNew extensions on the pike module for extending the flood detection : (1) from checking requests only, to checking all SIP traffic and (2) from checking the valid SIP packages to checking all received data (even if junk). New way of using the module -> automatic - the module will install internal hooks to catch all incoming requests and replies (even if not well formed from SIP point of view) - more or less the module will monitor all incoming packages (from the network) on the SIP sockets. Each time the source IP of a package needs to be analyse (to see if trusted or not), the module will run a script route - see "check_route" module parameter -, where, based on custom logic, you can decide if that IP needs to be monitored for flooding or not. As action, when flood is detected, the module will automatically drop the packages. 2.30 REGISTRAR module
2.31 TEXTOPS module
2.32 TM module
2.33 UAC module
2.34 URI_DB moduleimportant - This module does not exists anymore as its was merged into URI module (see AAA API and module changes). All functions from this module are now in URI module and prefixed db_ string.
2.35 URI_RADIUS moduleimportant - This module does not exists anymore as its was merged into URI module (see AAA API and module changes). All functions from this module are now in URI module and prefixed radius_ prefix from the name of the functions was replaced with aaa_. | News OpenSIPS Getting Started21st of April 2012
OpenSIPS Getting Started Video Tutorial about how to do an installation of OpenSIPS and OpenSIPS-CP... OpenSIPS Devel Course12th of April 2012
Learn about OpenSIPS internals both core and modules... OpenSIPS 1.8.022nd of March 2012
OpenSIPS 1.8.0 major release ready... Dynamic Routing20th of March 2012
Enhancements of DR engine... APT repository23nd of February 2012
New official APT repository for Debian & Ubuntu OpenSIPS 1.7.222nd of February 2012
OpenSIPS 1.7.2 minor release out... SIP Validation Support20th of February 2012
Prevent malformed SIP messages from propagating through your network DNS Caching Support13th of February 2012
Cache system for all types of DNS records Distributed Dialog Profiles9th of February 2012
Shared dialog profiles between multiple instances of OpenSIPS Configuration and Scripting Tool19th of January 2012
Graphical Configuration and Scripting Tool for OpenSIPS Cassandra driver05th of January 2012
Cassandra backend for OpenSIPS LUA integration05th of January 2012
Using LUA scripting with OpenSIPS OpenSIPS Pavilion @ ITExpo 201222th of December 2011
OpenSIPS Pavilion booth #535, 1-3 Feb 2012 OpenSIPS and HOMER14th of December 2011
Distributed SIPtracing and SIPcapturing OpenSIPS eBootcamp12th of December 2011
New Ebootcamp session starting on 15th of February 2012. OpenSIPS 1.7.123rd of November 2011
OpenSIPS 1.7.1 minor release out... Ratelimit3rd of November 2011
Dynamic and distributed support... OpenSIPS VM 1.7.01st of November 2011
Live Virtual Machine for OpenSIPS 1.7... MI via HTTP25th of October 2011
Bultin HTTP server for MI... Events via RabbitMQ12th of October 2011
Event Interface can push events via RabbitMQ... Key-Value Cache/DBs6th of October 2011
Script and module support for key-value oriented backend... GRUU support4th of October 2011
OpenSIPS registrar with GRUU / RFC5627... OpenSIPS 1.8.0 preview30th of September 2011
What is set to be done for OpenSIPS 1.8.0... OpenSIPS eBootcamp28th of July 2011
New Ebootcamp session starting on 19th of September. OpenSIPS 1.7.012nd of July 2011
OpenSIPS 1.7.0 major release ready... ClueCon 201111th of July 2011
Talks and one-day free training New in 1.7.06th of July 2011
What is new in OpenSIPS 1.7.0 SVN Freeze30th of June 2011
Testing phase started for 1.7 release Topology Hiding30th of June 2011
Topology Hiding based on dialog module New AVP naming23rd of June 2011
A simpler and more efficient way of naming AVPs DB Optimization22nd of June 2011
Multi-row DB insert operations. Event Notification Interface26th of May 2011
External interaction via the Event Interface. OpenSIPS eBootcamp28th of March 2011
New Ebootcamp session starting on 2nd of May. UAC_REGISTRANT module10th of March 2011
New module to allow OpenSIPS to UAC register. Performance degradation with complexity08th of March 2011
Tests to show how performance is affected with complexity. Load and performance monitoring22nd of February 2011
New statistics and traps for OpenSIPS monitoring. OpenSIPS 2.017th of February 2011
OpenSIPS 2.0 first code release. OpenSIPS Online Meeting15th of February 2011
OpenSIPS Online Monthly Meetings started. OpenSIPS Social Event24th of January 2011
OpenSIPS Social Event - Miami, 3rd of February. OpenSIPS eBootcamp17th of January 2011
New Ebootcamp session starting on 28th of February. OpenSIPS 1.6.420th of December 2010
OpenSIPS 1.6.4 major release ready... OpenSIPS media timeout16th of December 2010
Ghost call hunting with media timeout ... |